/* V5.9 phonebook: compact mobile contact cards, horizontal call/copy actions, submission at list bottom. */
.phonebook-sr-only-v53{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.phonebook-intro-v53{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:6px 0 14px;padding:18px 20px;border:1px solid #e8ddd5;border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(55,36,22,.05)}
.phonebook-intro-v53 span,.phonebook-submit-head-v53 span,.phonebook-list-head-v53 span{display:block;color:#a06c52;font-size:11px;font-weight:800;letter-spacing:1.1px}
.phonebook-intro-v53 h1{margin:4px 0 3px;font-size:25px;line-height:1.25}
.phonebook-intro-v53 p{margin:0;color:#74645b;font-size:13px}
.phonebook-intro-v53>strong{flex:none;padding:7px 12px;border-radius:999px;background:#f5ece7;color:#8e3b37;font-size:13px}

.phonebook-search-v53{position:sticky;top:48px;z-index:15;display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px;border:1px solid #e4d8cf;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 7px 22px rgba(55,36,22,.065);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.phonebook-search-box-v53{position:relative;flex:1;min-width:0}
.phonebook-search-box-v53 input{width:100%;min-height:46px;margin:0;padding:10px 70px 10px 15px;border:1px solid #d8cbc2;border-radius:999px;background:#faf8f6;font:inherit;font-size:15px;color:#241c18}
.phonebook-search-box-v53 input:focus{border-color:#a9655e;background:#fff;box-shadow:0 0 0 3px rgba(169,101,94,.12);outline:none}
.phonebook-search-box-v53 button{position:absolute;right:6px;top:5px;min-width:56px;height:36px;padding:0 10px;border:0;border-radius:999px;background:#eee5df;color:#7d4a45;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.phonebook-search-box-v53 button[hidden]{display:none!important}
.phonebook-search-status-v53{flex:none;min-width:86px;color:#8e3b37;font-size:12px;font-weight:800;text-align:right}

.phonebook-submit-v53{scroll-margin-top:115px;margin:24px 0 0;padding:18px;border:1px solid #e8ddd5;border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(55,36,22,.05)}
.phonebook-submit-head-v53{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.phonebook-submit-head-v53 h2{margin:4px 0 3px;font-size:20px;line-height:1.3}
.phonebook-submit-head-v53 p{margin:0;color:#74645b;font-size:13px}
.phonebook-submit-head-v53>b{flex:none;padding:5px 9px;border-radius:999px;background:#f5eee8;color:#8e3b37;font-size:11px}
.phonebook-submit-form-v53{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(190px,1.35fr) auto;gap:10px;align-items:end}
.phonebook-submit-form-v53 label{margin:0}
.phonebook-submit-form-v53 label>span{display:block;margin:0 0 6px;color:#5e4d43;font-size:13px;font-weight:800}
.phonebook-submit-form-v53 label em{color:#a91f1f;font-style:normal}
.phonebook-submit-form-v53 input{width:100%;min-height:44px;margin:0;padding:9px 11px;border:1px solid #d8cbc2;border-radius:10px;background:#fff;font:inherit}
.phonebook-submit-form-v53 input:focus{border-color:#a9655e;box-shadow:0 0 0 3px rgba(169,101,94,.12);outline:none}
.phonebook-submit-form-v53>button{min-height:44px;padding:9px 18px;border:0;border-radius:10px;background:#8e3b37;color:#fff;font:inherit;font-weight:800;white-space:nowrap;cursor:pointer}
.phonebook-submit-note-v53{margin:10px 0 0;color:#97867b;font-size:11px;line-height:1.55}

.phonebook-list-head-v53{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:22px 0 10px;padding:0 2px}
.phonebook-list-head-v53 h2{margin:3px 0 0;font-size:21px}
.phonebook-list-head-v53>b{color:#0f766e;font-size:13px}
.phonebook-list-v53{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.phonebook-card-v53{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px 13px;border:1px solid #e8ddd5;border-radius:13px;background:#fff;box-shadow:0 4px 14px rgba(55,36,22,.035);transition:.18s ease}
.phonebook-card-v53.is-top{border-left:4px solid #9c4d47}
.phonebook-card-v53.phonebook-search-hit-v53{border-color:#d7b6a7;background:#fff9f6}
.phonebook-card-v53.phonebook-search-focus-v53{transform:translateY(-2px);border-color:#9f4d47;box-shadow:0 0 0 4px rgba(159,77,71,.12),0 10px 26px rgba(55,36,22,.08)}
.phonebook-card-main-v53{min-width:0;flex:1}
.phonebook-card-line-v53{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.phonebook-card-line-v53 strong{font-size:17px;line-height:1.25}
.phonebook-card-line-v53>a{display:inline-block;padding:2px 8px;border:1px solid #d7e8e5;border-radius:999px;background:#edf7f5;color:#0f766e;font-size:14px;font-weight:800;letter-spacing:.2px}
.phonebook-top-v53{padding:2px 6px;border-radius:999px;background:#fbe8e6;color:#9a332f;font-size:10px;font-weight:800}
.phonebook-card-main-v53 p{margin:5px 0 0;color:#7b6b62;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.phonebook-card-actions-v53{display:flex;flex:none;gap:6px}
.phonebook-card-actions-v53 a,.phonebook-card-actions-v53 button{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:6px 10px;border:1px solid #d8cbc2;border-radius:999px;background:#fff;color:#6b3c38;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.phonebook-card-actions-v53 a{border-color:#a9655e;background:#a9655e;color:#fff}
.phonebook-empty-v53{grid-column:1/-1;padding:38px 20px;border:1px dashed #d7c5b8;border-radius:15px;background:#fffaf6;color:#806f64;text-align:center}
.phonebook-list-v53>[hidden]{display:none!important}
.phonebook-note-v53{margin-top:18px;padding:14px 16px;border-radius:13px;background:#f5f1ed;color:#73635a;font-size:13px;line-height:1.7}

@media(max-width:980px){
  .phonebook-list-v53{grid-template-columns:1fr}
  .phonebook-intro-v53{padding:16px;border-radius:16px}
  .phonebook-intro-v53 h1{font-size:22px}
}
@media(max-width:560px){
  .phonebook-search-v53{top:44px;padding:9px 10px;gap:8px;border-radius:14px}
  .phonebook-search-box-v53 input{min-height:44px;font-size:16px}
  .phonebook-search-status-v53{min-width:70px;font-size:11px}
  .phonebook-submit-v53{padding:15px 13px;border-radius:15px}
  .phonebook-submit-head-v53{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
  .phonebook-submit-head-v53 span,.phonebook-submit-head-v53 p{display:none}
  .phonebook-submit-head-v53 h1,.phonebook-submit-head-v53 h2{margin:0;font-size:16px;line-height:1.25}
  .phonebook-submit-head-v53>b{display:inline-block;margin:0;padding:4px 7px;font-size:10px}
  .phonebook-submit-form-v53{grid-template-columns:minmax(64px,.7fr) minmax(112px,1.35fr) minmax(64px,.65fr);gap:5px;align-items:stretch}
  .phonebook-submit-form-v53 label{min-width:0}
  .phonebook-submit-form-v53 label>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .phonebook-submit-form-v53 input{min-height:44px;padding:8px 8px;font-size:14px;border-radius:9px}
  .phonebook-submit-form-v53>button{width:auto;min-width:0;min-height:44px;padding:8px 5px;border-radius:9px;font-size:13px}
  .phonebook-card-v53{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 11px}
  .phonebook-card-main-v53{min-width:0}
  .phonebook-card-line-v53{gap:6px}
  .phonebook-card-line-v53 strong{font-size:16px}
  .phonebook-card-line-v53>a{font-size:13px;padding:2px 7px}
  .phonebook-card-actions-v53{display:flex;align-items:center;justify-content:flex-end;gap:5px}
  .phonebook-card-actions-v53 a,.phonebook-card-actions-v53 button{min-width:48px;min-height:34px;padding:5px 8px}
}
@media(max-width:380px){
  .phonebook-intro-v53>strong{display:none}
  .phonebook-search-status-v53{display:none}
  .phonebook-card-v53{grid-template-columns:1fr;gap:9px}
  .phonebook-card-actions-v53{justify-content:flex-start}
  .phonebook-card-actions-v53 a,.phonebook-card-actions-v53 button{flex:1;max-width:112px}
}

/* Admin instant search shares the same behavior without public layout rules. */
.phonebook-admin-search-v50{align-items:center}
.phonebook-admin-search-v50 [data-admin-phonebook-clear][hidden]{display:none!important}
.phonebook-admin-search-status-v51{flex-basis:100%;margin:0;color:#86756c;font-size:12px}
[data-admin-phonebook-row][hidden]{display:none!important}
.phonebook-invite-submit-v53{max-width:820px;margin:12px auto 30px}
.phonebook-invite-submit-v53 h1{margin:4px 0 3px;font-size:24px}
.phonebook-invite-form-v53{grid-template-columns:minmax(120px,.8fr) minmax(190px,1.35fr) auto}
@media(max-width:760px){.phonebook-invite-form-v53{grid-template-columns:minmax(64px,.7fr) minmax(112px,1.35fr) minmax(64px,.65fr);gap:5px}.phonebook-invite-form-v53>button{grid-column:auto;width:auto;min-height:44px}}
.phonebook-honeypot-v53{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}


/* V5.9 one-click back to top. */
.phonebook-back-top-v56{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;justify-content:center;min-width:98px;min-height:42px;padding:8px 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(120,48,45,.92);color:#fff;font:inherit;font-size:13px;font-weight:800;box-shadow:0 10px 28px rgba(67,29,26,.24);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.phonebook-back-top-v56.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.phonebook-back-top-v56:focus-visible{outline:3px solid rgba(169,101,94,.25);outline-offset:3px}
.phonebook-review-remark-v55{width:min(300px,100%);min-width:180px;min-height:38px;padding:7px 9px;border:1px solid #d8cbc2;border-radius:8px;background:#fff;font:inherit}
.phonebook-review-remark-v55:focus{border-color:#a9655e;box-shadow:0 0 0 3px rgba(169,101,94,.12);outline:none}
@media(max-width:560px){
  .phonebook-back-top-v56{right:12px;bottom:calc(14px + env(safe-area-inset-bottom));min-width:86px;min-height:40px;padding:7px 11px;font-size:12px}
  .phonebook-submit-note-v53{margin-top:8px;font-size:10px}
}
@media(max-width:340px){
  .phonebook-submit-form-v53,.phonebook-invite-form-v53{grid-template-columns:minmax(58px,.7fr) minmax(100px,1.35fr) minmax(58px,.65fr);gap:4px}
  .phonebook-submit-form-v53 input{padding-left:6px;padding-right:6px;font-size:13px}
  .phonebook-submit-form-v53>button{font-size:12px;padding-left:3px;padding-right:3px}
}

/* V5.9 robust public submission and mobile keyboard stability. */
.phonebook-submit-v53{max-width:100%;overflow:hidden;contain:layout paint}
.phonebook-submit-form-v53>*{min-width:0;box-sizing:border-box}
.phonebook-submit-form-v53 input{
  box-sizing:border-box;
  max-width:100%;
  font-size:16px;
  line-height:1.25;
  -webkit-appearance:none;
  appearance:none;
  touch-action:manipulation;
}
.phonebook-submit-form-v53>button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.phonebook-submit-form-v53>button[disabled]{cursor:wait;opacity:.72}
.phonebook-submit-form-v53>button span{display:inline-block;white-space:nowrap}
.phonebook-submit-feedback-v59{
  display:none;
  margin:0 0 12px;
  padding:11px 13px;
  border:1px solid #dfd2ca;
  border-radius:11px;
  background:#f8f5f2;
  color:#5e4d43;
  font-size:13px;
  font-weight:700;
  line-height:1.55;
}
.phonebook-submit-feedback-v59.is-visible{display:block}
.phonebook-submit-feedback-v59.is-success{border-color:#b9dfd3;background:#edf9f5;color:#08765c}
.phonebook-submit-feedback-v59.is-warning{border-color:#ead8a7;background:#fff9e8;color:#8a6110}
.phonebook-submit-feedback-v59.is-danger{border-color:#efc0bd;background:#fff1f0;color:#a12823}
.phonebook-submit-form-v53 input.is-invalid{border-color:#c53c35!important;box-shadow:0 0 0 3px rgba(197,60,53,.12)!important}
html.phonebook-form-focused,html.phonebook-form-focused body{overflow-x:hidden!important}
html.phonebook-form-focused .phonebook-search-v53{position:relative;top:auto}

@media(max-width:560px){
  .phonebook-submit-v53{scroll-margin-top:62px;padding:14px 12px}
  .phonebook-submit-form-v53{
    grid-template-columns:minmax(0,.78fr) minmax(0,1.38fr) 76px;
    gap:6px;
    width:100%;
    max-width:100%;
    align-items:stretch;
  }
  .phonebook-submit-form-v53 label{display:block;min-width:0;max-width:100%}
  .phonebook-submit-form-v53 input{width:100%;min-width:0;min-height:46px;padding:9px 8px;font-size:16px;border-radius:9px}
  .phonebook-submit-form-v53>button{width:76px;min-width:76px;max-width:76px;min-height:46px;padding:8px 4px;font-size:13px}
  .phonebook-submit-feedback-v59{margin-bottom:10px;font-size:12px}
}
@media(max-width:350px){
  .phonebook-submit-form-v53{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .phonebook-submit-form-v53>button{grid-column:1/-1;width:100%;min-width:0;max-width:none}
}

/* V6.1: keep the WeChat keyboard from shifting the compact submit row. */
.public-page-phonebook,.public-page-phonebook_submit{max-width:100%;overflow-x:hidden}
.phonebook-submit-form-v53{isolation:isolate}
.phonebook-submit-form-v53 input,.phonebook-submit-form-v53 button{transform:translateZ(0)}
.phonebook-submit-feedback-v59:empty{display:none!important}
@media(max-width:560px){
  html.phonebook-form-focused .phonebook-back-top-v56{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  .phonebook-submit-form-v53 input{scroll-margin-top:72px}
}
