/* Shared design system: MYDS-inspired primitives, semantic aliases and scales. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./assets/inter-latin-400-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/poppins-latin-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/poppins-latin-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./assets/poppins-latin-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url(./assets/space-grotesk-latin.woff2) format('woff2')}
@font-face{font-family:'Redaction 20';font-style:normal;font-weight:400;font-display:swap;src:url(./assets/redaction-20-latin.woff2) format('woff2')}
@font-face{font-family:'Redaction 20';font-style:normal;font-weight:700;font-display:swap;src:url(./assets/redaction-20-bold-latin.woff2) format('woff2')}
:root{
--blue-50:#edf3fc;--blue-100:#dce7fa;--blue-500:#3b73d1;--blue-700:#2458b5;--blue-800:#19458f;--blue-950:#182f4b;
--red-50:#fff1ed;--red-500:#ef4444;--red-700:#a93536;
--yellow-50:#fff8e3;--yellow-100:#f7e8bd;--yellow-400:#e7bf58;--yellow-700:#775317;
--green-50:#edf7f1;--green-500:#22c55e;--green-700:#1b6a50;
--neutral-0:#ffffff;--neutral-25:#fbfaf6;--neutral-50:#f7f5ef;--neutral-100:#f0eee7;--neutral-200:#e4e2da;--neutral-300:#8d918f;--neutral-500:#68717c;--neutral-600:#5c6674;--neutral-800:#344359;--neutral-950:#182b41;
--amber-50:var(--yellow-50);--amber-600:var(--yellow-700);--rose-50:var(--red-50);--rose-700:var(--red-700);
--civic-blue:var(--blue-700);--civic-blue-deep:var(--blue-800);--civic-blue-soft:var(--blue-50);--civic-red:var(--red-700);--civic-red-soft:var(--red-50);--civic-yellow:var(--yellow-400);--civic-yellow-soft:var(--yellow-50);--civic-yellow-ink:var(--yellow-700);--civic-green:var(--green-700);--civic-green-soft:var(--green-50);
--bg:var(--neutral-50);--surface:var(--neutral-0);--surface-subtle:var(--neutral-25);--fg:var(--neutral-950);--fg-muted:var(--neutral-600);--border:var(--neutral-200);--accent:var(--civic-blue);--accent-hover:var(--civic-blue-deep);--accent-fg:var(--neutral-0);--accent-soft:var(--civic-blue-soft);--warning:var(--yellow-700);--warning-bg:var(--yellow-50);--danger:var(--red-700);--danger-bg:var(--red-50);--info:var(--civic-blue);--info-bg:var(--blue-50);--success:var(--civic-green);--success-bg:var(--green-50);--focus:var(--blue-500);--hero-bg:var(--yellow-100);--hero-fg:var(--blue-950);--hero-muted:var(--neutral-800);--pattern-color:var(--yellow-400);--overlay:#18181b80;
/* Compatibility aliases keep existing components on the shared palette. */
--teal-50:var(--blue-50);--teal-100:var(--blue-100);--teal-500:var(--blue-500);--teal-700:var(--blue-700);--teal-800:var(--blue-800);--teal-950:var(--blue-950);
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;
--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;
--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.5rem;--text-5xl:3.125rem;
--shadow-sm:0 1px 2px #182b4104,0 4px 14px #182b4105;--shadow-md:0 6px 24px #182b410a;--shadow-lg:0 20px 60px #18181b24;
--dur-fast:140ms;--dur-normal:220ms;--ease-out:cubic-bezier(0,0,.2,1);--sidebar-width:208px;--control:44px;--hairline:1px;--ring:3px;--leading:1.55;--font:'Space Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
--texture-paper:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22180%22%20height%3D%22180%22%20viewBox%3D%220%200%20180%20180%22%3E%3Cfilter%20id%3D%22grain%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.86%22%20numOctaves%3D%223%22%20stitchTiles%3D%22stitch%22%20seed%3D%228%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3CfeComponentTransfer%3E%3CfeFuncA%20type%3D%22linear%22%20slope%3D%22.11%22%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%22180%22%20height%3D%22180%22%20filter%3D%22url%28%23grain%29%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E");
--texture-fibre:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22360%22%20height%3D%22180%22%20viewBox%3D%220%200%20360%20180%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238c7752%22%20stroke-width%3D%22.45%22%20opacity%3D%22.055%22%3E%3Cpath%20d%3D%22M9%2013q18%202%2035%200m42%2030q30-2%2050%200m56-23q28%202%2048%200m41%2037%2035-1M25%2099l47-1m50-23%2037%201m52%2031q26-2%2050%200m34-23%2044%201M4%20157l56-1m36-22%2035%201m56%2031%2042-1m38-30%2053%201%22%2F%3E%3Cpath%20d%3D%22m44%2011%201%2013m95%2019-1%2012m110-39%201%2014M73%2097l1%2012m86-35-1%2013m103%2032%201%2014M59%20155l1%2012m171-5-1%2012m91-38%201%2012%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
--surface-warm:var(--surface);--surface-border:var(--border);--paper-shadow:0 1px 2px #3f35250a,0 8px 24px #3f352505;
--button-radius:12px;--button-blue-top:#2458b5;--button-blue-bottom:#163e90;--button-blue-edge:#15387b;
--button-light-edge:#d5d2c8;--button-highlight:#ffffff33;--button-inset-shade:#10275914;--button-lift-shadow:0 7px 16px #152c5324;
--button-primary-shadow:inset 0 1px 0 #ffffff36,inset 0 -1px 0 #182b411f,0 2px 4px #182f4b18;
--button-secondary-shadow:inset 0 1px 0 #ffffff,0 1px 2px #182b4108;--control-shadow:0 1px 2px #18181b03;
--motion-micro:180ms;--motion-view:220ms;--ease-soft:cubic-bezier(.2,.8,.2,1);--motion-lift:2px;--motion-shift:3px;
--font-heading:'Space Grotesk',var(--font);--font-display:'Redaction 20',Georgia,serif;--brand-bg:#0e0f12;--brand-surface:#181a1f;--brand-ink:#e9eaed;--brand-muted:#b2b5bc;--brand-line:#383c45;--content-width:1440px;--resident-width:1180px;--navy:var(--blue-950);--control-border:var(--neutral-300);
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--text-base);line-height:var(--leading);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:var(--ring) solid var(--focus);outline-offset:var(--space-1)}svg{flex-shrink:0;vertical-align:middle}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.25;letter-spacing:-.025em}h1{font-size:clamp(1.6rem,2.5vw,2.1rem);font-weight:650;margin-bottom:var(--space-3)}h2{font-size:var(--text-2xl);font-weight:650;margin-bottom:var(--space-4)}h3{font-size:var(--text-lg);font-weight:650;margin-bottom:var(--space-2)}p{margin-bottom:var(--space-4)}small,.small{font-size:var(--text-sm)}strong{font-weight:650}.muted{color:var(--fg-muted)}.eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--accent);margin-bottom:var(--space-3)}.lede{color:var(--fg-muted);max-width:65ch}.row{display:flex;align-items:center;gap:var(--space-3)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.divider{height:var(--hairline);background:var(--border);margin:var(--space-6) 0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin:var(--space-8) 0 var(--space-4)}.section-title h2,.section-title h3{margin:0}.tag{display:inline-flex;align-items:center;gap:var(--space-1);border:var(--hairline) solid var(--border);background:var(--surface-subtle);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--fg-muted)}
.demo-ribbon{min-height:var(--space-8);padding:var(--space-1) var(--space-6);display:flex;justify-content:center;gap:var(--space-2);align-items:center;background:var(--teal-950);color:var(--teal-50);font-size:var(--text-xs);letter-spacing:.015em}.ribbon-label{font-weight:700;letter-spacing:.1em}.app-topbar{background:var(--surface);border-bottom:var(--hairline) solid var(--border);padding:var(--space-4) var(--space-8);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.brand{display:flex;align-items:center;gap:var(--space-3);color:var(--fg);white-space:nowrap}.brand-mark{display:grid;place-items:center;width:var(--space-10);height:var(--space-10);border-radius:var(--radius-md);background:var(--accent);color:var(--accent-fg);font-size:var(--text-2xl);font-weight:750;line-height:1;letter-spacing:-.15em;padding-right:var(--space-1)}.brand-name{font-size:var(--text-base);font-weight:750;letter-spacing:.06em;line-height:1.3}.brand-sub{font-size:var(--text-xs);color:var(--fg-muted);letter-spacing:.015em}.role-switch{display:flex;gap:var(--space-1);padding:var(--space-1);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--bg)}.role-tab{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control);padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:550;background:transparent;color:var(--fg-muted);white-space:nowrap}.role-tab:hover{background:var(--surface)}.role-tab.active{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-sm)}.topbar-tools{display:flex;gap:var(--space-2);align-items:center}.language-button{border:var(--hairline) solid var(--border);background:var(--surface);border-radius:var(--radius-md);min-height:var(--control);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:600}.app-body{display:flex;min-height:calc(100vh - 120px)}.sidebar{width:var(--sidebar-width);flex-shrink:0;padding:var(--space-8) var(--space-4);border-right:var(--hairline) solid var(--border);display:flex;flex-direction:column;gap:var(--space-6);background:var(--surface-subtle)}.sidebar-label{font-size:var(--text-xs);font-weight:650;color:var(--fg-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 var(--space-3) var(--space-3)}.side-nav{display:flex;flex-direction:column;gap:var(--space-1)}.nav-link{border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);min-height:var(--space-12);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--fg-muted);font-weight:550}.nav-link:hover{background:var(--neutral-100)}.nav-link.active{background:var(--teal-100);color:var(--accent)}.nav-count{margin-left:auto;background:var(--surface);font-size:var(--text-xs);border-radius:var(--radius-sm);padding:0 var(--space-2)}.sidebar-guide{padding:var(--space-4);background:var(--accent-soft);border:var(--hairline) solid var(--teal-100);border-radius:var(--radius-lg)}.sidebar-guide h3{font-size:var(--text-sm);margin-top:var(--space-3)}.sidebar-guide p{font-size:var(--text-xs);color:var(--fg-muted);line-height:1.6}.sidebar-footer{margin-top:auto;padding:var(--space-4) var(--space-3) 0;border-top:var(--hairline) solid var(--border)}.sidebar-footer p{font-size:var(--text-xs);margin:var(--space-2) 0}.profile-line{display:flex;align-items:center;gap:var(--space-2)}.avatar{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-pill);display:inline-grid;place-items:center;background:var(--teal-100);color:var(--accent);font-size:var(--text-sm);font-weight:650;flex-shrink:0}.profile-line .avatar{width:var(--space-8);height:var(--space-8)}.workspace{flex:1;min-width:0;max-width:1600px;margin:auto;padding:var(--space-6) var(--space-8) var(--space-12)}.workspace-content{animation:none}@keyframes enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6)}.page-header>div:first-child{min-width:0}.page-header p:last-child{margin-bottom:0}.page-header .eyebrow{margin-top:var(--space-1)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control);padding:var(--space-2) var(--space-4);border:var(--hairline) solid transparent;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);line-height:1.4;text-align:center;text-decoration:none;transition:transform var(--dur-fast) var(--ease-out)}.btn:hover{text-decoration:none}.btn:active,.icon-btn:active,.role-tab:active{transform:translateY(1px)}.btn-primary{color:var(--accent-fg);background:var(--accent);border-color:var(--accent)}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--fg)}.btn-secondary:hover{background-color:var(--surface-warm)}.btn-ghost{background:transparent;color:var(--accent);border-color:transparent}.btn-ghost:hover{background:var(--accent-soft)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.btn-sm{font-size:var(--text-xs);padding:var(--space-2) var(--space-3)}.icon-btn{display:inline-grid;place-items:center;min-width:var(--control);min-height:var(--control);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--fg-muted)}.icon-btn:hover{background:var(--neutral-100)}.panel{background:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);min-width:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.panel-header h2,.panel-header h3{margin:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--surface);border:var(--hairline) solid var(--border);padding:var(--space-5);border-radius:var(--radius-lg);min-width:0}.stat-label{font-size:var(--text-sm);color:var(--fg-muted);display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.stat-value{font-size:var(--text-3xl);line-height:1.1;font-weight:650;letter-spacing:-.04em;margin-bottom:var(--space-3);font-variant-numeric:tabular-nums}.stat-note{font-size:var(--text-xs);color:var(--fg-muted)}.stat-card.accent{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.stat-card.accent .stat-label,.stat-card.accent .stat-note{color:var(--teal-100)}.stat-card .stat-icon{margin-left:auto;color:var(--accent)}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--info-bg);color:var(--info);font-size:var(--text-sm);border:var(--hairline) solid transparent;display:flex;gap:var(--space-3);align-items:flex-start;margin-bottom:var(--space-5)}.notice p{margin:0}.notice-success{background:var(--accent-soft);color:var(--accent)}.notice-warning{background:var(--warning-bg);color:var(--warning)}.notice-danger{background:var(--danger-bg);color:var(--danger)}
.journey-strip{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-6);border:var(--hairline) solid var(--teal-100);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.journey-icon{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex-shrink:0}.journey-copy{flex:1;min-width:0}.journey-copy strong{display:block;font-size:var(--text-sm)}.journey-copy p{font-size:var(--text-xs);color:var(--fg-muted);margin:var(--space-1) 0 0}.journey-dots{display:flex;gap:var(--space-1);margin-left:auto}.journey-dots span{height:var(--space-1);width:var(--space-5);border-radius:var(--radius-pill);background:var(--border)}.journey-dots .complete{background:var(--accent)}.journey-step{font-size:var(--text-xs);font-weight:700;color:var(--accent)}
.badge{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap;border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:600;line-height:1.5}.status-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:currentColor}.status-new{background:var(--info-bg);color:var(--info)}.status-progress{background:var(--warning-bg);color:var(--warning)}.status-referred{background:var(--neutral-100);color:var(--fg-muted)}.status-resolved{background:var(--accent-soft);color:var(--accent)}.case-list{display:flex;flex-direction:column;gap:var(--space-3)}.case-card{display:block;width:100%;text-align:left;padding:var(--space-4);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--fg)}.case-card:hover{border-color:var(--accent);background:var(--surface-subtle);text-decoration:none}.case-card h3{font-size:var(--text-base);margin:var(--space-2) 0}.case-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-xs);color:var(--fg-muted);align-items:center}.case-reference{font-family:ui-monospace,monospace;font-size:var(--text-xs);color:var(--fg-muted)}.case-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.timeline{list-style:none;margin:0;padding:0}.timeline-item{display:flex;position:relative;gap:var(--space-4);padding-bottom:var(--space-6)}.timeline-item:not(:last-child):before{content:'';position:absolute;top:var(--space-6);left:11px;bottom:0;width:var(--hairline);background:var(--border)}.timeline-dot{display:grid;place-items:center;border-radius:var(--radius-pill);width:var(--space-6);height:var(--space-6);background:var(--accent-soft);color:var(--accent);flex-shrink:0;position:relative}.timeline-content{flex:1}.timeline-content p{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--fg-muted)}.timeline-content time{font-size:var(--text-xs);color:var(--fg-muted)}.message{padding:var(--space-4);border-radius:var(--radius-md);border:var(--hairline) solid var(--border);margin-bottom:var(--space-3);font-size:var(--text-sm);overflow-wrap:anywhere}.message p{white-space:pre-wrap;margin:var(--space-2) 0 0}.message-office{background:var(--accent-soft);border-color:var(--teal-100)}.message-internal{background:var(--warning-bg)}.message-meta{display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);color:var(--fg-muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.field.full{grid-column:1/-1}.field label,.field-label{font-size:var(--text-sm);font-weight:600;color:var(--fg)}.field small{font-size:var(--text-xs);color:var(--fg-muted)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;min-height:var(--control);border:var(--hairline) solid var(--neutral-300);border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface);color:var(--fg);font-size:var(--text-sm)}textarea{resize:vertical;min-height:104px;line-height:var(--leading)}input::placeholder,textarea::placeholder{color:var(--neutral-500)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:var(--space-5);height:var(--space-5);flex-shrink:0}.check-field{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);padding:var(--space-2) 0}.check-field input{margin-top:var(--space-1)}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.field-error{color:var(--danger);font-size:var(--text-xs);margin:0}.toolbar{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-5)}.search-field{position:relative;flex:1;min-width:160px}.search-field svg{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--fg-muted)}.search-field input{padding-left:var(--space-10)!important}.filters{display:flex;gap:var(--space-2);flex-wrap:wrap}.toolbar select{width:auto;max-width:220px}.table-wrap{overflow-x:auto;border:var(--hairline) solid var(--border);border-radius:var(--radius-lg)}.data-table{width:100%;border-collapse:collapse;text-align:left;background:var(--surface);font-size:var(--text-sm)}.data-table th{background:var(--surface-subtle);font-size:var(--text-xs);font-weight:600;color:var(--fg-muted);padding:var(--space-3) var(--space-4);white-space:nowrap}.data-table td{padding:var(--space-4);border-top:var(--hairline) solid var(--border);vertical-align:middle}.data-table tr:hover td{background:var(--surface-subtle)}.data-table td .btn{white-space:nowrap}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--fg-muted)}.empty-state svg{margin-bottom:var(--space-4);color:var(--accent)}.empty-state p{max-width:45ch;margin:var(--space-2) auto 0}.progress-bar{height:var(--space-2);background:var(--neutral-100);border-radius:var(--radius-pill);overflow:hidden}.progress-bar span{height:100%;display:block;background:var(--accent);border-radius:inherit}.rating-stars{display:flex;gap:var(--space-2)}.rating-stars button{width:var(--space-12);height:var(--space-12);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--warning)}.rating-stars button.selected{background:var(--warning-bg);border-color:var(--warning)}.rating-stars button.selected svg{fill:currentColor}.hero-card{background:var(--teal-100);border-radius:var(--radius-xl);padding:var(--space-8);position:relative;overflow:hidden}.hero-card h1{font-size:clamp(1.8rem,3vw,2.7rem);max-width:18ch;color:var(--teal-950)}.hero-card p{max-width:48ch;color:var(--teal-800)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.feature-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);background:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);color:var(--fg);text-align:left}.feature-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);text-decoration:none}.feature-card h3{margin:0}.feature-card p{font-size:var(--text-sm);color:var(--fg-muted);margin:0}.feature-icon{display:grid;place-items:center;width:var(--space-12);height:var(--space-12);background:var(--accent-soft);border-radius:var(--radius-md);color:var(--accent)}.info-card{padding:var(--space-5);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface-subtle)}
.executive-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6)}.period-control{min-width:200px}.data-provenance{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;font-size:var(--text-xs);color:var(--fg-muted);margin:var(--space-5) 0}.data-provenance span{display:flex;align-items:center;gap:var(--space-1)}.chart-row{display:grid;grid-template-columns:150px 1fr 32px;gap:var(--space-3);align-items:center;margin:var(--space-5) 0;font-size:var(--text-sm)}.chart-row strong{text-align:right}.chart-track{height:var(--space-2);background:var(--neutral-100);border-radius:var(--radius-pill);overflow:hidden}.chart-fill{height:100%;background:var(--accent);border-radius:inherit}.pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.pillar{padding:var(--space-6);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:flex;flex-direction:column;gap:var(--space-3)}.pillar-icon{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-md);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.pillar h3{margin:0}.pillar-value{font-size:var(--text-3xl);font-weight:650;letter-spacing:-.04em}.pillar .small{font-size:var(--text-xs)}.pillar .btn{margin-top:auto;align-self:flex-start}.area-overview{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-6)}.area-illustration{border-radius:var(--radius-md);background:var(--accent-soft);position:relative;overflow:hidden;min-height:220px;display:flex;align-items:center;justify-content:center}.area-illustration .town-art{width:100%;max-width:400px}.area-illustration .map-label{position:absolute;left:var(--space-4);top:var(--space-4);font-size:var(--text-xs);font-weight:650;color:var(--accent)}.report-sheet{background:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);padding:var(--space-10);max-width:900px;margin:0 auto}.report-masthead{display:flex;justify-content:space-between;gap:var(--space-6);border-bottom:var(--hairline) solid var(--border);padding-bottom:var(--space-6);margin-bottom:var(--space-6)}.report-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);border-bottom:var(--hairline) solid var(--border);padding-bottom:var(--space-6);margin-bottom:var(--space-6)}.report-stat-grid strong{display:block;font-size:var(--text-2xl)}.report-stat-grid span{font-size:var(--text-xs);color:var(--fg-muted)}.report-section{margin:var(--space-6) 0}.report-section h2{font-size:var(--text-lg)}.report-section ul{padding-left:var(--space-5);font-size:var(--text-sm)}.report-section li{margin-bottom:var(--space-2)}.report-note{font-size:var(--text-xs);padding-top:var(--space-6);border-top:var(--hairline) solid var(--border);color:var(--fg-muted)}.report-controls{max-width:900px;margin:0 auto var(--space-5);display:flex;justify-content:flex-end;gap:var(--space-3)}
dialog{border:var(--hairline) solid var(--border);border-radius:var(--radius-xl);padding:var(--space-8);width:min(600px,calc(100% - 32px));max-height:90dvh;overflow:auto;color:var(--fg);box-shadow:var(--shadow-lg);background:var(--surface)}dialog::backdrop{background:var(--overlay);backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-6)}.dialog-header h2{margin-bottom:var(--space-2)}.guide-steps{list-style:none;padding:0;margin:var(--space-6) 0;counter-reset:step}.guide-steps li{display:flex;gap:var(--space-4);padding:var(--space-3) 0;counter-increment:step;font-size:var(--text-sm)}.guide-steps li:before{content:counter(step);width:var(--space-8);height:var(--space-8);display:grid;place-items:center;flex-shrink:0;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-weight:700}.guide-steps p{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--fg-muted)}.toasts{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:50;max-width:min(420px,calc(100vw - 32px));display:flex;flex-direction:column;gap:var(--space-2)}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:var(--hairline) solid var(--teal-100);border-radius:var(--radius-md);background:var(--teal-950);color:var(--neutral-0);font-size:var(--text-sm);box-shadow:var(--shadow-md);animation:enter var(--dur-normal) var(--ease-out)}.app-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-10);padding-top:var(--space-5);border-top:var(--hairline) solid var(--border);font-size:var(--text-xs);color:var(--fg-muted)}.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4)}.skip-link{position:fixed;z-index:100;top:var(--space-2);left:var(--space-2);transform:translateY(-200%);padding:var(--space-3);background:var(--accent);color:var(--accent-fg)}.skip-link:focus{transform:none}.storage-warning{margin-bottom:var(--space-4)}.mobile-nav{display:none}.mini-label{font-size:var(--text-xs);color:var(--fg-muted);font-weight:600}.pill-button{padding:var(--space-2) var(--space-4);border:var(--hairline) solid var(--border);border-radius:var(--radius-pill);min-height:var(--control);background:var(--surface);font-size:var(--text-sm);color:var(--fg-muted)}.pill-button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
@media(min-width:1700px){.workspace{padding:var(--space-8) var(--space-12)}}
@media(max-width:1200px){.brand-sub{display:none}.app-topbar{padding:var(--space-4) var(--space-5);gap:var(--space-3)}.role-tab{padding:var(--space-2) var(--space-3)}.sidebar{--sidebar-width:200px;padding:var(--space-6) var(--space-3)}.workspace{padding:var(--space-6)}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-dots{display:none}}
@media(max-width:900px){.sidebar{display:none}.app-topbar{flex-wrap:wrap}.brand{flex:1}.role-switch{order:3;width:100%}.role-tab{flex:1}.mobile-nav{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);overflow-x:auto;border-bottom:var(--hairline) solid var(--border);background:var(--surface-subtle)}.mobile-nav .nav-link{flex-shrink:0;min-height:var(--control);padding:var(--space-2) var(--space-3)}.workspace{padding:var(--space-5);margin:0}.app-body{min-height:calc(100vh - 220px)}.area-overview{grid-template-columns:1fr 1fr}.journey-strip{gap:var(--space-3)}}
@media(max-width:640px){.demo-ribbon{font-size:10px;padding:var(--space-2) var(--space-3);line-height:1.4;text-align:center}.app-topbar{padding:var(--space-3) var(--space-4)}.brand-name{font-size:var(--text-sm)}.topbar-tools .help-label{display:none}.brand-mark{width:var(--space-8);height:var(--space-8);font-size:var(--text-xl)}.role-tab{gap:var(--space-1);font-size:var(--text-xs);padding:var(--space-2)}.workspace{padding:var(--space-4)}.journey-strip{flex-wrap:wrap;padding:var(--space-3)}.journey-strip .journey-icon{display:none}.journey-strip .btn{width:100%}.journey-copy{flex-basis:75%}.page-header,.executive-heading{flex-direction:column;gap:var(--space-4)}.page-header>.btn{width:100%}.grid-2,.grid-3,.feature-grid,.pillar-grid,.form-grid,.area-overview{grid-template-columns:1fr}.stat-grid{gap:var(--space-3)}.stat-card{padding:var(--space-4)}.stat-value{font-size:var(--text-2xl)}.panel{padding:var(--space-5)}.hero-card{padding:var(--space-6)}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions .btn{width:100%}.chart-row{grid-template-columns:112px 1fr 28px;font-size:var(--text-xs);gap:var(--space-2)}.report-sheet{padding:var(--space-5)}.report-masthead{flex-direction:column;gap:var(--space-3)}.report-stat-grid{grid-template-columns:repeat(2,1fr)}.report-controls .btn{flex:1}.period-control{width:100%}.period-control select{width:100%}.app-footer{font-size:10px}.section-title{align-items:flex-start}.toasts{right:var(--space-4);bottom:var(--space-4)}dialog{padding:var(--space-6)}.toolbar select{max-width:100%;flex:1}.toolbar{gap:var(--space-2)}.table-wrap{margin:0 calc(-1 * var(--space-1))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.workspace-content{animation:none}}
@media print{body{background:white;color:black;font-size:11px}.demo-ribbon,.app-topbar,.sidebar,.mobile-nav,.journey-strip,.report-controls,.app-footer,.toasts,.skip-link,.executive-heading,.storage-warning{display:none!important}.workspace,.app-body{display:block;padding:0;margin:0;max-width:none}.report-sheet{border:0;padding:0;max-width:none;box-shadow:none}.report-section{break-inside:avoid}.report-stat-grid{grid-template-columns:repeat(4,1fr)}.report-sheet h1{font-size:24px}@page{size:A4;margin:16mm}}

.mobile-only-tools{display:none}@media(max-width:900px){.mobile-only-tools{display:flex;gap:var(--space-2)}}

.brand{min-height:var(--control)}
@media(max-width:640px){.role-tab{min-width:0;white-space:normal;line-height:1.3}.role-tab span{min-width:0}.role-switch{min-width:0}.demo-ribbon{font-size:var(--text-xs)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-size:var(--text-base)}.topbar-tools{flex-shrink:0}.brand{min-width:0}}

input[type=checkbox]{width:var(--space-6);height:var(--space-6);min-width:var(--space-6)}.check-field{min-height:var(--control)}


/* Shared MYDS-inspired product chrome. Resident navigation is horizontal;
   professional workspaces keep a compact persistent sidebar. */
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;letter-spacing:-.025em}h1{font-size:clamp(1.5rem,2vw,1.875rem);line-height:1.35}h2{font-size:var(--text-xl);line-height:1.4}h3{font-size:var(--text-base);line-height:1.5}
body{background-image:none}.demo-ribbon{justify-content:flex-start;background:var(--neutral-100);color:var(--fg-muted);border-bottom:var(--hairline) solid var(--border);letter-spacing:0;padding-inline:var(--space-8)}.ribbon-label{color:var(--accent);letter-spacing:.04em}
.app-topbar{padding-block:var(--space-4);background:var(--surface);gap:var(--space-5)}.brand{min-width:0;gap:var(--space-3)}.brand:hover{text-decoration:none}.brand-mark{width:var(--space-10);height:var(--space-10);color:var(--civic-red);background:transparent;padding:0;letter-spacing:0;box-shadow:none}.brand-mark svg{width:var(--space-8);height:var(--space-8)}.brand-name{font-family:var(--font-heading);color:var(--fg);font-size:var(--text-sm);letter-spacing:.015em;font-weight:600}.brand-sub{display:block;font-size:var(--text-xs);font-weight:400}.role-switch{background:var(--neutral-100);border:0;border-radius:var(--radius-md)}.role-tab{border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500}.role-tab.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm);outline:var(--hairline) solid var(--border)}.role-tab:not(.active):hover{color:var(--fg)}.language-button{color:var(--fg)}
.sidebar{background:var(--surface);padding-top:var(--space-6);gap:var(--space-5)}.sidebar-label{font-size:var(--text-xs);letter-spacing:0;text-transform:none;font-weight:500}.nav-link{min-height:var(--control);padding:var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm);font-weight:500}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.nav-count{background:var(--surface);border:var(--hairline) solid var(--border);font-variant-numeric:tabular-nums}.sidebar-guide{padding:var(--space-4) var(--space-3);border:0;border-radius:0;background:transparent}.sidebar-guide>svg{display:none}.sidebar-guide h3{margin:0 0 var(--space-2);font-size:var(--text-xs);font-family:var(--font)}.sidebar-guide p{font-size:var(--text-xs);margin-bottom:var(--space-3)}.sidebar-guide .btn{width:100%;font-size:var(--text-xs);padding-inline:var(--space-2)}.sidebar-footer{padding-inline:var(--space-2)}.sidebar-footer .btn{justify-content:flex-start;padding-inline:var(--space-2);color:var(--fg-muted)}.avatar{background:var(--accent-soft);color:var(--accent)}
.workspace{max-width:var(--content-width);margin:0 auto;padding:var(--space-6) var(--space-8) var(--space-10);align-self:flex-start}.workspace-content{min-width:0}.panel,.stat-card,.pillar{box-shadow:var(--shadow-sm);border-radius:var(--radius-md)}.panel-header h2{font-size:var(--text-base)}.page-header h1,.executive-heading h1{color:var(--fg)}.page-header .eyebrow{font-size:var(--text-xs);letter-spacing:.04em;color:var(--fg-muted)}
.journey-strip{padding:var(--space-3) var(--space-4);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:none;gap:var(--space-3);margin-bottom:var(--space-6)}.journey-icon{background:var(--accent-soft);color:var(--accent);height:var(--space-8);width:var(--space-8)}.journey-copy strong{font-size:var(--text-sm);font-weight:600}.journey-copy p{font-size:var(--text-xs)}.journey-dots{display:none}.journey-step{font-variant-numeric:tabular-nums;color:var(--fg-muted);white-space:nowrap}.journey-strip .btn{font-size:var(--text-xs);white-space:nowrap}
.btn,.icon-btn,.language-button{position:relative;min-height:var(--control);border-radius:var(--button-radius);transition:transform var(--motion-micro) var(--ease-out),opacity var(--motion-micro) var(--ease-out);background-image:none}.btn{font-weight:500;padding:var(--space-2) var(--space-4);letter-spacing:0}.btn-primary{background:var(--accent);border-color:var(--accent);box-shadow:var(--button-primary-shadow)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary,.icon-btn,.language-button{background:var(--surface);border-color:var(--border);color:var(--fg);box-shadow:var(--button-secondary-shadow)}.btn-secondary:hover,.icon-btn:hover,.language-button:hover{background:var(--neutral-100)}.btn-ghost{color:var(--accent);background:transparent;box-shadow:none}.btn-sm{font-size:var(--text-xs)}.btn:disabled{transform:none;opacity:.5}.btn>svg[data-icon=arrow-right]{transition:transform var(--motion-micro) var(--ease-out)}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border-color:var(--control-border);border-radius:var(--radius-sm);font-size:var(--text-sm);box-shadow:var(--control-shadow)}.field label{font-weight:500}.tag{background:var(--surface);border-radius:var(--radius-sm);color:var(--fg-muted)}.badge{font-weight:500}.status-resolved,.notice-success{background:var(--success-bg);color:var(--success)}.status-progress{background:var(--warning-bg);color:var(--warning)}.status-referred{background:var(--accent-soft);color:var(--accent)}.notice{line-height:1.6}.message-office{background:var(--surface);border-color:var(--border)}.message-internal{background:var(--warning-bg)}.stat-card.accent{background:var(--surface);color:var(--fg);border-color:var(--border)}.stat-card.accent .stat-label,.stat-card.accent .stat-note{color:var(--fg-muted)}.stat-value{font-weight:600;font-size:var(--text-3xl);letter-spacing:-.025em}.status-dot{width:6px;height:6px}
.data-table th{background:var(--surface-subtle);font-weight:500}.data-table td{padding-block:var(--space-3)}.chart-track{background:var(--neutral-100)}.chart-fill{background:var(--accent)}.progress-bar>span{background:var(--accent)}.app-footer{font-size:var(--text-xs)}
body[data-workspace=resident] .sidebar{display:none}body[data-workspace=resident] .workspace{width:100%;max-width:var(--resident-width);padding-top:var(--space-6)}body[data-workspace=resident] .mobile-nav{display:flex;justify-content:center;gap:var(--space-2);background:var(--surface);padding:var(--space-2) var(--space-6);border-bottom:var(--hairline) solid var(--border);overflow-x:auto}body[data-workspace=resident] .mobile-nav .nav-link{white-space:nowrap;flex-shrink:0;padding:var(--space-2) var(--space-4)}body[data-workspace=resident] .mobile-nav .nav-link.active{background:var(--accent-soft)}
.workspace-content.is-entering{animation:view-enter var(--motion-view) var(--ease-out) both}@keyframes view-enter{from{opacity:0;transform:translateY(var(--motion-shift))}to{opacity:1;transform:none}}dialog[open]{animation:dialog-enter var(--motion-view) var(--ease-out) both}@keyframes dialog-enter{from{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.btn:not(:disabled):hover,.icon-btn:hover,.language-button:hover{transform:translateY(calc(-1 * var(--hairline)))}.btn:not(:disabled):hover>svg[data-icon=arrow-right]{transform:translateX(var(--motion-lift))}}.btn:not(:disabled):active,.icon-btn:active,.language-button:active{transform:translateY(var(--hairline))}
#main:focus{outline:none}
@media(max-width:1100px){.brand-sub{display:none}.app-topbar{padding-inline:var(--space-5)}.role-tab{padding-inline:var(--space-3)}.workspace{padding-inline:var(--space-6)}}
@media(max-width:900px){.app-topbar{flex-wrap:wrap}.brand{flex:1}.brand-sub{display:block}.role-switch{order:3;width:100%}.role-tab{flex:1}.workspace{width:100%;padding:var(--space-5)}.mobile-nav{background:var(--surface)}.demo-ribbon{padding-inline:var(--space-5)}body[data-workspace=resident] .mobile-nav{justify-content:flex-start;padding-inline:var(--space-4)}body[data-workspace=resident] .workspace{padding-top:var(--space-5)}}
@media(max-width:640px){.app-topbar{padding:var(--space-3) var(--space-4);gap:var(--space-3)}.brand-name{font-size:var(--text-xs)}.brand-sub{font-size:var(--text-xs)}.brand-mark{width:var(--space-8);height:var(--space-8)}.brand-mark svg{width:var(--space-6);height:var(--space-6)}.role-tab{font-size:var(--text-xs);gap:var(--space-1);padding:var(--space-2);min-width:0;white-space:normal}.role-tab svg{width:var(--space-4)}.workspace{padding:var(--space-4)}.demo-ribbon{font-size:var(--text-xs);line-height:1.4;justify-content:center;padding:var(--space-2) var(--space-4)}.demo-ribbon>span:last-child{display:none}.demo-ribbon>span:nth-child(2){display:none}.journey-strip{padding:var(--space-3);gap:var(--space-2);margin-bottom:var(--space-5)}.journey-copy{flex-basis:calc(100% - 45px)}.journey-copy strong{font-size:var(--text-xs)}.journey-copy p{display:none}.journey-step{font-size:var(--text-xs)}.journey-strip .btn{width:auto;margin-left:auto;min-height:var(--control)}.panel{padding:var(--space-4)}.app-footer{font-size:var(--text-xs)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-size:var(--text-base)}body[data-workspace=resident] .mobile-nav .nav-link{font-size:var(--text-xs);gap:var(--space-2);padding-inline:var(--space-3)}}
@media(max-width:360px){.role-tab svg{display:none}.brand{gap:var(--space-1)}.brand-name{font-size:var(--text-xs)}.brand-sub{display:none!important}.topbar-tools{gap:var(--space-1)}.app-topbar{padding-inline:var(--space-3)}}
@media(prefers-reduced-motion:reduce){.workspace-content.is-entering,dialog[open]{animation:none;opacity:1;transform:none}.btn,.btn>svg,.icon-btn,.language-button{transition:none!important}.btn:hover,.btn:active,.btn:hover>svg,.icon-btn:hover,.icon-btn:active,.language-button:hover,.language-button:active{transform:none!important}}
@media print{.panel,.stat-card,.pillar{box-shadow:none}.mobile-nav{display:none!important}}

/* Accessible names that should not compete with visible form copy. */
.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}

