.kbh-contact-field{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-block:18px}.kbh-contact-field>label:first-child{flex:0 0 140px}.kbh-contact-field>.px{flex:1 1 220px;min-width:0;box-sizing:border-box;border-width:1px}.kbh-public-contacts{display:flex;flex-wrap:wrap;gap:12px}.kbh-public-contacts details{max-width:100%;min-width:0}.kbh-public-contacts summary{cursor:pointer;color:#007426}.kbh-public-contacts details>span{display:block;overflow-wrap:anywhere;padding-block:8px}

/* Only the Touch contact editor; PC and other settings forms retain their layout. */
#kbh-settings-view .kbh-contact-editor{padding:20px 0 28px;margin-inline:-8px;box-sizing:border-box}
#kbh-settings-view .kbh-contact-notice{margin:0 0 24px;padding:14px 16px;background:#f3f7f4;border-radius:12px;color:#58675f;font-size:14px;line-height:1.65;overflow-wrap:anywhere}
#kbh-settings-view .kbh-contact-editor>[role="status"]{margin:0 0 20px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
#kbh-settings-view .kbh-contact-editor .kbh-contact-field{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0 0 20px;padding:0}
#kbh-settings-view .kbh-contact-editor .kbh-contact-field>label:first-child{flex:none;margin:0;padding:0;font-size:14px;line-height:1.5}
#kbh-settings-view .kbh-contact-editor .kbh-contact-field>.px{flex:none;width:100%;height:44px;min-height:44px;margin:0;padding:10px 12px;border-width:1px;box-sizing:border-box;font-size:16px}
#kbh-settings-view .kbh-contact-editor .profile-form>.pn{width:100%;height:40px;min-height:40px;margin:4px 0 0;box-sizing:border-box}

/* Contact-only platform guidance; no shared form or navigation rules. */
.kbh-contact-helper{font-size:13px;line-height:1.6;color:#657168;margin:8px 0 20px;overflow-wrap:anywhere}
.kbh-contact-platform-field{margin:20px 0 24px}
.kbh-contact-platform-field>label{display:block;margin-bottom:8px}
.kbh-contact-platform-field input.px{display:block;box-sizing:border-box;width:100%;height:44px;min-height:44px;padding:10px 12px;border-width:1px;font-size:16px;line-height:1.5;direction:ltr}
.kbh-contact-platform-help{background:#f3f7f4;border-radius:12px;padding:12px 16px}
.kbh-contact-platform-help summary{cursor:pointer;color:#247239;font-size:14px;line-height:1.6}
.kbh-contact-platform-help ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:16px 0 4px;padding:0;list-style:none}
.kbh-contact-platform-help li{display:flex;align-items:center;gap:10px;min-width:0}
.kbh-contact-platform-help img{object-fit:contain;flex:none}
.kbh-contact-platform-help small{display:block;font-size:12px;color:#657168;overflow-wrap:anywhere}
.kbh-contact-link{color:#007426;overflow-wrap:anywhere}

.kbh-contact-number{display:flex;flex:1 1 220px;align-items:stretch;gap:8px;min-width:0;direction:ltr}
.kbh-contact-number>.px{box-sizing:border-box;height:37px;min-height:37px;margin:0;border-width:1px;font-size:14px;padding:8px 12px}
.kbh-contact-number>select.px{flex:0 1 42%;width:42%;min-width:0;text-overflow:ellipsis}
.kbh-contact-number>input.px{flex:1 1 0;width:0;min-width:0}
#kbh-settings-view .kbh-contact-editor .kbh-contact-number{flex:none;width:100%}

#kbh-settings-view .kbh-contact-editor .kbh-contact-number>.px{height:44px;min-height:44px;font-size:16px;padding:10px 12px}

/* Unavailable contact settings: retain server permission enforcement. */
.kbh-contact-unavailable{filter:grayscale(1)}
.kbh-contact-unavailable .profile-form{color:#737873}
.kbh-contact-unavailable input:disabled,.kbh-contact-unavailable select:disabled{background:#f3f4f3;color:#747974;opacity:1;cursor:not-allowed}
.kbh-contact-vip-badge{display:inline-flex;margin-inline-start:18px;font-size:14px;line-height:1.5;padding:5px 10px;border-radius:6px;background:#f1f2f1;color:#5b635d;font-weight:600;vertical-align:middle}
.kbh-contact-vip-card{padding:20px 16px;margin-bottom:24px;border:1px solid #dce0dc;border-radius:12px;background:#f5f6f5;color:#505951}
.kbh-contact-vip-card svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;margin-bottom:10px}
.kbh-contact-vip-card h2{font-size:18px;font-weight:700;margin-bottom:10px}
.kbh-contact-vip-card p{font-size:14px;line-height:1.7;margin-top:8px}
.kbh-contact-method-list{margin-top:12px;color:#777e78}
.kbh-contact-method-list li{padding:15px 0;border-bottom:1px solid #e3e6e3;font-size:16px}

.kbh-contact-vip-more{margin-top:16px}.kbh-contact-vip-more summary{display:inline-block;padding:9px 14px;border:1px solid #b8c0b9;border-radius:7px;background:#fff;font-weight:600;cursor:pointer}

.kbh-contact-title-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.kbh-contact-title-row .kbh-contact-vip-badge{margin-inline-start:0}

/* PC locked preview: align title boxes, soften unavailable form only. */
.kbh-contact-title-row h1.mt{margin:0!important;padding:0!important;line-height:1.3}
.kbh-contact-title-row{margin-bottom:20px}
.kbh-contact-unavailable .profile-form{filter:grayscale(1) blur(.7px);opacity:.7;pointer-events:none;user-select:none}

#kbh-settings-view .kbh-contact-mobile-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}#kbh-settings-view .kbh-contact-mobile-title h2{font-size:22px;font-weight:700;line-height:1.3;margin:0;padding:0}#kbh-settings-view .kbh-contact-mobile-title .kbh-contact-vip-badge{margin:0;font-size:12px;padding:5px 9px}#kbh-settings-view .kbh-contact-notice{background:none;padding:0;border-radius:0;margin-bottom:20px}

/* Subtle international membership badge; keep available status legible. */
.kbh-contact-vip-badge,#kbh-settings-view .kbh-contact-mobile-title .kbh-contact-vip-badge{display:inline-flex;align-items:center;gap:6px;background:#faf2df;color:#795918;border:1px solid #ead9ae;border-radius:6px;padding:5px 9px;font-weight:600;line-height:1.5}
.kbh-contact-vip-badge::before{content:"";display:block;flex:0 0 16px;width:16px;height:16px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23795918' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 6 4 4 5-7 5 7 4-4-2 12H5L3 6Z'/%3E%3Cpath d='M6 21h12'/%3E%3C/svg%3E")}
.kbh-contact-title-row{gap:12px}
#kbh-settings-view .kbh-contact-mobile-title{gap:10px;margin-bottom:14px}
#kbh-settings-view .kbh-contact-notice{font-size:14px;line-height:1.75;color:#647067;margin-bottom:18px}
.kbh-contact-unavailable{filter:none}
.kbh-contact-unavailable .profile-form{filter:grayscale(1) blur(.7px);opacity:.7}

/* Public contact actions sit below identity/actions and above content. */
.kbh-public-contacts{gap:8px;margin-block:14px 4px;align-items:flex-start}
.kbh-public-contacts .kbh-contact-link,.kbh-public-contacts summary{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid #dce4de;border-radius:7px;background:#f7faf7;color:#24563a;font-size:14px;line-height:1.4;text-decoration:none;box-sizing:border-box}
.kbh-public-contacts summary{list-style:none}.kbh-public-contacts summary::-webkit-details-marker{display:none}
.kbh-public-contacts svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kbh-public-contacts details>span{padding:10px 12px;margin-top:5px;border:1px solid #dce4de;border-radius:7px;background:#fff;font-size:14px}
.kbh-thread-contacts{width:100%;clear:both}.kbh-thread-contacts .kbh-public-contacts{margin-block:10px}

/* Compact contact toolbar, independent of thread identity list layout. */
.kbh-public-contacts{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:8px;align-items:center;width:100%;box-sizing:border-box}
.kbh-public-contacts>.kbh-contact-link,.kbh-public-contacts>.kbh-contact-icon{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:10px;border:0;background:transparent;border-radius:8px;color:#24563a;cursor:pointer;box-sizing:border-box;margin:0}
.kbh-public-contacts svg,.kbh-public-contacts img{width:24px;height:24px;flex:none;object-fit:contain}
.kbh-public-contacts>a:hover,.kbh-public-contacts>button:hover{background:#f5f9f6}.kbh-public-contacts>a:focus-visible,.kbh-public-contacts>button:focus-visible{outline:2px solid #3f854c;outline-offset:2px}
.kbh-contact-dialog{width:min(360px,calc(100vw - 32px));padding:24px;border:0;border-radius:14px;box-sizing:border-box;box-shadow:0 12px 40px #0003;color:#20382a;background:#fff}
.kbh-contact-dialog::backdrop{background:#0006}.kbh-contact-dialog h2{font-size:20px;font-weight:700;margin:0 0 18px}.kbh-contact-dialog .kbh-contact-value{font-size:18px;line-height:1.5;overflow-wrap:anywhere;user-select:text;margin:0 0 20px}.kbh-contact-dialog-actions{display:flex;gap:12px}.kbh-contact-dialog-actions button{flex:1;min-height:44px;border:1px solid #dce4de;border-radius:8px;background:#fff;font-size:16px;cursor:pointer}.kbh-contact-dialog-actions button:last-child{background:#5ce00b;border-color:#5cce69;color:#101824}.kbh-contact-dialog-status{min-height:20px;font-size:14px;margin-top:12px}

@media(max-width:767px){.pione .authi .kbh-thread-contacts{width:calc(100vw - 48px);margin-inline-start:-44px;max-width:none}.pione .authi .kbh-thread-contacts .kbh-public-contacts{margin-top:14px}}

/* Consistent bordered brand contact buttons and viewport-centered dialogs. */
.kbh-public-contacts>.kbh-contact-link,.kbh-public-contacts>.kbh-contact-icon{width:48px;height:46px;min-width:48px;padding:9px;border:1px solid #dfe5e0;background:#fff;border-radius:8px;box-shadow:0 1px 2px #18352305;flex:0 0 48px}
.kbh-public-contacts>a:hover,.kbh-public-contacts>button:hover{border-color:#a7bcae;background:#f5f9f6}
.kbh-public-contacts img{width:30px;height:26px}
.kbh-contact-dialog{position:fixed;inset:0;margin:auto!important;max-height:calc(100dvh - 48px);overflow:auto;width:min(360px,calc(100vw - 48px));height:fit-content}

/* Avoid global automatic focus rings; show a single keyboard-only border. */
.kbh-contact-dialog:focus{outline:none!important;box-shadow:0 12px 40px #0003!important}
.kbh-contact-dialog-actions button{color:#20382a}
.kbh-contact-dialog-actions button:focus{outline:none!important;box-shadow:none!important}
.kbh-contact-dialog-actions button:focus-visible{border-color:#367342!important;box-shadow:inset 0 0 0 1px #367342!important}

.kbh-contact-dialog-actions button{outline:none!important}

/* Contact focus: one outer ring on profiles and thread content. */
.kbh-public-contacts>.kbh-contact-link:focus,.kbh-public-contacts>.kbh-contact-icon:focus{border-color:transparent!important;outline:1px solid #367342!important;outline-offset:3px!important;box-shadow:none!important}
.kbh-contact-dialog-actions button:focus-visible{border-color:transparent!important;outline:1px solid #367342!important;outline-offset:3px!important;box-shadow:none!important}

/* Permission-specific information notice, outside the blurred form. */
.kbh-contact-editor .kbh-contact-notice-box,#kbh-settings-view .kbh-contact-notice-box{display:flex;align-items:flex-start;gap:9px;border:1px dashed #a8b8ac;border-radius:8px;padding:12px 14px;margin:0 0 20px;background:#f8faf8;color:#536459;font-size:14px;line-height:1.7}
.kbh-contact-notice-box svg{width:18px;height:18px;flex:0 0 18px;margin-top:3px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.kbh-contact-editor .kbh-contact-notice-locked,#kbh-settings-view .kbh-contact-notice-locked{border-color:#d89393;background:#fffafa;color:#a14343}

.kbh-contact-editor .kbh-contact-notice-locked,#kbh-settings-view .kbh-contact-notice-locked{border-color:#e34b45;color:#e34b45}

#kbh-settings-view .kbh-contact-editor{margin-inline:0}

.kbh-public-contacts>.kbh-contact-alibaba{width:104px;min-width:104px;flex-basis:104px;padding:8px}
.kbh-public-contacts .kbh-contact-alibaba img{width:88px;height:auto;max-height:26px}

.kbh-public-contacts>.kbh-contact-alibaba{width:48px;min-width:48px;flex-basis:48px;padding:9px}.kbh-public-contacts .kbh-contact-alibaba img{width:26px;height:26px;max-height:26px;border-radius:4px}

/* Contact safety acknowledgment, matching approved preview. */
.kbh-contact-dialog{padding:24px;border-radius:18px}
.kbh-contact-dialog h2{font-size:23px;margin:0 0 22px}
.kbh-contact-dialog .kbh-contact-value{min-height:55px;margin:0;padding-bottom:18px;font-size:20px}
.kbh-contact-dialog .kbh-contact-value.is-locked{font-size:14px;color:#316bff;user-select:none}
.kbh-contact-safety{background:#f7f8fa;border-radius:10px;padding:14px;margin:0 0 16px}
.kbh-contact-safety strong{font-size:13px;color:#35443b}
.kbh-contact-safety p{font-size:13px;line-height:1.8;margin:8px 0 0;color:#6c776f}
.kbh-contact-agree{display:flex;align-items:flex-start;gap:9px;color:#536159;font-size:13px;line-height:1.65;margin-bottom:24px;cursor:pointer}
.kbh-contact-agree input{appearance:none;width:18px;height:18px;flex:0 0 18px;border:1px solid #c8d2cb;border-radius:4px;margin:1px 0 0;background:white;cursor:pointer;box-shadow:none}
.kbh-contact-agree input:checked{background:#80df38;border-color:#80df38}
.kbh-contact-agree input:checked:after{content:'✓';display:block;text-align:center;font-size:14px;line-height:16px;font-weight:700;color:#1d361d}
.kbh-contact-agree input:focus-visible{outline:0;box-shadow:none;border-color:#253c30}
.kbh-contact-dialog-actions button{font-size:15px;font-weight:600;border-radius:9px}
.kbh-contact-dialog-actions button:last-child{background:#80df38;border-color:#80df38}
.kbh-contact-dialog-actions button:last-child:disabled{background:#edf1ed;border-color:#edf1ed;color:#a1aaa4;cursor:not-allowed}
.kbh-contact-dialog-status:empty{display:none}
.kbh-contact-dialog-status{margin:12px 0 0;font-size:13px;min-height:0}
