/* KSE V3: product tokens and shared compositions. No external fonts or requests. */
body.kse-product-brand:not(.organization-branded) {
 --brand:#5d6f86; --brand-hover:#46566c; --brand-soft:#edf0f4;
 --canvas:#f2f0e8; --surface:#fff; --surface-subtle:#f8f7f3;
 --ink:#30393b; --muted:#5b6467; --border:#dedcd3; --border-strong:#a6aaa9;
 --sidebar-surface:var(--surface); --sidebar-ink:var(--ink); --sidebar-line:var(--border);
 --sidebar-active:var(--brand-soft); --sidebar-on-active:#344962;
 --focus:#815b27; --shadow:0 3px 14px rgb(48 57 59 / 4%);
 --on-action:#fff; --event-arrival:#5d6f86; --event-departure:#8a663b;
}
body { --text:var(--ink); --primary:var(--brand); --surface-muted:var(--surface-subtle); --body-size:.9375rem; --control-height:42px; --card-padding:16px; --row-padding:10px; --section-gap:18px; --workspace-gap:16px; --line-height:50px; --sidebar-width:208px; }
body.kse-product-brand[data-ui-theme=warm]:not(.organization-branded) { --canvas:#f2f0e8; --surface:#fffefa; --surface-subtle:#f5f1e9; --brand:#5d6f86; --brand-soft:#eceff3; }
body.kse-product-brand[data-ui-theme=minimal]:not(.organization-branded) { --canvas:#fff; --surface-subtle:#f6f7f8; --shadow:none; }
body.kse-product-brand[data-ui-theme=elegant]:not(.organization-branded) { --canvas:#f3f1ec; --surface:#fdfcf9; --radius:6px; }
body.ui-density-compact { --body-size:.875rem; --control-height:38px; --card-padding:12px; --row-padding:7px; --section-gap:12px; --workspace-gap:12px; --line-height:42px; }
body.ui-density-touch,body.ui-touch-comfort { --control-height:48px; --card-padding:20px; --row-padding:14px; --line-height:64px; }
body.kse-product-brand:not(.organization-branded)[data-ui-appearance=dark] { --canvas:#1e252b; --surface:#273138; --surface-subtle:#303b43; --ink:#f2f0e8; --muted:#c5ccd0; --border:#46535d; --border-strong:#788894; --brand:#b5c6dd; --brand-hover:#d1dcec; --brand-soft:#354353; --on-action:#192731; --sidebar-on-active:#edf3fb; --focus:#e0c39a; }
@media(prefers-color-scheme:dark) {
 body.kse-product-brand:not(.organization-branded)[data-ui-appearance=system] { --canvas:#1e252b; --surface:#273138; --surface-subtle:#303b43; --ink:#f2f0e8; --muted:#c5ccd0; --border:#46535d; --border-strong:#788894; --brand:#b5c6dd; --brand-hover:#d1dcec; --brand-soft:#354353; --on-action:#192731; --sidebar-on-active:#edf3fb; --focus:#e0c39a; }
}
h1 { line-height:1.2; letter-spacing:-.025em; }
button,.button { font-weight:650; padding:8px 14px; }
input,select,textarea { font:inherit; max-width:100%; border-radius:7px; }
input[type=checkbox],input[type=radio] { min-height:20px; min-width:20px; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.workspace-heading,.setup-heading { margin:0 0 18px; padding-block:4px; }
.workspace-heading h1,.setup-heading h1 { margin:3px 0 7px; font-size:clamp(1.65rem,2.2vw,2.2rem); }
.workspace-panel,.panel,.card { border-radius:12px; }
.workspace-panel:has(>form),.workspace-panel:has(>table),.workspace-panel:has(>h2),.editorial-panel { padding:var(--card-padding); }
.panel-heading { padding:12px 16px; }
.panel-heading h2 { font-size:1rem; }
.pilot-form p { margin:0 0 12px; }
.pilot-form label { font-weight:600; font-size:.875rem; }
.pilot-form .helptext,small { color:var(--muted); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; }
.form-grid >div,.form-grid >p { min-width:0; }
.table-scroll { overflow:auto; }
.workspace-panel table { margin:10px 0; width:100%; border-collapse:collapse; font-size:.875rem; }
.workspace-panel th,.workspace-panel td { padding:9px 12px; text-align:left; border-bottom:1px solid var(--border); vertical-align:top; }
.workspace-panel td small { display:block; }
.action-scope-row { margin:0; border:0; border-bottom:1px solid var(--border); padding:8px 0; border-radius:0; }
.action-scope-row >summary { min-height:36px; display:flex; align-items:center; font-size:.875rem; }
.effective-housings { font-size:.8rem; margin:6px 0 10px; }
.checklist-preview-task { border-bottom:1px solid var(--border); padding:12px 0; }
.checklist-preview-task:last-child { border-bottom:0; }
.mission-row { display:flex; gap:12px; justify-content:space-between; min-height:48px; padding:12px; border-bottom:1px solid var(--border); text-decoration:none; }
.setup-first-run { margin:0 0 16px; padding:12px 16px; }
.setup-first-run h2 { font-size:.95rem; margin:0; }
.setup-first-run p { margin:6px 0; font-size:.85rem; }
.dashboard-hero { min-height:105px; background:linear-gradient(90deg,var(--canvas) 40%,transparent),url('kse_landscape.svg') right center/650px 150px no-repeat; padding:10px 0 16px; }
.dashboard-hero h1 { font-family:Georgia,"Times New Roman",serif; font-weight:600; font-size:clamp(1.8rem,2.4vw,2.4rem); letter-spacing:-.02em; }
.dashboard-hero::after { display:none!important; }
.metrics-strip { grid-template-columns:repeat(auto-fit,minmax(142px,1fr)); gap:10px; margin-bottom:16px; }
.metric,.metric.widget-compact { min-height:118px; padding:12px 14px; border-bottom:1px solid var(--border); box-shadow:var(--shadow); }
.metric-value,.metric.widget-compact .metric-value { font-size:1.75rem; }
.metric-symbol,.metric.widget-compact .metric-symbol { width:34px; height:34px; border-radius:9px; color:var(--brand); background:var(--brand-soft); }
.metric-symbol svg { width:22px; height:22px; }
.metric-label { font-size:.79rem; line-height:1.35; min-height:2.5em; }
.metric small { font-size:.72rem; line-height:1.3; }
.metric-arrival { --module-color:var(--brand); --module-soft:var(--brand-soft); }
.metric-departure { --module-color:#80613e; --module-soft:#f5efe5; }
.dashboard-workspace { grid-template-columns:minmax(0,1.22fr) minmax(290px,.9fr); }
.dashboard-lower { grid-template-columns:1fr; }
.dashboard-lower .quick-panel { display:none; } /* Destinations remain in KPI and navigation. */
.dashboard-priorities { display:grid; grid-template-columns:1fr; gap:16px; }
.mission-agenda-row { min-height:50px; padding:9px 16px; font-size:.875rem; }
.priority-line { padding:11px 14px; }
.priority-line b { font-size:.85rem; }
.priority-line small { font-size:.76rem; }
.priority-line .priority-icon { padding:7px; }
.dashboard-resource-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; min-height:46px; align-items:center; padding:9px 16px; border-bottom:1px solid var(--border); text-decoration:none; color:var(--ink); }
.dashboard-resource-row small { display:block; font-size:.76rem; }
.dashboard-resource-row b { font-variant-numeric:tabular-nums; }
.field-greeting { margin:0 0 16px; padding:5px 0; }
.field-home { max-width:1050px; }
.field-home .field-actions { gap:12px; }
.field-home .field-tile { min-height:110px; padding:16px; }
.field-home .field-tile >svg { width:28px; height:28px; }
.field-home .field-tile span { font-size:.9rem; }
.field-local-note { font-size:.85rem; color:var(--muted); margin:6px 0; }
.auth-page { max-width:1060px; display:grid; grid-template-columns:minmax(250px,.8fr) minmax(450px,1.2fr); gap:36px; margin:24px auto 40px; align-items:start; }
.auth-welcome { padding:24px 6px; }
.auth-welcome .eyebrow { font-size:.75rem; letter-spacing:.12em; }
.auth-welcome h1 { font-family:Georgia,"Times New Roman",serif; font-size:2.8rem; font-weight:500; line-height:1.16; max-width:10ch; margin:15px 0; }
.auth-welcome p { font-size:1rem; max-width:31ch; }
.auth-landscape { height:140px; margin-top:25px; background:url('kse_landscape.svg') right center/contain no-repeat; }
.auth-form { padding:24px; border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:var(--shadow); }
.auth-form h2 { margin:0 0 6px; font-size:1.4rem; }
.auth-form form { display:grid; gap:12px; }
.auth-form label { display:block; font-weight:600; font-size:.85rem; margin-bottom:5px; }
.auth-form input { width:100%; min-height:42px; }
.auth-form input[type=radio] { width:20px; min-height:20px; }
.auth-form .intention-options { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:0; border:0; margin:8px 0; }
.intention-options legend { font-weight:650; margin-bottom:8px; }
.intention-options label { display:flex; gap:8px; min-height:65px; align-items:center; padding:10px; border:1px solid var(--border); border-radius:9px; cursor:pointer; font-size:.82rem; }
.intention-options label:has(input:checked) { background:var(--brand-soft); border-color:var(--brand); }
.password-control { display:flex; position:relative; gap:6px; }
.password-control input { min-width:0; padding-right:78px; }
.password-toggle { position:absolute; right:4px; top:3px; bottom:3px; min-height:0; border:0; padding:3px 8px; color:var(--brand); background:transparent; font-size:.72rem; }
.password-guidance { font-size:.76rem; margin:5px 0 0; line-height:1.4; }
.password-guidance meter { width:100%; height:5px; display:block; margin:6px 0; }
.auth-form .errorlist { color:var(--danger); margin:0; padding-left:16px; font-size:.83rem; }
.auth-form .auth-submit { min-height:44px; }
.auth-footer { font-size:.85rem; margin:0; text-align:center; }
@media(min-width:801px) {
 body:not(.ui-density-touch):not(.ui-touch-comfort) .checklist-workshop .workshop-task>summary { min-height:54px; padding:4px 10px!important; }
 body .checklist-workshop .workshop-section-heading { min-height:48px; padding-block:4px; }
 body .checklist-workshop .workshop-heading { padding-bottom:12px; }
}
@media(min-width:1100px) {
 body.workspace-shell main { padding:20px 24px; max-width:none; }
 .workspace-shell .app-header,.workspace-shell .header-inner { min-height:54px; }
 .workspace-shell .header-inner { padding-block:6px; }
 .workspace-shell .brand { padding:18px 16px; min-height:95px; background:var(--sidebar-surface); color:var(--sidebar-ink); }
 .workspace-shell .brand-name { font-size:.95rem; color:var(--sidebar-ink); }
 .workspace-shell .brand-subtitle { font-size:.66rem; color:var(--muted); }
 .workspace-shell .nav-shell { background:var(--sidebar-surface); color:var(--sidebar-ink); top:95px; }
 .workspace-shell .app-nav { padding:12px; gap:4px; }
 .workspace-shell .app-nav >a,.workspace-shell .navigation-more >summary { min-height:42px; padding:9px 12px; font-size:.85rem; }
 .workspace-shell .workspace-organization .local-context { min-height:30px; padding-block:5px; }
 .workspace-shell .workspace-local { padding-block:4px; }
 .workspace-shell .workspace-local .local-context { padding:0; min-height:38px; }
 .workspace-shell .local-context select { min-height:34px; max-width:220px; font-size:.8rem; }
 .workspace-shell .workspace-organization { border-bottom:1px solid var(--border); }
 .workspace-shell .context-name small { display:none; }
}
@media(max-width:1099px) {
 .dashboard-workspace { grid-template-columns:1fr; }
 .dashboard-priorities { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .auth-page { gap:20px; margin-top:14px; padding:0 12px; grid-template-columns:minmax(180px,.7fr) minmax(380px,1.3fr); }
 .header-inner { padding:8px 14px; }
 .workspace-heading { flex-wrap:wrap; }
}
@media(max-width:700px) {
 body { --control-height:44px; --body-size:.9375rem; --card-padding:14px; --section-gap:14px; --line-height:58px; }
 body.ui-density-compact { --control-height:44px; }
 main,body.workspace-shell main { padding:14px 12px; }
 .header-inner { gap:10px; flex-wrap:wrap; }
 .brand-subtitle { display:none; }
 .header-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px; width:100%; }
 .identity { width:auto; gap:6px; flex-wrap:nowrap; }
 .mode-switch { width:auto; margin:0; padding:3px; gap:3px; }
 .mode-switch button { width:auto; font-size:.75rem; padding:6px; min-height:44px; }
 .workshop-title { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
 .checklist-workshop .workshop-title h1 { font-size:1.3rem; }
 .workshop-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 8px; }
 .workshop-actions >a { display:flex; align-items:center; min-height:44px; padding:4px 0; }
 .workshop-actions >button { font-size:.75rem; }
 .workshop-actions .publication-review { grid-column:1/-1; }
 .identity >a { font-size:.75rem; min-height:44px; display:inline-flex; align-items:center; }
 .app-nav >a,.app-nav summary { min-height:44px; }
 .password-toggle { display:inline-flex; align-items:center; gap:4px; }
 .identity-name { display:none; }
 .mode-switch .mode-label { display:none; }
 .app-context { padding:0 12px; }
 .local-context { flex-wrap:wrap; gap:8px; }
 .context-name strong { font-size:.74rem; }
 .dashboard-hero { min-height:92px; background-size:420px 130px; padding:4px 0 12px; }
 .dashboard-hero h1 { font-size:1.85rem; }
 .hero-date { display:none; }
 .metrics-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .metric,.metric.widget-compact { min-height:115px; padding:12px; }
 .metric-pair { grid-column:span 2; }
 .dashboard-priorities { grid-template-columns:1fr; }
 .dashboard-lower .activity-chart { padding:15px 12px 8px; }
 .auth-page { display:block; margin:8px auto 24px; padding:0; }
 .auth-welcome { padding:0 8px 12px; }
 .auth-welcome h1 { max-width:none; font-size:1.9rem; margin:8px 0; }
 .auth-welcome p { max-width:none; font-size:.875rem; margin:0; }
 .auth-landscape { display:none; }
 .auth-form { padding:18px 14px; }
 .auth-form .form-grid { grid-template-columns:1fr; gap:12px; }
 .auth-form .intention-options { grid-template-columns:1fr; }
 .intention-options label { min-height:44px; }
 .password-toggle { min-width:72px; }
 .form-grid { grid-template-columns:1fr; }
 .field-home .field-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .field-home .field-tile { min-height:105px; padding:12px; }
 .field-home .field-tile span { font-size:.78rem; }
 .setup-first-run >summary { min-height:44px; }
 .action-scope-row >summary { min-height:44px; }
 .mission-row { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
