:root{--navy:#003d6b;--navy-deep:#003366;--orange:#e49937;--green:#89bf40;--teal:#3d7d91;--ink:#193444;--muted:#617680;--line:#dce5e9;--paper:#fff;--bg:#f3f6f7;--soft:#edf3f5;--danger:#aa3b39;--shadow:0 8px 32px #173a5212;--sidebar:234px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:var(--navy);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:3px}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #bfced5;border-radius:7px;min-height:42px;padding:9px 11px;font-size:14px;max-width:100%}input[type=checkbox]{min-height:auto;width:16px;height:16px;accent-color:var(--navy);padding:0}input[type=file]{padding:10px;width:100%}textarea{resize:vertical;min-height:100px;width:100%}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.18;letter-spacing:-.85px;font-weight:730}h1 small{display:inline-block;font-size:11px;letter-spacing:.07em;font-weight:700;text-transform:uppercase;color:#75501a;background:#fff3d9;border:1px solid #eacb9b;padding:5px 8px;border-radius:5px;vertical-align:middle;margin-left:10px;white-space:nowrap}h2{font-size:20px;letter-spacing:-.35px}h3{font-size:16px;line-height:1.4}p{line-height:1.6}small{font-size:12px}.muted{color:var(--muted)}.mono{font-family:"Cascadia Code",Consolas,monospace}.numeric{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.right{text-align:right}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:12px;z-index:10000;background:#fff;padding:12px}.skip-link:focus{top:10px}.proof-banner{min-height:80px;background:#ffe0a3;color:#183549;border-bottom:3px solid #e49937;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px 24px;text-align:center;font-size:16px;font-weight:600;line-height:1.5}.proof-banner strong{font-size:11px;letter-spacing:.14em}.proof-banner span{max-width:1100px}.app-frame{display:flex;min-height:calc(100vh - 80px)}.sidebar{width:var(--sidebar);flex-shrink:0;background:var(--navy-deep);color:white;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;align-self:flex-start;padding:26px 15px 22px}.brand{display:flex;gap:11px;align-items:center;color:#fff;padding:0 7px 31px;line-height:1.25}.brand:hover{text-decoration:none}.brand-symbol{width:39px;flex:0 0 39px;color:#e49937}.brand-symbol svg{width:39px;height:39px}.brand strong{display:block;font-size:17px;letter-spacing:-.4px;max-width:148px}.brand small{display:block;font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;margin-top:6px;color:#bbd0df}.nav-section-label{font-size:9px;letter-spacing:.16em;font-weight:700;color:#8eafc6;padding:0 15px 11px}nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:7px;font-size:14px;font-weight:550;color:#cfe0eb}.nav-item:hover{background:#ffffff0d;text-decoration:none;color:white}.nav-item.active{background:#ffffff18;color:white;box-shadow:inset 3px 0 var(--orange)}.nav-item .icon{opacity:.85}.nav-item.active .icon{color:#eab266;opacity:1}.nav-divider{border-top:1px solid #ffffff15;margin:15px 7px 12px}.sidebar-bottom{margin-top:auto;padding:30px 13px 0}.sidebar-bottom p{color:#99b7cb;font-size:11px;line-height:1.6;margin:11px 0 17px}.sidebar-bottom a{font-size:12px;color:#cbdde9;display:flex;justify-content:space-between}.local-status{font-size:11px;font-weight:600;color:#cbdde9;display:flex;gap:8px;align-items:center}.local-status i{width:6px;height:6px;border-radius:100%;background:var(--green)}.workspace{flex:1;min-width:0}.topbar{min-height:64px;background:#fff;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}.breadcrumb{font-size:12px;color:var(--muted);display:flex;gap:12px;align-items:center}.breadcrumb strong{color:var(--ink);font-weight:550}.breadcrumb span{color:#a0b2bd}.topbar-actions{display:flex;gap:20px;align-items:center}.snapshot-label{font-size:11px;color:var(--muted)}.mobile-menu{display:none!important}#main{padding:29px 32px 36px;min-height:calc(100vh - 166px)}.app-footer{display:flex;justify-content:space-between;gap:16px;padding:16px 32px;border-top:1px solid var(--line);font-size:10px;color:#738b98}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:23px}.eyebrow{color:var(--teal);font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:750;margin-bottom:8px}.page-description{font-size:13px;color:var(--muted);margin-top:9px;max-width:780px}.header-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end;flex-shrink:0}.button{border:1px solid #c9d7df;background:#fff;color:var(--navy);display:inline-flex;gap:8px;justify-content:center;align-items:center;padding:10px 14px;min-height:40px;border-radius:7px;font-size:13px;font-weight:650;line-height:1.3;transition:background .12s,border-color .12s}.button:hover{text-decoration:none;background:#f1f6f8;border-color:#8ba8b8}.button-primary{background:var(--navy);color:white;border-color:var(--navy)}.button-primary:hover{background:#005287;border-color:#005287}.button-orange{background:#f1b662;color:#233c49;border-color:#e2a651}.button-orange:hover{background:#eaaa4f;border-color:#d9983e}.button-quiet{background:transparent;border-color:transparent}.button-quiet:hover{border-color:transparent}.button-danger{color:var(--danger);border-color:#e7c0bd;background:#fff}.button-small{min-height:32px;padding:6px 10px;font-size:12px}.button .icon{width:15px;height:15px}.icon{width:18px;height:18px;vertical-align:middle;flex-shrink:0;stroke-width:1.8}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:6px;min-width:32px;min-height:32px;color:var(--muted)}.icon-button:hover{background:var(--soft);color:var(--navy)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:21px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px 19px;position:relative;overflow:hidden}.metric-label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:8px}.metric-value{font-size:27px;letter-spacing:-.8px;font-weight:700;margin-top:9px;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums}.metric-caption{font-size:10px;line-height:1.5;color:var(--muted);margin-top:7px}.metric-card.accent{background:var(--navy);border-color:var(--navy);color:white}.metric-card.accent .metric-label,.metric-card.accent .metric-caption{color:#c7dbe7}.metric-card.accent:after{content:"";position:absolute;right:-32px;bottom:-60px;width:140px;height:140px;border:1px solid #ffffff1c;border-radius:50%;box-shadow:0 0 0 18px #ffffff05,0 0 0 36px #ffffff04}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 5px #18334403;overflow:hidden}.panel+.panel{margin-top:20px}.panel-header{padding:19px 21px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-header h2{font-size:16px}.panel-header p{font-size:11px;color:var(--muted);margin-top:5px}.panel-content{padding:21px}.toolbar{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}.search-field{position:relative;flex:1;min-width:190px}.search-field .icon{position:absolute;left:12px;top:12px;width:17px;height:17px;color:#8098a7}.search-field input{padding-left:38px;width:100%}.filter-row{display:flex;flex-wrap:wrap;gap:9px;padding:0 18px 15px;background:white;border-bottom:1px solid var(--line);align-items:end}.filter-label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:600;color:var(--muted);flex:1;min-width:120px}.filter-label select{width:100%;font-size:12px;min-height:36px;padding:7px 9px}.filter-label.wide{flex:1.7;min-width:170px}.segmented{display:inline-flex;border:1px solid #ccdae2;border-radius:7px;padding:3px;background:#f7f9fa;gap:2px}.segmented button{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 11px;min-height:30px;background:none;border:0;font-size:12px;color:var(--muted);border-radius:4px;font-weight:550}.segmented button.active{background:#fff;color:var(--navy);box-shadow:0 1px 4px #29434f20}.segmented .icon{width:14px;height:14px}.table-toolbar{display:flex;gap:12px;padding:11px 18px;align-items:center;justify-content:space-between;background:#fbfcfd;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.table-toolbar select{font-size:11px;min-height:28px;padding:4px 8px}.inline-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;line-height:1.4;padding:4px 7px;border-radius:5px;background:#e9f1f6;color:var(--navy)}.chip button{border:0;background:transparent;padding:0 2px;color:inherit}.table-wrap{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:#f7fafb;color:#607783;font-size:10px;letter-spacing:.035em;font-weight:650;padding:11px 16px;white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:14px 16px;border-bottom:1px solid #e9eef1;vertical-align:middle;line-height:1.45}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f6fafc}td.numeric,th.numeric{text-align:right}.project-title{font-size:12px;font-weight:650;line-height:1.4;background:none;border:0;padding:0;color:var(--navy);text-align:left;max-width:310px;display:block}.project-title:hover{text-decoration:underline}.project-sub{display:block;font-size:10px;color:#81939d;margin-top:4px}.program-label{font-size:11px;color:#3d6176;max-width:200px;display:block}.subtle-cell{font-size:11px;color:var(--muted)}.sort-button{border:0;background:none;color:inherit;font:inherit;display:inline-flex;gap:5px;padding:0}.sort-button:hover{color:var(--navy)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:4px 7px;border-radius:4px;white-space:nowrap;font-weight:550;background:#ecf2f5;color:#486678}.badge.green{background:#ecf5e0;color:#4b6b2b}.badge.blue{background:#e6f0f8;color:#346887}.badge.orange{background:#fff2dd;color:#855e20}.badge.red{background:#faeae8;color:#9c403b}.badge.gray{background:#eff2f3;color:#637780}.badge.teal{background:#e5f1f1;color:#317580}.data-dots{display:flex;gap:5px;align-items:center}.data-dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#eef3f6;border-radius:5px;color:#a4b3bd}.data-dot.present{background:#e7f2e0;color:#638d37}.data-dot .icon{width:12px;height:12px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 18px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.pagination-controls{display:flex;gap:4px;align-items:center}.pagination-controls span{padding:0 9px}.map-layout{display:grid;grid-template-columns:minmax(0,1fr)}.map-layout.split{grid-template-columns:1fr 1fr}.map-layout.split .list-pane{border-left:1px solid var(--line)}.map-pane{position:relative;min-height:520px;background:#e9efeb}.map-layout.split .map-pane{min-height:600px}.map-canvas{height:100%;min-height:520px;width:100%;z-index:0}.map-pane>.map-canvas{position:absolute;inset:0}.map-controls{position:absolute;z-index:500;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.map-control-box{padding:9px 12px;background:#fffffff2;border:1px solid #d5e0df;box-shadow:0 2px 12px #24443714;border-radius:6px;font-size:11px;max-width:230px;color:#3a5763}.check-label{display:flex;align-items:center;gap:7px;font-size:12px}.map-legend{position:absolute;bottom:28px;left:12px;z-index:500;display:flex;gap:11px;background:#fffffff2;border:1px solid #d4dedb;border-radius:6px;padding:9px 12px;font-size:10px;box-shadow:0 2px 12px #2444370d}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{width:7px;height:7px;border-radius:50%;background:var(--teal)}.map-notice{position:absolute;bottom:64px;left:12px;right:12px;z-index:500;background:#fff4df;color:#825a26;border:1px solid #e8d1a6;padding:8px 10px;border-radius:5px;font-size:10px;display:none}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:9px!important}.leaflet-popup-content{font:12px/1.5 Inter,"Segoe UI",Arial,sans-serif;margin:13px}.leaflet-popup-content button{margin-top:8px}.leaflet-popup-content p{font-size:11px;color:var(--muted)}.map-unavailable{padding:40px;max-width:480px}.empty-state{text-align:center;padding:53px 25px;color:var(--muted)}.empty-state .icon{width:32px;height:32px;margin-bottom:12px;color:#7f9ca9}.empty-state h3{color:var(--ink);margin-bottom:7px}.empty-state p{font-size:12px;max-width:450px;margin:auto}.empty-state .button{margin-top:18px}.loading-screen{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;padding:100px 25px;color:var(--muted)}.loading-screen h1{font-size:20px}.spinner{width:26px;height:26px;border:3px solid #d4e2e9;border-top-color:var(--navy);border-radius:50%;animation:spin .7s linear infinite}.loading-inline{padding:45px;display:flex;justify-content:center}.error-panel{padding:28px;border:1px solid #e3bbb6;background:#fff8f6;border-radius:9px}.error-panel h2{color:#983e38;margin-bottom:9px}.error-panel p{font-size:13px;margin-bottom:18px}.callout{border:1px solid #d5e4ed;background:#f0f6fa;color:#486778;padding:12px 15px;font-size:12px;line-height:1.55;border-radius:7px}.callout.warning{background:#fff7e8;border-color:#ead9b9;color:#806333}.callout.success{background:#f0f7e8;border-color:#d0e2be;color:#546e3b}.callout.danger{background:#fcf0ed;border-color:#e8c1b9;color:#96453f}.callout+.panel,.callout+.grid,.callout+.metrics{margin-top:20px}.section-gap{margin-top:22px}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.detail-grid{grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr)}.stack{display:flex;flex-direction:column;gap:20px}.stack>.panel+.panel{margin-top:0}.detail-heading{margin-bottom:23px}.detail-heading h1{max-width:950px;font-size:28px}.detail-heading .chips{margin-top:13px}.detail-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:var(--muted)}.back-link{font-size:12px;display:inline-flex;align-items:center;gap:7px;margin-bottom:17px;color:var(--muted)}.detail-map{height:370px;min-height:370px}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:21px;overflow:auto}.tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 0;font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap}.tabs button.active{color:var(--navy);border-bottom-color:var(--orange)}.definition-list{display:grid;grid-template-columns:minmax(115px,.7fr) minmax(0,1.3fr);gap:14px 15px;font-size:12px;margin:0}.definition-list dt{color:var(--muted)}.definition-list dd{margin:0;overflow-wrap:anywhere}.body-copy{font-size:13px;line-height:1.7;color:#4c6473;white-space:pre-line}.detail-summary{padding:18px 21px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.detail-summary .icon{color:var(--teal)}.detail-summary p{font-size:11px;color:var(--muted)}.data-note{font-size:11px;line-height:1.6;color:var(--muted);padding:13px 18px;background:#f8fafb;border-top:1px solid var(--line)}.program-card{padding:20px;display:flex;flex-direction:column;gap:15px;transition:border-color .15s,box-shadow .15s}.program-card:hover{border-color:#a6bfca;box-shadow:var(--shadow)}.program-card-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.program-card h2{font-size:17px;line-height:1.35}.program-card .organization{font-size:11px;color:var(--muted);margin-top:6px}.program-card .card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card-stats strong{font-size:21px;font-weight:650;display:block;letter-spacing:-.5px}.card-stats span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.program-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-top:auto}.original-name{font-size:10px;color:var(--muted);line-height:1.5}.original-name summary{cursor:pointer}.original-name p{margin-top:5px}.progress-track{height:6px;background:#eaf0f2;overflow:hidden;border-radius:9px}.progress-fill{height:100%;background:var(--teal);min-width:0;border-radius:9px}.bar-chart{display:flex;flex-direction:column;gap:16px}.bar-item-top{display:flex;justify-content:space-between;align-items:baseline;gap:15px;font-size:12px;margin-bottom:7px}.bar-item-top span{color:var(--muted);font-size:11px}.bar-item-top a{color:var(--ink)}.chart-note{font-size:10px;color:var(--muted);margin-top:19px;line-height:1.6}.cost-bar{height:6px;background:#e9f0f3;border-radius:6px;overflow:hidden;margin-top:6px;min-width:70px}.cost-bar span{display:block;height:100%;background:var(--teal);border-radius:6px}.fund-link{font-weight:650;color:var(--navy);display:block}.finance-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.section-title p{font-size:12px;color:var(--muted);margin-top:5px}.timeline-chart{height:170px;display:flex;gap:8px;align-items:stretch;padding:10px 0 23px}.timeline-col{display:flex;flex-direction:column;justify-content:end;align-items:center;flex:1;min-width:15px;position:relative}.timeline-col .timeline-bar{background:var(--teal);width:75%;max-width:35px;min-height:2px;border-radius:4px 4px 0 0}.timeline-col small{position:absolute;top:100%;font-size:9px;color:var(--muted);margin-top:7px;white-space:nowrap}.timeline-col .value{font-size:9px;color:var(--muted);margin-bottom:5px}.documents-list{list-style:none;padding:0;margin:0}.document-item{display:flex;gap:14px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.document-item:last-child{border-bottom:0}.document-icon{display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f9eeec;color:#a66c62;width:40px;height:46px;flex-shrink:0}.document-info{flex:1;min-width:0}.document-info strong{font-size:12px;display:block;overflow-wrap:anywhere}.document-info small{color:var(--muted);font-size:10px;display:block;margin-top:4px}.document-actions{display:flex;gap:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;min-width:0}.form-field.full{grid-column:1/-1}.form-field small{font-weight:400;color:var(--muted);line-height:1.5;font-size:11px}.form-field input,.form-field select{width:100%}.form-field select[multiple]{min-height:135px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;border-top:1px solid var(--line);margin-top:23px;padding-top:18px}.field-error,.form-error{color:var(--danger);font-size:12px;line-height:1.5}.form-error:empty{display:none}.form-error{background:#fcf0ed;border-radius:6px;padding:11px 13px;margin-bottom:17px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checkbox-grid label{font-size:11px;display:flex;gap:7px;align-items:flex-start;font-weight:400}.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;background:#0b263a66;z-index:1500;backdrop-filter:blur(2px)}.modal-backdrop{display:flex;justify-content:center;align-items:center;padding:24px}.modal{background:white;border-radius:12px;box-shadow:0 20px 90px #142e4940;max-width:680px;width:100%;max-height:calc(100dvh - 48px);display:flex;flex-direction:column;overflow:hidden}.modal.narrow{max-width:430px}.modal.wide{max-width:1000px}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px 23px;border-bottom:1px solid var(--line)}.modal-header h2{font-size:19px}.modal-header small{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#8a6836;margin-top:5px;display:block}.modal-body{padding:23px;overflow:auto}.modal .form-actions{position:sticky;bottom:-23px;background:white;margin-bottom:-23px;padding-bottom:23px}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(580px,95vw);background:#fff;z-index:1501;box-shadow:-12px 0 50px #18384b25;display:flex;flex-direction:column}.drawer-header{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.drawer-header small{text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:var(--teal);font-weight:700}.drawer-body{padding:24px;overflow:auto;flex:1}.drawer-body h2{font-size:23px;margin-bottom:12px;line-height:1.25}.drawer-body .metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.drawer-body .metric-card{padding:12px}.drawer-body .metric-value{font-size:20px}.drawer-body .metric-label{font-size:9px}.drawer-body .metric-caption{font-size:9px}.drawer-map{height:235px;min-height:235px;border-radius:7px;border:1px solid var(--line);margin:18px 0}.drawer-footer{padding:16px 23px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:space-between;background:#fafcfd}.drawer-section{margin-top:23px}.drawer-section h3{font-size:13px;margin-bottom:12px}.toast{position:fixed;bottom:24px;right:26px;z-index:2500;max-width:480px;border:1px solid #cbdde4;background:white;box-shadow:0 7px 32px #193c4c25;border-radius:9px;padding:16px 20px;display:flex;gap:10px;align-items:center;font-size:13px;animation:toast-in .2s ease-out}.toast.error{border-color:#dfbab5;color:var(--danger)}.toast .icon{color:var(--teal)}.import-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.step-list{display:flex;gap:0;margin-bottom:24px}.step{flex:1;display:flex;gap:9px;align-items:center;padding:12px 0;border-bottom:3px solid #dce6eb;font-size:11px;color:var(--muted)}.step span{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:#e9eff3;font-size:10px;font-weight:700}.step.active{border-color:var(--orange);color:var(--navy);font-weight:650}.step.active span{background:var(--navy);color:white}.step.done{border-color:var(--green)}.step.done span{background:#e4f1d6;color:#5a7f2b}.upload-box{padding:30px 22px;border:1px dashed #a9c1cd;border-radius:8px;background:#f7fafc;text-align:center;position:relative}.upload-box>.icon{width:30px;height:30px;color:var(--teal);margin-bottom:12px}.upload-box h3{font-size:14px}.upload-box p{font-size:11px;color:var(--muted);margin:7px 0 17px}.upload-box input{font-size:12px;background:white;text-align:left}.safety-list{padding:0;list-style:none;display:flex;flex-direction:column;gap:18px;margin:0}.safety-list li{display:flex;gap:10px;font-size:12px;line-height:1.5;color:var(--muted)}.safety-list .icon{width:16px;height:16px;color:#709b39;margin-top:2px}.safety-list strong{display:block;color:var(--ink);font-size:12px;margin-bottom:3px}.mapping-table select{min-height:35px;font-size:12px;width:100%}.mapping-table td{padding-top:9px;padding-bottom:9px}.issue-list{max-height:320px;overflow:auto;padding:0;list-style:none;margin:0}.issue-list li{padding:11px 14px;background:#fff7ef;border-bottom:1px solid #f0ddcc;font-size:11px;line-height:1.5}.issue-list li.error{background:#fcf0ed;border-color:#efd5cf}.import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.import-summary .metric-card{padding:13px}.import-summary .metric-value{font-size:24px}.kv-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:12px}.kv-list div{padding:12px;background:#f5f8fa;border-radius:6px}.kv-list small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.audit-list{padding:0;list-style:none;margin:0}.audit-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;display:flex;gap:12px}.audit-list li:last-child{border:0}.audit-list .audit-dot{background:#e3eef4;border:3px solid #f4f8fa;box-shadow:0 0 0 1px #c4d9e5;width:12px;height:12px;flex-shrink:0;border-radius:50%;margin-top:4px}.audit-list small{color:var(--muted);font-size:10px;display:block;margin-top:5px}.audit-list pre{white-space:pre-wrap;font-size:10px;line-height:1.6;max-width:100%;overflow:auto;color:var(--muted)}.help-sections{display:flex;flex-direction:column;gap:0}.help-sections details{border-bottom:1px solid var(--line);padding:17px 0}.help-sections details:last-child{border:0}.help-sections summary{font-size:13px;font-weight:650;cursor:pointer;color:var(--navy)}.help-sections p,.help-sections li{font-size:12px;line-height:1.7;color:var(--muted);margin-top:12px}.help-sections ul{padding-left:19px;margin:0}.pdf-frame{width:100%;height:65vh;border:1px solid var(--line);border-radius:6px}.json-box{overflow:auto;max-height:400px;background:#f3f7f9;padding:16px;border-radius:6px;font:11px/1.6 Consolas,monospace;color:#406171;white-space:pre-wrap;overflow-wrap:anywhere}.noscript{padding:40px;position:fixed;inset:0;background:white;z-index:9999}.footnote{font-size:11px;line-height:1.6;color:var(--muted);margin-top:14px}.page-intro-band{background:var(--navy);color:#fff;padding:26px;border-radius:10px;margin-bottom:22px;display:flex;justify-content:space-between;gap:20px;align-items:center;position:relative;overflow:hidden}.page-intro-band:after{content:"";position:absolute;right:15px;top:-80px;width:310px;height:310px;border:1px solid #ffffff12;box-shadow:0 0 0 28px #ffffff05,0 0 0 60px #ffffff03;border-radius:50%;pointer-events:none}.page-intro-band h2{font-size:22px;max-width:640px;line-height:1.3;position:relative;z-index:1}.page-intro-band p{font-size:12px;color:#bad4e4;max-width:720px;margin-top:9px;position:relative;z-index:1}.page-intro-band .button{position:relative;z-index:1;flex-shrink:0}.treatment-line{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:10px 0;border-bottom:1px solid var(--line)}.treatment-line:last-child{border:0}.treatment-line small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.counter-pill{display:inline-flex;border:1px solid var(--line);border-radius:20px;background:#fff;padding:4px 8px;font-size:10px;white-space:nowrap}.export-menu{display:flex;flex-direction:column;gap:8px}.export-option{display:flex;gap:13px;padding:16px;border:1px solid var(--line);border-radius:7px;align-items:center}.export-option:hover{background:#f4f9fc;text-decoration:none}.export-option strong{font-size:13px;display:block}.export-option small{font-size:11px;color:var(--muted);display:block;margin-top:5px}.export-option>.icon{color:var(--teal);width:22px;height:22px}.template-link{display:inline-flex;gap:7px;align-items:center;font-size:12px}.page-error-wrap{max-width:850px;margin:auto}.inline-error{padding:13px 18px;color:var(--danger);background:#fcf1ee;font-size:12px}.selected-row{background:#eff6fa!important}.selection-scope{color:#648196;font-size:11px}.source-tag{font-size:10px;color:#5d7f90;background:#eef4f7;padding:4px 7px;border-radius:4px;display:inline-flex;align-items:center;gap:5px}.required{color:#bd663e}.check-inline{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.5;color:var(--muted)}.check-inline input{margin-top:2px;flex-shrink:0}.funds-search{margin-bottom:17px;max-width:490px}.reports-program-table{max-height:490px}.treatment-inline-actions{display:flex;align-items:center;gap:6px}.page-size{font-size:11px;min-height:28px;padding:3px 6px}.ledger-trend{overflow:auto}.ledger-trend .timeline-chart{min-width:450px}.tooltip-label{border-bottom:1px dotted #97abb7;cursor:help}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(min-width:1600px){#main{padding:32px 42px 42px}.topbar,.app-footer{padding-left:42px;padding-right:42px}.project-title{max-width:390px}}
@media(max-width:1200px){:root{--sidebar:210px}.sidebar{padding-left:12px;padding-right:12px}.brand{gap:8px}.brand strong{font-size:15px}#main{padding:24px}.topbar{padding:0 24px}.metrics{gap:10px}.metric-card{padding:15px}.metric-value{font-size:24px}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.import-layout{grid-template-columns:minmax(0,1fr) 280px}.map-layout.split{grid-template-columns:1fr}.map-layout.split .map-pane{min-height:380px}.map-layout.split .map-canvas{min-height:380px}.map-layout.split .list-pane{border-left:0;border-top:1px solid var(--line)}.grid.detail-grid{grid-template-columns:1fr}.map-layout.split .project-title{max-width:100%}}
@media(max-width:920px){:root{--sidebar:190px}.brand-symbol{width:31px;flex-basis:31px}.brand-symbol svg{width:31px}.brand{gap:7px}.brand strong{font-size:14px}.brand small{font-size:8px}.nav-item{padding:11px;font-size:12px;gap:9px}.topbar{padding:0 20px}.snapshot-label{display:none}#main{padding:24px 20px}.page-header{flex-direction:column;gap:16px}.header-actions{justify-content:flex-start}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.two{grid-template-columns:1fr}.import-layout{grid-template-columns:1fr}.import-aside{display:none}.app-footer{padding:15px 20px}.app-footer span:last-child{display:none}.proof-banner{font-size:15px}.filter-label{min-width:110px}.metric-value{font-size:26px}.page-intro-band{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.sidebar{position:fixed;top:0;bottom:0;z-index:1400;left:-250px;width:234px;transition:left .18s}.sidebar.open{left:0;box-shadow:0 0 0 100vmax #0e2e3e77}.mobile-menu{display:inline-flex!important}.topbar{min-height:55px;justify-content:flex-start;padding:0 15px;gap:11px}.breadcrumb{font-size:11px;flex:1;gap:8px}.topbar-actions{gap:0}.proof-banner{padding:12px 16px;gap:5px;font-size:14px}.proof-banner span{max-width:100%;text-align:center}.proof-banner strong{font-size:10px}.brand strong{font-size:16px}.brand small{font-size:9px}.brand-symbol{width:38px;flex-basis:38px}.brand-symbol svg{width:38px}.nav-item{font-size:14px}.nav-section-label{font-size:10px}#main{padding:22px 14px 26px}h1{font-size:26px}h1 small{display:table;margin:9px 0 0;font-size:9px;padding:4px 6px}.page-description{font-size:12px}.metrics{gap:9px;margin-bottom:18px}.metric-card{padding:14px}.metric-value{font-size:24px}.metric-label{font-size:10px}.metric-caption{font-size:9px}.toolbar{padding:12px;gap:9px}.toolbar .search-field{flex-basis:100%}.toolbar .segmented{flex:1}.toolbar .segmented button{flex:1}.filter-row{padding:0 12px 12px;gap:8px}.filter-label{flex-basis:calc(50% - 8px);min-width:0}.filter-label.wide{flex-basis:calc(50% - 8px);min-width:0}.filter-row>.button{min-height:35px}.table-toolbar{padding:10px 12px;align-items:flex-start;flex-direction:column;gap:9px}.table-toolbar>.inline-controls{width:100%;justify-content:space-between}td{padding:13px 12px}th{padding:10px 12px}.pagination{padding:12px;align-items:flex-start;gap:9px;flex-wrap:wrap}.grid.three{grid-template-columns:1fr}.grid{gap:16px}.panel-header{padding:16px}.panel-content{padding:17px}.panel-header h2{font-size:15px}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.modal-backdrop{padding:10px}.modal{max-height:calc(100dvh - 20px);border-radius:9px}.modal-header{padding:16px}.modal-body{padding:17px}.modal .form-actions{bottom:-17px;margin-bottom:-17px;padding-bottom:17px}.drawer-body{padding:18px}.drawer-header{padding:16px 18px}.drawer-footer{padding:14px 18px}.detail-heading h1{font-size:25px}.detail-meta{gap:9px}.detail-map{height:300px;min-height:300px}.map-pane,.map-canvas{min-height:430px}.map-layout.split .map-pane,.map-layout.split .map-canvas{min-height:340px}.map-legend{font-size:9px;padding:7px 9px;gap:9px;bottom:24px}.map-control-box{padding:7px 9px;font-size:10px;max-width:200px}.map-control-box .check-label{font-size:10px}.document-item{padding:14px;gap:10px}.document-actions{flex-direction:column}.document-icon{width:32px;height:39px}.checkbox-grid{grid-template-columns:1fr}.step{font-size:9px;gap:5px}.step span{width:21px;height:21px;flex-shrink:0}.import-summary{grid-template-columns:repeat(2,1fr)}.toast{left:12px;right:12px;bottom:12px;font-size:12px}.definition-list{grid-template-columns:105px 1fr;font-size:11px}.app-footer{padding:15px;font-size:9px}.form-actions{flex-wrap:wrap}.form-actions .button{flex:1}.header-actions .button{font-size:12px;padding:9px 12px}.tabs{gap:19px}.tabs button{font-size:12px}.page-intro-band{padding:21px}.page-intro-band h2{font-size:19px}.metric-card.accent:after{right:-75px}.data-note{padding:12px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.proof-banner{background:white;border:2px solid #183549;margin-bottom:20px}.sidebar,.topbar,.header-actions,.app-footer,.button,.map-controls,.toast,.modal-backdrop,.drawer-backdrop,.drawer{display:none!important}.app-frame{display:block}.workspace{width:100%}#main{padding:0}.panel{break-inside:avoid}.table-wrap{overflow:visible}body{background:white}.metrics{grid-template-columns:repeat(4,1fr)}}
[hidden]{display:none!important}
.map-layout.split{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr)}
.map-layout.split .list-pane{display:flex;flex-direction:column;min-width:0;max-height:650px}
.map-layout.split .table-wrap{flex:1;overflow:auto}
.map-layout.split .table-wrap th{position:sticky;top:0;z-index:1}
.map-layout.split .pagination{margin-top:auto;flex-shrink:0}
.map-layout.split .map-pane{min-height:650px}
.map-layout.split .project-title{min-width:145px}
.map-layout.split .program-label{min-width:100px}
.body-copy{font-size:14px}.page-description{font-size:14px}.project-title{font-size:13px}.filter-label{font-size:11px}.program-label{font-size:12px}.subtle-cell{font-size:12px}.sidebar-bottom p{font-size:12px}.metric-caption{font-size:11px}.metric-label{font-size:12px}.nav-item{font-size:14px}
@media(max-width:1200px){.map-layout.split{grid-template-columns:1fr}.map-layout.split .list-pane{max-height:600px}.map-layout.split .map-pane{min-height:360px}}
@media(max-width:680px){.map-layout.split .map-pane{min-height:340px}.metric-label{font-size:10px}.metric-caption{font-size:10px}.page-description{font-size:13px}}
