:root{--accent:#0666ed;--on-accent:#fff;--surface:#fff;--background:#f4f7fb;--text:#18283f;--muted:#56667d;--nav:#071f3b;--border:#dce4ef;--soft:#edf3fb;--danger:#b52b34;--success:#147044;--warning:#8a5700;--radius:9px;--font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--body-size:15px;--heading-size:27px;--heading-weight:720;--line-height:1.5;--image-radius:12px;--shadow:0 8px 32px #10223e10;color-scheme:light}
html[data-theme="dark"]{--accent:#72aaff;--on-accent:#092449;--surface:#152338;--background:#0c1625;--text:#edf3fb;--muted:#acbad0;--nav:#071321;--border:#34445b;--soft:#1b2c45;--danger:#ff9eaa;--success:#87dca9;--warning:#f3cd80;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;color:var(--text);background:var(--background);font:var(--body-size)/var(--line-height) var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:focus:not(:focus-visible){outline:none}svg.icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:-3px;fill:currentColor;pointer-events:none}.btn svg.icon{width:16px;height:16px}.skip{position:fixed;left:12px;top:-70px;background:var(--surface);padding:12px;z-index:200}.skip:focus{top:10px}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--heading-size);font-weight:var(--heading-weight);line-height:1.2;letter-spacing:-.6px}h2{font-size:18px;line-height:1.3;letter-spacing:-.2px}h3{font-size:15px;line-height:1.4}small,.small{font-size:12px}p+p{margin-top:10px}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.strong{font-weight:650}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.break{overflow-wrap:anywhere}.right{text-align:right}.stack{display:grid;gap:16px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.end{justify-content:flex-end}.grow{flex:1;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;min-height:42px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600;line-height:1.3;text-align:center;text-decoration:none;max-width:100%}.btn:hover{text-decoration:none;background:var(--soft)}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn.danger{color:var(--danger)}.btn.small{padding:7px 10px;min-height:36px;font-size:12px}.btn.icon-only{padding:10px;min-width:44px;min-height:44px}.btn.link{border-color:transparent;background:transparent;color:var(--accent)}.btn.full{width:100%}.btn.subtle{background:var(--soft);border-color:transparent}.btn.success{color:var(--success)}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.busy{pointer-events:none;opacity:.65}
.topbar{height:64px;background:var(--nav);color:#fff;display:flex;align-items:center;padding:0 28px;gap:22px;position:relative;z-index:30}.brand{display:flex;align-items:center;gap:9px;color:#fff;font-size:21px;font-weight:720;letter-spacing:-.5px;white-space:nowrap}.brand:hover{text-decoration:none}.brand img{width:32px;height:32px;border-radius:8px}.brand-mark{background:#1269ec;color:#fff;font-size:28px;font-weight:800;width:56px;height:56px;border-radius:14px;display:grid;place-items:center;line-height:1}.topbar .top-search{margin-left:auto;max-width:330px;flex:1;background:#ffffff0e;border:1px solid #ffffff20;color:#cbd8e9;display:flex;align-items:center;gap:10px;justify-content:flex-start;font-weight:400}.topbar .top-search kbd{margin-left:auto;font-size:11px;border:1px solid #ffffff30;border-radius:3px;padding:0 4px}.topbar .toolbar{display:flex;gap:6px;align-items:center}.topbar .toolbar button{background:transparent;color:#e8f0fc;border:0}.topbar .user-menu{font-size:12px;font-weight:500;display:flex;gap:8px;align-items:center}.topbar .role{color:#bac8db;font-size:11px}.desktop-nav{height:47px;background:var(--nav);border-top:1px solid #ffffff0d;color:#c9d5e7;display:flex;align-items:stretch;padding:0 28px;gap:3px;position:relative;z-index:20}.desktop-nav a{color:inherit;display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:550;padding:0 14px;border-radius:4px 4px 0 0;white-space:nowrap}.desktop-nav a:hover{text-decoration:none;background:#ffffff0b}.desktop-nav a.active{background:#0666ed;color:white}.desktop-nav .icon{width:15px;height:15px;flex-basis:15px}.mobile-nav{display:none}.mobile-only{display:none!important}.admin-tag{font-size:11px;letter-spacing:1.5px;font-weight:600;text-transform:uppercase;color:#aabed8;padding-left:18px;border-left:1px solid #ffffff30}.app-main{max-width:1600px;margin:0 auto;padding:26px 28px 38px;min-height:calc(100vh - 155px)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head p{color:var(--muted);font-size:13px;margin-top:6px}.page-head .actions{padding-top:1px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:8px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;overflow:clip}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.panel-head.no-line{border-bottom:0}.panel-body{padding:20px;min-width:0}.panel-footer{border-top:1px solid var(--border);padding:13px 20px}.panel-title{font-size:16px;font-weight:680}.grid{display:grid;gap:18px;min-width:0}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-top{grid-template-columns:minmax(0,1.6fr) minmax(330px,1fr)}.dashboard-bottom{grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) minmax(230px,.75fr);margin-top:18px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric{background:var(--soft);border-radius:6px;padding:14px 12px;min-width:0;position:relative}.metric .label{font-size:11px;color:var(--muted);line-height:1.4;display:block}.metric .value{font-size:23px;font-weight:750;line-height:1.25;margin-top:5px;letter-spacing:-.4px;overflow-wrap:anywhere}.metric .icon{float:right;color:var(--accent);width:17px;height:17px;margin-left:4px}.metric .foot{font-size:10px;color:var(--muted);margin-top:5px}.notice{border:1px solid var(--border);background:var(--soft);border-radius:7px;padding:12px 15px;display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.55}.notice.warning{border-color:color-mix(in srgb,var(--warning) 30%,var(--surface));background:color-mix(in srgb,var(--warning) 7%,var(--surface))}.notice.danger{border-color:color-mix(in srgb,var(--danger) 35%,var(--surface));color:var(--danger)}.notice .icon{margin-top:2px;color:var(--accent)}.notice.warning .icon{color:var(--warning)}.notice.danger .icon{color:var(--danger)}.setup-strip{padding:8px 28px;font-size:11px;display:flex;gap:8px;align-items:center;background:var(--soft);border-bottom:1px solid var(--border);color:var(--muted)}.setup-strip .icon{width:13px;height:13px;flex-basis:13px}.badge{font-size:10px;display:inline-flex;gap:5px;align-items:center;line-height:1.5;padding:3px 7px;border-radius:4px;background:var(--soft);color:var(--muted);font-weight:650;white-space:nowrap}.badge.good{background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success)}.badge.warn{background:color-mix(in srgb,var(--warning) 12%,var(--surface));color:var(--warning)}.badge.bad{background:color-mix(in srgb,var(--danger) 11%,var(--surface));color:var(--danger)}.badge.blue{background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent)}.empty{text-align:center;padding:36px 20px;display:grid;justify-items:center;gap:10px}.empty .icon{width:30px;height:30px;opacity:.4}.empty h3{font-size:15px}.empty p{font-size:12px;color:var(--muted);max-width:430px}.quick-actions{display:grid;gap:9px}.quick-actions .btn{justify-content:flex-start;width:100%}.appointment-mini{display:flex;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid var(--border)}.appointment-mini:last-child{border-bottom:0}.appointment-mini .time{color:var(--accent);font-size:11px;min-width:68px;font-weight:650}.appointment-mini .name{font-size:13px;font-weight:650}.appointment-mini .address{font-size:11px;color:var(--muted);margin-top:2px}.appointment-mini .btn{font-size:11px;padding:7px 10px;min-height:38px}.table-wrap{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:650;background:var(--soft);color:var(--muted);white-space:nowrap;padding:11px 14px}td{padding:13px 14px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb,var(--soft) 50%,var(--surface))}td .sub{display:block;font-size:11px;color:var(--muted);margin-top:2px}.table-compact td{padding:10px 14px}.table-link{font-weight:600;color:var(--text)}.table-link:hover{color:var(--accent)}.pager{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:14px 18px;font-size:12px;color:var(--muted)}.filterbar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px}.filterbar .field{margin:0;min-width:120px}.filterbar .search-field{flex:1;min-width:190px}.field{display:grid;gap:6px;min-width:0}.field>label,.field-label{font-size:12px;font-weight:650;display:block}.field input,.field select,.field textarea,.input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px;min-width:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field textarea{resize:vertical;min-height:100px;line-height:1.5}.field .help{font-size:11px;color:var(--muted);line-height:1.5}.field.wide{grid-column:1/-1}.check-field{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5}.check-field input{width:18px;height:18px;min-width:18px;margin:1px 0 0;accent-color:var(--accent)}.check-field label{font-weight:500;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.required{color:var(--danger);margin-left:3px}.form-actions{border-top:1px solid var(--border);padding-top:18px;margin-top:20px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.form-error{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--surface));border-radius:6px;padding:11px 13px;font-size:12px;margin:12px 0}.inline-status{font-size:11px;color:var(--muted);min-height:18px}.calendar-split{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.5fr);gap:18px}.appointment-card{width:100%;text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:6px;display:flex;gap:15px;padding:15px;align-items:center;margin-bottom:10px;color:var(--text)}.appointment-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.appointment-card .time{font-weight:650;font-size:12px;min-width:65px}.appointment-card .name{font-size:13px;font-weight:650}.details-grid{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px 12px;font-size:13px}.details-grid dt{color:var(--muted)}.details-grid dd{margin:0;overflow-wrap:anywhere}.separator{height:1px;background:var(--border);margin:20px 0}.chart{padding:0 6px}.chart svg{display:block;width:100%;height:220px;overflow:visible}.chart text{font-family:var(--font);fill:var(--muted);font-size:11px}.chart .grid-line{stroke:var(--border);stroke-width:1}.chart .bar{fill:var(--accent)}.chart .bar-future{fill:var(--border)}.chart-caption{font-size:10px;color:var(--muted);margin:6px 0}.segment{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.segment button{border:0;border-right:1px solid var(--border);background:var(--surface);padding:8px 12px;min-height:36px;font-size:11px;font-weight:600;color:var(--muted)}.segment button:last-child{border-right:0}.segment button.active{background:var(--soft);color:var(--accent)}.footer{font-size:10px;color:var(--muted);padding:16px 28px;display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--border)}.footer span{display:inline-flex;gap:5px;align-items:center}.footer .icon{width:11px;height:11px;flex-basis:11px}
/* Medical screening is never placed in ordinary draft storage. */
.screening-wrap{max-width:1080px;margin:0 auto}.steps{display:flex;align-items:center;justify-content:center;gap:0;padding:20px 16px 28px}.step{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap}.step b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--border);font-size:12px}.step.active{color:var(--accent);font-weight:650}.step.active b{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.step-line{height:1px;background:var(--border);width:80px;margin:0 18px}.screen-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.screen-expiry{font-size:11px;color:var(--warning);background:color-mix(in srgb,var(--warning) 8%,var(--surface));padding:5px 8px;border-radius:5px;font-variant-numeric:tabular-nums}.factor-search{position:relative}.factor-results{position:absolute;top:calc(100% + 5px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow);max-height:290px;overflow-y:auto;z-index:25}.factor-results button{display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;background:none;border:0;border-bottom:1px solid var(--border);padding:12px 15px;text-align:left;font-size:13px;min-height:48px}.factor-results button:hover{background:var(--soft)}.factor-list{display:grid;gap:9px;margin-top:16px}.factor-chip{border:1px solid var(--border);background:var(--soft);border-radius:6px;display:flex;align-items:center;gap:9px;padding:4px 6px 4px 13px;font-size:13px}.factor-chip .remove{margin-left:auto;color:var(--muted);min-height:36px;min-width:36px;padding:7px}.screen-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:22px;border-top:1px solid var(--border);padding-top:18px}.question-card{border:1px solid var(--border);padding:18px;border-radius:7px;margin-bottom:12px}.question-card h3{margin-bottom:12px}.answer-buttons{display:flex;gap:8px;flex-wrap:wrap}.answer-buttons button.selected{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.result-section{margin-top:22px}.result-section>h2{margin-bottom:12px;display:flex;gap:8px;align-items:center}.result-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:18px;margin-bottom:12px}.result-card .tier{background:var(--accent);color:var(--on-accent);font-size:23px;font-weight:800;width:48px;height:48px;display:grid;place-items:center;border-radius:7px;flex-shrink:0}.result-card ul{font-size:12px;margin:12px 0 0;padding-left:18px;color:var(--muted)}.result-card .source{border-top:1px solid var(--border);padding-top:10px;margin-top:12px;font-size:11px;display:flex;gap:12px;flex-wrap:wrap}.carrier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.carrier-card{padding:22px;display:flex;flex-direction:column;gap:14px}.carrier-icon{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:var(--soft);color:var(--accent)}.carrier-card h3{font-size:16px}.carrier-card p{font-size:12px;color:var(--muted)}.carrier-card .btn{margin-top:auto}.source-text{white-space:pre-wrap;font-size:12px;line-height:1.65;max-height:400px;overflow-y:auto;padding:16px;background:var(--soft);border-radius:6px;overflow-wrap:anywhere}.source-excerpt{border-left:3px solid var(--accent);padding:12px 15px;background:var(--soft);font-size:12px;line-height:1.65;margin:12px 0;white-space:pre-wrap}.rule-clause{display:grid;grid-template-columns:1.3fr .9fr 1fr auto;gap:8px;align-items:center;margin:8px 0}.rule-clause .input{font-size:12px}.rule-note{font-size:12px;padding:12px;border-radius:6px;background:var(--soft)}.history-entry{border-bottom:1px solid var(--border);padding:12px 0;font-size:12px}.history-entry:last-child{border:0}.history-diff{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.history-diff pre{margin:0;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);padding:10px;border-radius:6px}
/* Administration has its own navigation, not a copy of the sales tabs. */
.admin-shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:calc(100vh - 64px)}.admin-sidebar{padding:25px 16px;background:var(--surface);border-right:1px solid var(--border)}.admin-sidebar nav{display:grid;gap:4px}.admin-sidebar a{display:flex;align-items:center;gap:11px;padding:10px 12px;font-size:12px;color:var(--muted);border-radius:6px;min-height:40px}.admin-sidebar a:hover{text-decoration:none;background:var(--soft)}.admin-sidebar a.active{background:var(--soft);color:var(--accent);font-weight:650}.admin-sidebar .nav-section{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted);font-weight:700;margin:21px 12px 7px}.admin-sidebar .nav-sub{padding-left:22px}.admin-main{padding:26px 28px;min-width:0;max-width:1400px;width:100%}.admin-sidebar .icon{width:16px;height:16px;flex-basis:16px}.access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.access-grid label{display:flex;gap:8px;align-items:flex-start;font-size:11px;border:1px solid var(--border);padding:10px;border-radius:5px;overflow-wrap:anywhere}.access-grid input{margin-top:2px;accent-color:var(--accent)}.settings-nav{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.theme-swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.theme-swatches label{font-size:11px;display:grid;gap:7px}.theme-swatches input[type=color]{width:100%;height:46px;border:1px solid var(--border);border-radius:6px;padding:3px;background:var(--surface)}.menu-editor{list-style:none;margin:0;padding:0;display:grid;gap:7px}.menu-editor li{display:flex;gap:8px;align-items:center;padding:8px;background:var(--soft);border-radius:5px}.menu-editor input[type=text]{min-width:0;flex:1}.menu-editor .btn{min-height:34px;min-width:34px;padding:6px}.health-list{display:grid;gap:0}.health-item{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:12px;padding:12px 0;border-bottom:1px solid var(--border)}.health-item:last-child{border:0}.code-box{border:1px dashed var(--border);padding:14px;border-radius:6px;font:12px/1.65 ui-monospace,monospace;overflow-wrap:anywhere;background:var(--soft)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted);margin-right:5px}.status-dot.good{background:var(--success)}.stat-row{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border);padding:15px 0}.stat-row .number{font-size:26px;font-weight:750;color:var(--accent);min-width:45px}.stat-row:last-child{border:0}
/* Authentication and accessible dialogs */
.auth-page{min-height:100dvh;display:grid;grid-template-columns:1fr minmax(420px,1fr);background:var(--surface)}.auth-aside{background:#071f3b;color:#fff;display:flex;flex-direction:column;padding:clamp(30px,6vw,90px);justify-content:space-between;position:relative;overflow:hidden}.auth-aside .brand{font-size:25px}.auth-aside h1{font-size:clamp(34px,3.6vw,52px);font-weight:650;line-height:1.15;letter-spacing:-1.8px;max-width:440px}.auth-aside p{font-size:14px;line-height:1.7;color:#a5bddb;max-width:370px;margin-top:22px}.auth-aside .auth-foot{font-size:11px;letter-spacing:.5px;color:#8fa8c7}.auth-main{display:flex;align-items:center;justify-content:center;padding:44px 36px;min-width:0}.auth-card{width:100%;max-width:420px}.auth-card.wide{max-width:620px}.auth-card h1{font-size:27px;margin-bottom:9px}.auth-card>p{color:var(--muted);font-size:13px;margin-bottom:25px}.auth-card .field{margin-bottom:17px}.auth-card .btn.full{margin-top:10px}.auth-kicker{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px;margin-bottom:25px}.auth-links{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;margin-top:22px;font-size:12px}.auth-mobile-brand{display:none}.auth-error{margin:16px 0}.qr-wrap{background:#fff;padding:9px;border-radius:8px;border:1px solid var(--border);width:max-content;max-width:100%;margin:18px auto}.qr-wrap canvas{display:block;max-width:100%;height:auto}.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:15px;background:var(--soft);font:12px/1.6 ui-monospace,monospace;border:1px solid var(--border);border-radius:7px;margin-bottom:20px}.boot{min-height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px}.boot p{color:var(--muted);font-size:13px}dialog{border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);padding:0;box-shadow:0 24px 80px #0004;max-width:min(760px,calc(100vw - 32px));width:680px;max-height:calc(100dvh - 48px);margin:auto;overflow:hidden}dialog::backdrop{background:#07182e80;backdrop-filter:blur(2px)}.modal-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 50px);min-height:0}.modal-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:center;justify-content:space-between;flex-shrink:0}.modal-body{padding:22px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.modal-head h2{font-size:18px}.modal-head .btn{margin:-6px -8px -6px 0}.modal-footer{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-body .form-actions{margin-bottom:0}.drawer-dialog{width:340px;max-width:calc(100vw - 25px);max-height:100dvh;height:100dvh;margin:0 0 0 auto;border-radius:0}.drawer-dialog .modal-shell{height:100dvh;max-height:100dvh}.drawer-links{display:grid;gap:5px}.drawer-links a,.drawer-links button{padding:14px;border-radius:6px;display:flex;gap:12px;align-items:center;font-size:14px;color:var(--text);min-height:48px;background:transparent;border:0;text-align:left}.drawer-links a:hover,.drawer-links button:hover{background:var(--soft);text-decoration:none}.drawer-links a.active{color:var(--accent);background:var(--soft)}#toast-host{position:fixed;right:24px;bottom:24px;z-index:150;display:grid;gap:8px;max-width:min(420px,calc(100vw - 32px));pointer-events:none}.toast{background:var(--nav);color:#fff;padding:13px 18px;border-radius:8px;font-size:12px;box-shadow:var(--shadow);display:flex;gap:10px;align-items:center;pointer-events:auto}.toast.error{background:#7d1f2a}.toast .icon{color:#9fc5ff}.search-results{display:grid;gap:2px;max-height:380px;overflow:auto;margin-top:12px}.search-results a{display:block;padding:12px;border-bottom:1px solid var(--border);color:var(--text);font-size:13px}.search-results a .sub{display:block;color:var(--muted);font-size:11px;margin-top:3px}.preflight{margin-top:15px}.preflight li{font-size:12px;display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.preflight ul{padding:0;margin:0;list-style:none}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.loading{display:flex;align-items:center;justify-content:center;min-height:160px;gap:10px;font-size:13px;color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1450px){.topbar,.desktop-nav{padding-left:max(28px,calc((100vw - 1544px)/2));padding-right:max(28px,calc((100vw - 1544px)/2))}}
@media(max-width:1190px){.desktop-nav{padding:0 15px;gap:0}.desktop-nav a{font-size:11px;padding:0 10px;gap:6px}.topbar{padding:0 20px}.app-main{padding:22px 20px}.dashboard-top{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}.dashboard-bottom{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.dashboard-bottom>.quick-panel{grid-column:1/-1}.quick-panel .quick-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric .value{font-size:24px}.admin-shell{grid-template-columns:210px minmax(0,1fr)}.admin-main{padding:22px}.admin-sidebar{padding:22px 12px}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.desktop-nav{overflow-x:auto;scrollbar-width:thin}.desktop-nav a{padding:0 11px}.dashboard-top{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-split{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}.carrier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.details-grid{grid-template-columns:105px minmax(0,1fr)}.topbar .top-search{max-width:260px}.admin-main .grid.two{grid-template-columns:1fr}.auth-page{grid-template-columns:.8fr 1fr}.auth-aside{padding:35px}.auth-aside h1{font-size:34px}}
@media(max-width:700px){:root{--body-size:14px;--heading-size:25px}.desktop-only{display:none!important}.mobile-only{display:inline-flex!important}.topbar{height:59px;padding:0 15px;gap:10px;padding-top:env(safe-area-inset-top)}.brand{font-size:20px;gap:7px}.brand img{width:29px;height:29px}.topbar .toolbar{margin-left:auto;gap:2px}.topbar .top-search{display:none}.topbar .user-menu .user-details{display:none}.topbar .toolbar .btn{padding:8px;min-width:38px}.desktop-nav{display:none}.app-main{padding:20px 15px calc(30px + 68px + env(safe-area-inset-bottom));min-height:calc(100dvh - 59px)}.page-head{margin-bottom:18px;gap:12px}.page-head p{font-size:12px;max-width:100%}.page-head .actions{width:100%}.page-head .actions .btn.primary{margin-left:auto}.panel-head,.panel-body{padding:16px}.panel-footer{padding:12px 16px}.grid.two,.grid.three,.dashboard-top,.dashboard-bottom{grid-template-columns:1fr}.dashboard-bottom{margin-top:15px}.grid{gap:15px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric{padding:13px}.metric .label{font-size:10px}.metric .value{font-size:24px}.metric .foot{font-size:10px}.chart svg{height:195px}.appointment-mini{padding:14px 15px;gap:10px}.appointment-mini .time{min-width:59px;font-size:10px}.appointment-mini .name{font-size:12px}.appointment-mini .address{font-size:10px}.appointment-mini .btn{font-size:10px;min-height:42px;padding:8px}.quick-panel .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions .btn{font-size:11px}.setup-strip{padding:7px 15px;font-size:10px}.footer{padding:15px;display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:stretch;padding:6px 8px calc(5px + env(safe-area-inset-bottom));z-index:40;min-height:64px;box-shadow:0 -2px 20px #10223e05}.mobile-nav a,.mobile-nav button{flex:1;min-width:0;padding:5px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--muted);font-size:9px;font-weight:550;border:0;background:transparent;text-decoration:none;min-height:48px;line-height:1.1}.mobile-nav .icon{width:19px;height:19px;flex-basis:19px}.mobile-nav a.active{color:var(--accent);background:var(--soft);border-radius:6px}.mobile-nav .nav-label{max-width:100%;text-align:center;overflow-wrap:anywhere}.calendar-split{grid-template-columns:1fr}.details-grid{grid-template-columns:95px minmax(0,1fr);font-size:12px;gap:15px}.calendar-split .appointment-list{display:grid;grid-template-columns:1fr;max-height:none}.appointment-card{margin:0 0 8px;min-height:70px}.form-grid{grid-template-columns:1fr}.field input,.field select,.field textarea,.input{font-size:16px;min-height:44px}.field .help{font-size:11px}.form-actions{gap:7px}.form-actions .btn{flex:1;font-size:12px;min-width:90px}.filterbar{gap:9px}.filterbar .field{min-width:110px;flex:1}.filterbar .search-field{min-width:100%}.filterbar .field label{font-size:10px}.table-wrap{overflow:auto}td{padding:13px 11px}th{padding:10px 11px}.carrier-grid{grid-template-columns:1fr}.carrier-card{padding:18px}.screening-wrap{margin:0}.steps{padding:8px 0 24px}.step{flex-direction:column;gap:5px;font-size:10px;min-width:65px}.step-line{width:48px;margin:0 4px;align-self:flex-start;margin-top:13px}.screen-topline .btn{font-size:11px}.screen-topline{gap:7px}.screen-expiry{font-size:10px}.question-card{padding:15px}.question-card h3{font-size:13px}.question-card .btn{min-height:44px;flex:1}.factor-chip{font-size:12px}.factor-chip .remove{min-height:40px;min-width:40px}.screen-controls .btn{min-height:46px;flex:1}.result-card{padding:15px}.result-card h3{font-size:14px}.admin-shell{display:block}.admin-sidebar{display:none}.admin-main{padding:20px 15px}.admin-tag{padding-left:9px;letter-spacing:.6px;font-size:9px}.admin-main h1{font-size:24px}.admin-main .page-head .actions{width:auto}.access-grid{grid-template-columns:1fr}.theme-swatches{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-swatches label{font-size:10px}.theme-swatches input{height:44px}.rule-clause{grid-template-columns:1fr 1fr}.rule-clause .clause-key{grid-column:1/-1}.rule-clause .btn{justify-self:end}.history-diff{grid-template-columns:1fr}.auth-page{display:block;min-height:100dvh;background:var(--background)}.auth-aside{display:none}.auth-main{padding:32px 24px 45px;min-height:100dvh;align-items:flex-start}.auth-card{padding-top:14px}.auth-mobile-brand{display:flex;justify-content:center;margin-bottom:35px}.auth-mobile-brand .brand{color:var(--text);font-size:25px}.auth-card h1{font-size:25px}.auth-card .field{margin-bottom:18px}.auth-card>p{font-size:13px;margin-bottom:25px}.auth-kicker{margin-bottom:16px}.recovery-grid{font-size:11px;gap:7px;padding:11px}dialog{max-width:calc(100vw - 20px);width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:9px}.modal-shell{max-height:calc(100dvh - 26px)}.modal-head{padding:15px 17px}.modal-head h2{font-size:17px}.modal-body{padding:17px}.modal-footer{padding:13px 17px}.modal-footer .btn{flex:1}.drawer-dialog{width:330px;max-width:calc(100vw - 24px);max-height:100dvh;border-radius:0}.drawer-dialog .modal-body{padding:12px}.drawer-dialog .modal-shell{max-height:100dvh}#toast-host{left:15px;right:15px;bottom:calc(82px + env(safe-area-inset-bottom));max-width:none}.toast{font-size:12px}.menu-editor .input{font-size:13px}.menu-editor li{gap:5px}.health-item{gap:12px;align-items:flex-start}.health-item .badge{white-space:normal;flex-shrink:0}.page-head h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body[data-mode="app"],body[data-mode="admin"]{display:none!important}}
/* Editable reference forms and bounded long content. */
fieldset{min-width:0;border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:0 0 16px}legend{font-weight:650;padding:0 6px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-grid label{display:flex;align-items:flex-start;gap:9px;line-height:1.45}.check-grid input{width:18px;min-width:18px;height:18px;min-height:18px}.preserve-lines{white-space:pre-wrap}.menu-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.menu-row label{display:flex;align-items:center;gap:10px}.menu-row input{width:18px;min-height:18px}.menu-row>div{display:flex;gap:4px}.menu-row .btn{font-size:11px;min-width:40px;padding:5px}.result-head{display:flex;align-items:center;gap:15px}.factor-result{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-bottom:1px solid var(--border);padding:14px;background:var(--surface);color:var(--text);text-align:left;min-height:48px}.factor-result:hover{background:var(--background)}.factor-results:empty{display:none}.factor-results{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.steps .step{border:0;background:transparent;cursor:pointer;color:var(--muted);min-height:55px}.steps .step-active{color:var(--accent);font-weight:700}.theme-swatches input[type=color]{height:44px;padding:4px;min-width:65px}.source-text{overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px}.details-grid dd,.code-box{overflow-wrap:anywhere}.admin-menu-toggle{display:none}.auth-mobile-brand{display:none}.icon{flex-shrink:0}.btn.selected{background:var(--accent);color:white}.form-grid>.field.wide,.form-grid>fieldset.wide{grid-column:1/-1}.field input[type=checkbox]{width:18px;min-height:18px}.modal-shell.wide{width:min(920px,calc(100vw - 32px))}dialog .form-actions{flex-wrap:wrap}.metric-value{overflow-wrap:anywhere}button[disabled]{opacity:.55;cursor:not-allowed}.search-results p{padding:14px}a{overflow-wrap:anywhere}details.user-menu summary{cursor:pointer}.auth-card details{margin:16px 0}details>summary{min-height:38px;cursor:pointer;padding:8px 0}.auth-page .code-box{color:var(--text);background:var(--background)}
@media(max-width:950px){.admin-menu-toggle{display:inline-flex}.top-search{max-width:340px}.admin-sidebar{display:none}.admin-shell{display:block}}
@media(max-width:700px){.check-grid{grid-template-columns:1fr}.auth-mobile-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.theme-swatches{grid-template-columns:repeat(3,minmax(0,1fr))}.top-search{display:none}.form-actions .btn{flex:1 1 auto}.steps{gap:5px}.steps .step{font-size:12px}.result-head{align-items:flex-start}.menu-row .btn{min-height:44px}.modal-shell.wide{width:calc(100vw - 20px)}}

/* Component alignment verified against the implemented workspace markup. */
.dashboard-top,.dashboard-bottom{display:grid;gap:18px;min-width:0}.dashboard-bottom>section:last-child{min-width:0}.metric-label{font-size:11px;color:var(--muted);line-height:1.4}.metric-value{font-size:25px;font-weight:750;line-height:1.25;margin:6px 0;letter-spacing:-.4px}.metric-foot{font-size:10px;color:var(--muted);line-height:1.4}.help{font-size:12px;color:var(--muted);line-height:1.5;margin:9px 0}.chart{display:block;width:100%;height:220px;max-width:100%;padding:0}.panel-body>.panel-head{padding:20px 0 12px;margin-top:8px}.appointment-mini{padding-left:0;padding-right:0}.appointment-mini>div:nth-child(2){flex:1;min-width:0}.appointment-mini .btn{flex-shrink:0}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-head>.toolbar{align-items:flex-end}.setup-strip{margin-bottom:20px;border-radius:5px}.topbar>.toolbar{margin-left:auto;flex-wrap:nowrap}.topbar .top-search{position:relative;border-radius:6px;min-height:38px;max-width:330px}.top-search>label{display:flex;align-items:center;gap:9px;padding:6px 10px;width:100%}.top-search input{border:0;background:transparent;color:white;outline:0;min-width:0;width:100%;font-size:12px}.top-search input::placeholder{color:#c3d1e4}.user-menu{position:relative}.user-menu>summary{display:flex;align-items:center;gap:9px;list-style:none;min-height:44px;padding:0 4px}.user-menu>summary::-webkit-details-marker{display:none}.user-details{display:flex;flex-direction:column;gap:1px}.user-details small{font-size:10px;color:#c3d1e4}.user-menu>div{position:absolute;right:0;top:52px;min-width:220px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:8px;padding:7px;z-index:100}.topbar .toolbar .user-menu>div button,.user-menu>div a{display:block;text-align:left;color:var(--text);min-height:44px;padding:12px;font-size:13px;width:100%;border-radius:5px}.user-menu>div button:hover,.user-menu>div a:hover{background:var(--soft);text-decoration:none}.filterbar{padding:16px;margin:0}.filterbar>.search-field{display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:6px;background:var(--surface);padding:0 12px;min-height:44px}.search-field input{border:0;background:transparent;color:var(--text);outline:0;min-width:0;flex:1;width:100%;min-height:42px}.result-tier{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:8px;background:var(--soft);color:var(--accent);font-weight:750;font-size:20px}.result-sources{font-size:12px;margin-top:12px}.screening-wrap .screen-topline{padding:16px;display:flex;justify-content:space-between;align-items:center}.screen-topline>div:first-child{display:grid;gap:5px}.screen-topline small{font-size:11px;color:var(--muted)}.screening-wrap>.panel>.row{padding:16px}.factor-search{margin-top:18px}.steps .step span{display:grid;place-items:center;min-width:28px;min-height:28px;border:1px solid var(--border);border-radius:50%}.steps .step.step-active span{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.steps .step{display:flex;flex-direction:column;gap:7px}.footer{margin-top:28px}.btn.selected{color:var(--on-accent)}.admin-sidebar .nav-section p{margin:15px 10px 8px}.admin-sidebar .nav-section a{text-transform:none;letter-spacing:0}.drawer-links a{text-transform:none}.notice{display:block}.notice .btn{margin-top:8px}
@media(max-width:1190px){.dashboard-bottom>section:last-child{grid-column:1/-1}.dashboard-bottom>section:last-child .quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.dashboard-top,.dashboard-bottom{gap:15px}.dashboard-bottom>section:last-child .quick-actions{grid-template-columns:1fr 1fr}.metric-value{font-size:23px}.chart{height:190px}.topbar .top-search{display:none}.topbar .user-details{display:none}.filterbar{padding:14px}.filterbar>.search-field{flex-basis:100%}.topbar .toolbar .btn{min-width:44px;min-height:44px}.setup-strip{margin-bottom:18px}.screening-wrap .screen-topline{align-items:flex-start;gap:10px}.screen-topline>div:first-child{max-width:230px}.page-head>.toolbar{width:100%}.page-head>.toolbar .btn.primary{margin-left:auto}.appointment-mini{flex-wrap:wrap}.appointment-mini .btn{margin-left:auto}.chart text{font-size:11px}}

.brand img{border-radius:var(--image-radius)}

/* Preserve readable accent actions and practical touch targets. */
.btn.selected{color:var(--on-accent)}.desktop-nav a.active{background:var(--accent);color:var(--on-accent)}
@media(max-width:700px),(pointer:coarse){.btn,.btn.small,.appointment-mini .btn{min-height:44px}.topbar .toolbar .btn,.factor-chip .remove{min-height:44px;min-width:44px}.field.check-field label{min-height:44px;align-items:center}}
