@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:#213b38;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f5f7f7;--surface:#fff;--surface-soft:#f8faf9;--text:#213b38;--muted:#768681;--border:#e5ebe8;--accent:#117b67;--accent-soft:#eaf5f0;--chart-grid:#e9eeeb;--chart-hover:#f0f5f2;--sidebar:#fff;--shadow:0 4px 24px #213b3805;--chart-label:#768681;background:#f5f7f7;font-family:Segoe UI,Inter,system-ui,-apple-system,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg:#101d1b;--surface:#172824;--surface-soft:#1b2e29;--text:#e2ede7;--muted:#9aafa6;--border:#2b4037;--accent:#73cfaf;--accent-soft:#233f33;--chart-grid:#2b4037;--chart-hover:#233f33;--sidebar:#14231f;--shadow:0 4px 24px #00000010;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #68baa1}button,input,select{color:var(--text)}input,select{background:var(--surface)}button{background:0 0}h1,h2,h3,p{margin:0}button{transition:background .16s,color .16s}button:hover{color:var(--accent)}svg{flex-shrink:0}small{font-size:11px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.icon-button{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.icon-button:hover{background:var(--accent-soft)}.primary-button,.secondary-button{white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:9px 14px;font-size:12px;font-weight:600;display:inline-flex}.primary-button{color:#fff;background:#117b67}.primary-button:hover{color:#fff;background:#0c6655}.secondary-button{background:var(--surface);border:1px solid var(--border);box-shadow:0 2px 3px #00000002}.secondary-button:hover{border-color:var(--accent);background:var(--accent-soft)}.text-button{color:var(--accent);align-items:center;gap:7px;padding:5px 0;font-size:12px;font-weight:600;display:inline-flex}.eyebrow{letter-spacing:1.5px;color:var(--accent);font-size:10px;font-weight:700}.live-dot{background:#58aa82;border-radius:50%;width:6px;height:6px;display:inline-block}.brand{align-items:center;gap:10px;display:flex}.brand-icon{color:#e1f293;background:#0c574e;border-radius:10px;justify-content:center;align-items:center;width:36px;height:40px;display:flex}.brand-icon svg{width:29px;height:29px}.brand strong{letter-spacing:1.2px;color:var(--text);font-size:20px;line-height:1.2;display:block}.brand div>span{letter-spacing:1.65px;color:var(--muted);margin-top:3px;font-size:7px;font-weight:600;display:block}.app-shell{min-height:100vh}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);z-index:30;flex-direction:column;width:236px;padding:31px 19px 0;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{justify-content:space-between;align-items:center;padding-left:7px;display:flex}.workspace-label{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted);border-radius:8px;align-items:center;gap:8px;margin:28px 0 33px;padding:12px 11px;font-size:10px;display:flex}.workspace-label>svg{margin-left:auto}.nav-section-label{letter-spacing:1.6px;color:var(--muted);margin-bottom:12px;padding-left:13px;font-size:8px;font-weight:700}.sidebar nav{flex-direction:column;gap:6px;display:flex}.sidebar nav button{text-align:left;min-height:44px;color:var(--muted);border-radius:8px;align-items:center;gap:11px;padding:0 12px;font-size:12px;font-weight:500;display:flex}.sidebar nav button:hover{background:var(--surface-soft);color:var(--accent)}.sidebar nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.sidebar nav button>span{background:var(--surface);border-radius:5px;margin-left:auto;padding:2px 6px;font-size:9px}.sidebar-note{background:linear-gradient(130deg,var(--accent-soft),var(--surface-soft));border:1px solid var(--border);border-radius:12px;margin-top:auto;margin-bottom:25px;padding:20px 16px}.note-icon{color:var(--accent);margin-bottom:10px;display:inline-flex}.sidebar-note h3{margin-bottom:7px;font-size:12px;font-weight:650}.sidebar-note p{color:var(--muted);font-size:10px;line-height:1.7}.sidebar-note>span:last-child{letter-spacing:1px;color:var(--accent);justify-content:space-between;align-items:center;margin-top:20px;font-size:7px;font-weight:650;display:flex}.sidebar-bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:17px 0 19px;display:flex}.sidebar-bottom>div{align-items:center;gap:8px;display:flex}.staff-avatar,.topbar-avatar{background:var(--accent-soft);border:1px solid var(--border);width:30px;height:30px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.sidebar-bottom strong{font-size:10px;display:block}.sidebar-bottom div div>span{color:var(--muted);font-size:8px}.main-shell{min-width:0;margin-left:236px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:72px;padding:0 34px;display:flex}.topbar-left,.topbar-actions{align-items:center;gap:17px;display:flex}.breadcrumb{color:var(--muted);font-size:11px}.breadcrumb>span{color:#b2bdb8;margin:0 13px}.breadcrumb strong{color:var(--text);font-weight:500}.access-pill{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.topbar-avatar{color:#657352;background:#e9eee6;width:30px;height:30px}.main-content{max-width:1720px;margin:0 auto;padding:31px 34px 0}.page-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.page-heading h1{letter-spacing:-1px;margin:6px 0 4px;font-size:29px;font-weight:650;line-height:1.2}.page-heading p{color:var(--muted);font-size:12px}.source-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:17px;margin-bottom:23px;font-size:9px;display:flex}.source-meta>span{align-items:center;gap:5px;display:inline-flex}.source-meta strong{font-weight:500}.sync-status{color:var(--accent)}.sync-status i{background:currentColor;border-radius:50%;width:5px;height:5px}.sync-status.stale{color:#b3751f}.sync-status.demo{color:#557dd2}.warning-banner{color:#896320;background:#fff9e9;border:1px solid #e7d5ad;border-radius:9px;align-items:flex-start;gap:10px;margin-bottom:17px;padding:12px 15px;font-size:11px;line-height:1.6;display:flex}.warning-banner>svg{margin-top:1px}.warning-banner span{flex:1}.warning-banner button{color:inherit;min-height:24px;font-weight:650}.demo-banner{color:#45658d;background:#edf3ff;border-color:#d6e2f9}:root[data-theme=dark] .warning-banner{color:#e7c583;background:#342c19;border-color:#59452a}:root[data-theme=dark] .demo-banner{color:#afc8ed;background:#1d2c43;border-color:#334d70}.search-toolbar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:11px;align-items:center;gap:9px;margin-bottom:23px;padding:11px;display:flex}.global-search{min-width:80px;color:var(--muted);flex:1;align-items:center;gap:11px;padding:0 8px;display:flex}.global-search input{background:0 0;border:0;outline:none;width:100%;min-width:0;height:36px;font-size:11px}.global-search:focus-within{box-shadow:0 0 0 2px var(--accent-soft);border-radius:5px}input::placeholder{color:var(--muted)}.quick-filters{gap:9px;display:flex}.quick-filters select{border:1px solid var(--border);border-radius:7px;min-width:110px;height:36px;padding:0 28px 0 10px;font-size:10px}.filter-button{min-height:36px;padding:8px 11px;font-size:10px}.filter-button b{background:var(--accent);color:var(--surface);border-radius:4px;padding:1px 5px;font-size:9px}.has-filters{color:var(--accent)}.active-filters{flex-wrap:wrap;align-items:center;gap:7px;margin-top:-11px;margin-bottom:20px;font-size:10px;display:flex}.active-filters>span{color:var(--muted);align-items:center;gap:5px;margin-right:4px;display:flex}.active-filters>button{background:var(--accent-soft);color:var(--accent);overflow-wrap:anywhere;border-radius:5px;align-items:center;gap:6px;max-width:100%;min-height:28px;padding:4px 8px;display:flex}.active-filters .clear-filters{background:0 0;text-decoration:underline}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);min-height:129px;box-shadow:var(--shadow);border-radius:11px;padding:18px 20px 15px}.kpi-card>div{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:10px;font-weight:500;display:flex}.kpi-card>div>svg{color:var(--accent)}.kpi-card>strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:30px;font-weight:650;line-height:1.15;display:block}.kpi-card>p{color:var(--muted);margin-top:7px;font-size:9px}.exact-cost{color:var(--accent);font-variant-numeric:tabular-nums;margin-top:4px;font-size:9px;display:block}.overview-highlight{color:#fff;background:linear-gradient(110deg,#0c4e45,#126458);border-radius:13px;justify-content:space-between;gap:20px;margin-bottom:24px;padding:25px 28px;display:flex;position:relative;overflow:hidden}.overview-highlight .eyebrow{color:#c5dd9b;letter-spacing:1.9px;font-size:8px}.overview-highlight h2{letter-spacing:-.5px;margin:9px 0;font-size:27px;font-weight:500;line-height:1.2}.overview-highlight p{color:#b1d0c6;font-size:10px}.overview-highlight button{color:#e1f3b7;align-items:center;gap:12px;margin-top:18px;font-size:10px;font-weight:600;display:flex}.overview-highlight>div{z-index:1}.highlight-stats{flex-direction:column;justify-content:center;gap:22px;width:38%;min-width:190px;display:flex}.highlight-stats>div>span{color:#b1d0c6;font-size:9px;display:block}.highlight-stats strong{letter-spacing:-.7px;margin-top:4px;font-size:27px;font-weight:550;display:block}.highlight-track{background:#ffffff20;border-radius:4px;max-width:220px;height:4px;margin-top:8px}.highlight-track>i{background:#c8e390;border-radius:4px;height:100%;display:block}.highlight-stats .highlight-small{color:#b1d0c6;margin-top:8px;font-size:8px}.highlight-watermark{color:#ffffff09;width:250px;height:250px;position:absolute;top:-20px;right:-45px;transform:rotate(-15deg)}.analytics-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:20px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;min-width:0;margin-bottom:20px;padding:21px 22px}.analytics-grid>.panel{margin-bottom:0}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.panel-heading h2{letter-spacing:-.15px;font-size:13px;font-weight:650}.panel-heading p{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.5}.chart{width:100%;min-width:0}.inline-legend{color:var(--muted);justify-content:center;align-items:center;gap:20px;margin-top:13px;font-size:9px;display:flex}.inline-legend>span{align-items:center;gap:5px;display:flex}.inline-legend i{border-radius:2px;width:7px;height:7px;display:block}.dx-dot{background:#168573}.wiring-dot{background:#bddb92}.comparison-list{padding:3px 0 10px}.comparison-row{margin-bottom:17px}.comparison-label{justify-content:space-between;align-items:center;margin-bottom:7px;font-size:10px;display:flex}.comparison-label>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px}.comparison-track{flex-direction:column;gap:4px;display:flex}.comparison-track>div{background:#168573;border-radius:3px;min-width:0;height:6px}.comparison-track>div+div{background:#bddb92}.comparison-list .inline-legend{padding-top:5px}.municipality-rankings{flex-direction:column;gap:17px;padding:5px 0 8px;display:flex}.municipality-rankings>button{text-align:left;align-items:center;gap:12px;min-height:37px;display:flex}.rank-number{color:var(--muted);flex-shrink:0;width:19px;font-size:10px}.municipality-rankings>button>div{flex:1}.municipality-rankings strong{font-size:10px;font-weight:550}.municipality-track{background:var(--accent-soft);border-radius:3px;max-width:88%;height:5px;margin-top:8px}.municipality-track i{background:#168573;border-radius:3px;height:100%;display:block}.municipality-rankings b{text-align:right;font-size:12px;line-height:1.2}.municipality-rankings small{color:var(--muted);margin-top:4px;font-size:8px;font-weight:400;display:block}.table-panel{padding-bottom:0;padding-left:0;padding-right:0}.table-panel .panel-heading{padding-left:22px;padding-right:22px}.table-scroll{overflow-x:auto}.project-table{border-collapse:collapse;white-space:nowrap;text-align:left;width:100%;font-size:10px}.project-table th{color:var(--muted);background:var(--surface-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 16px;font-size:9px;font-weight:500}.project-table th:first-child,.project-table td:first-child{padding-left:22px}.project-table th>button{color:inherit;font-size:inherit;align-items:center;gap:6px;display:flex}.sort-hint{color:#b0bfb6;font-size:13px}.project-table td{border-bottom:1px solid var(--border);padding:15px 16px}.project-table tbody tr:last-child td{border-bottom:0}.project-table tbody tr:hover{background:var(--surface-soft)}.project-name{color:var(--text);text-align:left;white-space:normal;max-width:210px;font-size:11px;font-weight:600;display:block}.table-subtitle{color:var(--muted);align-items:center;gap:3px;margin-top:5px;font-size:8px;line-height:1.4;display:flex}.table-ref{color:var(--muted);margin-top:3px;font-size:8px;display:block}.program-badge{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:5px;align-items:center;padding:4px 7px;font-size:8px;font-weight:650;display:inline-flex}.program-badge.blep{color:#667fa8;background:#eef1fb}:root[data-theme=dark] .program-badge.blep{color:#a7bfe5;background:#283748}.status-badge{color:#6c828d;white-space:nowrap;background:#eef3f3;border-radius:5px;align-items:center;gap:5px;padding:5px 7px;font-size:8px;font-weight:550;display:inline-flex}.status-badge>span{background:currentColor;border-radius:50%;flex-shrink:0;width:4px;height:4px}.status-energized{color:#238760;background:#e8f6ed}.status-completed{color:#4a9277;background:#edf5f1}.status-implementation{color:#5c7ec7;background:#edf2fc}.status-inspection{color:#b3832c;background:#fff4dd}.status-unknown{color:#a05876;background:#f9eaf0}.status-bidding{color:#7a8b93;background:#f0f3f4}:root[data-theme=dark] .status-energized,:root[data-theme=dark] .status-completed{color:#8ddcb5;background:#233f33}:root[data-theme=dark] .status-implementation{color:#b2cafa;background:#243550}:root[data-theme=dark] .status-inspection{color:#ebc982;background:#46371e}:root[data-theme=dark] .status-bidding{color:#bfcdcf;background:#2d393a}:root[data-theme=dark] .status-unknown{color:#e2adc2;background:#482c38}.cost-number{font-variant-numeric:tabular-nums;font-size:10px;font-weight:550}.funding-cell{white-space:normal;max-width:145px;line-height:1.6}.project-cards,.mobile-sort{display:none}.pagination{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:15px 22px;font-size:9px;display:flex}.pagination>div{align-items:center;gap:8px;display:flex}.pagination select{border:1px solid var(--border);border-radius:5px;padding:6px;font-size:9px}.pagination .icon-button{width:28px;height:28px}.funding-breakdown>div{border-bottom:1px solid var(--border);align-items:center;gap:15px;padding:15px 0;display:flex}.funding-breakdown>div:last-child{border:0;padding-bottom:0}.funding-number{color:var(--muted);font-size:10px}.funding-breakdown>div>div:nth-child(2){flex:1;min-width:110px}.funding-breakdown strong{font-size:10px;font-weight:550;display:block}.funding-breakdown span:not(.funding-number){color:var(--muted);margin-top:4px;font-size:9px;display:block}.funding-track{background:var(--accent-soft);border-radius:4px;width:22%;height:5px}.funding-track i{background:#168573;border-radius:4px;height:100%;display:block}.funding-cost{text-align:right;min-width:120px}.page-footer{color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:16px 0 24px;font-size:8px;display:flex}.page-footer>span:last-child{align-items:center;gap:5px;display:flex}.empty-state{text-align:center;color:var(--muted);padding:50px 15px}.empty-state>svg{color:var(--accent);margin:0 auto 12px}.empty-state h3{color:var(--text);margin-bottom:7px;font-size:14px;font-weight:600}.empty-state p{font-size:11px;line-height:1.7}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#081d1966;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:15px;outline:none;width:620px;max-width:100%;max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 20px 80px #0003}.modal>header{border-bottom:1px solid var(--border);background:var(--surface);z-index:2;justify-content:space-between;align-items:center;padding:18px 23px;display:flex;position:sticky;top:0}.modal>header h2{font-size:15px;font-weight:600}.filter-intro{color:var(--muted);padding:18px 23px 0;font-size:12px}.filter-grid{grid-template-columns:1fr 1fr;gap:20px;padding:23px;display:grid}.filter-grid label{flex-direction:column;gap:8px;font-size:11px;font-weight:550;display:flex}.filter-grid select{border:1px solid var(--border);border-radius:8px;width:100%;min-width:0;height:42px;padding:10px;font-size:11px}.filter-footer{border-top:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;padding:18px 23px;display:flex;position:sticky;bottom:0}.detail-panel{border-radius:15px 0 0 15px;width:510px;height:100dvh;max-height:100dvh;position:absolute;top:0;right:0}.detail-content{padding:25px}.detail-ref{color:var(--muted);margin-left:10px;font-size:10px}.detail-content h1{letter-spacing:-.5px;margin:14px 0 10px;font-size:27px;font-weight:600;line-height:1.2}.detail-location{color:var(--muted);align-items:center;gap:6px;font-size:12px;line-height:1.5;display:flex}.detail-budget{background:var(--accent-soft);border:1px solid var(--border);border-radius:11px;margin:25px 0 17px;padding:21px}.detail-budget>span{color:var(--muted);font-size:10px}.detail-budget>strong{letter-spacing:-.8px;overflow-wrap:anywhere;margin:7px 0 20px;font-size:29px;display:block}.detail-budget>div{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:15px;padding-top:15px;display:grid}.detail-budget>div>span{color:var(--muted);font-size:10px}.detail-budget b{color:var(--text);margin-top:6px;font-size:14px;font-weight:550;display:block}.notice{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted);border-radius:9px;gap:10px;padding:13px;font-size:11px;line-height:1.8;display:flex}.notice svg{color:var(--accent);margin-top:3px}.notice p{color:var(--accent);margin-top:6px}.detail-section{margin:27px 0}.detail-section>h2{margin-bottom:14px;font-size:12px;font-weight:650}.detail-status{border:1px solid var(--border);border-radius:9px;margin-bottom:10px;padding:14px}.detail-status>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.detail-status h3{font-size:11px;font-weight:550}.detail-status p{color:var(--muted);margin-top:10px;font-size:10px;line-height:1.8}.detail-section dl{margin:0}.detail-section dl>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding:12px 0;font-size:11px;display:flex}.detail-section dt{color:var(--muted);flex-shrink:0}.detail-section dd{text-align:right;overflow-wrap:anywhere;margin:0}.count-chip{background:var(--accent-soft);color:var(--accent);border-radius:4px;margin-left:6px;padding:2px 6px;font-size:9px}.covered-list>div{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 0;font-size:11px;display:flex}.covered-list svg{color:var(--accent)}.covered-list>div>span{flex:1}.covered-list small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.member-list{border:1px solid var(--border);border-radius:9px;overflow:hidden}.member-list>button{border-bottom:1px solid var(--border);text-align:left;justify-content:space-between;align-items:center;width:100%;padding:13px 14px;font-size:12px;display:flex}.member-list>button:last-child{border-bottom:0}.member-list .selected{background:var(--accent-soft);color:var(--accent)}.member-list small{color:var(--muted);margin-top:5px;font-size:9px;display:block}.source-link{color:var(--accent);align-items:center;gap:8px;font-size:11px;font-weight:550;display:flex}.detail-footnote{color:var(--muted);margin-top:10px;font-size:9px;line-height:1.8}.toast{background:var(--text);color:var(--surface);z-index:120;border-radius:10px;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:14px 20px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #0003}.donut-layout{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}.donut-chart{width:190px;height:190px;position:relative}.donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-center strong{letter-spacing:-.5px;font-size:29px;font-weight:650}.donut-center span{color:var(--muted);font-size:9px}.chart-legend{flex:1;min-width:160px;max-width:230px}.chart-legend>div{align-items:center;gap:7px;margin:13px 0;font-size:9px;display:flex}.chart-legend i{border-radius:2px;flex-shrink:0;width:7px;height:7px}.chart-legend span{color:var(--muted);flex:1}.chart-legend strong{font-size:11px;font-weight:550}.milestone-summary{grid-template-columns:repeat(3,1fr);gap:12px;padding:25px 0;display:grid}.milestone-summary>div{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.milestone-summary svg{color:var(--accent)}.milestone-summary strong{font-size:31px;font-weight:600;line-height:1}.milestone-summary span{color:var(--muted);font-size:10px;line-height:1.6}.panel-footnote{color:var(--muted);border-top:1px solid var(--border);padding-top:17px;font-size:10px;line-height:1.8}.matrix-scroll{overflow-x:auto}.status-matrix{border-collapse:collapse;text-align:center;width:100%;min-width:500px;font-size:10px}.status-matrix caption{text-align:left;color:var(--muted);padding-bottom:20px;font-size:10px}.status-matrix th{color:var(--muted);width:120px;padding:10px 8px;font-weight:500;line-height:1.6}.status-matrix tbody th{text-align:left}.status-matrix td{padding:5px}.matrix-value{background:var(--surface-soft);height:55px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:flex}.matrix-value.filled{color:var(--text);font-weight:600}.financial-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px;display:grid}.financial-summary>div{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:25px}.financial-summary span{color:var(--muted);font-size:11px}.financial-summary strong{letter-spacing:-.5px;overflow-wrap:anywhere;margin:10px 0;font-size:28px;font-weight:600;display:block}.financial-summary small{color:var(--muted);font-size:10px}.ranking-list>button{text-align:left;border-bottom:1px solid var(--border);align-items:center;gap:11px;width:100%;padding:15px 0;display:flex}.ranking-list>button:last-child{border-bottom:0}.ranking-list>button>div{flex:1;min-width:0}.ranking-list strong{font-size:11px;font-weight:550;display:block}.ranking-list>button>div>span{color:var(--muted);margin-top:5px;font-size:8px;display:block}.ranking-list b{white-space:nowrap;font-size:11px;font-weight:550}.ranking-list svg{color:var(--muted)}.directory-search{border:1px solid var(--border);color:var(--muted);border-radius:8px;align-items:center;gap:7px;max-width:45%;padding:8px;display:flex}.directory-search input{border:0;outline:none;width:100%;min-width:0;font-size:11px}.location-directory details{border-bottom:1px solid var(--border)}.location-directory details:last-child{border-bottom:0}.location-directory summary{cursor:pointer;align-items:center;gap:13px;padding:17px 0;list-style:none;display:flex}.location-directory summary::-webkit-details-marker{display:none}.location-icon{background:var(--accent-soft);width:35px;height:35px;color:var(--accent);border-radius:9px;justify-content:center;align-items:center;display:flex}.location-directory summary>span:nth-child(2){flex:1}.location-directory summary strong{font-size:12px;font-weight:550}.location-directory summary small{color:var(--muted);margin-top:5px;font-size:9px;display:block}.location-summary{text-align:right}.location-summary b{font-size:10px;font-weight:550}.location-directory details[open] summary>svg{transform:rotate(90deg)}.location-projects{padding:0 0 15px 48px}.location-projects>button:not(.text-button){text-align:left;border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 0;font-size:11px;display:flex}.location-projects small{color:var(--muted);margin-top:4px;font-size:8px;display:block}.location-projects>button>span:first-child{flex:1}.location-projects .text-button{margin-bottom:10px}.initial-loading{min-height:100dvh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:22px;font-size:12px;display:flex}.loading-panel{text-align:center;min-height:300px;color:var(--muted);padding:70px 20px}.loading-panel>svg{color:var(--accent);margin:0 auto 18px}.loading-panel h2{color:var(--text);margin-bottom:10px;font-size:17px;font-weight:550}.loading-panel p{font-size:12px}.spinning{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mobile-only,.mobile-brand{display:none}.skip-link{z-index:200;background:var(--accent);color:var(--surface);border-radius:8px;padding:12px;position:fixed;top:-50px;left:260px}.skip-link:focus{top:12px}.login-page{background:var(--surface);grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.login-story{color:#fff;background:#0c5046;flex-direction:column;padding:44px 54px;display:flex;position:relative;overflow:hidden}.login-story .brand strong{color:#fff}.login-story .brand div>span{color:#aac7bb}.login-story .brand-icon{background:#ffffff13}.login-story-content{z-index:1;max-width:460px;margin:auto 0;padding:70px 0 100px;position:relative}.login-story .eyebrow{color:#b7d2bc;font-size:8px}.login-story h1{letter-spacing:-2px;margin:20px 0;font-size:clamp(38px,4.8vw,68px);font-weight:500;line-height:1.12}.login-story h1 em{color:#deedaa;font-style:normal}.login-story-content>p{color:#b6d0c6;max-width:350px;font-size:12px;line-height:1.9}.login-tags{flex-wrap:wrap;gap:15px;margin-top:27px;display:flex}.login-tags>span{color:#d2e3d9;border:1px solid #ffffff25;border-radius:7px;align-items:center;gap:6px;padding:8px 10px;font-size:9px;display:flex}.login-art{color:#acd4bb;opacity:.65;pointer-events:none;height:250px;position:absolute;bottom:35px;left:0;right:-10px}.login-art svg{width:100%;height:100%}.login-story>footer{color:#b3cfc2;z-index:1;align-items:center;gap:7px;margin-top:auto;font-size:9px;display:flex}.login-form-side{flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:50px;display:flex;position:relative}.login-theme{position:absolute;top:30px;right:30px}.login-form{width:100%;max-width:365px;margin:auto}.login-lock{background:var(--accent-soft);width:54px;height:54px;color:var(--accent);border-radius:16px;justify-content:center;align-items:center;margin-bottom:23px;display:flex}.login-form .eyebrow{font-size:9px}.login-form h2{letter-spacing:-.8px;margin:10px 0 12px;font-size:27px;font-weight:600;line-height:1.25}.login-form>p{color:var(--muted);margin-bottom:31px;font-size:12px;line-height:1.8}.login-form form>label{margin-bottom:8px;font-size:11px;font-weight:550;display:block}.password-input{border:1px solid var(--border);border-radius:9px;align-items:center;padding:4px 7px 4px 13px;display:flex}.password-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.password-input input{background:0 0;border:0;outline:none;width:100%;min-width:0;height:36px;font-size:12px}.login-submit{justify-content:space-between;width:100%;height:46px;margin-top:20px;padding:13px 17px}.form-error{color:#be5662;margin-top:11px;font-size:11px;line-height:1.7}.login-security{color:var(--muted);align-items:center;gap:7px;margin-top:23px;font-size:9px;display:flex}.login-form-side>footer{color:var(--muted);margin-top:50px;font-size:9px}@media(min-width:1450px){.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.kpi-card{padding:18px 16px}.kpi-card>div{font-size:9px}.kpi-card>strong{font-size:27px}.main-content{padding:34px 42px 0}.topbar{padding:0 42px}}@media(max-width:1150px){.sidebar{width:208px;padding-left:13px;padding-right:13px}.main-shell{margin-left:208px}.main-content{padding:26px 23px 0}.topbar{padding:0 23px}.analytics-grid{gap:15px}.panel{padding:18px 17px}.table-panel{padding-bottom:0;padding-left:0;padding-right:0}.panel-heading p{font-size:9px}.funding-track{width:15%}.financial-summary strong{font-size:23px}.login-story{padding:40px}.login-form-side{padding:35px}}@media(max-width:900px){.sidebar{width:236px;padding:27px 19px 0;transition:transform .2s;transform:translate(-100%);box-shadow:10px 0 30px #0001}.sidebar.open{transform:translate(0)}.main-shell{margin-left:0}.mobile-only{display:inline-flex}.nav-scrim{z-index:29;background:#071b1966;position:fixed;inset:0}.topbar{height:64px}.skip-link{left:20px}.login-story h1{font-size:46px}.login-story{padding:35px 30px}.login-tags{gap:8px}.login-story-content{padding-bottom:130px}.login-form-side{padding:30px}.login-form h2{font-size:24px}}@media(max-width:640px){.topbar{height:62px;padding:0 15px}.breadcrumb{display:none}.mobile-brand{display:block}.mobile-brand .brand-icon{border-radius:7px;width:26px;height:29px}.mobile-brand .brand-icon svg{width:23px;height:23px}.mobile-brand .brand strong{letter-spacing:.6px;font-size:15px}.topbar-left{gap:9px}.topbar-actions{gap:7px}.access-pill{display:none}.topbar-avatar{width:27px;height:27px;font-size:10px}.main-content{padding:23px 16px 0}.page-heading{align-items:flex-start;gap:8px;margin-bottom:14px}.page-heading .eyebrow{letter-spacing:1px;font-size:7px}.page-heading h1{letter-spacing:-.7px;margin:7px 0;font-size:25px}.page-heading p{max-width:230px;font-size:10px;line-height:1.6}.refresh-button{width:36px;min-height:36px;margin-top:15px;padding:0;font-size:0}.refresh-button svg{width:16px}.source-meta{gap:8px 12px;margin-bottom:17px;font-size:8px;line-height:1.8}.source-meta>span:last-child{flex-basis:100%}.warning-banner{gap:7px;padding:11px;font-size:10px}.search-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:18px;padding:9px}.global-search{flex-basis:calc(100% - 68px);order:0;gap:7px;padding:0 3px}.global-search input{height:34px;font-size:10px}.global-search svg{width:16px}.quick-filters{order:2;gap:8px;width:100%}.quick-filters label{flex:1;min-width:0}.quick-filters select{width:100%;min-width:0;height:33px;font-size:10px}.filter-button{order:1;gap:5px;min-height:34px;padding:7px 9px;font-size:0}.filter-button>svg{width:16px}.filter-button b{font-size:9px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.kpi-card{min-height:122px;padding:15px 13px 13px}.kpi-card>div{align-items:flex-start;gap:5px;margin-bottom:11px;font-size:9px;line-height:1.5}.kpi-card>div>svg{flex-shrink:0;width:14px;height:14px}.kpi-card>strong{font-size:26px}.kpi-card>p{font-size:8px;line-height:1.7}.exact-cost{font-size:8px}.overview-highlight{border-radius:11px;flex-direction:column;gap:23px;margin-bottom:18px;padding:23px 20px}.overview-highlight h2{font-size:25px}.overview-highlight p{font-size:10px;line-height:1.8}.highlight-stats{border-top:1px solid #ffffff20;flex-direction:row;justify-content:flex-start;gap:18px;width:100%;min-width:0;padding-top:17px}.highlight-stats>div{flex:1;min-width:0}.highlight-stats strong{font-size:22px}.highlight-stats>div>span{font-size:8px;line-height:1.6}.highlight-stats .highlight-small{font-size:7px}.highlight-watermark{width:240px;height:240px;top:0;right:-45px}.analytics-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:16px}.panel{border-radius:10px;margin-bottom:16px;padding:18px 16px}.panel-heading{gap:10px;margin-bottom:17px}.panel-heading h2{font-size:12px}.panel-heading p{font-size:9px;line-height:1.7}.panel-heading .text-button{white-space:nowrap;font-size:9px}.table-panel{padding:18px 0 0}.table-panel .panel-heading{padding:0 16px}.table-scroll{display:none}.project-cards{flex-direction:column;gap:0;display:flex}.project-card{text-align:left;border-top:1px solid var(--border);width:100%;padding:18px 16px;display:block}.project-card>div:first-child{justify-content:space-between;align-items:center;font-size:9px;display:flex}.project-card .muted{align-items:center;gap:9px;display:flex}.project-card h3{margin:12px 0 5px;font-size:15px;font-weight:600}.project-card>p{color:var(--muted);align-items:center;gap:4px;font-size:10px;line-height:1.6;display:flex}.card-cost{justify-content:space-between;align-items:center;gap:10px;margin-top:15px;display:flex}.card-cost strong{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.card-cost>span{color:var(--muted);font-size:8px}.card-status{gap:17px;margin-top:14px;display:flex}.card-status>span{color:var(--muted);flex-direction:column;align-items:flex-start;gap:5px;font-size:8px;display:flex}.card-status .status-badge{padding:5px 7px;font-size:8px}.mobile-sort{justify-content:space-between;align-items:center;gap:10px;padding:0 16px 13px;font-size:10px;display:flex}.mobile-sort label{align-items:center;gap:10px;display:flex}.mobile-sort select{border:1px solid var(--border);border-radius:6px;padding:8px;font-size:10px}.preview-table~.project-cards .project-card:nth-child(n+4){display:none}.pagination{flex-wrap:wrap;gap:5px;padding:12px;font-size:8px}.pagination>div{gap:4px}.pagination select{max-width:85px;font-size:8px}.funding-breakdown>div{flex-wrap:wrap;gap:9px;padding:14px 0}.funding-breakdown>div>div:nth-child(2){min-width:90px;max-width:58%}.funding-breakdown strong{font-size:9px;line-height:1.6}.funding-number{font-size:8px}.funding-track{display:none}.funding-cost{min-width:0;max-width:38%;margin-left:auto}.funding-cost strong{white-space:nowrap;font-size:9px}.page-footer{flex-direction:column;align-items:flex-start;gap:8px;margin-top:9px;padding:15px 0 22px;font-size:7px}.modal-backdrop{padding:0}.modal{border:0;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.modal>header{padding:16px 18px}.filter-grid{grid-template-columns:1fr;gap:17px;padding:22px 18px}.filter-intro{padding:18px 18px 0;font-size:11px}.filter-footer{padding:17px 18px}.filter-modal{flex-direction:column;display:flex}.filter-grid{flex:1}.detail-panel{border-radius:0;width:100%;max-height:100dvh}.detail-content{padding:23px 19px}.detail-budget{padding:18px}.detail-budget>strong{font-size:28px}.detail-budget b{font-size:13px}.detail-section dd{font-size:10px}.financial-summary{grid-template-columns:1fr;gap:12px;margin-bottom:16px}.financial-summary>div{padding:21px}.financial-summary strong{font-size:26px}.donut-layout{gap:17px}.donut-chart{width:160px;height:160px}.chart-legend{min-width:130px}.chart-legend>div{gap:5px;font-size:8px}.milestone-summary{gap:7px}.milestone-summary span{font-size:9px}.directory-search{max-width:48%;padding:7px}.directory-search input{font-size:9px}.location-directory summary{gap:9px}.location-directory summary strong{font-size:11px}.location-directory summary small{font-size:8px}.location-summary b{font-size:9px}.location-summary small{font-size:7px!important}.location-icon{width:29px;height:29px}.location-icon svg{width:15px}.location-projects{padding-left:0}.location-projects .status-badge{max-width:145px;font-size:7px}.login-page{min-height:100dvh;display:block}.login-story{min-height:285px;padding:24px 25px}.login-story-content{max-width:100%;margin:25px 0 0;padding:0 0 20px}.login-story .eyebrow{font-size:7px}.login-story h1{letter-spacing:-1px;margin:10px 0 13px;font-size:35px;line-height:1.1}.login-story h1>br:nth-of-type(2){display:none}.login-story-content>p{max-width:285px;font-size:10px;line-height:1.8}.login-story .brand-icon{border-radius:8px;width:29px;height:32px}.login-story .brand strong{font-size:17px}.login-story .brand div>span{font-size:6px}.login-tags,.login-story footer{display:none}.login-art{opacity:.4;width:330px;height:190px;bottom:0;left:auto;right:-125px}.login-form-side{min-height:450px;padding:35px 25px 23px}.login-lock{border-radius:12px;width:43px;height:43px;margin-bottom:17px}.login-lock svg{width:21px}.login-theme{top:20px;right:20px}.login-form h2{font-size:23px}.login-form>p{margin-bottom:25px;font-size:11px}.login-security{font-size:8px}.login-form-side>footer{margin-top:30px;font-size:8px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.spinning{animation:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.brand-logo{width:54px;height:54px;object-fit:contain;flex-shrink:0}.login-story .brand-logo{width:64px;height:64px}@media(max-width:640px){.mobile-brand .brand-logo{width:38px;height:38px}.login-story .brand-logo{width:52px;height:52px}}.toast{pointer-events:none}.sidebar nav button{font-size:13px}.workspace-label,.sidebar-note p{font-size:11px}.sidebar-bottom strong{font-size:12px}.sidebar-bottom div div>span{font-size:10px}.page-heading p{font-size:13px}.source-meta{font-size:11px}.warning-banner,.global-search input,.quick-filters select,.filter-button{font-size:12px}.kpi-card>div{font-size:12px}.kpi-card>p,.exact-cost{font-size:11px}.kpi-card{min-height:137px}.panel-heading h2{font-size:15px}.panel-heading p{font-size:11px}.panel-footnote,.overview-highlight p,.overview-highlight button{font-size:12px}.highlight-stats>div>span{font-size:11px}.highlight-stats .highlight-small{font-size:10px}.comparison-label{font-size:12px}.comparison-label>span{font-size:11px}.inline-legend{font-size:11px}.municipality-rankings strong{font-size:12px}.municipality-rankings small{font-size:10px}.project-table{font-size:12px}.project-table th{font-size:11px}.project-name{font-size:13px}.table-subtitle,.table-ref,.status-badge,.program-badge{font-size:10px}.cost-number{font-size:12px}.pagination,.pagination select{font-size:11px}.funding-breakdown strong{font-size:12px}.funding-breakdown span:not(.funding-number){font-size:11px}.ranking-list strong{font-size:12px}.ranking-list>button>div>span{font-size:10px}.ranking-list b{font-size:12px}.chart-legend>div{font-size:11px}.milestone-summary span{font-size:12px}.filter-grid label,.filter-grid select{font-size:13px}.detail-ref,.detail-budget>span,.detail-budget>div>span{font-size:12px}.notice{font-size:12px}.detail-section>h2{font-size:14px}.detail-status h3,.detail-status p{font-size:12px}.detail-section dl>div{font-size:12px}.covered-list>div{font-size:12px}.covered-list small,.member-list small{font-size:11px}.source-link{font-size:12px}.detail-footnote,.detail-content .status-badge{font-size:11px}.login-form>p{font-size:14px}.login-form form>label{font-size:13px}.password-input input{font-size:14px}.login-security{font-size:11px}.login-story-content>p{font-size:14px}.login-tags>span{font-size:11px}@media(max-width:900px){.sidebar{overflow-y:auto}.sidebar-brand,.sidebar nav,.sidebar-bottom{flex-shrink:0}.sidebar-note{margin-top:28px}.sidebar-bottom{margin-top:auto}}@media(max-width:640px){.page-heading p{font-size:12px}.source-meta{font-size:10px}.warning-banner{font-size:11px}.global-search input{font-size:16px}.quick-filters select{font-size:16px;height:42px;padding-left:10px}.filter-button{font-size:0;min-height:40px;min-width:40px}.icon-button{width:40px;height:40px}.kpi-card{min-height:134px;padding:16px 13px}.kpi-card>div{font-size:11px}.kpi-card>p,.exact-cost{font-size:10px}.kpi-card>strong{font-size:28px}.overview-highlight p,.overview-highlight button{font-size:12px}.highlight-stats>div>span{font-size:10px}.highlight-stats .highlight-small{font-size:9px}.panel-heading h2{font-size:14px}.panel-heading p,.comparison-label{font-size:11px}.comparison-label>span{font-size:10px}.inline-legend{font-size:10px}.municipality-rankings strong{font-size:12px}.project-card .muted{font-size:11px}.project-card>p{font-size:12px}.project-card h3{font-size:17px}.card-cost strong{font-size:15px}.card-cost>span{font-size:10px}.card-status>span{font-size:10px}.card-status .status-badge{font-size:9px;white-space:normal}.card-status{gap:12px}.card-status>span{max-width:50%}.project-card .program-badge,.pagination{font-size:10px}.pagination select{font-size:12px;max-width:100px;min-height:40px}.pagination .icon-button{width:36px;height:40px}.mobile-sort{font-size:11px}.mobile-sort select{font-size:14px;min-height:40px}.funding-breakdown strong{font-size:11px}.funding-cost strong{font-size:10px}.funding-breakdown span:not(.funding-number){font-size:10px}.filter-grid label{font-size:13px}.filter-grid select{font-size:16px;height:44px}.filter-footer .primary-button,.filter-footer .text-button{min-height:44px}.detail-section dd{font-size:12px}.detail-status>div{flex-wrap:wrap}.detail-budget b{font-size:13px}.detail-section dt{flex-shrink:1}.directory-search input{font-size:16px}.directory-search{max-width:52%;padding:9px}.location-directory summary strong{font-size:13px}.location-directory summary small{font-size:10px}.location-summary b{font-size:11px}.location-summary small{font-size:9px!important}.location-directory summary{flex-wrap:wrap}.location-directory summary>span:nth-child(2){min-width:90px}.location-projects .status-badge{font-size:9px;white-space:normal}.location-projects>button:not(.text-button){font-size:12px}.location-projects small{font-size:10px}.chart-legend>div{font-size:10px}.milestone-summary span{font-size:11px}.login-form>p{font-size:13px}.login-form form>label{font-size:13px}.password-input input{font-size:16px}.login-security{font-size:10px}.login-story-content>p{font-size:12px}.login-form-side{min-height:470px}}.login-form .username-input{width:100%;height:46px;border:1px solid var(--border);border-radius:9px;padding:0 13px;margin-bottom:18px;font-size:14px}.login-info{background:var(--accent-soft);color:var(--accent);padding:12px 14px;border-radius:9px;font-size:12px;line-height:1.7;margin-bottom:18px}.sidebar-account-button{display:flex;align-items:center;gap:8px;font-size:12px;padding:12px;color:var(--muted);width:100%;border-top:1px solid var(--border);min-height:44px}.sidebar-account-button:hover{background:var(--accent-soft)}.account-avatar{display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);border:1px solid var(--border);width:36px;height:36px;border-radius:10px;font-size:14px;font-weight:600;flex-shrink:0}.account-identity{display:flex;align-items:center;gap:12px;min-width:0}.account-identity>span:last-child{min-width:0;overflow-wrap:anywhere}.account-identity strong{font-size:13px;font-weight:600;display:block}.account-identity small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.account-identity em{font-style:normal;font-size:9px;padding:2px 5px;background:var(--accent-soft);color:var(--accent);margin-left:7px;border-radius:4px}.account-form{display:flex;flex-direction:column;gap:20px;padding:24px}.account-form label,.temporary-password label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:550}.account-form input,.account-form select,.temporary-password input{border:1px solid var(--border);border-radius:8px;width:100%;height:44px;padding:0 12px;font-size:14px;min-width:0}.account-form label small{font-size:11px;font-weight:400;line-height:1.7;color:var(--muted)}.account-intro{font-size:12px;line-height:1.8;color:var(--muted)}.account-form>.primary-button{align-self:flex-end;min-height:44px}.account-form .form-error{margin-top:0}.password-page{display:flex;flex-direction:column;align-items:center;padding:40px 20px;gap:30px;min-height:100dvh}.password-page-card{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:27px;width:480px;max-width:100%;box-shadow:var(--shadow)}.password-page-card h1{font-size:25px;line-height:1.3;letter-spacing:-.5px;font-weight:600;margin:9px 0 16px}.password-page-card .account-form{padding:0}.password-page-card>.text-button{margin-top:20px}.account-modal{width:500px}.accounts-page{padding-top:2px}.account-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.account-page-heading h1{font-size:29px;font-weight:650;letter-spacing:-.8px;margin:7px 0}.account-page-heading p{font-size:13px;color:var(--muted)}.account-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:23px}.account-summary>div{border:1px solid var(--border);border-radius:11px;background:var(--surface);display:flex;align-items:center;gap:14px;padding:23px}.account-summary svg{color:var(--accent)}.account-summary strong{font-size:29px;letter-spacing:-.6px;font-weight:600}.account-summary span{font-size:12px;color:var(--muted)}.account-success{display:flex;align-items:center;gap:10px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--border);border-radius:9px;padding:13px 16px;margin-bottom:18px;font-size:12px}.account-list-panel{padding:0;overflow:hidden}.account-toolbar{display:flex;align-items:center;gap:12px;padding:18px 21px;border-bottom:1px solid var(--border)}.account-toolbar .directory-search{max-width:none;flex:1;min-width:60px}.account-toolbar select{height:40px;border:1px solid var(--border);border-radius:7px;padding:0 10px;font-size:12px;min-width:90px}.account-table-wrap{overflow-x:auto}.account-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.account-table th{font-weight:500;font-size:11px;background:var(--surface-soft);color:var(--muted);padding:13px 20px;border-bottom:1px solid var(--border);white-space:nowrap}.account-table td{padding:19px 20px;border-bottom:1px solid var(--border);vertical-align:middle}.account-table th:first-child{min-width:200px}.account-actions{display:flex;gap:8px;flex-wrap:wrap;min-width:205px}.account-actions button{display:flex;align-items:center;gap:5px;font-size:11px;padding:7px;border:1px solid var(--border);border-radius:6px;min-height:32px;background:var(--surface)}.account-actions button:hover{background:var(--accent-soft)}.danger-text{color:#b75461}.danger-button{display:flex;align-items:center;justify-content:center;gap:8px;background:#b34352;color:#fff;min-height:44px;padding:10px 15px;border-radius:8px;font-weight:600;font-size:12px}.danger-button:hover{background:#963542;color:#fff}.account-role,.account-status{display:inline-flex;padding:5px 8px;border-radius:6px;font-size:10px;text-transform:capitalize;font-weight:550;white-space:nowrap}.account-role{background:var(--surface-soft);border:1px solid var(--border)}.account-role.admin{background:#edf2fc;color:#5377ac;border-color:transparent}.account-status.active{background:var(--accent-soft);color:var(--accent)}.account-status.blocked{background:#f9e9ed;color:#b05a6b}.password-required{display:block;font-size:10px;color:var(--muted);margin-top:8px;line-height:1.6}.account-list-footnote{padding:16px 21px;font-size:11px;color:var(--muted)}.account-cards{display:none}.account-confirm-actions{display:flex;justify-content:flex-end;gap:10px}.temporary-password{padding:25px}.temporary-password h3{font-size:18px;font-weight:600;margin-bottom:12px}.temporary-password p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:20px}.temporary-password label{margin:20px 0}.temporary-password input{font-family:ui-monospace,Consolas,monospace;font-size:18px;color:var(--accent);font-weight:650}.temporary-password>.primary-button{width:100%;min-height:44px}.topbar-avatar{overflow:hidden}.sidebar-bottom strong{overflow-wrap:anywhere;max-width:125px}:root[data-theme=dark] .account-role.admin{background:#273b55;color:#bed1ee}:root[data-theme=dark] .account-status.blocked{background:#482c38;color:#e2adc2}@media(max-width:900px){.account-summary>div{padding:18px;gap:10px}.account-summary span{font-size:11px}.account-actions{min-width:180px}.account-summary{gap:12px}}@media(max-width:640px){.login-form .username-input{font-size:16px}.account-modal{width:100%;height:auto;max-height:100dvh;align-self:center;border-radius:12px;margin:16px;max-width:calc(100% - 32px)}.account-modal .account-form{padding:20px}.account-form input,.account-form select{font-size:16px}.account-page-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}.account-page-heading h1{font-size:25px}.account-page-heading p{font-size:12px;line-height:1.7}.account-page-heading>.primary-button{min-height:44px;font-size:12px}.account-summary{gap:8px}.account-summary>div{padding:14px 10px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.account-summary strong{font-size:26px}.account-summary span{font-size:10px;line-height:1.6}.account-summary svg{width:18px}.account-toolbar{padding:14px;flex-wrap:wrap;gap:9px}.account-toolbar .directory-search{flex-basis:calc(100% - 50px);order:0}.account-toolbar .icon-button{order:1}.account-toolbar>label:not(.directory-search){order:2;flex:1}.account-toolbar select{width:100%;height:44px;font-size:16px;min-width:0}.account-table-wrap{display:none}.account-cards{display:block}.account-card{padding:20px 16px;border-bottom:1px solid var(--border)}.account-card-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:15px 0}.account-card .password-required{margin-top:0;font-size:10px}.account-actions{gap:8px;min-width:0}.account-actions button{min-height:42px;font-size:11px;padding:9px}.account-list-footnote{padding:15px;font-size:10px}.password-page{padding:25px 15px;gap:23px}.password-page-card{padding:24px 20px}.password-page-card h1{font-size:24px}.account-confirm-actions>*{flex:1}.temporary-password{padding:22px}.sidebar-bottom strong{max-width:110px}}
