.platform-shell .sidebar{overflow-y:auto;overscroll-behavior:contain}
.platform-shell .sidebar>.brand,.platform-shell .sidebar>.workspace{flex-shrink:0}
.platform-nav-divider{height:1px;background:rgba(216,231,241,.18);margin:12px}
.platform-shell .nav a:focus-visible{outline:2px solid #6be0d0;outline-offset:-2px}
.platform-skip{position:fixed;left:16px;top:-80px;background:var(--navy-900);color:#fff;padding:12px 18px;border-radius:8px;z-index:50}
.platform-skip:focus{top:12px}
.platform-sidebar-backdrop{position:fixed;inset:0;border:0;background:rgba(11,37,64,.4);z-index:15;cursor:pointer}
.platform-sidebar-backdrop[hidden]{display:none}
.platform-shell .sidebar.open{box-shadow:none}
.platform-dashboard{display:grid;gap:22px;min-width:0}
.platform-dashboard>*{min-width:0}
.platform-dashboard-hero{margin:0;padding:24px;border:1px solid #d6e8ed;border-radius:14px;background:linear-gradient(115deg,#edf9f7,#f2f6fd 65%,#fff8e9)}
.platform-dashboard h2{font-size:17px;margin:0}
.platform-dashboard-panel{display:grid;gap:16px;min-width:0}
.platform-dashboard-panel p{margin:6px 0 0}
.platform-dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.platform-metric{display:grid;gap:12px;border:1px solid var(--metric-border);border-top:3px solid var(--metric-accent);background:var(--metric-bg);padding:20px;border-radius:12px;min-width:0}
.platform-metric-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:700;color:var(--metric-accent)}
.platform-metric-label svg{width:20px;height:20px;flex-shrink:0}
.platform-metric>strong{font-size:30px;line-height:1.2;color:var(--navy-900);overflow-wrap:anywhere}
.platform-metric>small{font-size:11px;color:var(--muted)}
.platform-tone-blue{--metric-accent:#2d67a6;--metric-bg:#f0f5ff;--metric-border:#d8e4f6}
.platform-tone-teal{--metric-accent:#087f75;--metric-bg:#effaf7;--metric-border:#cce9df}
.platform-tone-gold{--metric-accent:#986414;--metric-bg:#fff9ed;--metric-border:#f0e2bf}
.platform-tone-red{--metric-accent:#b33440;--metric-bg:#fff2f3;--metric-border:#f4d5d9}
.platform-tone-slate{--metric-accent:#526d83;--metric-bg:#f4f7fa;--metric-border:#dce5ed}
.platform-work-queue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.platform-queue-item{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:10px;padding:16px;color:var(--text);min-width:0;transition:border-color .15s,background .15s}
.platform-queue-item:hover{background:#f3faf9;border-color:var(--teal-500)}
.platform-queue-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:9px;color:var(--teal-700);background:var(--teal-100)}
.platform-queue-copy{display:grid;gap:5px;flex:1;min-width:0;overflow-wrap:anywhere}
.platform-queue-copy strong{font-size:12px}
.platform-queue-copy small{font-size:11px;color:var(--muted)}
.platform-queue-item>b{font-size:22px;color:var(--navy-900)}
.platform-dashboard-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:start}
.platform-dashboard-columns>*{min-width:0}
.platform-dashboard .activity-item>div{min-width:0;overflow-wrap:anywhere}
.platform-dashboard .activity-item strong{font-size:12px}
.platform-dashboard .table td{overflow-wrap:anywhere}
.platform-workflow{display:grid;gap:18px;margin:0;padding-left:22px}
.platform-workflow li{padding-left:6px}
.platform-workflow strong{display:block;font-size:13px}
.platform-workflow span{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.platform-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-dashboard-columns{grid-template-columns:1fr}.platform-work-queue{grid-template-columns:1fr}}
@media(max-width:600px){.platform-dashboard-hero{padding:18px}.platform-dashboard-metrics{gap:10px}.platform-metric{padding:14px}.platform-metric-label{font-size:12px}.platform-metric>strong{font-size:26px}.platform-dashboard .card-head{gap:12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.platform-shell .sidebar,.platform-queue-item{transition:none}}
.tenant-workspace{display:grid;gap:20px;min-width:0}
.tenant-workspace>*,.tenant-workspace .grid>*{min-width:0}
.tenant-hero{padding:24px;border:1px solid #d6e8ed;border-radius:16px;background:linear-gradient(115deg,#edf9f7 0%,#f2f6fd 65%,#fff8e9 100%);margin-bottom:0}
.tenant-hero h1{overflow-wrap:anywhere}
.tenant-workspace .mt{margin-top:0}
.tenant-workspace h2{font-size:18px;margin:0}
.tenant-workspace .sub{overflow-wrap:anywhere}
.tenant-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tenant-summary{display:grid;gap:10px;padding:22px;border:1px solid var(--tenant-line);border-top:3px solid var(--tenant-accent);background:var(--tenant-bg);border-radius:13px;min-width:0}
.tenant-summary>span{font-size:12px;font-weight:700;color:var(--tenant-accent)}
.tenant-summary>strong{font-size:20px;line-height:1.4;color:var(--navy-900);overflow-wrap:anywhere}
.tenant-summary>small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.tenant-tone-teal{--tenant-accent:#087f75;--tenant-bg:#effaf7;--tenant-line:#cce9df}
.tenant-tone-blue{--tenant-accent:#2d67a6;--tenant-bg:#f0f5ff;--tenant-line:#d8e4f6}
.tenant-tone-gold{--tenant-accent:#986414;--tenant-bg:#fff9ed;--tenant-line:#f0e2bf}
.tenant-section{display:grid;gap:18px;min-width:0}
.tenant-next{display:flex;justify-content:space-between;align-items:center;gap:18px;border-left:4px solid var(--teal-500)}
.tenant-next p{margin:8px 0 0}
.tenant-count{font-size:12px;color:var(--muted);padding:6px 10px;background:var(--bg);border-radius:20px}
.tenant-service-list{display:grid;gap:16px}
.tenant-service-card{border:1px solid var(--border);border-left:4px solid var(--teal-500);border-radius:12px;padding:20px;display:grid;gap:14px;min-width:0}
.tenant-service-card:nth-child(3n+2){border-left-color:#3478b8}
.tenant-service-card:nth-child(3n+3){border-left-color:#b88121}
.tenant-service-card p{margin:0}
.tenant-capacities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tenant-capacities>div{display:grid;gap:6px;border-left:3px solid var(--teal-100);padding:4px 14px}
.tenant-capacities strong{font-size:22px;color:var(--navy-900)}
.tenant-capacities span{font-size:12px;color:var(--muted)}
@media(max-width:600px){.tenant-capacities{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tenant-process-strip{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:12px;color:var(--muted);padding:0 4px}
.tenant-workspace .dl dd{overflow-wrap:anywhere;min-width:0}
@media(max-width:900px){.tenant-summary-grid{grid-template-columns:1fr}.tenant-next{align-items:start;flex-direction:column}}
@media(max-width:600px){.tenant-hero{padding:18px}.tenant-workspace .dl{grid-template-columns:1fr;gap:6px}.tenant-workspace .dl dd{margin-bottom:12px}.tenant-service-card{padding:16px}}
.order-workspace{display:grid;gap:18px;min-width:0}
.order-workspace .page-head{margin-bottom:0}
.order-id{overflow-wrap:anywhere;font-size:12px}
.order-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.order-banner>.muted{overflow-wrap:anywhere}
.order-plan{display:inline-block;padding:6px 10px;border-radius:7px;background:var(--navy-800);color:#fff;font-size:12px;font-weight:800;letter-spacing:.6px}
.order-status,.order-tag{display:inline-block;padding:5px 9px;border-radius:7px;font-size:12px;font-weight:700;background:var(--blue-bg);color:var(--blue);white-space:nowrap}
.order-status-completed{background:var(--success-bg);color:var(--success)}
.order-status-cancelled{background:var(--danger-bg);color:var(--danger)}
.order-status-review,.order-status-correction,.order-tag{background:var(--warning-bg);color:var(--warning)}
.order-tabs{display:flex;gap:6px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow-x:auto}
.order-tabs a{padding:10px 14px;border-radius:7px;color:var(--muted);font-weight:700;white-space:nowrap;font-size:13px}
.order-tabs a.active{background:var(--teal-100);color:var(--teal-700)}
.order-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.order-metric{padding:18px 20px;display:grid;align-content:start;gap:8px;min-width:0}
.order-metric>span,.order-metric>small{color:var(--muted);font-size:12px}
.order-metric>strong{font-size:24px;line-height:1.3;overflow-wrap:anywhere;color:var(--navy-900)}
.order-metric>strong.order-period{font-size:15px}
.order-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.order-panel{display:grid;gap:16px;min-width:0}
.order-panel h2,.order-panel p{margin:0}
.order-panel h2,.order-workspace h2{font-size:18px}
.order-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:start;flex-wrap:wrap}
.order-facts{margin:0;display:grid;gap:0}
.order-facts>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,1.3fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--border)}
.order-facts>div:last-child{border-bottom:0}
.order-facts dt{color:var(--muted);font-size:12px}
.order-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.order-context{padding:12px 14px;border-left:3px solid var(--teal-500);border-radius:6px;background:var(--bg);font-size:12px;color:var(--muted)}
.order-disclosure{border:1px solid var(--border);border-radius:9px;padding:12px 16px;min-width:0}
.order-disclosure>summary{cursor:pointer;font-weight:600}
.order-disclosure[open]>summary{margin-bottom:14px}
.order-document-view{white-space:pre-wrap;overflow-wrap:anywhere;max-height:48vh;overflow:auto;line-height:1.8;font:inherit;font-size:13px;padding:18px;background:var(--bg);border:1px solid var(--border);border-radius:8px;margin:0}
.order-document-view:focus-visible{outline:3px solid var(--teal-500)}
.order-danger{border-left:3px solid var(--danger)}
.order-workspace form:not(.order-filter){display:grid;gap:12px}
.order-workspace form>label{display:grid;gap:6px}
.order-workspace form>label:has(input[type=checkbox]){display:block}
.order-workspace form>label .input{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 12px}
.order-workspace form>label textarea{min-height:96px;resize:vertical}
.order-workspace form>.btn{justify-self:start}
.order-filter{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.order-filter .order-search{flex:1;min-width:220px}
.order-table .meta{overflow-wrap:anywhere}
.order-empty{text-align:center;padding:32px;color:var(--muted)}
.order-timeline{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.order-timeline>li{border-left:2px solid var(--teal-100);padding-left:16px;display:grid;gap:8px}
.order-timeline>li>div{display:grid;gap:4px}
@media(max-width:900px){
 .order-metrics{grid-template-columns:1fr}
 .order-overview-grid{grid-template-columns:1fr}
 .order-metric>strong{font-size:20px}
}
@media(max-width:600px){
 .order-tabs a{padding:9px 10px}
 .order-facts>div{grid-template-columns:1fr;gap:4px}
 .order-panel.card-body{padding:16px}
 .order-filter .field{width:100%}
 .order-document-view{padding:12px}
}
.contract-workspace{display:grid;gap:16px;min-width:0}
.contract-workspace .page-head{margin-bottom:0}
.contract-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:13px}
.contract-title{color:var(--muted);overflow-wrap:anywhere}
.contract-tabs{display:flex;gap:6px;overflow-x:auto;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.contract-tabs a{padding:10px 14px;border-radius:7px;white-space:nowrap;font-weight:600;color:var(--muted)}
.contract-tabs a.active{color:var(--teal-700);background:var(--teal-100)}
.contract-panel{display:grid;gap:16px;min-width:0}
.contract-panel h2,.contract-panel h3,.contract-panel p{margin:0}
.contract-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.contract-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.contract-filter .field{width:240px;max-width:100%}
.contract-status{display:inline-block;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap}
.contract-status-active{background:var(--success-bg);color:var(--success)}
.contract-status-draft{background:var(--warning-bg);color:var(--warning)}
.contract-status-archived{background:var(--bg);color:var(--muted)}
.contract-workspace .field textarea.contract-editor{height:clamp(240px,42vh,460px);min-height:240px;max-height:60vh;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.6}
.contract-document{margin:12px 0 0;padding:20px;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;max-height:48vh;min-height:180px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font:inherit;line-height:1.8}
.contract-document:focus-visible{outline:3px solid var(--teal-500);outline-offset:2px}
.contract-preview-box,.contract-publish-box{padding:16px;border:1px solid var(--border);border-radius:10px;display:grid;gap:12px;background:var(--bg);min-width:0}
.contract-publish-box{border-left:4px solid var(--teal-500)}
.contract-disclosure{border:1px solid var(--border);border-radius:8px;padding:12px 16px;min-width:0}
.contract-disclosure>summary{cursor:pointer;font-weight:600}
.contract-disclosure[open]>summary{margin-bottom:12px}
.contract-scroll{max-height:300px}
.contract-actionbar{padding-top:12px;border-top:1px solid var(--border)}
.contract-hash{overflow-wrap:anywhere}
.contract-workspace button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:600px){
 .contract-tabs a{padding:9px 10px;font-size:13px}
 .contract-panel.card-body{padding:16px}
 .contract-document{padding:12px}
 .contract-actionbar .btn{width:100%}
}
:root{
 --navy-950:#0B2540;--navy-900:#102D4B;--navy-800:#12365A;--navy-700:#1B4B73;
 --teal-700:#087F75;--teal-600:#0D9B8D;--teal-500:#19B6A4;--teal-100:#DDF7F2;
 --gold-600:#9A681A;--gold-500:#F2BC54;--gold-100:#FFF5DD;
 --bg:#F4F7FA;--surface:#FFFFFF;--border:#E3EAF0;--text:#172B3A;--muted:#647789;
 --success:#16845B;--success-bg:#E8F6EF;--warning:#A66A12;--warning-bg:#FFF5DD;
 --danger:#C83F49;--danger-bg:#FCEBED;--blue:#3478B8;--blue-bg:#EAF2FA;
 --sidebar:252px;--topbar:68px;--r:12px;--shadow:0 8px 28px rgba(20,45,70,.06)
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.i{width:18px;height:18px;flex:none}
code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.small{font-size:12px}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.strong{font-weight:700}
.wrap{word-break:break-all;white-space:normal}.mt{margin-top:16px}

/* Shell */
.app{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--navy-800);color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:20;transition:transform .2s}
.brand{display:block;padding:2px 10px 22px}.brand img{display:block;height:auto}
.workspace{margin:0 4px 22px;padding:11px 12px;border:1px solid rgba(255,255,255,.17);border-radius:10px;background:rgba(255,255,255,.07)}
.workspace small{display:block;color:#BBD0E0;font-size:11px;margin-bottom:3px}.workspace strong{font-size:14px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#9DB6C9;padding:0 12px 9px;margin-top:8px}
.nav{display:grid;gap:4px}
.nav a{color:#D8E7F1;padding:11px 12px;border-radius:9px;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500}
.nav a:hover{background:rgba(255,255,255,.08)}
.nav a.active{background:rgba(25,182,164,.16);color:#fff;box-shadow:inset 3px 0 var(--teal-500)}
.nav-group>summary.nav-group-toggle{list-style:none;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:9px;color:#D8E7F1;font-size:14px;font-weight:500;cursor:pointer}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary.nav-group-toggle:hover,.nav-group>summary.nav-group-toggle.active{background:rgba(255,255,255,.08);color:#fff}
.nav-group>summary.nav-group-toggle:focus-visible{outline:3px solid var(--teal-500);outline-offset:2px}
.nav-group-chevron{width:7px;height:7px;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.nav-group[open] .nav-group-chevron{transform:rotate(225deg)}
.nav-submenu{display:grid;gap:4px;margin:4px 0 0 20px;padding-left:9px;border-left:1px solid rgba(216,231,241,.25)}
.nav .nav-submenu a{padding:9px 12px;font-size:13px;min-height:40px}
.sidebar-version{margin-top:auto;padding:16px 12px 2px;color:#9DB6C9;font-size:11px}
.main{margin-left:var(--sidebar);min-height:100vh}
.topbar{height:var(--topbar);background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;position:sticky;top:0;z-index:10}
.crumb{font-size:13px;color:var(--muted);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumb b{color:var(--text);font-weight:600}
.top-actions{display:flex;align-items:center;gap:16px}
.icon-btn{border:0;background:transparent;color:#506579;padding:6px;border-radius:8px}
.menu-toggle{display:none}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--teal-100);color:var(--teal-700);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.profile{display:flex;align-items:center;gap:10px}.profile strong{font-size:13px;display:block}.profile small{font-size:12px;color:var(--muted)}
.content{max-width:1440px;margin:auto;padding:30px 32px 48px}

/* Typography & page */
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.eyebrow{font-size:12px;color:var(--teal-700);font-weight:700;text-transform:uppercase;letter-spacing:1.1px;margin-bottom:6px}
h1{font-size:26px;letter-spacing:-.5px;margin:0 0 6px;font-weight:800;line-height:1.25}
h3{font-size:16px;margin:0}
.sub{color:var(--muted);font-size:14px;margin:0;line-height:1.6}
.link{color:var(--teal-700);font-weight:600;font-size:13px}.link:hover{text-decoration:underline}

/* Buttons */
.btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:8px;padding:10px 16px;font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.2}
.btn:hover{filter:brightness(.97)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(25,182,164,.45);outline-offset:2px}
.btn-primary{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.btn-teal{background:var(--teal-500);border-color:var(--teal-500);color:#073D39}
.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}
.btn-sm{padding:7px 11px;font-size:13px}
.btn-block{width:100%}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.actions form{margin:0}

/* Cards, grids */
.grid{display:grid;gap:16px}
.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.two-col{grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr)}
.two-col>.stack{min-width:0}
.two-col>.stack>.card{min-width:0}
.enumerator-stats{margin-bottom:18px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow)}
.card-head{padding:18px 20px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}
.card-body{padding:18px 20px}
.kpi{padding:18px 20px}
.kpi-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px}
.kpi-icon{width:34px;height:34px;border-radius:9px;background:var(--teal-100);color:var(--teal-700);display:grid;place-items:center}
.kpi-danger{background:var(--danger-bg);color:var(--danger)}
.kpi-value{font-size:28px;font-weight:800;letter-spacing:-1px;margin:10px 0 2px}
.kpi-text{font-size:18px;letter-spacing:0}
.tenant-statistics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:12px}
.tenant-stat-card{padding:18px 20px;min-width:0;background:var(--stat-bg);border-color:var(--stat-border);border-top:3px solid var(--stat-accent)}
.tenant-stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:var(--stat-text);font-size:13px;font-weight:700}
.tenant-stat-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:9px;color:var(--stat-accent);background:var(--stat-icon-bg)}
.tenant-stat-value{margin-top:12px;color:var(--navy-950);font-size:28px;font-weight:800;letter-spacing:-1px;line-height:1.2}
.tenant-stat-active{--stat-bg:#F1FAF6;--stat-border:#C8E7D8;--stat-accent:#16845B;--stat-icon-bg:#DCEFE5;--stat-text:#185D45}
.tenant-stat-inactive{--stat-bg:#F4F7FA;--stat-border:#D9E3EB;--stat-accent:#526C81;--stat-icon-bg:#E4ECF2;--stat-text:#40586C}
.tenant-stat-draft{--stat-bg:#FFFAEF;--stat-border:#F0E2BD;--stat-accent:#936319;--stat-icon-bg:#F9EDCF;--stat-text:#795014}
.tenant-stat-responses{--stat-bg:#F1F6FC;--stat-border:#D3E3F3;--stat-accent:#2869A5;--stat-icon-bg:#DDECF9;--stat-text:#28547D}
.tenant-stat-month{--stat-bg:#EFFAF8;--stat-border:#C8E9E3;--stat-accent:#087F75;--stat-icon-bg:#D8F1EC;--stat-text:#11645C}
@media(max-width:1100px){.tenant-statistics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.tenant-statistics-grid{gap:10px}.tenant-stat-card{padding:14px}.tenant-stat-top{font-size:12px}.tenant-stat-icon{width:30px;height:30px}.tenant-stat-value{font-size:24px}}
.tenant-statistics>p{margin:0 0 18px}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.plan-card{display:flex;flex-direction:column;min-width:0;padding:20px;border-top:3px solid var(--plan-accent);transition:transform .2s,box-shadow .2s,border-color .2s}
.plan-card:hover{transform:translateY(-3px);border-color:var(--plan-accent);box-shadow:0 12px 30px rgba(20,45,70,.12)}
.plan-card-head{display:flex;align-items:center;gap:12px;min-width:0}
.plan-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;color:var(--plan-accent);background:var(--plan-tint)}
.plan-heading{min-width:0;flex:1}
.plan-heading h2{margin:0;color:var(--navy-950);font-size:17px;line-height:1.3;overflow-wrap:anywhere}
.plan-label{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}
.plan-code{padding:4px 8px;border-radius:6px;color:var(--plan-accent);background:var(--plan-tint);font-size:10px;font-weight:800;letter-spacing:.4px}
.plan-price{margin:20px 0 16px;color:var(--navy-950);font-size:22px;font-weight:800;letter-spacing:-.5px;overflow-wrap:anywhere}
.plan-price span{color:var(--muted);font-size:12px;font-weight:500;letter-spacing:0}
.plan-metrics{display:grid;gap:7px;color:#40586C;font-size:13px;border-top:1px solid var(--border);padding-top:14px}
.plan-metrics strong{color:var(--navy-900)}
.plan-link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;color:var(--teal-700);font-size:13px;font-weight:700}
.plan-free{--plan-accent:#087F75;--plan-tint:#DDF7F2}
.plan-bronze{--plan-accent:#8A562D;--plan-tint:#F9EEE3}
.plan-silver{--plan-accent:#526C81;--plan-tint:#E9F0F5}
.plan-gold{--plan-accent:#88600F;--plan-tint:#FFF3D5}
.plan-platinum{--plan-accent:#355D89;--plan-tint:#E7F0FA}
.plan-detail{max-width:820px}
.plan-detail .card-head h2{margin:0;font-size:16px}
@media(max-width:1100px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.plan-grid{grid-template-columns:1fr}.plan-card{padding:18px}}
.activity{display:grid;gap:14px}
.activity-item{display:flex;gap:12px;align-items:flex-start}
.activity-icon{width:32px;height:32px;flex:none;border-radius:9px;background:#EDF5FA;color:var(--navy-700);display:grid;place-items:center}
.activity-item strong{font-size:14px;display:block}.activity-item small{font-size:12px;color:var(--muted)}
.empty{color:var(--muted);text-align:center;padding:18px}
.dl{display:grid;grid-template-columns:140px 1fr;gap:10px 16px;margin:0}
.dl dt{color:var(--muted);font-size:13px}.dl dd{margin:0;font-size:14px;word-break:break-word}

/* Tables */
.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse;min-width:560px}
.table th{text-align:left;color:#6E7F8D;font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;padding:12px 18px;border-bottom:1px solid var(--border)}
.table td{padding:13px 18px;border-bottom:1px solid #EEF2F5;font-size:14px;vertical-align:top}
.table tr:last-child td{border-bottom:0}
.table .meta{font-size:12px;color:var(--muted);margin-top:2px}
.table a.strong:hover{color:var(--teal-700)}

/* Badges */
.badge{display:inline-flex;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}
.badge-ok{background:var(--success-bg);color:var(--success)}
.badge-info{background:var(--blue-bg);color:var(--blue)}
.badge-warn{background:var(--warning-bg);color:var(--warning)}
.badge-danger{background:var(--danger-bg);color:var(--danger)}
.badge-muted{background:#EEF2F6;color:#617487}

/* Alerts */
.alert{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px;border:1px solid transparent}
.alert-ok{background:var(--success-bg);color:var(--success);border-color:#BFE6D3}
.alert-danger{background:var(--danger-bg);color:var(--danger);border-color:#F3C4C8}
.alert-info{background:var(--blue-bg);color:var(--navy-800);border-color:#C9DDF0}

/* Forms */
.form{display:grid;gap:14px}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;max-width:900px}
.form-grid h3{margin-top:6px}
.span-2{grid-column:1/-1}
.field{display:grid;gap:6px}
.field>span{font-size:13px;font-weight:600}
.field input,.field select,.search,.select{border:1px solid #CFDAE3;background:#fff;border-radius:8px;padding:10px 12px;font-size:14px;width:100%;outline:none}
.field input:focus,.field select:focus,.search:focus,.select:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(25,182,164,.15)}
.field-error{color:var(--danger);font-size:12px}
.hint{font-size:12px;color:var(--muted);margin:-4px 0 0}
.input-suffix{display:flex;align-items:center;border:1px solid #CFDAE3;border-radius:8px;background:#fff;overflow:hidden}
.input-suffix input{border:0;border-radius:0}
.input-suffix em{font-style:normal;color:var(--muted);padding:0 12px;white-space:nowrap;font-size:13px}
.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.toolbar .search{width:auto;min-width:260px}.toolbar .select{width:auto}
.pager{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}

/* Auth */
.auth-body{background:linear-gradient(160deg,#EAF2F8 0%,var(--bg) 60%)}
.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px}
.auth-brand{margin-bottom:22px}.auth-brand img{display:block;height:auto}
.auth-card{width:100%;max-width:440px;padding:30px 30px 28px}
.auth-title{font-size:22px;margin:0 0 4px}
.auth-card .sub{margin-bottom:20px}
.auth-ws{font-size:12px;font-weight:700;color:var(--teal-700);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.auth-foot{color:var(--muted);font-size:12px;margin-top:20px}
.steps{padding-left:20px;margin:0 0 18px;display:grid;gap:10px;font-size:14px}
.secret-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#F2F6F9;border:1px dashed #C7D4DE;border-radius:8px;padding:10px 12px;margin:8px 0}
.secret-box code{font-size:15px;letter-spacing:1px;font-weight:600}
.personal-link code{min-width:0;max-width:100%;overflow-wrap:anywhere}
.shortlink-share{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:12px}
.shortlink-qr{display:block;width:220px;height:220px;padding:8px;background:#fff;border:1px solid var(--border);border-radius:8px;image-rendering:pixelated}
#shortlink-share-status:empty{display:none}
.codes{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.codes li{background:#F2F6F9;border-radius:6px;padding:8px;text-align:center;font-size:14px}
details summary{cursor:pointer;color:var(--muted)}
.error-page{text-align:center;padding:10px 0}
.error-code{font-size:52px;font-weight:800;color:var(--navy-800);letter-spacing:-2px;line-height:1}
.error-page h1{font-size:20px;margin:10px 0 8px}

/* Responsive */
@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}}
@media (max-width:820px){
 .sidebar{transform:translateX(-100%)}
 .sidebar.open{transform:none;box-shadow:0 0 0 100vmax rgba(11,37,64,.4)}
 .main{margin-left:0}
 .menu-toggle{display:inline-flex}
 .topbar{padding:0 16px}
 .content{padding:22px 16px 40px}
 .profile div:not(.avatar){display:none}
 .form-grid{grid-template-columns:1fr}
}
@media (max-width:520px){.kpis{grid-template-columns:1fr}.dl{grid-template-columns:1fr}.codes{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.center{text-align:center}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover{color:var(--text,#1f2937);background:rgba(0,0,0,.04)}
.cred{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center;margin:10px 0}.cred code{font-size:15px}
.field textarea{border:1px solid #CFDAE3;background:#fff;border-radius:8px;padding:10px 12px;font-size:14px;width:100%;outline:none;resize:vertical;min-height:96px}
.field textarea:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(25,182,164,.15)}
.list{display:grid;gap:4px}.list-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;color:inherit;text-decoration:none}.list-item:hover{background:#F4F7FA}
.list-item small{display:block;color:var(--muted);font-size:12px}.grow{flex:1;min-width:0}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-card{padding:18px;display:flex;flex-direction:column;color:inherit;text-decoration:none;transition:box-shadow .15s,border-color .15s}
.project-card:hover{border-color:#C7D4DE;box-shadow:0 6px 18px rgba(23,43,58,.08)}
.project-card-top{display:flex;justify-content:space-between;align-items:center}
.project-symbol{width:36px;height:36px;flex:none;background:#EAF2FA;color:var(--navy-700,#22385A);border-radius:10px;display:grid;place-items:center}
.project-symbol svg{width:18px;height:18px}
.project-card h3{font-size:15px;margin:14px 0 4px}.project-card .code{font-size:12px;color:var(--muted);font-family:ui-monospace,monospace}
.project-card p{font-size:13px;color:var(--muted);line-height:1.55;margin:8px 0 0;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.project-stats{display:flex;gap:18px;border-top:1px solid var(--border);padding-top:12px;margin-top:14px}
.project-stats strong{display:block;font-size:14px}.project-stats small{color:var(--muted);font-size:11px}
.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form .select{width:auto;padding:7px 10px;font-size:13px}
.section-title{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}
.stack{display:grid;gap:16px}.divider{border:0;border-top:1px solid var(--border);margin:16px 0}
.desc{white-space:pre-line}
@media (max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.project-grid{grid-template-columns:1fr}}
.right{text-align:right}
.message-tabs{margin-bottom:18px}
.toolbar:has(.message-search){align-items:end}
.message-search{flex:1;min-width:180px}
.message-body{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border-radius:8px;padding:16px;margin-top:12px}
.message-delete{border-color:#F3C4C8}
.message-delete h3{color:var(--danger)}

/* Questionnaire-first workspace navigation */
.dashboard-questionnaires,.project-questionnaires{margin-bottom:24px}
.questionnaire-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.questionnaire-section-head h2,.project-questionnaires h2{font-size:18px;margin:0}
.questionnaire-section-head .link{flex:none}
.questionnaire-project{background:#F1F6FC;border-color:#CEDDEF}
.questionnaire-project .card-head{align-items:flex-start}
.questionnaire-project-name{display:block;font-weight:700;overflow-wrap:anywhere}
.questionnaire-project-name:hover{text-decoration:underline}
.questionnaire-project small{display:block}
.questionnaire-list{display:grid;gap:10px;padding:16px 20px}
.questionnaire-item{display:grid;gap:8px;min-width:0;padding:16px;background:#EAF8F4;border:1px solid #B6DDD2;border-left:4px solid var(--teal-700);border-radius:10px}
.questionnaire-item:hover{background:#DDF2EB;border-color:var(--teal-700)}
.questionnaire-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.questionnaire-item-head strong{min-width:0;overflow-wrap:anywhere}
.questionnaire-item-head .badge{flex:none}
.questionnaire-open{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:44px;padding:10px 16px;background:var(--teal-700);color:#fff;border-radius:8px;font-weight:700;font-size:13px}
.questionnaire-item:hover .questionnaire-open{background:#066B63}
.questionnaire-project-footer{padding:0 20px 16px}
.questionnaire-project-footer .link{color:var(--navy-700)}
.dashboard-workspace .stack{align-items:start}
.dashboard-activity>summary,.tenant-profile>summary{padding:16px 20px;min-height:44px;color:var(--text);font-size:16px;font-weight:700}
.dashboard-activity>summary:focus-visible,.tenant-profile>summary:focus-visible{outline:3px solid rgba(25,182,164,.45);outline-offset:2px;border-radius:var(--r)}
.dashboard-activity[open]>summary,.tenant-profile[open]>summary{border-bottom:1px solid var(--border)}
.project-details>.stack{min-width:0;align-content:start}
.project-details .card{min-width:0}
@media(max-width:520px){
 .dashboard-workspace .page-head{margin-bottom:16px}
 .dashboard-workspace h1{font-size:22px}
 .dashboard-workspace .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .dashboard-workspace .kpi{padding:14px}
 .dashboard-workspace .kpi-icon{display:none}
 .questionnaire-project .card-head,.project-questionnaires .card-head{padding:14px 14px 0}
 .questionnaire-list{padding:14px}
 .questionnaire-item{padding:14px;min-height:44px}
 .questionnaire-item-head{flex-wrap:wrap;gap:8px}
 .questionnaire-project-footer{padding:0 14px 14px}
 .project-details .table{min-width:0}
 .project-details .table th,.project-details .table td{padding:12px}
 .topbar{gap:8px}
 .top-actions{gap:6px}
 .top-actions .btn{font-size:12px;padding:8px}
 .top-actions>a{max-width:84px;text-align:center}
 .top-actions .avatar{width:28px;height:28px}
}

/* Survey (respondent pages, enumerator entry, preview) */
[hidden]{display:none!important}
.check{display:flex;align-items:center;gap:8px;font-weight:500;margin:4px 0}.check input{width:18px;height:18px;accent-color:var(--teal-600)}
fieldset.field{border:0;padding:0;margin:0}fieldset.field legend{font-weight:600;margin-bottom:6px}
.input-prefix{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.input-prefix input{flex:1;min-width:160px}
.code-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5;min-height:480px;tab-size:2;white-space:pre}
.problems{margin:8px 0 0;padding-left:18px}
.sv-body{background:var(--bg)}
.sv-top{background:#fff;border-bottom:1px solid var(--border)}
.sv-top-in{max-width:820px;margin:auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.sv-org{font-weight:700;color:var(--navy-800)}.sv-top img{height:auto;opacity:.9}
.sv-main{max-width:820px;margin:auto;padding:24px 16px 40px}
.sv-foot{max-width:820px;margin:auto;color:var(--navy-800);font-size:13px;padding:0 16px 28px}
.sv-foot-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 20px;background:var(--blue-bg);border:1px solid var(--border);border-radius:var(--r);padding:16px 20px}
.sv-foot-brand{white-space:nowrap}
.sv-foot-brand strong{color:var(--navy-900)}
.sv-foot-privacy{flex-basis:100%;text-align:center;overflow-wrap:anywhere}
.sv-foot-security{display:flex;align-items:center;gap:8px;flex:0 1 auto;line-height:1.6}
.sv-foot-security .i{color:var(--teal-700);width:20px;height:20px}
.sv-card{padding:28px}.sv-embed{max-width:900px}
.sv-h1{font-size:22px;line-height:1.35;margin:0 0 10px;color:var(--navy-900)}
.sv-kicker{margin:0 0 12px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}
.sv-meta{display:flex;align-items:center;gap:6px;color:var(--muted);margin:0 0 14px}
.sv-intro{color:#33495B;line-height:1.7;margin:0 0 18px}
.sv-intro-justified{text-align:justify}
.sv-intro p{margin:0 0 12px}
.sv-intro p:last-child{margin-bottom:0}
.sv-research-contact{margin-top:20px}
.sv-research-contact h2{font-size:18px;margin:0 0 14px;color:var(--navy-900)}
.sv-research-contact .dl{margin:0}
.sv-research-contact a{overflow-wrap:anywhere}
.sv-disclaimer{margin-top:20px;background:var(--teal-100);border-color:var(--teal-600);border-left:4px solid var(--teal-700)}
.sv-disclaimer h2{font-size:18px;margin:0 0 14px;color:var(--navy-900)}
.sv-disclaimer ul{margin:0;padding-left:20px;color:#33495B;line-height:1.7}
.sv-disclaimer li+li{margin-top:10px}
.sv-disclaimer li::marker{color:var(--teal-700)}
.sv-disclaimer strong{color:var(--navy-800)}
.sv-disclaimer-preview{margin:0;color:#33495B;line-height:1.7}
.sv-disclaimer-details{margin-top:14px}
.sv-disclaimer-details summary{cursor:pointer;color:var(--navy-800);font-weight:700;width:fit-content;padding:4px 0}
.sv-disclaimer-details summary:focus-visible{outline:2px solid var(--teal-700);outline-offset:4px;border-radius:3px}
.sv-disclaimer-details[open] summary{margin-bottom:14px}
.sv-disclaimer-less,.sv-disclaimer-details[open] .sv-disclaimer-more{display:none}
.sv-disclaimer-details[open] .sv-disclaimer-less{display:inline}
.sv-actions{margin-top:22px}.sv-center{text-align:center}
.sv-done-icon{width:56px;height:56px;border-radius:50%;margin:4px auto 14px;display:grid;place-items:center;background:var(--success-bg);color:var(--success)}
.sv-done-icon .i{width:28px;height:28px}.sv-done-icon.sv-muted{background:var(--blue-bg);color:var(--blue)}
.sv-receipt{display:inline-block;background:var(--teal-100);color:var(--teal-700);padding:8px 14px;border-radius:9px}
.sv-progress{display:block;width:100%;height:8px;border:0;border-radius:99px;background:#E7EEF3;overflow:hidden;-webkit-appearance:none;appearance:none}
.sv-progress::-webkit-progress-bar{background:#E7EEF3;border-radius:99px}
.sv-progress::-webkit-progress-value{background:var(--teal-500);border-radius:99px}
.sv-progress::-moz-progress-bar{background:var(--teal-500);border-radius:99px}
.sv-step{font-size:12px;color:var(--muted);margin:6px 0 16px}
.sv-section+.sv-section{margin-top:28px;padding-top:24px;border-top:1px dashed var(--border)}
.sv-title{font-size:18px;margin:0 0 6px;color:var(--navy-900)}
.sv-desc{color:#4A6072;margin:0 0 18px;line-height:1.65}
.sv-q{padding:16px 0;border-top:1px solid var(--border)}.sv-q:first-of-type{border-top:0}
.sv-fieldset{border:0;margin:0;padding:0;min-width:0}
.sv-label{display:flex;gap:8px;font-weight:600;line-height:1.5;margin-bottom:10px;padding:0}
.sv-code{flex:none;min-width:24px;height:24px;padding:0 6px;border-radius:7px;background:var(--blue-bg);color:var(--blue);font-size:12px;display:inline-grid;place-items:center}
.sv-req{color:var(--danger)}
.sv-help{color:var(--muted);font-size:13px;margin:-4px 0 10px}
.sv-input{width:100%;max-width:520px;border:1px solid #CFDBE5;border-radius:10px;padding:11px 12px;background:#fff;font-size:15px}
.sv-input:focus{outline:2px solid var(--teal-500);outline-offset:1px;border-color:transparent}
.sv-options{display:grid;gap:8px}.sv-options.sv-inline{display:flex;flex-wrap:wrap;gap:8px 10px}
.sv-scale{display:flex;flex-wrap:wrap;gap:8px}
.sv-opt{display:flex;align-items:center;gap:10px;border:1px solid #D6E1EA;border-radius:10px;padding:10px 14px;cursor:pointer;background:#fff;min-height:44px}
.sv-opt:hover{border-color:var(--teal-500)}
.sv-opt input{width:18px;height:18px;margin:0;accent-color:var(--teal-600);flex:none}
.sv-opt:has(input:checked){border-color:var(--teal-600);background:var(--teal-100)}
.sv-error{color:var(--danger);font-size:13px;font-weight:600;margin:8px 0 0}
.sv-invalid .sv-input{border-color:var(--danger)}
tr.sv-invalid th{box-shadow:inset 3px 0 var(--danger)}
.sv-group{margin:8px 0 18px}
.sv-matrix{width:100%;border-collapse:collapse;font-size:14px}
.sv-matrix th,.sv-matrix td{border-bottom:1px solid var(--border);padding:10px 8px;vertical-align:middle}
.sv-matrix thead th{background:#F1F6F9;font-size:12px;font-weight:700;color:#4A6072;text-align:center;white-space:nowrap}
.sv-matrix thead th.sv-mq{text-align:left}
.sv-matrix th.sv-mq{font-weight:500;text-align:left;display:table-cell}
.sv-matrix th.sv-mq .sv-code{margin-right:8px;float:left}
.sv-matrix td{text-align:center;width:64px}
.sv-cell{display:inline-grid;place-items:center;min-width:44px;min-height:40px;cursor:pointer;border-radius:8px}
.sv-cell:hover{background:var(--teal-100)}
.sv-cell input{width:20px;height:20px;margin:0;accent-color:var(--teal-600)}
.sv-cell-label{display:none}
.sv-nav{display:flex;flex-direction:row-reverse;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}
@media (max-width:640px){
  .sv-card{padding:20px 16px}.sv-main{padding:14px 10px 32px}
  .sv-actions>.btn,.sv-actions>form>.btn{width:100%;min-height:44px}
  .sv-matrix,.sv-matrix tbody,.sv-matrix tr,.sv-matrix th,.sv-matrix td{display:block;width:auto}
  .sv-matrix thead{display:none}
  .sv-matrix tr{display:flex;flex-wrap:wrap;gap:6px;border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:10px}
  .sv-matrix th.sv-mq{display:flex;align-items:flex-start;gap:8px;flex:0 0 100%;border:0;padding:0 0 4px}
  .sv-matrix td{flex:1 1 0;min-width:0;border:0;padding:0}
  .sv-cell{display:flex;flex-direction:column;gap:4px;border:1px solid #D6E1EA;padding:8px 2px;min-width:0}
  .sv-cell:has(input:checked){border-color:var(--teal-600);background:var(--teal-100)}
  .sv-cell-label{display:inline;font-size:13px;font-weight:600}
  .sv-nav .btn{flex:1}
}

/* Sprint 4: survey tabs, responses, analytics */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:-8px 0 20px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.tabs a{padding:10px 16px;font-weight:600;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs a:hover{color:var(--text)}.tabs a.active{color:var(--teal-700);border-bottom-color:var(--teal-600)}
.seg{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.seg a{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--border);border-radius:20px;background:#fff;font-size:13px;font-weight:600;color:var(--muted)}
.seg a.active{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
.seg-count{font-size:12px;opacity:.8}
.filters .date-field{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.filters .check{margin:0;font-size:13px}
.kpi-foot{font-size:12px;color:var(--muted)}.kpi-value-sm{font-size:22px}
.answers{margin:0;padding:6px 20px 14px}
.answer{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.answer:last-child{border-bottom:0}
.answer dt{font-size:13px;color:#425668}.answer dd{margin:0;font-size:14px;font-weight:600;word-break:break-word}
.answer-empty dd{font-weight:400}
.answer{scroll-margin-top:90px}
.answer-quality{background:#FFFAEF;border-left:3px solid #E5BE70;border-radius:8px;margin:6px 0;padding:12px}
.answer-quality-error{background:#FFF4F4;border-left-color:#E4A1A7}
.answer-quality dt .badge{margin-top:8px}
.answer-quality-notes{margin:10px 0 0;padding-left:18px;font-size:12px;font-weight:400;line-height:1.6;color:#69512C}
.answer-quality-error .answer-quality-notes{color:#833D43}
.answer-quality-notes li+li{margin-top:8px}
.quality-question-links{padding-left:20px;line-height:1.7}
.quality-finding,#quality-findings{scroll-margin-top:90px}
.clarification-text{white-space:pre-wrap;overflow-wrap:anywhere}
#clarifications{scroll-margin-top:90px}
.answer:target,.quality-finding:target{outline:2px solid var(--teal-700);outline-offset:3px}
.answer:focus-visible,.quality-finding:focus-visible,#quality-findings:focus-visible{outline:2px solid var(--teal-700);outline-offset:3px}
.q-code{display:inline-block;min-width:26px;margin-right:8px;padding:1px 6px;border-radius:6px;background:var(--teal-100);color:var(--teal-700);font-size:11px;font-weight:700;text-align:center}
.timeline{list-style:none;margin:0;padding:12px 20px 18px}
.timeline li{display:flex;gap:12px;padding:6px 0;font-size:13px;border-left:2px solid var(--border);padding-left:12px;position:relative}
.timeline li::before{content:"";position:absolute;left:-5px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--teal-500)}
.tl-time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.day-chart{width:100%;height:160px;display:block}
.day-chart rect{fill:var(--teal-500)}.day-chart rect.zero{fill:var(--border)}
.day-axis{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:6px}
.an-section{font-size:17px;margin:28px 0 12px}
.an-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.an-card h3{font-size:14px;line-height:1.4}
.freq{width:100%;border-collapse:collapse;font-size:13px}
.freq td{padding:5px 0;vertical-align:middle}
.freq-label{width:42%;padding-right:10px!important}.freq-bar{width:38%}
.freq-n{width:8%;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.freq-pct{width:12%;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.freq-bar svg,.mean-bar{width:100%;height:10px;display:block;border-radius:5px}
.freq-bar rect,.mean-bar rect{fill:var(--teal-500)}.freq-bar rect.track,.mean-bar rect.track{fill:#EEF3F6}
.col-bar{width:36%;min-width:160px}
.lk-bar{width:100%;height:16px;display:block;border-radius:4px}
.l1{fill:#C83F49;background:#C83F49}.l2{fill:#EE9A8F;background:#EE9A8F}.l3{fill:#CBD5DD;background:#CBD5DD}.l4{fill:#5CC8B8;background:#5CC8B8}.l5{fill:#087F75;background:#087F75}
.lk-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.lk-legend span{display:inline-flex;align-items:center;gap:4px}
.lk-sw{display:inline-block;width:10px;height:10px;border-radius:2px}
.lk-table td{vertical-align:middle}
.table th .nocase{text-transform:none}
@media (max-width:900px){.an-grid{grid-template-columns:1fr}.answer{grid-template-columns:1fr;gap:4px}}
.detail-grid{align-items:start}

/* Export page */
.choice-grid{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.choice-grid legend{font-weight:600;font-size:13px;margin-bottom:8px;padding:0}
.choice-card{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;background:var(--surface)}
.choice-card:has(input:checked){border-color:var(--teal-600);box-shadow:0 0 0 1px var(--teal-600)}
.choice-card input{margin-top:3px;width:18px;height:18px;accent-color:var(--teal-600);flex:none}
.choice-card span{display:flex;flex-direction:column;gap:4px}
.choice-card small{font-size:12px;line-height:1.45}
.form.form-grid{align-items:start}

.print-heading{padding-bottom:8px}
.print-heading .sv-intro{margin-top:12px}
.print-condition{display:block;color:#526170;font-size:11px;font-weight:500;margin-top:3px}
@page{size:A4 portrait;margin:14mm 13mm}
@media print{
  html,body{background:#fff!important}
  .sidebar,.topbar,.print-toolbar{display:none!important}
  .app,.main,.content{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
  .print-sheet{max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  .print-sheet{font-size:8pt;line-height:1.2}
  .print-heading{break-after:avoid-page;padding-bottom:1mm}
  .print-heading .sv-kicker{font-size:8pt;margin:0 0 1mm}
  .print-heading .sv-h1{font-size:14pt;line-height:1.2;margin:0 0 2mm}
  .print-heading .sv-intro{font-size:8pt;line-height:1.25;margin:1mm 0 2mm}
  .print-heading .sv-kicker,.print-heading .sv-h1,.sv-title,.sv-label,.sv-fieldset legend,.sv-matrix th.sv-mq{color:#172B3A!important}
  .sv-section{--print-accent:#176B67;--print-tint:#E8F3F1}
  .sv-section:nth-of-type(5n+2){--print-accent:#315F83;--print-tint:#EAF0F6}
  .sv-section:nth-of-type(5n+3){--print-accent:#75613A;--print-tint:#F4F0E6}
  .sv-section:nth-of-type(5n+4){--print-accent:#62547B;--print-tint:#F0EDF5}
  .sv-section:nth-of-type(5n){--print-accent:#496C4D;--print-tint:#EDF3EA}
  .sv-section+.sv-section{margin-top:2mm;padding-top:1.5mm;border-top:1px solid var(--print-accent)}
  .sv-section{break-inside:auto}
  .sv-q,.sv-group,.sv-matrix tr{break-inside:avoid}
  .sv-title,.sv-label,.sv-desc,.sv-help{break-after:avoid}
  .sv-title{font-size:10pt;line-height:1.15;margin:0 0 1.5mm;padding:1.4mm 2mm;background:var(--print-tint)!important;border-left:1.2mm solid var(--print-accent);color:#172B3A!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .sv-desc,.sv-help{font-size:7.5pt;line-height:1.15;margin:0 0 1mm}
  .sv-q{padding:1.2mm 2mm;border-left:.6mm solid var(--print-accent);background:#F8FAFB!important}
  .sv-section > .sv-q:nth-of-type(odd){background:#F0F4F6!important}
  .sv-label{font-size:8pt;line-height:1.2;gap:1mm;margin-bottom:1mm}
  .print-condition{font-size:7pt;line-height:1.1;margin-top:.3mm}
  .sv-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5mm 2mm}
  .sv-options.sv-inline{gap:.5mm 2mm}
  .sv-scale{gap:1mm}
  .sv-opt{min-height:0;padding:.4mm 0;border:0;border-radius:0;background:#fff!important;font-size:7.5pt;line-height:1.15}
  .sv-opt input,.sv-cell input{appearance:none;-webkit-appearance:none;width:3mm;height:3mm;flex:none;border:1px solid #263746;background:#fff!important;border-radius:50%;margin:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .sv-opt input[type=checkbox]{border-radius:0}
  .sv-fieldset{min-width:0}
  .sv-input{max-width:none;border:0;border-bottom:1px solid #65727C;border-radius:0;padding:1mm 0;background:transparent!important}
  .print-sheet input::placeholder,.print-sheet textarea::placeholder{color:transparent!important;opacity:0!important}
  .sv-matrix{font-size:7.5pt}
  .sv-matrix .sv-mq{width:55%}
  .sv-matrix td{width:9%;padding:.5mm}
  .sv-matrix th,.sv-matrix td{padding:.7mm 1mm;border-color:#AAB5BE}
  .sv-matrix thead th{background:var(--print-tint)!important;color:#172B3A!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .sv-matrix tbody tr:nth-child(even){background:#F4F6F7!important}
  .sv-matrix tbody tr:nth-child(odd){background:#fff!important}
  .sv-cell{min-width:0;min-height:0}
  .sv-code{background:#EEF1F3!important;color:#172B3A!important;border-radius:1mm}
  .sv-req{color:#172B3A!important}
  .sv-error,.sv-nav{display:none!important}
  .sv-card,.sv-section,.sv-q,.sv-group{box-shadow:none}
  .sv-title,.sv-q,.sv-matrix thead th,.sv-matrix tbody tr{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
/* Statistik (SPSS-style) */
.spss-vars{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.spss-var{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:13px}
.spss-var em{font-style:normal;color:var(--muted);font-size:12px}
.spss-var-y{border-color:var(--teal-600);background:#E8F7F5}
.spss-card .card-head h3{margin:0}
.spss-en{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:2px}
.spss-sub{margin:18px 0 8px;font-size:14px}.spss-sub:first-child{margin-top:0}
.spss-sub .spss-en{display:inline;margin-left:6px}
.table.spss{font-variant-numeric:tabular-nums}
.table.spss th{padding:9px 12px;font-size:11px;background:#F6F8FA}
.table.spss td{padding:8px 12px;font-size:13px;border-bottom:1px solid #EEF2F5}
.table.spss tr.spss-group td{border-top:1px solid var(--border)}
.spss-matrix td[rowspan]{vertical-align:top}
.spss-hi{color:var(--danger);font-weight:700}
.spss-note{margin:0;padding:10px 20px 16px;color:var(--muted);font-size:12px;line-height:1.5}
.card-body .spss-note{padding:8px 0 4px}
.spss-note-top{padding:10px 20px 4px}
.spss-verdict{display:flex;flex-wrap:wrap;gap:28px;border-top:1px solid #EEF2F5;padding-top:14px}
.spss-verdict div{display:flex;flex-direction:column;gap:4px}
.spss-verdict b{font-size:16px;font-variant-numeric:tabular-nums}
.spss-card{margin-bottom:16px}
.spss-form td{padding:8px 12px;vertical-align:middle}
.spss-form .select{padding:7px 10px;font-size:13px}
.spss-form tr.spss-section td{background:#F6F8FA;font-weight:700;font-size:12px;color:var(--navy-800)}

/* Academic report */
.report-filters{margin-bottom:20px}
.report-sheet{max-width:980px;margin:0 auto 32px;padding:38px 46px;background:#fff;border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);font-family:Georgia,"Times New Roman",serif;font-size:15px;line-height:1.62;color:#263746}
.report-cover{padding-bottom:20px;border-bottom:2px solid #DCE7EC;margin-bottom:20px}
.report-kicker{font:700 11px/1.4 "Plus Jakarta Sans",Arial,sans-serif;letter-spacing:1.4px;color:var(--teal-700);margin-bottom:8px}
.report-cover h1{font:700 27px/1.22 Georgia,"Times New Roman",serif;letter-spacing:0;color:var(--navy-950);margin:0 0 7px}
.report-project{font-size:16px;color:#516779;margin:0 0 18px}
.report-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 22px;font:12px/1.45 "Plus Jakarta Sans",Arial,sans-serif;color:#526779}
.report-meta b{color:#243B4D;margin-right:5px}
.report-section{margin:0 0 18px}
.report-section h2{font:700 17px/1.3 Georgia,"Times New Roman",serif;color:#133C59;margin:0 0 8px;padding:0 0 5px;border-bottom:1px solid #DCE7EC}
.report-section h3{font:700 13px/1.35 "Plus Jakarta Sans",Arial,sans-serif;color:#1B4B73;margin:12px 0 4px}
.report-section p{margin:5px 0 8px}
.report-note{font:11px/1.45 "Plus Jakarta Sans",Arial,sans-serif;color:#5D7180}
.report-empty{padding:10px 12px;border-left:3px solid #8B6B2D;background:#F7F2E8;font:12px/1.5 "Plus Jakarta Sans",Arial,sans-serif;color:#554629;margin:8px 0 12px}
.report-framework{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(170px,.65fr);align-items:center;gap:8px;margin:12px 0}
.report-predictors{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:7px}
.report-outcomes{display:grid;gap:7px}
.report-variable{display:grid;gap:2px;padding:8px 10px;border-left:3px solid #398277;background:#EFF6F4;font:11px/1.35 "Plus Jakarta Sans",Arial,sans-serif}
.report-variable b{color:#087F75}.report-variable small{color:#657A86}
.report-variable-y{border-color:#315F83;background:#EFF3F7}.report-variable-y b{color:#1B4B73}
.report-arrow{text-align:center;font:700 20px/1 Arial,sans-serif;color:#607987}
.report-method{display:grid;grid-template-columns:125px 1fr;gap:5px 12px;margin:8px 0}
.report-method dt{font:700 11px/1.45 "Plus Jakarta Sans",Arial,sans-serif;color:#405A6C}
.report-method dd{margin:0;font-size:13px}
.report-table{width:100%;border-collapse:collapse;font:11px/1.4 "Plus Jakarta Sans",Arial,sans-serif;margin:7px 0 9px}
.report-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.35px;color:#516779;padding:6px 7px;border-bottom:1px solid #AEBEC8;background:#F3F6F8}
.report-table td{padding:6px 7px;vertical-align:top;border-bottom:1px solid #E5EBEF}
.report-table tr:last-child td{border-bottom:0}
.report-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.report-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}
.report-profile{border:1px solid #E3EAF0;border-radius:6px;padding:8px 10px;font:11px/1.4 "Plus Jakarta Sans",Arial,sans-serif}
.report-profile>b{color:#24455D}
.report-profile ul{list-style:none;padding:0;margin:5px 0 0}
.report-profile li{display:flex;justify-content:space-between;gap:8px;padding:2px 0;border-top:1px solid #EEF2F5}
.report-references ol{padding-left:20px;margin:5px 0}
.report-references li{padding-left:3px;margin:0 0 5px;font-size:12px;line-height:1.45}
.report-references a{color:inherit;text-decoration:underline;overflow-wrap:anywhere}
@media(max-width:700px){.report-sheet{padding:22px 18px}.report-framework{grid-template-columns:1fr}.report-arrow{transform:rotate(90deg)}.report-meta,.report-profile-grid{grid-template-columns:1fr}.report-method{grid-template-columns:1fr;gap:1px}.report-method dd{margin-bottom:6px}}
@media print{
  @page{size:A4 portrait;margin:13mm 12mm}
  .report-sheet{max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:9pt;line-height:1.35}
  .report-cover{padding-bottom:3mm;margin-bottom:4mm}
  .report-cover h1{font-size:19pt;margin-bottom:1mm}
  .report-project{font-size:11pt;margin-bottom:3mm}
  .report-meta{font-size:7.5pt;gap:1mm 4mm}
  .report-section{margin-bottom:4mm;break-inside:auto}
  .report-section h2{font-size:12pt;margin:0 0 2mm;padding-bottom:1mm;break-after:avoid-page}
  .report-section h3{font-size:9pt;margin:2.5mm 0 1mm;break-after:avoid-page}
  .report-section p{margin:1mm 0 2mm}
  .report-note{font-size:7.5pt}
  .report-empty{font-size:8pt;padding:2mm 3mm;margin:2mm 0}
  .report-framework{margin:2mm 0;gap:1mm}
  .report-predictors,.report-outcomes{gap:1mm}
  .report-variable{padding:1.5mm 2mm;font-size:7.5pt;break-inside:avoid}
  .report-method{grid-template-columns:29mm 1fr;gap:1mm 3mm}
  .report-method dt{font-size:7.5pt}
  .report-method dd{font-size:8pt}
  .report-table{font-size:7.5pt;margin:1.5mm 0 2mm}
  .report-table th{font-size:6.5pt;padding:1mm 1.5mm}
  .report-table td{padding:1mm 1.5mm}
  .report-profile-grid{gap:1.5mm;margin:2mm 0}
  .report-profile{padding:1.5mm 2mm;font-size:7.5pt;break-inside:avoid}
  .report-references li{font-size:7.5pt;margin-bottom:1mm}
  .report-table tr,.report-profile{break-inside:avoid}
  .report-references a{color:inherit;text-decoration:none}
}