body[data-workspace=resident] .mobile-only-tools{display:flex;gap:var(--space-2)}

/* Warm civic chrome: compact navigation, soft elevation and calm working surfaces. */
.app-topbar{min-height:76px;padding-block:var(--space-3);flex-wrap:nowrap;gap:var(--space-4)}
.topbar-tools{gap:var(--space-2);flex:0 0 auto}.brand{flex:0 1 auto}.brand-name{color:var(--navy)}
.role-picker{position:relative;flex:0 0 auto;z-index:40}.role-picker-trigger{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control);padding:var(--space-2) var(--space-3);border:var(--hairline) solid var(--border);border-radius:var(--button-radius);background:var(--surface-subtle);color:var(--fg);font-size:var(--text-sm);list-style:none;cursor:pointer;white-space:nowrap;user-select:none}
.role-picker-trigger::-webkit-details-marker{display:none}.role-picker-prefix{color:var(--fg-muted);font-size:var(--text-xs)}.role-picker-trigger strong{font-weight:600}.role-picker[open]>.role-picker-trigger{background:var(--accent-soft);color:var(--accent)}
.role-picker .role-switch{position:absolute;top:calc(100% + var(--space-2));right:0;display:flex;flex-direction:column;gap:var(--space-1);width:232px;order:initial;padding:var(--space-2);border:var(--hairline) solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg)}
.role-picker-caption{font-size:var(--text-xs);font-weight:600;color:var(--fg-muted);letter-spacing:.06em;margin:var(--space-2) var(--space-3)}
.role-picker .role-tab{width:100%;min-height:var(--control);justify-content:flex-start;padding:var(--space-3);gap:var(--space-3);white-space:nowrap;flex:none;color:var(--fg-muted)}.role-picker .role-tab.active{background:var(--accent-soft);color:var(--accent);outline:0;box-shadow:none}.role-picker .role-tab:hover{background:var(--surface-subtle)}.role-picker .role-tab:focus-visible{outline:var(--ring) solid var(--focus);outline-offset:calc(-1 * var(--ring))}.role-picker .role-tab>svg:last-child:not(:first-child){margin-left:auto}
.language-button{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.header-journey{white-space:nowrap}.header-journey-count{font-size:var(--text-xs);opacity:.85;border-left:var(--hairline) solid #ffffff40;padding-left:var(--space-2);font-variant-numeric:tabular-nums}
.btn-primary{font-weight:600}.btn-secondary{background:var(--surface-subtle);border-color:var(--border)}.btn-ghost{font-weight:500}.icon-btn,.language-button{background:var(--surface-subtle)}
.panel,.stat-card,.pillar{border-color:var(--border);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg)}.sidebar{background:var(--surface-subtle)}.sidebar-guide{border-top:var(--hairline) solid var(--border);padding-top:var(--space-4)}
.journey-strip{background:transparent;border:0;padding:0 0 var(--space-4);border-bottom:var(--hairline) solid var(--border);border-radius:0;margin-bottom:var(--space-5)}.journey-icon{background:var(--surface);color:var(--accent)}.journey-step{margin-left:auto}.journey-copy strong{font-weight:500}
@media screen and (max-width:900px){.app-topbar{min-height:68px}.role-picker .role-switch{width:220px}.brand{flex:0 1 auto}}
@media print{.role-picker,.header-journey{display:none!important}}

/* MyPolitik family: discovery in the parent, service delivery in NALURI. */
.app-topbar{background:var(--brand-bg);border-color:var(--brand-line)}.naluri-brand,.naluri-brand .brand-name{color:var(--brand-ink)}.naluri-brand .brand-name{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;letter-spacing:0;line-height:1.1}.naluri-brand .brand-name b{font-weight:700}.naluri-brand .brand-sub{color:var(--brand-muted);font-family:var(--font);margin-top:var(--space-1)}.naluri-brand .naluri-symbol{font-family:var(--font);font-size:var(--text-3xl);width:var(--space-8);height:var(--space-8);color:var(--brand-ink);font-weight:400}.naluri-brand:focus-visible{outline-color:var(--brand-ink)}
.app-topbar .role-picker-trigger,.app-topbar .language-button{background:var(--brand-surface);color:var(--brand-ink);border-color:var(--brand-line);box-shadow:none}.app-topbar .role-picker-prefix{color:var(--brand-muted)}.app-topbar .role-picker[open]>.role-picker-trigger{background:var(--brand-line);color:var(--brand-ink)}.app-topbar .role-picker-trigger:hover,.app-topbar .language-button:hover{background:var(--brand-line)}.app-topbar .header-journey{background:var(--brand-ink);border-color:var(--brand-ink);color:var(--brand-bg);box-shadow:inset 0 1px 0 #ffffff4d,0 1px 2px #0000001a}.app-topbar .header-journey:hover{background:var(--surface);border-color:var(--surface)}.header-journey-count{border-left-color:var(--brand-muted)}.app-topbar .role-picker-trigger:focus-visible,.app-topbar .language-button:focus-visible,.app-topbar .header-journey:focus-visible{outline-color:var(--brand-ink)}.role-current-icon{display:none}
h1,.rn-hero h1,.rn-detail-header h1,.office-page-header h1,.ex-heading h1{font-family:var(--font-display);font-weight:700;letter-spacing:0}.rn-hero h1{font-size:var(--text-4xl);line-height:1.2}.office-page-header h1,.ex-heading h1{font-size:var(--text-3xl);line-height:1.3}
.parent-discovery-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control);color:var(--fg-muted);font-size:var(--text-xs)}.parent-discovery-link:hover{color:var(--accent)}
