@charset "UTF-8";
:root{--navy:#12263e;--blue:#285a82;--teal:#247d7e;--canvas:#f4f6f8;--line:#e4e9ef;--text:#233449;--muted:#748193;--red:#bb4b49;--radius:9px}*{box-sizing:border-box}body{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:15px;color:var(--text);background:var(--canvas);margin:0}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #69b9ca;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;font-weight:650;letter-spacing:-.8px;margin-bottom:8px}h2{font-size:16px;font-weight:650;margin:0}h3{font-size:15px;font-weight:650}small{font-size:15px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;background:#f5f7fa;padding:12px;border-radius:5px}dl{margin:0}dt{font-size:15px;font-weight:500;color:var(--muted);margin-bottom:6px}dd{font-weight:600;margin:0}small,td small,.simple-row small,.attention-age small,dd small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.subtle{color:var(--muted);font-size:15px}.sidebar{width:230px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:30px 18px 20px;z-index:30}.brand{display:flex;gap:11px;align-items:center;color:#fff;font-size:20px;font-weight:700;letter-spacing:1.2px;padding:0 8px 31px}.brand:hover{color:#fff}.brand small{font-size:15px;letter-spacing:1.15px;color:#91a4ba;margin-top:5px}.brand-mark{width:34px;height:39px;display:flex;align-items:center;justify-content:center;border:1px solid #7591a8;border-radius:8px 8px 15px 15px;font-size:23px;color:#9ad4d3;font-weight:600}.nav-label{font-size:15px;letter-spacing:1.5px;color:#7890a9;margin:22px 14px 13px;font-weight:600}.sidebar nav a{display:flex;gap:13px;align-items:center;color:#b5c3d2;padding:12px 14px;border-radius:6px;margin-bottom:5px;font-size:15px}.sidebar nav a:hover{background:#20374e;color:#fff}.sidebar nav a.active{color:#fff;background:#28435b;box-shadow:inset 3px 0 #8bc9c7}.nav-icon{font-size:18px;width:18px;text-align:center;font-weight:400}.sidebar-footer{margin-top:auto;border-top:1px solid #304257;padding:20px 10px 0;color:#bbc8d6;font-size:15px}.sidebar-footer small{font-size:15px;color:#7890a9;margin-top:9px}.live-dot{display:inline-block;width:6px;height:6px;background:#66b6a6;border-radius:50%;margin-right:6px}.app-shell{margin-left:230px;min-height:100vh}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:22px;padding:0 34px}.office-title{font-size:15px;font-weight:600;white-space:nowrap}.office-title span{color:#bac2cc;padding:0 10px}.global-search{margin-left:auto;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;padding:9px 12px;min-width:230px}.global-search input{border:0;outline:none;width:100%;font-size:15px}.global-search>span{font-size:18px;color:#8a96a4;line-height:1}.today{font-size:15px;color:var(--muted);white-space:nowrap}.user-badge{background:#e7edf4;color:var(--navy);width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-weight:700}.menu-toggle{display:none}main#main{padding:26px 34px 34px;max-width:1800px;margin:auto}.breadcrumb-line{font-size:15px;letter-spacing:1px;color:#8a95a4;margin-bottom:22px}.breadcrumb-line span{padding:0 10px;color:#b9c0c8}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 0 28px}.page-heading p{color:var(--muted);margin:0;font-size:15px}.btn{font-size:15px;padding:10px 16px;border-radius:5px;font-weight:550;white-space:nowrap}.btn-primary{background:var(--blue);border-color:var(--blue)}.btn-primary:hover{background:#1d4668;border-color:#1d4668}.btn-outline-secondary{border-color:#d9e1e9;color:#516275;background:#fff}.demo-banner{background:#eaf0f5;color:#546b80;border:1px solid #dfe7ef;padding:9px 12px;font-size:15px;letter-spacing:.7px;border-radius:5px;margin-bottom:20px}.demo-banner span{letter-spacing:0;margin-left:12px;font-size:15px}.section-kicker{font-size:15px;font-weight:650;letter-spacing:1.2px;display:flex;align-items:center;margin-bottom:13px}.section-kicker>.subtle{margin-left:auto;font-size:15px;font-weight:400;letter-spacing:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px}.metric{padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);color:var(--text)}.metric>div{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:#657588}.metric>strong{display:block;font-size:36px;font-weight:550;letter-spacing:-1px;margin:11px 0 13px}.metric>small{border-top:1px solid #edf0f4;padding-top:12px;font-size:15px}.metric small span{float:right}.metric-symbol{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;font-size:15px}.red{color:#b84e4c;background:#f9eae8}.amber{color:#a77428;background:#faf1df}.blue{color:#416f9a;background:#e9f0f8}.green{color:#36816c;background:#e5f2ed}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-heading{padding:22px 23px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0f4}.panel-heading p{font-size:15px;color:var(--muted);margin:7px 0 0}.panel-body{padding:20px 23px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:23px}.attention-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#bd6660;margin-right:7px;vertical-align:middle}.count-pill{background:#f7eceb;color:#a7534b;padding:4px 9px;font-size:15px;border-radius:5px}.attention-item{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid #edf0f4;color:var(--text)}.attention-item:last-child{border-bottom:0}.attention-item:hover,.record-table tbody tr:hover{background:#f9fbfd}.attention-icon{width:29px;height:29px;background:#faf0ee;border-radius:50%;display:grid;place-items:center;color:#b85f56;font-size:15px;flex-shrink:0}.item-kicker{font-size:15px;letter-spacing:1px;color:#64809c;margin-bottom:6px}.item-kicker span{color:#a4afbb;margin-left:8px;letter-spacing:.2px}.attention-item strong{font-size:15px;font-weight:600}.attention-item strong span{font-weight:400;color:#8c98a7}.attention-item p{font-size:15px;color:#758394;margin:5px 0 0}.attention-age{margin-left:auto;white-space:nowrap;font-size:15px;text-align:right;color:#a45951}.attention-age small{font-size:15px}.row-arrow{color:#7b8ea2;font-size:17px}.pending-offices{padding:12px 23px 22px}.pending-offices>div{display:flex;justify-content:space-between;margin-top:18px;font-size:15px}.pending-offices strong{font-weight:600;color:#4b6076}.pending-offices progress{height:4px;display:block;width:100%;margin-top:9px;appearance:none;border:0;border-radius:5px;overflow:hidden}.pending-offices progress::-webkit-progress-bar{background:#edf1f5}.pending-offices progress::-webkit-progress-value{background:#7798b4}.pending-offices progress::-moz-progress-bar{background:#7798b4}.panel-note{padding:15px 23px;background:#fbfcfd;border-top:1px solid var(--line);font-size:15px;line-height:1.7;color:var(--muted)}.text-link{font-size:15px;font-weight:600}.record-table{margin:0;font-size:15px;vertical-align:middle}.record-table th{font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#8090a0;background:#f9fafc;padding:13px 18px;border-color:#edf0f4;white-space:nowrap}.record-table td{padding:18px;border-color:#edf0f4;max-width:245px}.record-table small{font-size:15px;line-height:1.6}.record-name{font-weight:600;color:#334e69;font-size:15px}.status{font-size:15px;display:inline-block;padding:5px 8px;border-radius:4px;white-space:nowrap}.status-green{background:#eaf4ef;color:#3c7d63}.status-amber{background:#fbf3e3;color:#a17d39}.status-blue{background:#eaf0f8;color:#587a9a}.status-red{background:#f9eae8;color:#b65850}.empty-state{padding:40px 24px!important;text-align:center;color:var(--muted);font-size:15px}.release-note{display:flex;gap:15px;color:#8a97a5;padding:22px 0;font-size:15px;line-height:1.7}.release-note strong{color:#6c7c8d;white-space:nowrap;font-size:15px}.page-footer{padding:20px 34px;border-top:1px solid var(--line);font-size:15px;color:#8d9ba9;display:flex;gap:18px}.page-footer span:last-child{margin-left:auto}.filter-bar{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}.filter-bar>.form-control{max-width:310px}.filter-bar label{font-size:15px;color:var(--muted)}.filter-bar .form-select{max-width:170px}.form-control,.form-select{font-size:15px;min-height:39px;border-color:#dfe5ec;color:#34495f;border-radius:5px}.form-control:focus,.form-select:focus{box-shadow:0 0 0 3px #e2ecf5;border-color:#7f9fbc}.field{display:block;margin-bottom:17px;width:100%}.field>span{display:block;font-size:15px;font-weight:550;color:#66788a;margin-bottom:7px}.required{color:#ba6a60}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.form-panel{padding:28px;max-width:950px}.form-footer{border-top:1px solid var(--line);padding-top:18px;margin-top:22px;display:flex;gap:15px;align-items:center;flex-wrap:wrap}.form-footer .subtle{font-size:15px}.form-error:empty{display:none}.form-error{background:#fbeceb;border:1px solid #f0c8c4;color:#a7443e;padding:12px;margin-bottom:16px;border-radius:5px;font-size:15px;line-height:1.6}.profile-summary{display:flex;align-items:center;gap:28px;padding:25px}.profile-summary>div:nth-child(2){margin-right:auto}.profile-summary h2{margin-bottom:9px}.avatar{background:#edf2f8;color:#526f8c;font-size:24px;width:58px;height:58px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.profile-summary dl{border-left:1px solid var(--line);padding-left:25px}.window-counts{display:flex;gap:0;margin-bottom:25px;border:1px solid var(--line);background:white;border-radius:8px;padding:20px}.window-counts>div{flex:1;padding:0 23px;border-right:1px solid var(--line)}.window-counts strong{font-size:25px;font-weight:550;display:block}.window-counts span{font-size:15px;color:var(--muted)}.window-counts p{font-size:15px;color:var(--muted);margin:5px 8px 0 25px;line-height:1.8}.record-tabs{display:flex;gap:22px;overflow-x:auto;border-bottom:1px solid #dbe3eb;margin:0 0 22px}.record-tabs a{font-size:15px;color:#7a899a;white-space:nowrap;padding:12px 1px 14px}.record-tabs a.active{color:#315f84;border-bottom:2px solid #315f84;font-weight:600}.workflow-panel{margin-top:23px}.stepper{list-style:none;display:flex;padding:26px 24px;margin:0;gap:3px}.stepper li{flex:1;position:relative;text-align:center;font-size:15px;color:#9ba7b5}.stepper li:before{content:'';position:absolute;top:13px;left:50%;width:100%;height:1px;background:#e4e9ef}.stepper li:last-child:before{display:none}.stepper span{position:relative;display:grid;place-items:center;margin:0 auto 11px;width:27px;height:27px;border:1px solid #dce3eb;border-radius:50%;background:#fff;font-size:15px}.stepper strong{display:block;font-weight:500;max-width:80px;margin:auto;line-height:1.6}.stepper .done{color:#4e8b78}.stepper .done span{background:#e8f3ed;border-color:#d7e9df}.stepper .current{color:#285a82;font-weight:700}.stepper .current span{background:#285a82;color:#fff;border-color:#285a82;box-shadow:0 0 0 4px #eaf0f6}.responsibility{display:flex;gap:24px;background:#f8fafc;padding:21px 25px;border-top:1px solid var(--line)}.responsibility>div:first-child{flex:1}.responsibility span{display:block;font-size:15px;letter-spacing:1px;color:#93a0ad;margin-bottom:7px}.responsibility strong{display:block;font-size:15px;font-weight:600}.responsibility small{font-size:15px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:25px;margin-top:23px}.detail-grid>aside{padding-top:0}.timeline{padding:27px 26px}.timeline-item{position:relative;border-left:1px solid #e0e6ed;padding:0 0 28px 25px;margin-left:5px}.timeline-item:last-child{padding-bottom:0;border:0}.timeline-point{width:9px;height:9px;border-radius:50%;background:#6c91ab;position:absolute;left:-5px;top:3px;box-shadow:0 0 0 4px white}.timeline-meta{font-size:15px;color:#7c8fa1;margin-bottom:8px;display:flex;justify-content:space-between}.timeline-meta span{color:#afb9c4}.timeline-item h3{font-size:15px;margin-bottom:6px}.timeline-item p{font-size:15px;color:#687b8e;margin-bottom:7px;line-height:1.7}.timeline-item small{font-size:15px;color:#96a2af}.event-data{margin-top:9px;font-size:15px;color:#8493a2}.event-data pre{margin-top:8px}.simple-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 23px;border-bottom:1px solid #edf0f4;color:var(--text);font-size:15px}.simple-row:last-child{border-bottom:0}.simple-row strong{font-size:15px}.simple-row small{font-size:15px}.upload-panel>summary{padding:18px 23px;font-size:15px;font-weight:600;cursor:pointer}.upload-panel>summary span{float:right}.history-note{padding:20px 10px;font-size:15px;color:#92a0ae;line-height:1.8}.audit-entry{padding:17px 23px;border-bottom:1px solid var(--line);font-size:15px}.audit-entry summary{cursor:pointer}.audit-entry pre{margin-top:15px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px;align-items:start}.admin-record{border-bottom:1px solid var(--line);padding:13px 0}.admin-record summary{cursor:pointer;font-size:15px}.admin-record form{margin-top:20px}.check-field{display:flex;align-items:center;gap:9px;font-size:15px;margin:12px 0}.grant-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.grant-row strong{font-size:15px}.grant-row small{font-size:15px}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{padding:55px 65px;background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.login-brand .brand{padding-left:0}.eyebrow{font-size:15px;letter-spacing:1.8px;color:#819caf;font-weight:600;margin-bottom:22px}.login-brand h1{font-size:45px;line-height:1.25;font-weight:500;letter-spacing:-1.6px;margin-bottom:25px}.login-brand p{max-width:370px;color:#a4b6c9;font-size:15px;line-height:1.9}.login-points{display:flex;gap:23px;margin-top:45px;font-size:15px;color:#a2c9cf}.login-brand>small{font-size:15px;color:#647e98}.login-panel{display:grid;place-items:center;background:#fafbfc;padding:40px}.login-card{width:100%;max-width:360px}.login-card h2{font-size:27px;letter-spacing:-.6px;margin-bottom:13px}.login-card>.subtle{margin-bottom:33px}.login-note{font-size:15px;color:#94a1af;line-height:1.8;margin-top:25px}.login-card .eyebrow{margin-bottom:17px}.login-card .btn{padding:13px}.login-card .demo-banner{margin-top:24px}.login-brand .brand-mark{width:38px;height:44px}#toast{position:fixed;bottom:20px;right:20px;background:#163c35;color:#fff;border-radius:6px;padding:15px 22px;display:none;z-index:100}#toast.visible{display:block}[hidden]{display:none!important}
@media(min-width:1600px){.topbar{padding-left:45px;padding-right:45px}main#main{padding:30px 45px}.metric{padding:24px}.attention-item{padding:22px}}
@media(max-width:1200px){.sidebar{width:205px}.app-shell{margin-left:205px}.topbar{padding:0 23px;gap:14px}.office-title{display:none}main#main{padding:22px}.metrics{gap:12px}.metric{padding:16px}.dashboard-grid{grid-template-columns:1.6fr 1fr}.attention-item{padding:16px;gap:10px}.attention-age{display:none}.profile-summary{gap:16px}.profile-summary dl{padding-left:15px}.detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr)}.filter-bar{flex-wrap:wrap}.window-counts>div{padding:0 13px}.window-counts p{display:none}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);width:230px}.menu-open .sidebar{transform:translateX(0);box-shadow:0 0 0 100vw #102b4655}.menu-open .menu-toggle{position:relative;z-index:40}.app-shell{margin-left:0}.menu-toggle{display:block;border:0;background:transparent;font-size:20px;color:var(--navy)}.topbar{height:65px}.global-search{min-width:0;flex:1}.dashboard-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-grid>aside{order:-1}.action-panel .panel-body{padding:20px}.profile-summary{flex-wrap:wrap}.profile-summary>div:nth-child(2){min-width:60%}.profile-summary dl{border:0;padding:0;min-width:25%}.admin-grid{grid-template-columns:1fr}.login-brand{padding:35px}.login-brand h1{font-size:35px}.login-points{flex-direction:column;gap:15px}.responsibility{flex-wrap:wrap}.responsibility>div:first-child{min-width:100%}}
@media(max-width:600px){main#main{padding:18px 15px}.topbar{padding:0 15px;gap:10px}.today{display:none}.page-heading{align-items:flex-start;flex-direction:column;margin:18px 0 24px}h1{font-size:25px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:15px}.metric>div{font-size:15px}.metric>strong{font-size:30px}.metric small{font-size:15px}.metric-symbol{display:none}.panel-heading{padding:18px}.panel-heading h2{font-size:15px}.attention-item{padding:16px}.attention-icon{width:23px;height:23px}.attention-item p{font-size:15px}.attention-item .row-arrow{margin-left:auto}.section-kicker>.subtle{display:none}.demo-banner span{display:block;margin:5px 0 0}.release-note{flex-direction:column;gap:5px}.page-footer{padding:18px 15px}.page-footer span:last-child{display:none}.form-grid{grid-template-columns:1fr}.form-panel{padding:22px}.window-counts{padding:14px 8px;flex-wrap:wrap;gap:15px 0}.window-counts>div{min-width:50%;border:0}.window-counts strong{font-size:22px}.record-tabs{gap:17px}.filter-bar{padding:15px}.filter-bar>.form-control{max-width:100%}.stepper{overflow-x:auto;justify-content:flex-start}.stepper li{min-width:75px}.responsibility{gap:20px}.profile-summary{padding:20px}.profile-summary dl{min-width:40%}.login-layout{display:block}.login-brand{min-height:230px;padding:26px}.login-brand>div:nth-child(2){display:none}.login-brand .brand{padding:0}.login-panel{padding:35px 25px}.login-brand{min-height:145px}.login-brand>small{margin-top:20px}.login-card h2{font-size:24px}.breadcrumb-line{font-size:15px}.simple-row{padding:17px;font-size:15px}.panel-body{padding:18px}}
@media print{.sidebar,.topbar,.breadcrumb-line,.demo-banner,.page-footer,.filter-bar,.page-heading .btn,.record-tabs,.release-note,.detail-grid>aside{display:none!important}.app-shell{margin:0}body{background:#fff;font-size:10px}main#main{padding:0}.panel{border:1px solid #ddd;break-inside:avoid}.record-table th,.record-table td{padding:8px}.record-table{font-size:9px}.row-arrow{display:none}h1{font-size:20px}.metrics{gap:8px}.window-counts{padding:10px}a{color:#000}.detail-grid{display:block}}

.sidebar{overflow-y:auto}.sidebar nav a{padding-top:9px;padding-bottom:9px}.sidebar-footer{padding-top:16px}.module-attention{margin-bottom:24px}.module-attention .simple-row{font-size:15px}#visitor-matches{padding:10px 0;font-size:15px;color:var(--muted)}

.visitor-photo{width:64px;height:72px;border-radius:7px;object-fit:cover}.sidebar-footer{min-height:65px}.sidebar nav{padding-bottom:16px}

.camera-panel { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #dbe2e8; border-radius: 12px; }
.camera-panel video,.camera-panel img { display:block; width:100%; max-width:420px; border-radius:10px; margin-bottom:1rem; }
.camera-panel [hidden] { display:none; }
.camera-buttons { display:flex; flex-wrap:wrap; gap:.6rem; }
.visitor-details { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1.25rem 2rem; margin:0; }
.visitor-details dt { color:#64748b; font-size:.8rem; font-weight:600; margin-bottom:.3rem; }
.visitor-details dd { margin:0; overflow-wrap:anywhere; white-space:normal; }
.notification-bell { display:inline-flex; align-items:center; gap:.4rem; padding:.45rem .65rem; border-radius:8px; background:#eef4f8; text-decoration:none; white-space:nowrap; font-size:.85rem; }
.notification-bell span { font-weight:700; }
.sidebar .count-pill { margin-left:auto; padding:.05rem .4rem; font-size:.75rem; }

/* Comfortable screen typography for office staff; print sizing remains separate. */
@media screen {
 :root { --canvas:#f2f4f1; --text:#202f39; --muted:#52616c; --line:#cdd6d7; --blue:#205779; --navy:#183345; }
 body { font-family:"Segoe UI",Arial,sans-serif; font-size:17px; line-height:1.6; }
 h1 { font-size:32px; line-height:1.25; letter-spacing:-.3px; }
 h2,.panel-heading h2 { font-size:21px; line-height:1.4; }
 h3 { font-size:18px; }
 small,dt,pre,.subtle,.record-table small,.simple-row small,.visitor-details dt { font-size:15px; line-height:1.55; }
 .panel,.form-panel { background:#fffefa; }
 .form-control,.form-select,textarea,.btn { font-size:17px; line-height:1.5; }
 .form-control,.form-select { min-height:50px; border-color:#aebcc5; color:#202f39; background-color:#fffefa; }
 .field>span,.check-field,.filter-bar label { font-size:16px; font-weight:600; color:#334c5d; }
 .form-control:focus,.form-select:focus { border-color:#205779; box-shadow:0 0 0 3px #20577930; }
 .form-control::placeholder { color:#5a6974; opacity:1; }
 .record-table,.simple-row,.timeline-item p,.record-tabs a,.sidebar nav a { font-size:16px; }
 .record-table th,.responsibility span,.timeline-meta,.status,.breadcrumb-line { font-size:15px; letter-spacing:.2px; }
 .record-table td,.record-table th { padding:18px 16px; vertical-align:top; }
 .responsibility strong,.record-name,.visitor-details dd { font-size:17px; }
 .responsibility { flex-wrap:wrap; gap:22px; }
 .responsibility>div { min-width:180px; flex:1; }
 .stepper { overflow-x:auto; gap:12px; padding-bottom:20px; }
 .stepper li { min-width:105px; } .stepper strong { font-size:15px; line-height:1.5; }
 .record-tabs { flex-wrap:wrap; row-gap:4px; } .record-tabs a { padding-top:14px; padding-bottom:14px; }
 .sidebar { width:280px; } .app-shell { margin-left:280px; }
 .sidebar small,.sidebar-footer,.nav-label { color:#c6d6e1; }
 .brand small { font-size:12px; letter-spacing:.4px; }
 .sidebar nav a { min-height:46px; white-space:normal; }
 .topbar { min-height:78px; height:auto; flex-wrap:wrap; padding-top:12px; padding-bottom:12px; }
 .detail-grid { grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr); gap:24px; }
 .detail-grid>* { min-width:0; } .form-grid { gap:20px; }
 .panel-body,.form-panel { line-height:1.65; }
 .metric small,.metric>div,.attention-item p,.demo-banner,.history-note { font-size:15px; }
 .notification-bell,.sidebar .count-pill { font-size:15px; }
 .status-green { color:#185a3f; background:#e4f1e8; }
 .status-amber { color:#69440a; background:#fff0cb; }
 .status-red { color:#8d2929; background:#fbe8e6; }
 .status-blue { color:#214f70; background:#e4edf5; }
}
@media screen and (max-width:1100px) { .detail-grid,.dashboard-grid { grid-template-columns:1fr; } .detail-grid>aside { order:-1; } }
@media screen and (max-width:900px) { .app-shell { margin-left:0; } .sidebar { width:280px; } .global-search { min-width:160px; } }
@media screen and (max-width:600px) { h1 { font-size:28px; } .metrics { grid-template-columns:1fr; } .form-grid { grid-template-columns:1fr; } .topbar { gap:10px; } .office-title { flex-basis:100%; } }

/* Account-specific dark appearance; screen only keeps printed documents light. */
@media screen {
 html[data-theme="dark"] { color-scheme:dark; --canvas:#141c24; --text:#e4eaf0; --muted:#b2bfcc; --line:#41505e; --blue:#9dcfff; --navy:#101a25; --bs-body-color:#e4eaf0; --bs-body-bg:#141c24; --bs-secondary-color:#b2bfcc; --bs-border-color:#41505e; }
 [data-theme="dark"] :is(.panel,.form-panel,.metric,.topbar,.login-panel,.window-counts) { background:#1e2934; color:var(--text); }
 [data-theme="dark"] :is(.responsibility,.panel-note,.demo-banner,pre,.notification-bell,.avatar,.user-badge) { background:#273644; color:#d3e4f1; border-color:var(--line); }
 [data-theme="dark"] :is(input,textarea,select,.form-control,.form-select) { background-color:#17212b; color:#e4eaf0; border-color:#607487; }
 [data-theme="dark"] .form-select { background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dce7f0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
 [data-theme="dark"] :is(input,textarea)::placeholder { color:#aab9c7; }
 [data-theme="dark"] :is(.field>span,.check-field,.filter-bar label,.record-name,.pending-offices strong) { color:#d3e4f1; }
 [data-theme="dark"] :is(.breadcrumb-line,.responsibility span,.timeline-meta,.timeline-meta span,.timeline-item p,.timeline-item small,.event-data,.history-note,.metric>div,.page-footer,.release-note,.release-note strong,.login-note,.record-tabs a) { color:var(--muted); }
 [data-theme="dark"] :is(.panel-heading,.metric>small,.attention-item,.simple-row,.record-table td,.record-table th,.record-tabs,.timeline-item) { border-color:var(--line); }
 [data-theme="dark"] .table { --bs-table-bg:#1e2934; --bs-table-color:#e4eaf0; --bs-table-border-color:#41505e; --bs-table-hover-bg:#293a49; --bs-table-hover-color:#fff; color:#e4eaf0; }
 [data-theme="dark"] .record-table th { background:#273644; color:#ccd9e5; }
 [data-theme="dark"] :is(.attention-item:hover,.record-table tbody tr:hover) { background:#293a49; }
 [data-theme="dark"] .btn-primary { background:#316a96; border-color:#80b5df; color:#fff; }
 [data-theme="dark"] .btn-primary:hover { background:#3d7baa; }
 [data-theme="dark"] .btn-outline-secondary { background:#263645; border-color:#728699; color:#e4eaf0; }
 [data-theme="dark"] .record-tabs a.active { color:#a8d5ff; border-color:#a8d5ff; }
 [data-theme="dark"] :is(.status-green,.green) { color:#a4e2c2; background:#204636; }
 [data-theme="dark"] :is(.status-amber,.amber) { color:#f9d58b; background:#493d24; }
 [data-theme="dark"] :is(.status-red,.red,.count-pill,.form-error) { color:#ffc0b9; background:#512d31; border-color:#9b6267; }
 [data-theme="dark"] :is(.status-blue,.blue) { color:#b3d9ff; background:#29435b; }
 [data-theme="dark"] .required { color:#ffb9ad; }
 [data-theme="dark"] .stepper li { color:#b2bfcc; }
 [data-theme="dark"] .stepper span { background:#273644; border-color:#718498; }
 [data-theme="dark"] .stepper .done { color:#a4e2c2; }
 [data-theme="dark"] .stepper .done span { background:#204636; }
 [data-theme="dark"] .stepper .current { color:#b3d9ff; }
 [data-theme="dark"] .stepper .current span { background:#316a96; box-shadow:0 0 0 4px #334b60; }
 [data-theme="dark"] .stepper li:before { background:#526578; }
 [data-theme="dark"] .timeline-point { box-shadow:0 0 0 4px #1e2934; }
 [data-theme="dark"] :is(.form-control,.form-select):focus { border-color:#9dcfff; box-shadow:0 0 0 3px #9dcfff35; }
}

/* Small, consistent icons supplement text in both colour modes. */
.ui-icon { width:1.15em; height:1.15em; display:inline-block; vertical-align:-.18em; flex-shrink:0; pointer-events:none; }
.icon-heading>.ui-icon { margin-right:.45em; color:var(--blue); }
.icon-button>.ui-icon { margin-right:.45em; }
.sidebar nav .ui-icon { width:20px; height:20px; align-self:center; }
@media print { .ui-icon { display:none; } }
.visit-slip-actions { margin:0 0 24px; }

.document-list > summary { cursor:pointer; list-style:none; gap:16px; }
.document-list > summary::-webkit-details-marker { display:none; }
.document-list:not([open]) > summary { border-bottom:0; }
.document-count { white-space:nowrap; }
.document-toggle::before { content:"+"; font-size:24px; font-weight:600; }
.document-list[open] > summary .document-toggle::before { content:"−"; }

.visitor-list-details { flex:1; min-width:0; }
.receipt-print { white-space:nowrap; }
@media print { .receipt-print { display:none!important; } }
.visitor-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:end; padding:22px; border-bottom:1px solid var(--line); }
.visitor-filters label { display:flex; flex-direction:column; gap:7px; min-width:0; font-weight:600; }
.visitor-filters .visitor-search { grid-column:span 2; }
.visitor-filter-buttons { display:flex; gap:10px; flex-wrap:wrap; }
.visitor-filter-summary { padding:12px 22px; margin:0; font-size:15px; }
.visitor-register-table td { vertical-align:top; overflow-wrap:anywhere; }
.visitor-register [hidden] { display:none!important; }
@media(max-width:1000px) { .visitor-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:550px) { .visitor-filters { grid-template-columns:1fr; padding:16px; } .visitor-filters .visitor-search { grid-column:auto; } }
@media print {
 body:has(.visitor-register) { color:#000!important; background:white!important; }
 body:has(.visitor-register) .page-heading { margin:0 0 4mm; }
 body:has(.visitor-register) .page-heading p { display:none; }
 .visitor-register.panel { break-inside:auto!important; border:0; margin:0!important; }
 .visitor-register .panel-heading { padding:0 0 2mm; break-after:avoid; }
 .visitor-register .panel-heading h2 { font-size:13pt; }
 .visitor-register .panel-heading p { margin:0; }
 .visitor-register .visitor-filters,.visitor-register button,.visitor-register .receipt-print { display:none!important; }
 .visitor-register .table-responsive { overflow:visible!important; }
 .visitor-filter-summary { padding:2mm 0; font-size:9pt; }
 .visitor-register-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:10pt!important; }
 .visitor-register-table thead { display:table-header-group; }
 .visitor-register-table tr { break-inside:avoid; }
 .visitor-register-table th,.visitor-register-table td { padding:2mm!important; border:1px solid #999!important; color:#000!important; background:#fff!important; }
 .visitor-register-table th { font-size:9pt; }
 .visitor-register-table small { color:#222!important; font-size:9pt; }
 .visitor-register-table a,.visitor-register-table .badge { color:#000!important; background:none!important; text-decoration:none; font-size:10pt; }
}
@media screen { .visitor-register-table { min-width:1100px; } .visitor-register-table td:nth-child(3) { min-width:210px; overflow-wrap:break-word; } .visitor-register-table td:nth-child(4) { min-width:180px; } .visitor-filter-buttons { flex-wrap:nowrap; } .visitor-filter-buttons .btn { padding-left:10px; padding-right:10px; } }
@media(max-width:1250px) { .visitor-filter-buttons { grid-column:span 2; } }
@media(max-width:550px) { .visitor-filter-buttons { grid-column:auto; } }
.visitor-compact-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.visitor-compact-counts>a,.visitor-compact-counts>div { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 16px; border:1px solid var(--line); border-radius:8px; background:var(--canvas); color:var(--text); }
.visitor-compact-counts span { font-size:15px; }
.visitor-compact-counts strong { font-size:25px; }
.visitor-dashboard .panel-heading { padding:14px 18px; }
.visitor-dashboard .panel-heading p { margin:4px 0 0; }
.visitor-dashboard .record-table td { padding:12px 16px; }
.visitor-compact-statistics .responsibility { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:12px 18px; }
.visitor-compact-statistics .responsibility>div { min-width:0!important; }
.visitor-compact-statistics .responsibility span { font-size:13px; }
.visitor-compact-statistics .responsibility strong { font-size:18px; margin-top:3px; }
body:has(.visitor-dashboard) .page-heading { margin-top:16px; margin-bottom:16px; }
body:has(.visitor-dashboard) .breadcrumb-line { margin-bottom:14px; }
@media(max-width:850px) { .visitor-compact-counts,.visitor-compact-statistics .responsibility { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.dashboard-shortcuts { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.dashboard-shortcuts:empty { display:none; }
.compact-office-dashboard .panel-heading { padding:14px 18px; }
.compact-office-dashboard .panel-heading p { margin:4px 0 0; }
.compact-office-dashboard .simple-row { padding:12px 18px; }
.office-counts { margin-top:16px; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }
.compact-office-dashboard .record-table td { padding:12px 16px; }
body:has(.compact-office-dashboard) .page-heading { margin:14px 0; }
@media print { .dashboard-shortcuts { display:none; } }
.register-actions { display:flex; gap:10px; flex-wrap:wrap; padding:12px 22px; }
.register-pdf-hint { padding:0 22px; }
.filtered-register [hidden] { display:none!important; }
@media print {
 .register-page .window-counts,.register-page .report-links,.register-page .record-tabs,.register-page .visitor-filters,.register-page .register-actions,.register-page .register-pdf-hint { display:none!important; }
 .register-page .panel { break-inside:auto!important; }
 .register-page .panel-heading { padding:3mm 0; break-after:avoid; }
 .register-page .page-heading { margin:0 0 3mm; }
 .register-page .page-heading p { display:none; }
 .register-page .table-responsive { overflow:visible!important; }
 .register-page .record-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:10pt; }
 .register-page thead { display:table-header-group; }
 .register-page tr { break-inside:avoid; }
 .register-page .record-table th,.register-page .record-table td { background:white!important; color:black!important; border:1px solid #999!important; padding:2mm!important; overflow-wrap:anywhere; }
 .register-page small { font-size:9pt; color:#222!important; }
 .register-page .badge { color:black!important; background:none!important; }
 .register-page .filtered-register { margin:0; border:0; }
}
@media print {
 .register-actions,.register-pdf-hint { display:none!important; }
 .register-page main>section:not(.filtered-register) { display:none!important; }
 .register-page .record-table th:empty,.register-page .record-table td:has(>.row-arrow:only-child) { display:none!important; }
}
[data-login-fields][hidden],#posting-other[hidden] { display:none!important; }

/* Unified office directory */
.office-create > summary{padding:1rem 1.25rem;cursor:pointer;font-weight:600;}
.office-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;padding:1.25rem;align-items:end;}
.office-filters .field{margin:0;min-width:0;}
.office-filters .btn{min-height:48px;}
.office-directory-table{width:100%;}
.office-directory-table td{vertical-align:middle;overflow-wrap:anywhere;}
.office-directory-table td small{display:block;}
.office-directory-table [hidden]{display:none!important;}
.office-detail{padding:1rem;max-width:1100px;white-space:normal;}
.office-detail .form-grid{min-width:0;}
.office-detail-row td{white-space:normal;}
@media(max-width:600px){.office-filters{grid-template-columns:1fr;}.office-directory-table{min-width:850px;}}
