:root{font-family:Inter,"Microsoft YaHei",sans-serif;color:#20312f;background:#f3f6f5;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button,.button{cursor:pointer;border:1px solid #d7e0dd;border-radius:9px;background:white;color:#28433d;padding:10px 15px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:hover,.button:hover{background:#edf4f1}button:disabled{opacity:.5;cursor:wait}.primary{background:#176952;color:white;border-color:#176952}.primary:hover{background:#11523f}.danger{color:#b53737}.muted{color:#758781}.shell{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:100vh}.sidebar{background:#163c32;color:#d4e4dd;padding:30px 18px;display:flex;flex-direction:column;gap:6px}.brand{color:white;font-size:22px;font-weight:700;letter-spacing:2px;padding:0 12px}.brand small{display:block;font-size:11px;letter-spacing:2px;color:#a2c2b6;margin-top:8px}.sidebar nav{margin-top:35px;display:grid;gap:8px}.sidebar button{background:transparent;border:0;color:#bcd4c9;justify-content:flex-start;padding:13px 16px}.sidebar button.active{background:#31584b;color:white}.sidefoot{margin-top:auto;padding:24px 12px 0;font-size:12px;color:#acc4bb;line-height:1.8}.main{min-width:0;padding:0 38px 40px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce5e0;gap:12px}.topbar strong{font-size:16px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.heading{display:flex;justify-content:space-between;align-items:center;margin:32px 0 22px;gap:15px}h1{font-size:26px;letter-spacing:-.5px;margin:0 0 8px}h2{font-size:19px;margin:0 0 18px}h3{font-size:15px;margin:0 0 12px}p{line-height:1.65}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0 24px}.stat{background:white;border:1px solid #e2e9e5;border-radius:13px;padding:20px}.stat span{color:#71827b}.stat b{display:block;font-size:30px;margin-top:13px;font-weight:600}.stat:first-child{background:#e7f1eb;border-color:#cce0d3}.panel{background:white;border:1px solid #e0e8e3;border-radius:13px;padding:22px;margin-bottom:20px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filters input{flex:1;min-width:170px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-weight:500;color:#7c8b83;background:#f8faf9}td,th{padding:15px 13px;border-bottom:1px solid #edf1ee}td small{display:block;color:#8a9891;margin-top:5px}.badge{display:inline-block;padding:5px 10px;border-radius:6px;background:#edf3ef;color:#376b52;font-size:12px}.badge.warn{background:#fff2dc;color:#997122}.empty{text-align:center;padding:60px 15px;color:#7e8b85}.rowbtn{padding:7px 12px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wide{grid-column:1/-1}label{display:grid;gap:8px;color:#50645b}input,select,textarea{border:1px solid #d4dfd8;background:#fff;border-radius:8px;padding:10px 12px;min-width:0;color:#20382b;width:100%}textarea{min-height:86px;resize:vertical}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.checks{display:flex;gap:14px;flex-wrap:wrap}.formactions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}dialog{border:1px solid #d9e3db;border-radius:16px;width:min(690px,94vw);max-height:90vh;padding:27px;color:#20312f}dialog::backdrop{background:#102c2366}.detailgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.kv{display:grid;grid-template-columns:95px 1fr;gap:14px;margin:18px 0;word-break:break-word}.kv dt{color:#819087}.kv dd{margin:0;white-space:pre-wrap}.timeline{border-left:2px solid #dce8df;padding-left:18px;margin-left:6px}.event{padding:0 0 22px;white-space:pre-wrap;overflow-wrap:anywhere}.event small{color:#85938a;display:block;margin-bottom:7px}.event p{margin:6px 0}.login{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr}.loginhero{background:#163c32;padding:12vh 10%;color:white;display:flex;flex-direction:column;justify-content:space-between}.loginhero h1{font-size:44px;line-height:1.4;max-width:450px}.loginhero p{color:#b7d0c4;max-width:390px}.loginform{display:flex;align-items:center;justify-content:center;padding:30px}.loginform form{width:340px;display:grid;gap:19px}.loginform button{margin-top:8px}.error{color:#b13737;white-space:pre-wrap}.subtle{font-size:12px;color:#82938a}.mobilecards{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#193e30;color:white;padding:13px 22px;border-radius:10px;display:none;z-index:10000;max-width:90vw}.notice{padding:12px 15px;border-radius:9px;background:#fff6e8;color:#846a3c;font-size:13px;line-height:1.6}.usercards{display:grid;gap:12px}.usercard{display:flex;justify-content:space-between;align-items:center;padding:17px;border:1px solid #e1e8e3;border-radius:10px}.policy{border-bottom:1px solid #e5eae7;padding:18px 0}.policy h3{margin-bottom:15px}a{color:#176952}.nowrap{white-space:nowrap}.pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:900px){.shell{grid-template-columns:170px minmax(0,1fr)}.main{padding:0 20px 24px}.stats{gap:9px}.stat{padding:15px}.detailgrid{grid-template-columns:1fr}.loginhero{padding:10vh 8%}.loginhero h1{font-size:34px}}
@media(max-width:640px){.shell{display:block}.sidebar{padding:15px;gap:0}.brand{font-size:20px;padding:0}.brand small,.sidefoot{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:14px;gap:3px}.sidebar button{padding:9px 12px;white-space:nowrap}.main{padding:0 15px 24px}.topbar{height:auto;min-height:66px;padding:10px 0}.topbar .muted{font-size:12px}.topbar button{padding:8px}.heading{margin:23px 0 17px;align-items:flex-start}h1{font-size:23px}.stats{grid-template-columns:1fr 1fr;margin:15px 0}.stat b{font-size:25px;margin-top:7px}.panel{padding:15px}.formgrid{grid-template-columns:1fr}.tablewrap.customers{display:none}.mobilecards{display:grid;gap:12px}.mobilecard{border:1px solid #dde7df;border-radius:10px;padding:15px}.mobilecard header{display:flex;justify-content:space-between;margin-bottom:12px}.mobilecard .actions{margin-top:15px}.login{display:block}.loginhero{padding:28px}.loginhero h1{font-size:27px;margin-top:25px}.loginhero .subtle{display:none}.loginform{padding:30px 24px}.loginform form{width:100%}.filters select{width:auto;flex:1}input,select,textarea{font-size:16px}.usercard{align-items:flex-start;gap:12px}.kv{grid-template-columns:78px 1fr}.detailgrid{gap:0}}

@media(min-width:641px){.filters select{width:185px;flex:none}}
.availability-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;margin-top:20px;background:#e2eee6;border:1px solid #c8dace;border-radius:12px}.availability-bar .subtle{margin-top:7px}.inbox-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border-bottom:1px solid #e0e9e3}.inbox-item.unread{background:#edf6f0}.extra-detail{border-top:1px solid #e0e9e3;padding-top:22px;margin-top:24px}.message-history{max-height:540px;overflow:auto}.message-history article{padding:14px 0;border-bottom:1px solid #e0e9e3}.message-history small{color:#7e9187}.checks{align-items:center}.ruleform .checks{margin-top:20px}.sidebar nav{gap:2px}.sidebar button{padding-top:10px;padding-bottom:10px}.ruleform .formactions{flex-wrap:wrap}#reportFilter label{min-width:160px}#reportFilter button{align-self:end}@media(max-width:640px){.availability-bar{padding:15px;flex-direction:column;align-items:stretch}.availability-bar button{width:100%}.inbox-item{padding:14px 0}.ruleform .checks{align-items:flex-start;flex-direction:column}}
.sidebar .nav-group{display:grid;gap:3px;margin-bottom:17px}.sidebar .nav-heading{padding:6px 16px;color:#8eb5a6;font-size:11px;letter-spacing:1px}.sidebar .nav-group button{width:100%}@media(max-width:640px){.sidebar .nav-group{display:flex;align-items:center;flex:none;margin:0 10px 0 0}.sidebar .nav-heading{padding:8px 4px;white-space:nowrap}.sidebar .nav-group button{width:auto}}
.plugin-guide{padding:0;width:min(760px,95vw);max-height:90vh;overflow:hidden}.plugin-guide-head{display:flex;justify-content:space-between;gap:18px;padding:25px 29px 19px;background:#163c32;color:white}.plugin-guide-head h2{margin:5px 0 8px;font-size:23px}.plugin-guide-head p{margin:0;color:#d6e9df}.plugin-guide-eyebrow{font-size:12px;color:#a8d9c1;letter-spacing:1px}.plugin-guide-head button{align-self:flex-start;background:transparent;border:0;color:white;font-size:25px;padding:0 5px}.plugin-guide-body{padding:20px 29px 8px;max-height:calc(90vh - 220px);overflow:auto}.plugin-steps{padding-left:23px;margin:14px 0}.plugin-steps li{padding:0 0 13px 5px}.plugin-steps li::marker{font-weight:700;color:#176952}.plugin-steps strong{font-size:15px}.plugin-steps p{margin:5px 0 0;line-height:1.75;color:#53665d}.plugin-steps code{background:#edf3ef;border-radius:4px;padding:2px 5px;word-break:break-all}.plugin-guide-actions{display:flex;gap:10px;flex-wrap:wrap;padding:16px 29px 24px;border-top:1px solid #e0e8e3;background:white}@media(max-width:640px){.plugin-guide-head{padding:19px}.plugin-guide-head h2{font-size:20px}.plugin-guide-body{padding:15px 19px 4px;max-height:calc(90vh - 230px)}.plugin-guide-actions{padding:14px 19px}.plugin-guide-actions .button,.plugin-guide-actions button{flex:1 1 100%}}
.password-dialog{width:min(460px,calc(100vw - 32px));padding:0;border:1px solid #e0e8e3;border-radius:20px;box-shadow:0 24px 80px #102c2333}.password-dialog::backdrop{background:#122d296e;backdrop-filter:blur(3px)}.password-head{display:flex;align-items:center;gap:13px;padding:26px 26px 22px;border-bottom:1px solid #edf1ee}.password-head h2{font-size:21px;margin:0 0 5px}.password-head p{font-size:13px;color:#788980;margin:0}.password-icon{display:grid;place-items:center;flex:none;width:43px;height:43px;background:#e9f3ed;border-radius:13px;color:#176952;font-size:30px}.password-head .password-close{margin-left:auto;align-self:flex-start;border:0;background:transparent;padding:0 5px;font-size:25px;color:#7b8b83}.password-fields{padding:24px 26px 12px;display:grid;gap:18px}.password-fields label{font-weight:500;color:#354b41}.password-fields input:not([type=checkbox]){height:46px;background:#fbfcfb}.password-fields input:focus{outline:2px solid #17695244;border-color:#176952}.password-fields input[aria-invalid=true]{border-color:#b13737}.password-fields .password-reveal{font-weight:400;font-size:13px;color:#687d71;gap:8px}.password-reveal input{accent-color:#176952}.password-hint{margin:0;font-size:12px;color:#7a8c81;line-height:1.7}.password-error{margin:0;font-size:13px}.password-error:empty{display:none}.password-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 26px 24px}.password-actions button{min-width:90px}.password-actions .primary{min-width:122px}@media(max-width:480px){.password-head{padding:22px 20px 18px}.password-fields{padding:20px 20px 10px}.password-actions{padding:16px 20px 22px}.password-actions button{flex:1}.password-icon{display:none}}

/* Follow-up staff: begin the mobile workspace with the availability control. */
@media(max-width:640px){.shell:has(#availability)>.sidebar,.shell:has(#availability)>.main>.topbar{display:none}.shell:has(#availability) #availability{margin-top:15px}}

@media(max-width:640px){.shell:has(#availability) #search{display:none}}

.mobile-status-badge{display:none;border:0;flex-shrink:0}.desktop-status-badge{display:inline}@media(max-width:640px){.desktop-status-badge{display:none}.mobile-status-badge{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:8px 11px}}

#toggleAvailability:disabled{background:#e2e6e3;border-color:#d5dcd7;color:#89958e;opacity:1;cursor:not-allowed}

.waiting-notice{margin-top:14px;padding:16px 18px;border:1px solid #efc17c;border-left:4px solid #d88b21;border-radius:10px;background:#fff3dc;color:#8b4a0e;font-size:16px;font-weight:700;line-height:1.7}.waiting-notice[hidden]{display:none}

.customer-info-heading{display:contents}.detail-mobile-status{display:none}
@media(max-width:640px){
.shell:has(#availability):has(.detailgrid) #availability,.shell:has(#availability):has(.detailgrid) #waitingNotice,.shell:has(#availability) .customer-transfer-history,.shell:has(#availability) .customer-synced-messages{display:none}
.shell:has(#availability) .customer-detail-heading>.mobile-status-badge,.shell:has(#availability) .customer-detail-heading>.desktop-status-badge{display:none}
.shell:has(#availability) .detail-title-group{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;width:100%}
.shell:has(#availability) .detail-title-group h1{grid-column:1;grid-row:1;margin:0;overflow-wrap:anywhere}
.shell:has(#availability) .detail-title-group #back{grid-column:2;grid-row:1;white-space:nowrap}
.shell:has(#availability) .detail-title-group>.muted{grid-column:1/-1}
.shell:has(#availability) .customer-info-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.shell:has(#availability) .customer-info-heading h2{margin:0}
.shell:has(#availability) .detail-mobile-status{display:block;flex-shrink:0}
}

#availability[hidden],#waitingNotice[hidden]{display:none!important}
