:root {
  font-family:"Microsoft YaHei","PingFang SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#142B45;background:#F5F7FB;font-synthesis:none;
  --blue:#2168F3;--blue-dark:#1753CB;--blue-soft:#EDF3FF;--navy:#142B45;
  --muted:#63758B;--line:#E4EAF2;--green:#188260;--orange:#AC6917;--red:#CA4651;
  --shadow:0 6px 24px rgba(20,43,69,.035);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-width:320px;font-size:14px;line-height:1.6}
body.navigation-open,body.modal-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;border:0}
button:disabled{cursor:not-allowed;opacity:.58}
button,a,label.file-button{touch-action:manipulation}
a{color:var(--blue);text-underline-offset:3px}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #93B6FF;outline-offset:3px}
input,select,textarea{width:100%;min-width:0;min-height:46px;border:1px solid #DCE4EF;border-radius:10px;background:#fff;color:var(--navy);padding:11px 13px;transition:border-color .15s,box-shadow .15s}
input:hover,select:hover{border-color:#AEBFD6}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2168F312;outline:none}
input::placeholder,textarea::placeholder{color:#8795A7}
input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:0 0 20px;accent-color:var(--blue)}
input[type=date],input[type=datetime-local]{min-width:0}
p{overflow-wrap:anywhere}
button{min-height:44px}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border-radius:10px;font-weight:600;line-height:1.45;text-align:center;text-decoration:none;transition:background .15s,box-shadow .15s}
.primary{background:var(--blue);color:#fff;box-shadow:0 3px 7px #2168F319}
.primary:hover{background:var(--blue-dark)}
.secondary{background:var(--blue-soft);color:#235EC7;border:1px solid #DCE7FC}
.secondary:hover{background:#E1EBFF;border-color:#B4CDFD}
.back,.link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;color:var(--blue);background:transparent;border-radius:8px}
.back{margin:0 0 12px;padding-left:0}
.link:hover,.back:hover{background:var(--blue-soft)}
.full{width:100%}
.action-link{display:inline-flex;text-decoration:none;text-align:center;min-height:44px;align-items:center;justify-content:center}
.error,.danger-link{color:var(--red)}
.primary.danger-link{background:#FEF0F1;color:var(--red)}
.secondary.danger-link{background:#FFF6F6;border-color:#F3DADC}
.topbar{position:sticky;top:0;z-index:30;min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 32px;background:#fff;border-bottom:1px solid var(--line);color:var(--navy)}
.topbar>strong{font-size:18px;letter-spacing:.3px}
.topbar>span{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-width:0;color:var(--muted)}
.topbar-exit{min-height:44px;padding:9px 14px;background:#F2F5FA;border:1px solid var(--line);border-radius:10px;color:var(--navy);white-space:nowrap}
.topbar-exit:hover{background:#E9EFF8}
.topbar-link{display:inline-flex;align-items:center;min-height:44px;padding:8px;color:var(--blue);text-decoration:none}
.workspace-brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;background:var(--blue);color:#fff;border-radius:12px;font-size:21px;font-weight:700}
.brand-copy{display:flex;flex-direction:column;min-width:0}
.brand-copy strong{font-size:17px;line-height:1.35}
.brand-copy small{color:var(--muted);font-size:11px;letter-spacing:1.2px;margin-top:3px}
.workspace-account{display:flex;align-items:center;gap:14px;min-width:0}
.account-copy{text-align:right;min-width:0;overflow-wrap:anywhere}
.account-copy strong{display:block;font-weight:600;color:var(--navy)}
.account-copy small{display:block;color:var(--muted)}
.layout{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:calc(100vh - 80px);max-width:2160px;margin:0 auto}
.sidebar{position:sticky;top:80px;align-self:start;min-width:0;height:calc(100vh - 80px);overflow-y:auto;padding:26px 16px 24px;background:#fff;border-right:1px solid var(--line);overscroll-behavior:contain}
.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:0 12px 22px}
.sidebar-head>div{min-width:0}
.sidebar-head strong{display:block;font-size:16px;line-height:1.55;overflow-wrap:anywhere}
.sidebar-head .site-code{display:block;margin:5px 0 0;color:var(--muted);font-size:11px;letter-spacing:.4px;overflow-wrap:anywhere}
.nav-caption{display:block;padding:0 14px;margin-bottom:9px;font-size:11px;color:#8492A4;letter-spacing:1.4px}
.sidebar nav{display:grid;gap:5px}
.sidebar .nav-item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px 14px;border-radius:10px;background:transparent;text-align:left;font-size:14px;font-weight:500;color:#53667D;line-height:1.4}
.nav-icon{width:20px;height:20px;flex:0 0 20px;display:block;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sidebar .nav-item:hover{background:#F4F7FC;color:var(--blue)}
.sidebar .nav-item[aria-current=page]{background:var(--blue-soft);color:var(--blue);font-weight:700}
.sidebar hr{border:0;border-top:1px solid var(--line);margin:23px 12px}
.sidebar-footer{padding:0 8px}
.sidebar-footer .action-link{width:100%;white-space:normal;line-height:1.6}
.sidebar-footer p{margin:10px 3px 0;color:var(--muted);font-size:11px;line-height:1.7}
.menu-toggle,.drawer-close{display:none}
.nav-backdrop{display:none}
.workspace-main{min-width:0;width:100%;max-width:1600px;margin:0 auto;padding:32px 36px 48px}
.page-context{display:flex;align-items:center;gap:8px;margin-bottom:20px;color:#7B8A9C;font-size:12px}
.page-context span:last-child{color:#52667E}
.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}
.heading>div{min-width:0}
.heading h1{margin:0 0 8px;font-size:28px;font-weight:700;letter-spacing:-.5px;line-height:1.4;color:var(--navy)}
.heading p{margin:0;color:var(--muted);line-height:1.8;max-width:880px}
.heading>button{flex-shrink:0}
.heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow)}
.card h2{margin:0 0 18px;color:var(--navy);font-size:17px;font-weight:700;line-height:1.5}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.stats.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.stats>div{min-width:0;padding:21px 22px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.stats span{display:block;color:var(--muted);font-size:13px;line-height:1.6}
.stats b{display:block;font-size:32px;line-height:1.2;margin-top:13px;letter-spacing:-.8px;font-weight:700;color:var(--navy)}
.stats>div:first-child b{color:var(--blue)}
.grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:22px;align-items:start}
.table-card{margin-top:22px;min-width:0}
.table-scroll{width:100%;max-width:100%;overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-radius:10px;scrollbar-width:thin;scrollbar-color:#B8C6DA #F4F7FB}
.table-scroll:focus-visible{outline-offset:4px}
.table-scroll table{min-width:680px}
.table-scroll.staff-table table{min-width:1000px}
.table-hint{display:none;margin:8px 0 12px;color:var(--muted);font-size:12px}
table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.65}
th{background:#F5F7FB;color:#64758A;font-size:12px;font-weight:600;text-align:left;padding:14px 14px;white-space:nowrap}
td{padding:17px 14px;border-bottom:1px solid #EDF1F6;vertical-align:middle;overflow-wrap:anywhere}
td:first-child{color:var(--navy);font-weight:500}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#FAFCFF}
.empty-row{text-align:center;color:var(--muted);padding:40px 18px;font-weight:400!important}
.tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap;line-height:1.6}
.pending{background:#FFF5DF;color:var(--orange)}
.approved{background:#EDF3FF;color:#2562CB}
.verified,.completed{background:#EAF7F1;color:var(--green)}
.rejected{background:#FEF0F1;color:var(--red)}
.expired{background:#F0F3F7;color:#6E7E91}
.cell-sub{display:block;margin-top:4px;color:var(--muted);font-weight:400;font-size:12px;overflow-wrap:anywhere}
.bound{color:var(--green)}
.unbound{color:var(--orange)}
.disabled-state{color:var(--red)}
.permission-chip{display:inline-block;margin:2px 3px 2px 0;padding:4px 8px;border-radius:6px;background:var(--blue-soft);color:#2B62BF;font-size:11px;white-space:nowrap}
.row-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.row-title h2{margin:0}
.row-title>span{color:var(--muted);font-size:13px;white-space:nowrap}
.resident-form,.staff-form{margin-top:22px;margin-bottom:22px}
.resident-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px;margin-bottom:22px}
.resident-fields .wide{grid-column:1/-1}
.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;margin:20px 0 24px}
.explained-field{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-content:start;min-width:0;color:var(--navy)}
.field-title{font-size:13px;font-weight:600;line-height:1.7}
.field-title b{display:inline-block;margin-left:5px;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:400;vertical-align:middle}
.field-title .required{background:#FFF1F1;color:#BE4C54}
.field-title .optional{background:#F0F3F8;color:#778599}
.explained-field small{color:var(--muted);font-size:12px;line-height:1.65;min-height:38px}
.form-note{margin:16px 0 0;color:var(--muted);font-size:12px;line-height:1.85}
.required-note{margin:0 0 23px;padding:12px 15px;border-radius:9px;background:#F6F8FC;color:#62768D;font-size:12px;line-height:1.75}
.file-button{cursor:pointer}
.file-button input{display:none}
.form{max-width:850px}
.form label.explained-field{display:grid;grid-template-columns:155px minmax(0,1fr);gap:7px 20px;align-items:start;margin-bottom:23px}
.form label.explained-field .field-title{grid-column:1;grid-row:1/span 2;padding-top:11px}
.form label.explained-field input,.form label.explained-field select{grid-column:2;grid-row:1}
.form label.explained-field small{grid-column:2;grid-row:2;min-height:0}
.confirm-check{display:flex!important;align-items:flex-start;gap:12px;padding:16px;margin-bottom:22px;border:1px solid #F0E4C6;border-radius:10px;background:#FFFBF2;color:#806539;font-size:13px;line-height:1.85}
.confirm-check input{margin:3px 0 0}
.stack-field{display:grid;gap:10px;text-align:left;margin-bottom:22px}
.stack-field small{font-size:12px;color:var(--muted);line-height:1.7}
.scan{text-align:center}
.scan h2,.scan p{text-align:left}
.scan p{color:var(--muted);font-size:13px;line-height:1.75}
.scan-box{height:188px;margin:20px 0;display:grid;place-content:center;gap:12px;border:1px dashed #C3D4F5;border-radius:13px;background:#F7FAFF;color:var(--blue);font-size:48px}
.scan-box small{display:block;color:var(--muted);font-size:12px}
.scan-page{max-width:720px}
.scan-page .full+.full{margin-top:12px}
.log{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.log:last-child,.exception:last-child{border-bottom:0}
.log strong{min-width:150px;max-width:100%;overflow-wrap:anywhere}
.log small{display:block;color:var(--muted);font-weight:400;margin-top:5px}
.log>span{color:var(--muted);margin-right:auto;font-size:13px;overflow-wrap:anywhere}
.exception{padding:18px 0;border-bottom:1px solid var(--line)}
.exception .tag{margin-left:14px}
.exception p{color:var(--muted)}
.toast{position:fixed;z-index:200;right:28px;bottom:28px;max-width:calc(100vw - 40px);padding:14px 20px;background:var(--navy);color:#fff;border-radius:12px;box-shadow:0 10px 30px #142B4522;line-height:1.7;overflow-wrap:anywhere}
.role-guide,.security-banner,.mode-note{padding:15px 18px;margin:14px 0 20px;border:1px solid #DCE7FB;border-radius:11px;background:#F1F6FF;color:#496387;font-size:13px;line-height:1.85}
.role-guide strong{color:#2D568C}
.mode-note{grid-column:1/-1}
.error-banner{margin:18px 0;padding:14px 17px;border:1px solid #F2D7DA;border-radius:11px;background:#FFF3F4;color:#AB3744;line-height:1.8}
.warning-banner,.address-guide{margin:18px 0;padding:16px 18px;border:1px solid #F0E2C5;border-radius:11px;background:#FFFBF3;color:#82693F;font-size:13px;line-height:1.8}
.warning-banner p{margin:8px 0}
.warning-banner code,.address-guide code{overflow-wrap:anywhere}
.import-report,.platform-result{margin:18px 0 22px;padding:18px;border:1px solid #CCE9DC;border-radius:11px;background:#F0FAF6;color:#267252;font-size:13px;line-height:1.75}
.import-errors{margin-top:8px;color:#92622F;line-height:1.8}
.site-login{min-height:100vh;display:grid;place-items:center;padding:48px 28px;background:radial-gradient(ellipse at 15% 0%,#E9F0FF 0,transparent 48%),#F5F7FB}
.site-login-panel{width:min(880px,100%);min-width:0;padding:42px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 16px 60px #18365B08}
.site-logo{width:60px;height:60px;display:grid;place-items:center;border-radius:17px;background:var(--blue);color:#fff;font-size:26px;font-weight:700;box-shadow:0 8px 20px #2168F31C}
.site-login h1{margin:24px 0 10px;font-size:28px;line-height:1.45;letter-spacing:-.4px;overflow-wrap:anywhere}
.site-login p,.site-login small{color:var(--muted);line-height:1.8}
.site-login h2{font-size:18px;line-height:1.6}
.site-login-panel>p{margin-bottom:22px}
.site-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:25px 0 12px}
.site-choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;min-width:0;min-height:110px;padding:20px 21px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;text-decoration:none;color:var(--navy);transition:border-color .15s,background .15s}
.site-choice:hover{border-color:#B0C9FC;background:#F6F9FF}
.site-choice strong{font-size:16px;font-weight:600;overflow-wrap:anywhere;max-width:100%}
.site-choice span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.site-choice .setup-status{font-size:11px}
.setup-status{display:block;margin-top:5px;color:var(--orange)!important;font-weight:400}
.site-login hr{border:0;border-top:1px solid var(--line);margin:30px 0}
.back-link,.platform-entry-link{float:right;display:inline-flex;align-items:center;min-height:44px;margin-left:18px;color:var(--blue);font-size:13px;text-decoration:none}
.admin-login{display:grid;gap:20px;margin-top:27px}
.admin-login label{display:grid;gap:8px;min-width:0}
.password-control{display:flex;align-items:stretch;min-width:0}
.password-control input{flex:1 1 auto;min-width:0;border-radius:9px 0 0 9px}
.password-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 46px;min-height:46px;border:1px solid var(--line);border-left:0;border-radius:0 9px 9px 0;background:#F7F9FC;color:var(--blue);padding:0;cursor:pointer;font:inherit}
.password-toggle:hover{background:#EEF4FF}
.password-eye{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.password-eye-slash{display:block}
.password-toggle.is-visible .password-eye-slash{display:none}
.admin-login .explained-field small{min-height:0}
.site-password{margin-top:14px}
.admin-setup{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.site-create{margin:14px 0}
.unconfigured-site{margin-top:24px;padding:22px;border:1px solid #F0E2C5;border-radius:13px;background:#FFFBF3}
.unconfigured-site h2{margin-top:0}
.unconfigured-site .action-link{margin-top:8px}
.platform-login-panel{max-width:740px}
.platform-auth-card{margin-top:25px}
.platform-auth-card h2{margin:0 0 14px}
.advanced-setup,.platform-tools{margin-top:20px;padding:0 18px 18px;border:1px solid var(--line);border-radius:12px;background:#FAFCFF}
.advanced-setup summary,.platform-tools summary{cursor:pointer;min-height:48px;padding:16px 0;color:var(--navy);font-weight:600}
.platform-main{width:100%;max-width:1360px;margin:0 auto;padding:36px 40px 56px}
.platform-section{margin-bottom:24px}
.platform-section>h2{margin-bottom:10px}
.platform-sites{display:grid;gap:16px;margin-top:18px}
.platform-site-card{min-width:0;padding:22px;border:1px solid var(--line);border-radius:13px;background:#FBFCFE}
.platform-site-card h3{margin:0 0 8px;font-size:17px;overflow-wrap:anywhere}
.platform-site-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.85}
.platform-site-card .site-freeze-time{margin-top:9px;color:var(--navy)}
.site-url-line{display:flex;align-items:center;gap:10px;margin-top:16px;min-width:0;flex-wrap:wrap}
.site-url-line code{display:block;flex:1 1 260px;min-width:0;max-width:100%;padding:12px 14px;border-radius:9px;background:#F1F5FB;color:#496582;overflow-wrap:anywhere;word-break:break-word;font-size:12px;line-height:1.8}
.site-url-line .primary,.site-url-line .secondary{flex:0 0 auto;white-space:normal}
.platform-site-actions{margin-top:16px}
.platform-site-actions{display:flex;gap:10px;flex-wrap:wrap}
.platform-site-actions .danger-action{color:#A33A3A;border-color:#E8BABA;background:#FFF8F8}
.platform-site-actions .danger-action:hover{border-color:#D58D8D;background:#FFF1F1}
.platform-result p{margin:8px 0}
.platform-result small{display:block;margin-top:12px;color:#52786D;line-height:1.8}
.platform-action-form{border-color:#BED1F7}
.platform-action-form .row-title p{margin:5px 0 0;color:var(--muted)}
.permissions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 20px;color:var(--muted)}
.permissions label{display:flex;align-items:center;gap:8px}
.appointment-detail-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:28px;background:#142B4566;overflow-y:auto;overscroll-behavior:contain}
.appointment-detail-modal{display:flex;flex-direction:column;width:min(620px,100%);max-height:calc(100dvh - 56px);min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px #142B4533;overflow:hidden}
.appointment-detail-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:25px 28px 21px;border-bottom:1px solid var(--line);flex-shrink:0}
.appointment-detail-header p{margin:0 0 4px;font-size:11px;color:var(--blue);font-weight:600;letter-spacing:1px}
.appointment-detail-header h2{margin:0;font-size:22px;line-height:1.5;color:var(--navy)}
.detail-close{display:grid;place-items:center;min-width:44px;height:44px;border-radius:10px;background:#F2F5FA;color:var(--muted);font-size:25px;line-height:1}
.detail-close:hover{background:var(--blue-soft);color:var(--blue)}
.appointment-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 24px;padding:25px 28px;margin:0;overflow-y:auto;min-height:0;overscroll-behavior:contain}
.appointment-detail-fields>div{min-width:0}
.appointment-detail-fields .detail-wide{grid-column:1/-1}
.appointment-detail-fields dt{margin-bottom:7px;color:var(--muted);font-size:12px}
.appointment-detail-fields dd{margin:0;font-size:14px;color:var(--navy);line-height:1.85;overflow-wrap:anywhere;white-space:pre-wrap}
.appointment-detail-fields dd .tag{white-space:normal}
.appointment-detail-footer{display:flex;justify-content:flex-end;padding:18px 28px;border-top:1px solid var(--line);background:#FCFDFF;flex-shrink:0}
.appointment-detail-footer button{min-width:118px}
@media(max-width:580px){.appointment-detail-backdrop{padding:16px}.appointment-detail-modal{max-height:calc(100dvh - 32px);border-radius:15px}.appointment-detail-header{padding:21px 20px 18px}.appointment-detail-header h2{font-size:20px}.appointment-detail-fields{padding:21px 20px;gap:19px 16px}.appointment-detail-footer{padding:16px 20px}}
@media(min-width:1700px){.workspace-main{padding:38px 48px 56px}.layout{grid-template-columns:260px minmax(0,1fr)}.sidebar{padding-left:22px;padding-right:22px}}
@media(max-width:1350px){.workspace-main{padding:28px}.stats.five{gap:12px}.stats>div{padding:18px}.grid{grid-template-columns:1fr}.scan{display:grid;grid-template-columns:minmax(0,1fr) 180px;column-gap:24px;text-align:left}.scan h2,.scan p{grid-column:1}.scan-box{grid-column:2;grid-row:1/span 3;height:142px;margin:0}.scan>.full{grid-column:1;width:max-content;max-width:100%}}
@media(max-width:1150px){
  .topbar{min-height:76px;padding:14px 24px}.layout{display:block;min-height:calc(100vh - 76px)}
  .workspace-main{padding:28px 28px 44px}.brand-copy strong{font-size:16px}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;min-height:44px;width:44px;padding:10px;background:#F1F5FB;border-radius:10px;color:var(--navy)}
  .menu-toggle .nav-icon{width:23px;height:23px}
  .sidebar{position:fixed;z-index:80;top:0;left:0;width:300px;max-width:calc(100vw - 44px);height:100dvh;padding:28px 20px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 48px #142B451C}
  .sidebar-head{padding:0 8px 26px}.sidebar-head strong{font-size:18px}.sidebar-head .site-code{font-size:12px}
  .drawer-close{display:grid;place-items:center;flex:0 0 44px;width:44px;min-height:44px;border-radius:9px;background:#F2F5FA;color:var(--navy);font-size:24px;line-height:1}
  .sidebar .nav-item{min-height:52px;font-size:15px}
  .drawer-open .sidebar{transform:translateX(0)}
  .drawer-open .nav-backdrop{display:block;position:fixed;inset:0;z-index:70;background:#142B4559;border-radius:0;cursor:pointer}
  .stats.five,.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .resident-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .table-hint{display:block}
  .platform-main{padding:30px 28px 44px}
}
@media(max-width:760px){
  .topbar{padding:12px 18px;gap:12px}.workspace-account{gap:8px}.account-copy{max-width:170px;font-size:12px}
  .brand-copy small{display:none}.brand-mark{width:38px;height:38px;flex-basis:38px}.brand-copy strong{font-size:15px}
  .workspace-main,.platform-main{padding:24px 20px 38px}.page-context{margin-bottom:16px}
  .heading{flex-wrap:wrap;gap:15px;margin-bottom:22px}.heading h1{font-size:25px}.heading p{font-size:13px}
  .heading-actions{width:100%;margin-top:0}.card{padding:22px}
  .stats{gap:12px}.stats>div{padding:18px}.stats b{font-size:29px}
  .resident-fields,.setup-grid{gap:20px 16px}
  .site-login{padding:32px 22px}.site-login-panel{padding:32px}
  .site-login h1{font-size:26px}.site-choices{grid-template-columns:1fr}
  .platform-dashboard .topbar{flex-wrap:wrap}.platform-dashboard .topbar>span{justify-content:flex-start}
  .site-url-line code{flex-basis:100%}
}
@media(max-width:580px){
  body{font-size:14px}.topbar{padding:12px 14px}.workspace-brand{gap:9px}.brand-copy strong{max-width:110px;font-size:14px}.account-copy{display:none}
  .topbar-exit{padding:9px 11px;font-size:12px}.workspace-main,.platform-main{padding:20px 14px 32px}
  .heading h1{font-size:24px}.heading>button{min-width:110px}.heading-actions>.primary,.heading-actions>.secondary{flex:1;white-space:normal}
  .card{padding:18px;border-radius:13px}.stats{gap:10px}.stats>div{padding:16px}.stats span{font-size:12px}.stats b{font-size:27px}
  .resident-fields,.setup-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .explained-field small{min-height:0}.resident-fields .wide{grid-column:1}
  .form label.explained-field{grid-template-columns:minmax(0,1fr);gap:8px}
  .form label.explained-field .field-title,.form label.explained-field input,.form label.explained-field select,.form label.explained-field small{grid-column:1;grid-row:auto}
  .form label.explained-field .field-title{padding-top:0}
  .scan{display:block}.scan-box{height:150px;margin:18px 0}.scan>.full{width:100%}
  .site-login{padding:22px 14px}.site-login-panel{padding:25px 22px;border-radius:17px}
  .site-logo{width:52px;height:52px;border-radius:14px;font-size:23px}.site-login h1{font-size:24px}
  .back-link,.platform-entry-link{font-size:12px;max-width:calc(100% - 72px);text-align:right;justify-content:flex-end;margin-left:10px}
  .site-choice{padding:18px}.site-url-line>.primary,.site-url-line>.secondary{flex:1;min-width:120px}
  .log{align-items:flex-start;gap:10px}.log strong{width:100%}.log>span{width:100%}
  .row-title{align-items:flex-start}.row-title h2{font-size:16px}
  .toast{right:16px;bottom:18px}.platform-site-card{padding:18px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
