*{box-sizing:border-box}
html,body{margin:0}
body{background:#F3F5F4;color:#1B2528;font-family:Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.4}
h1,h2,h3,p{margin:0}
.boot{padding:60px;text-align:center;color:#56656A}
.test-bar{background:#1B2528;color:#fff;font-size:13px;text-align:center;padding:8px 16px}
.btn{font:inherit;font-weight:600;font-size:14px;border-radius:10px;padding:10px 16px;min-height:44px;border:1px solid #22605B;background:#22605B;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;text-decoration:none}
.btn:hover{background:#1A4C48}
.btn:disabled{opacity:.6;cursor:wait}
.btn-ghost{background:#fff;color:#1B2528;border-color:#CBD4D1}
.btn-ghost:hover{background:#EEF2F1}
.btn-sm{min-height:36px;padding:6px 12px;font-size:13px}
.btn-danger{background:#fff;color:#8E2A23;border-color:#E3B9B4}
.btn-danger:hover{background:#FBE6E3}
.btn-block{width:100%}
.card{background:#fff;border:1px solid #DDE3E1;border-radius:14px}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}
.b-yuz{background:#E3EFED;color:#1A4C48}.b-online{background:#FBEBDD;color:#7A400D}
.b-good{background:#E5F1E4;color:#255A2B}.b-bad{background:#FBE6E3;color:#8E2A23}
.b-plan{background:#E8ECF4;color:#2F3F66}.b-mute{background:#EEF0EF;color:#4A585C}
.b-warn{background:#FFF1CC;color:#6B4E00}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#3B484C}
.field small{font-weight:400;color:#56656A}
.input{font:inherit;font-weight:400;font-size:15px;color:#1B2528;border:1px solid #CBD4D1;border-radius:10px;padding:10px 12px;min-height:44px;background:#fff;width:100%}
.input:focus{outline:2px solid #22605B;outline-offset:1px}
textarea.input{min-height:110px;resize:vertical;line-height:1.5}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-size:12px;font-weight:600;color:#56656A;text-transform:uppercase;letter-spacing:.04em;padding:10px 16px;border-bottom:1px solid #DDE3E1;white-space:nowrap}
.tbl td{padding:12px 16px;border-bottom:1px solid #EDF0EF;vertical-align:middle;white-space:nowrap}
.tbl tr:last-child td{border-bottom:0}
.tbl .wrap{white-space:normal;min-width:180px}
.muted{color:#56656A}
.small{font-size:13px}
.err-box{background:#FBE6E3;color:#8E2A23;border-radius:10px;padding:10px 14px;font-size:14px}
.ok-box{background:#E5F1E4;color:#255A2B;border-radius:10px;padding:10px 14px;font-size:14px}
.info-box{background:#EEF2F1;color:#2E3B3F;border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.5}
.auth-wrap{min-height:calc(100vh - 34px);display:flex;align-items:center;justify-content:center;padding:24px;background:#E6EEEC}
.auth-card{width:100%;max-width:440px;padding:32px;display:flex;flex-direction:column;gap:16px}
.auth-links{display:flex;flex-direction:column;gap:6px;align-items:center;border-top:1px solid #EDF0EF;padding-top:14px;font-size:14px}
.layout{display:flex;flex-wrap:wrap;min-height:calc(100vh - 34px)}
.side{flex:1 1 220px;background:#fff;border-right:1px solid #DDE3E1;padding:20px 14px;display:flex;flex-direction:column;gap:4px}
.main{flex:999 1 560px;min-width:0;padding:28px clamp(16px,3vw,40px) 56px;display:flex;flex-direction:column;gap:24px}
.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px;font-size:17px;font-weight:700}
.logo{width:32px;height:32px;border-radius:9px;background:#22605B;display:flex;align-items:center;justify-content:center;flex:none}
.nav{font:inherit;font-size:14px;font-weight:600;display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;min-height:44px;border-radius:10px;border:0;cursor:pointer;text-align:left;background:transparent;color:#3B484C}
.nav:hover{background:#EEF2F1}
.nav-on,.nav-on:hover{background:#E3EFED;color:#174541}
.nav-mobile{display:none}
.side-foot{border-top:1px solid #EDF0EF;padding:14px 8px 4px;display:flex;flex-direction:column;gap:10px}
.avatar{width:36px;height:36px;border-radius:50%;background:#E3EFED;color:#174541;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:13px;flex:none}
.link{font:inherit;background:none;border:0;padding:0;color:#22605B;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:32px}
.link-plain{text-decoration:none;color:#1B2528;text-align:left}
.chip{font:inherit;font-size:13px;font-weight:600;border-radius:999px;padding:6px 14px;min-height:36px;border:1px solid #CBD4D1;background:#fff;color:#3B484C;cursor:pointer}
.chip-on{background:#1B2528;color:#fff;border-color:#1B2528}
.tab{font:inherit;font-size:14px;font-weight:600;border:0;background:none;padding:12px 4px;min-height:44px;color:#56656A;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.tab-on{color:#174541;border-bottom-color:#22605B}
.seg-wrap{display:flex;gap:4px;padding:4px;background:#EEF2F1;border-radius:10px;flex-wrap:wrap}
.seg{font:inherit;font-size:14px;font-weight:600;flex:1;min-height:40px;border:0;background:transparent;color:#3B484C;border-radius:8px;cursor:pointer;padding:0 10px;white-space:nowrap}
.seg-on{background:#fff;color:#174541;box-shadow:0 0 0 1px #22605B}
.appt{font:inherit;text-align:left;width:100%;border-radius:10px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:3px;border:1px solid transparent;color:#1B2528}
.appt-yuz{background:#E3EFED;border-color:#BBD6D2}.appt-online{background:#FBEBDD;border-color:#EDCDB0}
.appt-off{opacity:.55}
.appt:hover{filter:brightness(.97)}
.dayhead{padding:8px 12px;border-radius:10px;background:#F3F5F4;display:flex;justify-content:space-between;align-items:center}
.dayhead-today{background:#22605B;color:#fff}
.dayadd{font:inherit;border:0;background:transparent;color:inherit;cursor:pointer;font-size:18px;min-width:32px;min-height:32px;border-radius:8px}
.dayadd:hover{background:rgba(0,0,0,.08)}
.lockbar{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;background:#EEF2F1;color:#2E3B3F;font-size:13px;line-height:1.5}
.check{display:flex;align-items:center;gap:10px;font-size:14px;color:#1B2528;min-height:36px;font-weight:400}
.check input{width:18px;height:18px;accent-color:#22605B;flex:none}
.grid{display:grid;gap:16px}
.g-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.g-2{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));align-items:start}
.g-form{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px}
.stat{padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.stat-label{font-size:13px;font-weight:600;color:#56656A}
.stat-val{font-size:28px;font-weight:700}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid #EDF0EF}
.sec-head{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;gap:12px}
.pad{padding:22px;display:flex;flex-direction:column;gap:16px}
.kv{display:flex;flex-direction:column;gap:4px}
.kv>span:first-child{font-size:12px;font-weight:600;color:#56656A}
.actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.hide{display:none!important}
.empty{padding:20px;color:#56656A}
#toast{position:fixed;right:20px;bottom:20px;max-width:calc(100% - 40px);z-index:60}
.toast{background:#1B2528;color:#fff;padding:12px 14px 12px 18px;border-radius:12px;display:flex;align-items:center;gap:12px;font-size:14px;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.toast-err{background:#8E2A23}
.toast button{font:inherit;background:none;border:0;color:#fff;cursor:pointer;min-width:32px;min-height:32px;font-size:18px}
.overlay{position:fixed;inset:0;background:rgba(27,37,40,.45);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}
.dialog{background:#fff;border-radius:14px;max-width:420px;width:100%;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 40px rgba(0,0,0,.2)}
.pw-show{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:20px;background:#EEF2F1;border-radius:10px;padding:12px;text-align:center;letter-spacing:.06em;user-select:all}
@media (max-width:720px){
  .nav-mobile{display:flex}
  .layout{flex-direction:column;flex-wrap:nowrap}
  .main{flex:1 1 auto}
  .side{flex:none;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #DDE3E1;padding:8px 12px;gap:4px;align-items:center;position:sticky;top:0;z-index:10}
  .side .brand,.side-spacer,.side-foot{display:none!important}
  .nav{width:auto;white-space:nowrap;flex:none}
  .auth-card{padding:24px}
}
.support{display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.45;background:#F3F5F4;border:1px solid #E3E8E6;border-radius:10px;padding:10px 12px;color:#3B484C}
.support-title{font-size:11px;color:#56656A}
.support strong{font-size:12.5px;color:#1B2528}
.support a{color:#22605B;font-weight:600;text-decoration:none;word-break:break-all}
.support a:hover{text-decoration:underline}
.support-mobile{display:none}
@media (max-width:720px){.support-mobile{display:flex;margin-top:8px}}
.btn-wa{gap:6px}
.btn-wa svg{color:#1E8E4E}
details summary{min-height:32px;display:flex;align-items:center}
