:root{--sans:"Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--shadow-card:0 1px 2px #0f172a0f;--shadow-auth:0 10px 24px #0f172a14;--color-brand-surface:#0f172a;--color-on-brand:#fff;--color-on-brand-muted:#cbd5e1;--color-brand-kicker:#7dd3fc;--color-brand-mark:#ffffff14;--duration:.18s;--ease:ease;--target:2.75rem;--gutter:clamp(1rem, 2.5vw, 2rem);--sidebar-width:16.25rem;--z-topbar:20;--z-scrim:30;--z-sidebar:40;--z-skip:100;color:var(--color-foreground);background:var(--color-background);font:16px/1.5 var(--sans)}[data-theme=light]{--color-primary:#0f172a;--color-on-primary:#fff;--color-secondary:#334155;--color-accent:#0369a1;--color-on-accent:#fff;--color-accent-text:#0369a1;--color-background:#f8fafc;--color-foreground:#020617;--color-card:#fff;--color-card-foreground:#020617;--color-muted:#e8ecf1;--color-muted-foreground:#475569;--color-border:#e2e8f0;--color-destructive:#dc2626;--color-on-destructive:#fff;--color-destructive-bg:#fef2f2;--color-ring:#0f172a;--color-nav-active:#e8ecf1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--color-primary:#e2e8f0;--color-on-primary:#020617;--color-secondary:#94a3b8;--color-accent:#0369a1;--color-on-accent:#fff;--color-accent-text:#7dd3fc;--color-background:#020617;--color-foreground:#f8fafc;--color-card:#0f172a;--color-card-foreground:#f8fafc;--color-muted:#1e293b;--color-muted-foreground:#94a3b8;--color-border:#1e293b;--color-destructive:#f87171;--color-on-destructive:#450a0a;--color-destructive-bg:#450a0a;--color-ring:#7dd3fc;--color-nav-active:#1e293b;--shadow-card:0 1px 2px #00000059;--shadow-auth:0 12px 28px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;min-height:100dvh;margin:0}body{min-height:100dvh}h1,h2,p{margin:0 0 var(--space-2)}h1{text-wrap:balance;font-size:1.5rem;font-weight:700;line-height:1.25}h2{font-size:1.05rem;font-weight:700}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--color-ring);outline-offset:2px}.muted,.lede{color:var(--color-muted-foreground)}.lede{font-size:1rem}.boot{min-height:100dvh;padding:var(--space-6);color:var(--color-muted-foreground);place-items:center;display:grid}.skip-link{left:var(--space-4);top:var(--space-4);z-index:var(--z-skip);padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-sm);position:absolute;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--target);padding:0 var(--space-4);border-radius:var(--radius-md);transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease), border-color var(--duration) var(--ease), opacity var(--duration) var(--ease);border:1px solid #0000;font-weight:700;display:inline-flex}.btn:disabled{opacity:.45}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover:not(:disabled){opacity:.92}.btn-ghost{border-color:var(--color-border);color:var(--color-accent-text);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-muted)}.btn-danger{border-color:var(--color-destructive);color:var(--color-destructive);background:0 0}.btn-danger:hover:not(:disabled){background:var(--color-destructive-bg)}.icon-btn{width:var(--target);height:var(--target);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-foreground);transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--color-muted)}.field{gap:var(--space-1);display:grid}.field label{font-size:.95rem;font-weight:700}.field-control{position:relative}.field-control .icon-btn{right:var(--space-1);background:0 0;border:0;width:2.25rem;height:2.25rem;position:absolute;top:50%;transform:translateY(-50%)}.field input,.field select,.field textarea{width:100%;min-height:var(--target);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-foreground);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease)}.field-control input{padding-right:var(--space-8)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--color-ring)}.field textarea{resize:vertical;min-height:5.5rem}.field-error{color:var(--color-destructive);margin:0;font-size:.9rem}.alert{background:var(--color-destructive-bg);color:var(--color-destructive);border:1px solid var(--color-destructive);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);gap:var(--space-2);display:grid}.alert:focus{outline:3px solid var(--color-ring);outline-offset:2px}.alert-title{margin:0;font-weight:700}.alert p{margin:0}.page{gap:var(--space-5);flex-direction:column;width:100%;min-height:100%;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;margin-bottom:0;display:flex}.page-header h1{margin-bottom:var(--space-1)}.page-header .lede{max-width:42rem;margin:0}.page-header-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.card,.stat-card{background:var(--color-card);color:var(--color-card-foreground);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.card{padding:var(--space-5)}.stats{gap:var(--space-3);grid-template-columns:1fr;width:100%;display:grid}.stat-card{padding:var(--space-5);align-content:space-between;gap:var(--space-2);min-height:8rem;display:grid}.stat-card strong{font-variant-numeric:tabular-nums;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;line-height:1.1;display:block}.stat-card span{color:var(--color-muted-foreground);font-size:.95rem}a.stat-card{transition:background-color var(--duration) var(--ease)}a.stat-card:hover{background:var(--color-muted)}.skeleton{background:var(--color-muted);border-radius:var(--radius-sm);display:block}.skeleton-value{width:3.5rem;height:1.75rem}.skeleton-row{width:100%;height:1.25rem}.filters{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:minmax(12rem,1fr) minmax(10rem,14rem);display:grid}.field select:focus-visible{border-color:var(--color-ring)}.municipality-context{gap:var(--space-3);margin:0 0 var(--space-5);min-width:0;display:grid}.context-crumb{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.context-crumb li{align-items:center;gap:var(--space-2);min-width:0;display:flex}.context-crumb li+li:before{content:"/";color:var(--color-muted-foreground)}.context-crumb a{min-height:var(--target);color:var(--color-accent-text);align-items:center;font-weight:700;display:inline-flex}.context-crumb-name{overflow-wrap:anywhere;font-weight:700}.context-crumb-dot{color:var(--color-muted-foreground)}.context-status{color:var(--color-foreground);font-size:.95rem;font-weight:500}.context-nav{gap:var(--space-2);overscroll-behavior-x:contain;min-width:0;max-width:100%;scroll-padding-inline:var(--space-3);padding:3px var(--space-3) var(--space-2);flex-wrap:nowrap;margin:0;display:flex;overflow-x:auto}.context-nav a{min-height:var(--target);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-foreground);border-bottom:2px solid #0000;flex:none;align-items:center;font-weight:500;display:inline-flex}.context-nav a:hover{background:var(--color-muted)}.context-nav a.is-active{background:var(--color-nav-active);border-bottom-color:var(--color-accent);color:var(--color-accent-text);font-weight:700}.context-nav-sep{background:var(--color-border);flex:none;align-self:center;width:1px;height:1.25rem}.attention{gap:var(--space-4);margin-top:var(--space-6);display:grid}.attention h2{margin-bottom:var(--space-3)}.table-wrap{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:36rem}.table th,.table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.table th{color:var(--color-muted-foreground);font-size:.85rem;font-weight:700}.table tbody tr:last-child td{border-bottom:0}.table-empty{color:var(--color-muted-foreground);text-align:center}.table a{color:var(--color-accent-text);font-weight:700}.meta-list{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin:0;display:grid}.meta-list div{gap:var(--space-1);display:grid}.meta-list dt{color:var(--color-muted-foreground);font-size:.85rem;font-weight:700}.meta-list dd{margin:0}.pagination{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.pagination p{margin:0}.pagination-actions{gap:var(--space-2);display:flex}.form-card{gap:var(--space-5);width:100%;max-width:56rem;display:grid}.form-fieldset{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);margin:0}.form-fieldset legend{padding:0 var(--space-2);font-weight:700}.form-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}.auth-page{background:var(--color-background);min-height:100dvh;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);grid-template-rows:auto 1fr;display:grid;overflow:auto}.auth-brand-panel{background:var(--color-brand-surface);color:var(--color-on-brand);border-bottom:1px solid var(--color-border);padding:var(--gutter)}.auth-brand-copy{align-items:center;gap:var(--space-3);max-width:28rem;display:flex}.auth-brand-text{min-width:0;display:grid}.auth-mark{border-radius:var(--radius-md);background:var(--color-brand-mark);width:3rem;height:3rem;color:var(--color-brand-kicker);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.auth-brand-panel h1{margin-bottom:var(--space-2);color:var(--color-on-brand);text-wrap:balance;font-size:1.35rem;line-height:1.2}.auth-brand-panel .lede{max-width:36rem;color:var(--color-on-brand-muted);margin:0}.auth-kicker{margin:0 0 var(--space-1);color:var(--color-brand-kicker);letter-spacing:.02em;font-weight:700}.auth-form-panel{min-height:0;padding:var(--gutter);justify-content:center;align-items:safe center;display:flex}.auth-card{background:var(--color-card);width:min(28rem,100%);color:var(--color-card-foreground);border:1px solid var(--color-border);border-top:3px solid var(--color-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-auth);padding:var(--space-5);gap:var(--space-4);display:grid}.auth-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.auth-card-head h2{margin:0}.auth-brand{gap:var(--space-1);display:grid}.auth-brand span,.brand span{color:var(--color-muted-foreground);font-size:.9rem}.auth-card .btn{width:100%}.shell{grid-template-columns:var(--sidebar-width) 1fr;height:100dvh;min-height:100dvh;display:grid}.sidebar{gap:var(--space-5);background:var(--color-card);border-right:1px solid var(--color-border);padding:var(--space-4);flex-direction:column;height:100%;min-height:0;display:flex;overflow:auto}.brand{gap:.15rem;display:grid}.brand strong{font-size:1.05rem}.sidebar-nav{gap:var(--space-1);display:grid}.nav-link{align-items:center;gap:var(--space-2);min-height:var(--target);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-foreground);transition:background-color var(--duration) var(--ease);border-left:3px solid #0000;font-weight:400;display:flex}.nav-link:hover{background:var(--color-muted)}.nav-link.is-active{background:var(--color-nav-active);border-left-color:var(--color-accent);font-weight:700}.sidebar-foot{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:auto;display:grid}.sidebar-user{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.sidebar-user p{overflow-wrap:anywhere;min-width:0;margin:0}.sidebar-foot .btn{width:100%}.main{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:auto}.menu-btn{display:none}.content{width:100%;min-width:0;padding:var(--gutter);padding-bottom:calc(var(--gutter) + env(safe-area-inset-bottom,0px));flex:1}.scrim{display:none}@media (width>=768px){.stats,.form-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1023px){.shell{grid-template-columns:1fr}.menu-btn{top:var(--gutter);left:var(--gutter);z-index:var(--z-topbar);display:inline-flex;position:absolute}.content{padding-top:calc(var(--gutter) + var(--target) + var(--space-3))}.sidebar{width:min(17.5rem,86vw);z-index:var(--z-sidebar);transition:transform var(--duration) var(--ease);border-right:1px solid var(--color-border);height:100dvh;position:fixed;inset:0 auto 0 0;transform:translate(-110%)}.sidebar.is-open{transform:translate(0)}.scrim{z-index:var(--z-scrim);background:#0206178c;border:0;padding:0;display:block;position:fixed;inset:0}.filters{grid-template-columns:1fr}}@media (width>=1024px){.stats{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.auth-page{grid-template-rows:none;grid-template-columns:minmax(18rem,2fr) minmax(22rem,3fr);height:100dvh}.auth-brand-panel{border-bottom:0;border-right:1px solid var(--color-border);padding:var(--space-8);place-items:center;display:grid}.auth-brand-copy{align-items:start;display:grid}.auth-mark{margin-bottom:var(--space-4)}.auth-brand-panel h1{font-size:2rem}.auth-card{padding:var(--space-6)}.auth-form-panel{padding:var(--space-6);align-items:safe center}}@media (width<=767px){.stats{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.form-grid-span{grid-column:1/-1}.form-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.tab-list{gap:var(--space-2);margin:0 0 var(--space-4);flex-wrap:wrap;flex-shrink:0;display:flex}.tab-list-sticky{z-index:4;gap:var(--space-2);min-height:var(--target);margin:0 0 var(--space-5);padding:var(--space-2) 0;background:var(--color-background);border-bottom:1px solid var(--color-border);flex-wrap:nowrap;flex-shrink:0;position:sticky;top:0;overflow-x:auto}.tab{align-items:center;gap:var(--space-2);min-height:var(--target);padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-foreground);font:inherit;cursor:pointer;flex-shrink:0;display:inline-flex}.tab.is-active{border-color:var(--color-accent);background:var(--color-nav-active);color:var(--color-accent-text);font-weight:600}.tab-list-sticky .tab{background:var(--color-card)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field-hint{color:var(--color-muted-foreground);margin:0;font-size:.85rem}.alert ul{margin:0;padding-left:1.15rem}.alert a{color:inherit;font-weight:700}.crumb{margin:0}.crumb ol{align-items:center;gap:var(--space-2);color:var(--color-muted-foreground);flex-wrap:wrap;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.crumb li:not(:last-child):after{content:"/";margin-left:var(--space-2);color:var(--color-muted-foreground)}.crumb a{color:var(--color-accent-text);font-weight:600}.crumb [aria-current=page]{color:var(--color-foreground);font-weight:600}.line-hero{gap:var(--space-4);padding:var(--space-5);background:var(--color-card);color:var(--color-card-foreground);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);min-height:8.5rem;display:grid}.line-hero-top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.line-hero-id{align-items:flex-start;gap:var(--space-4);min-width:0;display:flex}.line-hero-mark{min-width:3.25rem;min-height:3.25rem;padding:0 var(--space-2);border-radius:var(--radius-md);background:var(--color-mark);color:var(--color-on-mark);font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:center;align-items:center;font-size:1.15rem;font-weight:800;line-height:1;display:inline-flex}.line-hero-copy{gap:var(--space-2);min-width:0;display:grid}.line-hero-copy h1{text-wrap:balance;overflow-wrap:anywhere;max-inline-size:22ch;margin:0}.line-hero-kicker{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.line-hero-kicker .lede{margin:0}.line-route{align-items:center;gap:var(--space-2);color:var(--color-muted-foreground);flex-wrap:wrap;display:flex}.line-route svg,.eds-card-title svg,.empty-state svg{flex-shrink:0}.line-route strong{color:var(--color-foreground);font-weight:600}.line-hero-meta{color:var(--color-muted-foreground);margin:0;font-size:.9rem}.status-badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;max-width:100%;min-height:1.75rem;padding:0 .625rem;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.status-badge-accent{background:var(--color-nav-active);color:var(--color-accent-text)}.status-badge-neutral{background:var(--color-muted);color:var(--color-muted-foreground)}.status-badge-danger{background:var(--color-destructive-bg);color:var(--color-destructive)}.panel{gap:var(--space-4);display:grid}.panel-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.panel-head h2{margin:0}.panel-copy{color:var(--color-muted-foreground);max-width:42rem;margin:0}.empty-state{justify-items:start;gap:var(--space-3);padding:var(--space-6);background:var(--color-card);border:1px dashed var(--color-border);border-radius:var(--radius-md);display:grid}.empty-state-title{margin:0;font-size:1.05rem;font-weight:700}.eds-list{gap:var(--space-3);display:grid}.eds-card{gap:var(--space-3);padding:var(--space-4);background:var(--color-card);color:var(--color-card-foreground);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);min-height:var(--target);transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease);text-decoration:none;display:grid}.eds-card:hover{border-color:var(--color-accent);background:var(--color-muted)}.eds-card-top{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.eds-card-title{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.eds-card-title strong{font-size:1.05rem}.eds-card-meta{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin:0;display:grid}.eds-card-meta div{gap:.15rem;display:grid}.eds-card-meta dt{color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:600}.eds-card-meta dd{margin:0}.eds-card-go{align-items:center;gap:var(--space-1);min-height:var(--target);color:var(--color-accent-text);font-weight:700;text-decoration:none;display:inline-flex}.eds-card-draft{border-color:var(--color-accent)}.eds-card-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.callout{gap:var(--space-3);padding:var(--space-4);background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.callout p{max-width:42rem;margin:0}.skeleton-block{min-height:5.5rem}.tab-count{color:var(--color-muted-foreground);font-weight:600}.tab.is-active .tab-count{color:inherit}.btn svg{flex-shrink:0}.table-compact{min-width:52rem}.table-compact th,.table-compact td{padding:var(--space-2)}.table-input{width:100%;min-height:2.5rem;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);color:var(--color-foreground);font:inherit}.table-input:disabled{opacity:.65}a.btn{text-decoration:none}.table-empty a{color:var(--color-accent-text);font-weight:600}
