:root{--navy:#112d34;--navy-muted:#80979c;--teal:#157d71;--teal-dark:#126b61;--mint:#dff0e9;--canvas:#f5f6f3;--ink:#203b3e;--muted:#879493;--line:#e8ede7;--white:#fff;--radius:13px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none;color:var(--ink);background:var(--canvas);font-size:14px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5ebaaa;outline-offset:3px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;left:20px;top:-60px;background:var(--navy);color:white;padding:12px;z-index:99}.skip-link:focus{top:10px}
.brand{display:flex;align-items:center;gap:12px;padding:0 13px}.brand-mark{width:36px;height:42px;display:grid;place-items:center;background:#d8efe5;border-radius:12px 12px 12px 3px;color:#185f57}.brand-mark svg{width:27px;height:27px;stroke-width:1.5}.brand strong{display:block;font-size:17px;letter-spacing:1px;white-space:nowrap}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:1px;color:#9eaaa9;margin-top:7px}.nav-item{border:0;background:none;color:#a5b9bb;padding:14px 14px;display:flex;align-items:center;text-align:left;gap:12px;border-radius:8px;font-size:13px;position:relative;width:100%;min-height:47px}.nav-item svg{width:18px;height:18px;stroke-width:1.5}.nav-item:hover{background:#1b3b43;color:white}.nav-item.active{background:#284a4c;color:#deeee9}.nav-item.active svg{color:#97d9bd}.nav-count{background:#23424a;padding:2px 6px;border-radius:4px;font-size:10px;margin-left:auto}.tiny-label{font-size:8px;border:1px solid #3e5b60;padding:2px 3px;border-radius:3px;margin-left:auto;color:#94b1b5}.status-dot{display:inline-block;width:6px;height:6px;background:#55b092;border-radius:50%;flex-shrink:0}
.workspace{margin-left:0}.topbar{height:74px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fafbf8}.topbar-left,.topbar-right{display:flex;align-items:center;gap:13px;font-size:11px}.topbar-left #breadcrumb-current{font-weight:500}.first-issue{color:#a0aba5;font-size:10px}.first-issue b{color:#6a7e77;font-weight:500;margin-left:6px;font-variant-numeric:tabular-nums}.top-separator{height:12px;width:1px;background:#dfe5dd;margin:0 5px}.edition-status{font-size:10px;display:flex;align-items:center;gap:7px;color:#7a9085}.edition-status .status-dot{width:5px;height:5px}main{padding:33px 38px 18px;max-width:1680px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:9px;color:#839b8f;letter-spacing:2.3px;font-weight:600;margin-bottom:10px}h1{font-size:28px;letter-spacing:-.8px;line-height:1.3;margin:0;font-weight:600}.heading-dot{color:#66a98a;margin-left:5px}.page-heading p{font-size:11px;line-height:1.7;color:#93a096;margin:11px 0 0}.heading-actions{display:flex;align-items:center;gap:10px;padding-top:9px}.date-picker{border:1px solid #dfe6dd;background:#fff;border-radius:7px;height:38px;display:flex;align-items:center;position:relative;gap:8px;padding-left:11px}.date-picker>svg{width:15px;height:15px;color:#81988a}.date-picker select{border:0;outline:none;appearance:none;color:#4e6558;background:transparent;font-size:11px;width:156px;padding:10px 22px 10px 0;cursor:pointer}.date-picker .select-chevron{position:absolute;right:8px;pointer-events:none;width:12px;height:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:7px;height:38px;padding:0 13px;font-size:11px;font-weight:500;white-space:nowrap}.button svg{width:14px;height:14px}.button-light{background:#fff;border:1px solid #dfe6dd;color:#526d5e}.button-light:hover{background:#eff5ed}.button-primary{background:var(--teal);color:white}.button-primary:hover{background:var(--teal-dark)}.button-quiet{background:#f1f5ee;color:#62806b}.button-text{border:0;background:none;font-size:11px;color:var(--teal);padding:0;display:inline-flex;align-items:center;gap:5px}.button-text svg{height:14px;width:14px}.icon-button{display:grid;place-items:center;background:none;border:0;width:32px;height:32px;border-radius:6px;color:#97a69d}.icon-button:hover{background:#edf4eb;color:var(--teal)}.icon-button svg{width:17px;height:17px}.global-notice{padding:12px 16px;border-radius:8px;background:#fff6e1;color:#897445;font-size:12px;line-height:1.7;margin-bottom:18px}.global-notice.success{background:#e5f2e9;color:#467b5a}.global-notice.error{background:#fff0ea;color:#9b5c46}#custom-date{height:38px;border:1px solid var(--line);border-radius:7px;padding:0 8px;font-size:11px;background:white;color:var(--ink)}
.hero{min-height:151px;background:#dfece2;border:1px solid #dce8dc;border-radius:var(--radius);display:flex;position:relative;overflow:hidden;padding:28px 29px;align-items:center;gap:25px}.hero-copy{position:relative;z-index:1;max-width:72%}.hero-label{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.5px;color:#76917d;margin-bottom:13px}.hero-label span{width:17px;height:1px;background:#76a48b}.hero h2{font-size:21px;margin:0;letter-spacing:-.4px;font-weight:600;color:#2d5543}.hero p{font-size:11px;color:#6c8a76;line-height:1.8;margin:10px 0 0;max-width:580px}.hero .hero-date{background:#ecf3e9;color:#638269;display:inline-flex;align-items:center;gap:7px;padding:5px 9px;font-size:9px;border-radius:4px;letter-spacing:.5px;margin-top:14px}.hero-date svg{height:11px;width:11px}.water-motif{position:absolute;right:-15px;top:-72px;width:350px;height:290px;opacity:.62;color:#8bb69b}.water-motif svg{width:100%;height:100%;stroke-width:1;fill:none;stroke:currentColor}.water-motif .inner{stroke-width:1.1}.hero-stamp{position:absolute;right:36px;top:42px;height:75px;width:75px;display:grid;place-items:center;color:#5c947b;z-index:1}.hero-stamp svg{width:47px;height:47px;stroke-width:.9}.hero-stamp span{position:absolute;bottom:-5px;font-size:8px;letter-spacing:2px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:20px 0 27px}.kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 19px;min-height:116px}.kpi-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8c9b90;gap:5px}.kpi-icon{display:grid;place-items:center;height:25px;width:25px;border-radius:7px;background:#edf4ea;color:#73957c}.kpi-icon svg{width:14px;height:14px}.kpi-number{display:flex;gap:5px;align-items:baseline;margin:7px 0 5px;font-size:28px;font-weight:600;letter-spacing:-.8px;font-variant-numeric:tabular-nums;color:#2d5040}.kpi-number small{font-size:10px;color:#9baa9b;font-weight:400;letter-spacing:0}.kpi-note{font-size:9px;color:#a2afa3;line-height:1.5}.kpi-note .green{color:#709a7b}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:23px;align-items:start}.list-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 13px}.section-title{display:flex;gap:9px;align-items:center;font-size:15px;font-weight:600;margin:0}.section-title .count-pill{font-size:9px;font-weight:500;background:#e7eee3;color:#71866b;border-radius:4px;padding:3px 6px}.list-heading .button-text{font-size:10px;color:#839583}.list-heading .button-text svg{height:12px;width:12px}.project-panel{border:1px solid var(--line);border-radius:var(--radius);background:white;overflow:hidden}.project-toolbar{padding:18px 19px 0}.search-box{display:flex;align-items:center;gap:8px;height:38px;border:1px solid var(--line);background:#fbfcf9;border-radius:6px;padding:0 11px}.search-box svg{height:15px;width:15px;color:#9eab9e}.search-box input{width:100%;border:0;outline:none;background:transparent;font-size:11px;color:#56705b;min-width:0}.search-box input::placeholder{color:#a8b1a6}.domain-tabs{display:flex;gap:22px;margin-top:15px;border-bottom:1px solid var(--line)}.domain-tab{background:none;border:0;border-bottom:2px solid transparent;padding:9px 0 12px;font-size:11px;color:#94a191;white-space:nowrap}.domain-tab.active{border-color:#488d68;color:#477155;font-weight:600}.domain-tab:hover{color:#477155}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 19px;border-bottom:1px solid var(--line);background:#fdfefb}.filter-select{border:1px solid #e7ece2;padding:6px 23px 6px 9px;border-radius:5px;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2392a184' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 7px center;color:#849579;font-size:10px;max-width:146px;cursor:pointer}.filter-reset{margin-left:auto;background:none;border:0;color:#a5b29c;font-size:10px;padding:5px 0}.project-list{min-height:160px}.project-card{padding:20px 20px 18px;border-bottom:1px solid var(--line);position:relative}.project-card:last-child{border-bottom:0}.project-card:hover{background:#fdfefb}.project-card-top{display:flex;align-items:center;gap:6px;padding-right:30px}.badge{display:inline-flex;align-items:center;border-radius:4px;padding:3px 6px;font-size:9px;line-height:1.4;background:#eff4e9;color:#768b66;white-space:nowrap}.badge.municipal{background:#eaf1e8;color:#6c8d60}.badge.industrial{background:#e9f0ed;color:#55887c}.badge.type{background:#f2f3ec;color:#92987c}.badge.evidence{margin-left:auto;background:transparent;padding-right:0;color:#a1ae99;font-size:8px;gap:3px}.badge.evidence svg{width:10px;height:10px}.save-button{position:absolute;right:17px;top:15px}.save-button.saved{color:#488d68}.save-button.saved svg{fill:#e6f0de}.project-title{display:block;background:none;border:0;padding:0;margin:10px 0 8px;text-align:left;line-height:1.65;font-size:13px;font-weight:600;letter-spacing:.05px;color:#3b5540;width:100%}.project-title:hover{color:var(--teal)}.project-summary{font-size:10px;color:#a0ac99;line-height:1.75;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.project-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 14px;font-size:9px;color:#a1ad98}.project-meta span{display:flex;gap:4px;align-items:center}.project-meta svg{height:11px;width:11px}.meta-budget{margin-left:auto}.meta-budget b{font-size:10px;font-weight:500;color:#87977a}.project-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px}.project-source{font-size:8px;color:#a9b4a1;max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-view{color:#86a77a;font-size:9px}.project-view svg{height:11px;width:11px}.pagination{border-top:1px solid var(--line);padding:13px 19px;display:flex;justify-content:space-between;align-items:center;color:#a2ae99;font-size:9px}.pagination-actions{display:flex;align-items:center;gap:7px}.pagination button{border:1px solid var(--line);background:#fff;border-radius:4px;padding:5px 8px;font-size:9px;color:#879b7b}.pagination button:disabled{cursor:default;opacity:.4}.pagination .page-num{min-width:26px;text-align:center;background:#edf4e8;padding:6px 7px;border-radius:4px;color:#779368}
.brief-column{display:grid;gap:18px}.brief-card{border:1px solid var(--line);border-radius:var(--radius);background:white;padding:20px 18px}.brief-top{display:flex;align-items:center;justify-content:space-between}.brief-card h3{font-size:13px;letter-spacing:.2px;font-weight:600;margin:0;color:#4e684c}.brief-top>svg{height:15px;width:15px;color:#a4b69b}.brief-kicker{font-size:8px;letter-spacing:1.6px;color:#adb9a3;margin:7px 0 18px}.brief-date{font-size:11px;color:#84a174;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:15px}.brief-lines{display:grid;gap:13px}.brief-line{display:flex;gap:8px;font-size:10px;line-height:1.9;color:#96a789}.brief-line .bullet{width:4px;height:4px;background:#a7bd99;flex-shrink:0;border-radius:50%;margin-top:8px}.brief-card .brief-link{display:flex;align-items:center;justify-content:space-between;margin-top:19px;border-top:1px solid var(--line);padding-top:14px;width:100%;font-size:10px;color:#6d9860}.distribution{display:grid;gap:15px;margin-top:16px}.distribution-row{display:grid;grid-template-columns:43px 1fr 24px;gap:8px;align-items:center;font-size:9px;color:#a0ae92}.distribution-bar{height:5px;background:#eff2e9;overflow:hidden;border-radius:4px}.distribution-bar i{display:block;height:100%;border-radius:4px;background:#9dbb8b}.distribution-row:nth-child(2) i{background:#b0c49c}.distribution-row:nth-child(3) i{background:#bfccaf}.distribution-row:nth-child(n+4) i{background:#d0d9c4}.distribution-row b{font-size:9px;font-weight:400;text-align:right;color:#9daa90}.coverage-card{background:#eef2e7;border:1px solid #e8ecdf;border-radius:var(--radius);padding:19px 17px;color:#7b9170}.coverage-label{display:flex;align-items:center;gap:6px;font-size:10px;color:#749266}.coverage-label svg{height:13px;width:13px}.coverage-card p{font-size:10px;line-height:1.95;margin:10px 0 13px;color:#9aab8d}.coverage-card .button-text{font-size:9px;color:#83a06d}.category-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.category-tag{font-size:9px;display:inline-flex;gap:5px;border:1px solid #ebefdf;border-radius:5px;color:#97a986;background:#fbfcf7;padding:6px 7px}.category-tag small{font-size:8px;color:#b2bea2}.page-footer{display:flex;justify-content:space-between;font-size:8px;color:#b5bdac;padding-top:26px;line-height:1.8;gap:15px}.empty-state{padding:45px 25px;text-align:center;color:#a1ad99;line-height:1.8}.empty-state .empty-icon{display:grid;place-items:center;height:45px;width:45px;background:#f1f5ec;color:#a7b79b;border-radius:13px;margin:0 auto 13px}.empty-state h3{font-size:13px;color:#71846a;font-weight:500;margin:0 0 7px}.empty-state p{font-size:11px;max-width:410px;margin:0 auto 14px}.loading-state{padding:35px;text-align:center;font-size:11px;color:#a1ad99}.spinner{display:inline-block;width:16px;height:16px;border:2px solid #e4ebdf;border-top-color:#7c9f6c;border-radius:50%;animation:spin 1s linear infinite;vertical-align:middle;margin-right:7px}.spinning svg{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{height:10px;display:block;border-radius:4px;background:linear-gradient(90deg,#f0f3ec,#e8ede1,#f0f3ec);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite}@keyframes shimmer{to{background-position:-200% 0}}
.standalone-panel{padding:23px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.view-description{font-size:11px;line-height:1.9;color:#98a48f;margin:0 0 20px}.catalog-controls{display:flex;gap:12px;align-items:center;margin-bottom:20px}.catalog-controls .search-box{max-width:400px;flex:1}.catalog-stats{font-size:10px;color:#9dac92;margin-left:auto}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.source-card{border:1px solid var(--line);border-radius:9px;padding:18px;display:flex;flex-direction:column;align-items:start;min-height:178px;gap:10px}.source-card h3{font-size:12px;line-height:1.7;font-weight:500;margin:0;color:#56704e}.source-card .source-meta{font-size:9px;color:#a5b197;line-height:1.8}.source-card .source-note{font-size:9px;line-height:1.8;color:#a8b39b;margin:0}.source-card .source-bottom{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding-top:7px;gap:9px}.source-status{font-size:9px;display:flex;align-items:center;gap:5px;color:#9aa891}.source-status.connected{color:#76a069}.source-status .status-dot{width:4px;height:4px;background:currentColor}.source-card .button-text{font-size:9px;color:#8aa879}.source-card .button-text svg{width:10px;height:10px}.catalog-groups{display:grid;gap:23px}.catalog-group h2{font-size:13px;font-weight:500;color:#7d9172;margin:0 0 13px}.catalog-group h2 small{font-size:9px;color:#b0bba5;font-weight:400;margin-left:8px}.run-list{display:grid;gap:13px}.run-card{border:1px solid var(--line);border-radius:9px;padding:20px}.run-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.run-top h3{font-size:13px;font-weight:500;margin:0;color:#637d58}.run-times{font-size:10px;color:#a2af97;line-height:1.8;margin:10px 0}.run-status{font-size:9px;padding:4px 7px;border-radius:4px;background:#f4f2e6;color:#a19369}.run-status.done{background:#edf4e6;color:#86a374}.run-status.failed{background:#f9eee7;color:#b0957b}.run-card details{margin-top:13px;border-top:1px solid var(--line);padding-top:12px}.run-card summary{font-size:10px;color:#91a47d;cursor:pointer}.run-result{display:grid;grid-template-columns:1fr auto;gap:7px 15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:9px;color:#a2b096}.run-result p{grid-column:1/-1;margin:0;color:#b0baa5;line-height:1.7}.digest-grid{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:23px;align-items:start}.digest-actions{display:flex;gap:10px;align-items:center;margin-bottom:19px}.digest-meta{margin-left:auto;font-size:10px;color:#9bae8c}.digest-title{font-size:17px;line-height:1.7;color:#5b7850;font-weight:500;margin:0 0 12px}.digest-text{width:100%;min-height:580px;border:1px solid var(--line);border-radius:8px;background:#fdfefa;resize:vertical;padding:22px;font:12px/2 "SFMono-Regular",Consolas,"PingFang SC",monospace;color:#7f9171;white-space:pre-wrap}.material-note{font-size:11px;line-height:1.9;color:#9daf8d}.material-note p{margin:10px 0}.material-note ol{padding-left:18px;margin:13px 0}.material-note li{padding-bottom:9px}.favorite-banner{background:#eef3e8;border:1px solid #e7eddf;border-radius:9px;padding:15px 18px;font-size:11px;color:#839b73;display:flex;gap:9px;align-items:center;margin-bottom:22px}.favorite-banner svg{width:16px;height:16px}.view-error{padding:32px;background:#fff;border:1px solid var(--line);border-radius:12px}
.schedule-panel{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:23px;border:1px solid #dfe9d7;border-radius:9px;padding:20px;background:#f5f8ef}.schedule-panel h2{font-size:13px;font-weight:500;color:#587a4b;margin:0 0 8px}.schedule-panel p{font-size:10px;line-height:1.8;color:#91a27d;margin:0;max-width:460px}.schedule-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.schedule-controls label{font-size:10px;color:#7e9769;display:flex;align-items:center;gap:7px}.schedule-controls input[type=time]{padding:7px;border:1px solid #dfe7d5;border-radius:5px;color:#6d8860;background:white;font-size:10px}.schedule-controls input[type=checkbox]{accent-color:#478766;width:15px;height:15px}.source-note{overflow-wrap:anywhere}.source-card>.badge{max-width:100%;white-space:normal;line-height:1.8}
.drawer-backdrop{position:fixed;inset:0;background:#10272e66;z-index:50;backdrop-filter:blur(2px)}.detail-drawer{position:fixed;inset:0 0 0 auto;width:min(580px,100%);background:#fff;z-index:51;box-shadow:-12px 0 50px #112d3422;overflow:auto}.drawer-header{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;background:#fff;z-index:1;font-size:12px;color:#87977e}.drawer-body{padding:29px}.detail-drawer #drawer-body{padding:29px}.drawer-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.drawer-title{font-size:21px;line-height:1.8;font-weight:500;color:#34583f;margin:0 0 24px}.drawer-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.drawer-fact{padding:14px 17px;border-bottom:1px solid var(--line)}.drawer-fact:nth-child(odd){border-right:1px solid var(--line)}.drawer-fact:nth-last-child(-n+2){border-bottom:0}.drawer-fact dt{font-size:10px;color:#a2b097;margin-bottom:7px}.drawer-fact dd{font-size:12px;color:#71856b;margin:0;line-height:1.8;overflow-wrap:anywhere}.drawer-section{margin-top:26px}.drawer-section h3{font-size:12px;font-weight:500;margin:0 0 13px;color:#849c76}.drawer-section p{font-size:12px;color:#9ba991;line-height:1.95;white-space:pre-wrap;margin:0}.drawer-keywords{display:flex;gap:6px;flex-wrap:wrap}.drawer-keywords span{font-size:10px;background:#f1f5e9;border-radius:4px;padding:5px 8px;color:#91a47f}.drawer-footnote{background:#f5f7ee;border-radius:8px;padding:14px 16px;color:#a3af92;font-size:10px;line-height:1.8;margin:25px 0}.drawer-actions{display:flex;gap:10px;flex-wrap:wrap}.drawer-actions .button{height:41px;font-size:12px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#244e3ce8;border:1px solid #577e5c;box-shadow:0 5px 20px #183c2526;color:#e8f5e2;padding:13px 20px;z-index:80;border-radius:8px;font-size:12px;max-width:calc(100vw - 40px);line-height:1.6}
@media(min-width:1500px){main{padding-top:42px}.project-card{padding:23px}.project-title{font-size:14px}.project-summary{font-size:11px}.content-grid{grid-template-columns:minmax(0,1fr) 280px}.brief-card{padding:23px}.hero{min-height:164px}.kpi{min-height:126px}.hero h2{font-size:24px}}
@media(max-width:1200px){.workspace{margin-left:0}.topbar{padding:0 26px}main{padding:28px 26px 18px}.content-grid,.digest-grid{grid-template-columns:minmax(0,1fr) 225px;gap:17px}h1{font-size:24px}.heading-actions{gap:7px}.date-picker select{width:145px}.button{padding:0 10px}.kpis{gap:11px}.kpi{padding:15px}.hero{padding:25px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toast{left:50%}.page-heading{gap:12px}.meta-budget{margin-left:0}}
@media(max-width:1020px){.workspace{margin-left:0}.brand{gap:9px;padding:0 10px}.brand strong{font-size:15px}.brand-mark{width:32px;height:38px}.nav-item{padding:13px 11px;gap:10px}.topbar{padding:0 23px}main{padding:25px 23px 18px}.page-heading{align-items:flex-start;flex-direction:column;gap:10px}.heading-actions{padding-top:0}.content-grid,.digest-grid{grid-template-columns:1fr}.brief-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.brief-column .coverage-card{grid-column:1/-1}.brief-column .brief-card:last-of-type{display:none}.kpi-number{font-size:25px}.kpi-top{font-size:9px}.kpi-note{font-size:8px}.toast{left:50%}.water-motif{right:-65px}.hero-copy{max-width:77%}.hero-stamp{right:20px}.digest-grid .brief-column{grid-template-columns:1fr}.digest-grid .brief-column .brief-card:last-of-type{display:block}}
@media(max-width:760px){.workspace{margin-left:0}.topbar{height:59px;padding:0 19px}.topbar-left{gap:9px}.topbar-right{gap:0}.top-separator,.edition-status{display:none}.first-issue{font-size:9px}.first-issue b{font-size:10px}main{padding:24px 19px 16px}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:9px}h1{font-size:25px}.page-heading p{font-size:10px;line-height:1.8;margin-top:10px;max-width:320px}.page-heading{margin-bottom:20px;gap:16px}.heading-actions{gap:8px;width:100%;flex-wrap:wrap}.date-picker{height:35px}.date-picker select{font-size:10px;width:146px;padding-top:8px;padding-bottom:8px}.heading-actions .button{height:35px;font-size:10px}.hero{padding:22px 20px;min-height:150px;border-radius:10px}.hero h2{font-size:18px;line-height:1.65;max-width:250px}.hero-label{font-size:8px;margin-bottom:10px;letter-spacing:1.3px}.hero p{font-size:9px;line-height:1.9;max-width:275px}.hero-copy{max-width:85%}.hero .hero-date{font-size:8px;margin-top:11px;padding:4px 7px}.hero-stamp{right:7px;top:44px;width:53px}.hero-stamp svg{width:33px;height:33px}.hero-stamp span{font-size:6px;letter-spacing:1px;bottom:5px}.water-motif{width:240px;height:280px;right:-115px;top:-40px;opacity:.4}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 23px}.kpi{padding:14px 15px;min-height:104px;border-radius:9px}.kpi-number{font-size:26px;margin-top:6px}.kpi-top{font-size:9px}.kpi-note{font-size:8px}.content-grid{gap:21px}.section-title{font-size:14px}.list-heading{margin-bottom:12px}.project-toolbar{padding:15px 14px 0}.search-box{height:36px;padding:0 10px}.search-box input{font-size:10px}.domain-tabs{gap:22px;margin-top:12px}.domain-tab{font-size:10px;padding-bottom:11px}.filters{padding:11px 14px;gap:6px}.filter-select{font-size:9px;padding:5px 20px 5px 7px;max-width:105px}.filter-reset{font-size:9px}.project-card{padding:17px 15px 16px}.badge{font-size:8px;padding:3px 5px}.badge.evidence{font-size:7px}.project-title{font-size:12px;line-height:1.8;margin-top:10px}.project-summary{font-size:9px;-webkit-line-clamp:2;margin-bottom:12px;line-height:1.85}.project-meta{font-size:8px;gap:7px 11px}.project-meta svg{width:10px;height:10px}.meta-budget b{font-size:8px}.project-footer{margin-top:13px}.project-source{font-size:7px;max-width:73%}.project-view{font-size:8px}.save-button{top:13px;right:11px}.save-button svg{width:15px;height:15px}.pagination{padding:12px 14px;font-size:8px}.pagination-actions{gap:5px}.pagination button{padding:5px 7px;font-size:8px}.pagination .page-num{padding:5px 6px;min-width:23px}.brief-column{grid-template-columns:1fr 1fr;gap:10px}.brief-card{padding:17px 13px;border-radius:10px}.brief-card h3{font-size:11px}.brief-top>svg{width:13px;height:13px}.brief-kicker{font-size:6px;letter-spacing:1px;margin:6px 0 14px}.brief-date{font-size:9px;padding-bottom:12px;margin-bottom:12px}.brief-line{font-size:8px;gap:6px;line-height:1.9}.brief-lines{gap:9px}.brief-line .bullet{width:3px;height:3px;margin-top:6px}.brief-card .brief-link{font-size:8px;margin-top:15px;padding-top:12px}.distribution-row{grid-template-columns:30px 1fr 18px;font-size:8px;gap:5px}.distribution-row b{font-size:8px}.distribution{gap:13px;margin-top:13px}.coverage-card{padding:17px 15px;border-radius:10px}.coverage-label{font-size:10px}.coverage-card p{font-size:9px;line-height:1.9;margin:9px 0}.page-footer{font-size:7px;flex-direction:column;gap:2px;padding-top:22px}.catalog-controls{gap:8px;flex-wrap:wrap;align-items:stretch}.catalog-controls .search-box{min-width:100%;max-width:none}.catalog-controls .filter-select{max-width:150px}.catalog-stats{font-size:9px;align-self:center}.standalone-panel{padding:17px 14px;border-radius:10px}.view-description{font-size:10px}.catalog-grid{grid-template-columns:1fr}.source-card{padding:15px;min-height:158px}.source-card h3{font-size:12px}.source-card .source-note{font-size:9px}.catalog-group h2{font-size:12px}.run-card{padding:15px}.run-top h3{font-size:11px}.run-times{font-size:9px}.run-status{font-size:8px}.digest-actions{gap:7px;flex-wrap:wrap;margin-bottom:17px}.digest-actions .button{font-size:10px;padding:0 10px}.digest-meta{font-size:9px;margin-left:0;min-width:100%}.digest-title{font-size:15px}.digest-text{padding:15px;font-size:10px;min-height:500px}.favorite-banner{font-size:10px;line-height:1.8;padding:12px 14px;margin-bottom:18px}.drawer-header{height:60px;padding:0 20px}.detail-drawer #drawer-body{padding:22px 20px}.drawer-title{font-size:18px}.drawer-fact{padding:12px}.drawer-fact dt{font-size:9px}.drawer-fact dd{font-size:11px}.drawer-section p{font-size:11px}.toast{left:50%;bottom:20px;font-size:11px;width:max-content}.global-notice{font-size:10px;padding:11px 13px}.empty-state{padding:35px 18px}.empty-state p{font-size:10px}.empty-state h3{font-size:12px}.view-error{padding:20px}.skip-link{left:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:760px){.schedule-panel{flex-direction:column;align-items:flex-start;gap:17px;padding:16px}.schedule-panel h2{font-size:12px}.schedule-panel p{font-size:9px}.schedule-controls{gap:10px}.schedule-controls .button{height:33px;font-size:10px}}
/* Keep supporting information readable on the pale canvas. */
.page-heading p,.view-description{color:#6f806c}.hero p{color:#59735e}.hero-label{color:#6a856f}.kpi-top{color:#70816c}.kpi-note{color:#819177}.project-summary{color:#697b62;font-size:11px}.project-meta{color:#76876c;font-size:10px}.project-source{color:#84947a;font-size:9px}.meta-budget b{color:#6c805f}.badge{color:#5f7854}.badge.type{color:#7b8165}.badge.evidence{color:#7f9470}.project-title{font-size:14px}.project-view{font-size:10px}.brief-line{color:#718565;font-size:11px}.coverage-card p{color:#74866a}.distribution-row,.distribution-row b{color:#7f9172}.brief-kicker{color:#8fa07f}.brief-date{color:#6e8e5e}.filter-select{color:#708362}.search-box input{font-size:12px}.search-box input::placeholder{color:#93a08a}.filter-reset{color:#829474}.source-card .source-note{color:#768a68;font-size:11px}.source-card .source-meta{color:#839574;font-size:10px}.source-status{color:#859675}.source-status.connected{color:#628952}.source-card h3{font-size:13px}.material-note{color:#798e6a}.digest-text{color:#647f53}.drawer-section p{color:#768b69}.drawer-fact dd{color:#627c58}.drawer-footnote{color:#809370}.run-times{color:#849778}.run-result{color:#80966e}.run-result p{color:#8a9e79}.schedule-panel p{color:#7c9169}.page-footer{color:#8f9d83}
@media(max-width:760px){.page-heading p{font-size:11px}.hero p{font-size:10px}.kpi-top{font-size:10px}.kpi-note{font-size:9px}.domain-tab{font-size:11px}.search-box input{font-size:11px}.filter-select,.filter-reset{font-size:10px}.project-title{font-size:14px}.project-summary{font-size:11px}.project-meta{font-size:10px}.meta-budget b{font-size:10px}.project-source{font-size:9px}.project-view{font-size:10px}.badge{font-size:9px}.badge.evidence{font-size:8px}.brief-line{font-size:10px}.coverage-card p{font-size:10px}.source-card .source-note{font-size:11px}.source-card .source-meta{font-size:10px}.view-description{font-size:11px}.run-times{font-size:10px}.digest-text{font-size:11px}.schedule-panel p{font-size:10px}.drawer-section p{font-size:12px}.drawer-fact dd{font-size:12px}.page-footer{font-size:8px}}
/* A centered public website, with management loaded only after sign-in. */
.workspace{margin-left:0}.topbar{height:auto;min-height:84px;padding:0 36px;background:#fafbf8}.topbar-inner{display:flex;align-items:center;gap:22px;max-width:1044px;width:100%;margin:auto;min-height:84px}.brand{padding:0;gap:11px;flex-shrink:0}.brand strong{font-size:17px;color:#314f3c}.brand small{color:#82987d;letter-spacing:1px}.brand-mark{height:37px;width:33px;border-radius:10px 10px 10px 3px}.brand-mark svg{width:24px;height:24px}.topnav{display:flex;align-items:center;gap:5px;flex-shrink:0}.topnav .nav-item{width:auto;min-height:35px;display:flex;gap:7px;justify-content:center;background:transparent;color:#7a8b6d;border:0;border-radius:6px;font-size:12px;padding:10px 13px;white-space:nowrap}.topnav .nav-item:hover{background:#f0f4e9;color:#587b47}.topnav .nav-item.active{background:#e9f0df;color:#52763e;font-weight:500}.topnav .nav-count{margin-left:0;font-size:9px;background:#e2ead7;color:#82966d;padding:2px 5px}.admin-nav{margin-left:-10px;gap:0}.admin-nav .nav-item{font-size:11px;padding-left:10px;padding-right:10px}.topbar-right{margin-left:auto;flex-shrink:0}.admin-session{display:flex;gap:10px;align-items:center}.admin-session>span{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#8a9b7b}.admin-session .button-text{font-size:10px;color:#739363}main{max-width:1120px;padding:35px 38px 18px}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.public-projects{width:100%}.public-projects .project-summary{-webkit-line-clamp:2}.page-footer{align-items:center;gap:16px;padding-top:30px}.admin-entry{border:0;background:transparent;color:#94a487;font-size:9px;padding:4px 0;margin-left:auto;white-space:nowrap}.admin-entry:hover{color:#567d44;text-decoration:underline}.toast{left:50%}.skip-link{left:20px}
.login-backdrop{position:fixed;inset:0;background:#18352466;z-index:60;backdrop-filter:blur(3px)}.login-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:400px;max-width:calc(100vw - 38px);max-height:calc(100dvh - 40px);overflow:auto;background:white;z-index:61;border:1px solid #e4ebdd;border-radius:14px;box-shadow:0 18px 70px #16392433;padding:32px}.login-close{position:absolute;top:12px;right:12px}.login-mark{display:grid;place-items:center;width:40px;height:44px;border-radius:11px 11px 11px 3px;background:#e2f0e5;color:#579673;margin-bottom:22px}.login-mark svg{width:25px;height:25px}.login-dialog .eyebrow{font-size:8px;letter-spacing:2px;margin:0 0 11px}.login-dialog h2{font-weight:500;letter-spacing:-.5px;font-size:23px;margin:0 0 10px;color:#365942}.login-description{font-size:11px;color:#95a389;margin:0 0 25px;line-height:1.8}.login-dialog form{display:grid;gap:8px}.login-dialog form label{font-size:11px;color:#718769;margin-top:7px}.login-dialog input{width:100%;height:42px;padding:10px 12px;border:1px solid #e0e9d7;border-radius:6px;background:#fbfcf8;color:#547448;font-size:13px}.login-dialog .button-primary{margin-top:17px;width:100%;height:42px;font-size:12px;justify-content:space-between;padding:0 15px}.login-error{margin:8px 0 0;color:#9b624b;background:#fff1e9;padding:10px 12px;border-radius:6px;font-size:11px;line-height:1.8}
@media(max-width:1100px){.topbar-inner{gap:14px}.topnav .nav-item{padding:10px 11px;font-size:11px}.admin-nav .nav-item{padding:10px 7px;font-size:10px}.admin-session{gap:7px}.admin-session>span{max-width:65px}.brand strong{font-size:16px}}
@media(max-width:900px){.topbar{padding:17px 26px}.topbar-inner{display:grid;grid-template-columns:1fr auto;gap:17px 18px;min-height:0}.brand{grid-column:1;grid-row:1}.topbar-right{grid-column:2;grid-row:1}.topnav{grid-column:1/-1;gap:5px;justify-content:flex-start}.admin-nav{margin-left:0}.topnav .nav-item{min-height:34px;padding:9px 14px;font-size:11px}.admin-nav .nav-item{font-size:11px}.admin-session>span{max-width:120px}.page-footer{flex-wrap:wrap}.page-heading{align-items:flex-start;flex-direction:column}main{padding:29px 26px 18px}.hero-copy{max-width:78%}}
@media(max-width:760px){.topbar{padding:17px 19px 12px}.topbar-inner{gap:16px 10px}.brand strong{font-size:16px}.brand small{font-size:7px;letter-spacing:1px;margin-top:5px}.brand-mark{width:30px;height:35px}.brand-mark svg{width:23px;height:23px}.topnav{width:100%;gap:8px}.topnav .nav-item{flex:1;min-height:36px;padding:9px 7px;font-size:11px}.admin-nav{gap:5px}.admin-nav .nav-item{font-size:10px}.admin-session{gap:7px}.admin-session>span{max-width:74px;font-size:9px}.admin-session .button-text{font-size:9px}main{padding:24px 19px 16px}.hero-copy{max-width:88%}.kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0 24px}.kpi{padding:13px 11px;min-height:111px}.kpi-top{font-size:9px;gap:3px}.kpi-icon{width:20px;height:20px;border-radius:5px}.kpi-icon svg{width:12px;height:12px}.kpi-number{font-size:26px;margin-top:9px}.kpi-number small{font-size:8px}.kpi-note{font-size:8px;line-height:1.8}.page-footer{display:grid;grid-template-columns:1fr auto;gap:7px 10px;font-size:8px}.page-footer>span:first-child{grid-column:1;grid-row:1}.page-footer>span:nth-child(2){grid-column:1/-1;grid-row:2}.admin-entry{font-size:8px;grid-column:2;grid-row:1;margin-left:0}.login-dialog{padding:27px}.login-description{font-size:11px}.login-dialog form label{font-size:12px}.login-dialog input{height:44px}.login-dialog .button-primary{height:44px}.login-dialog h2{font-size:22px}}

/* Project facts and follow-up analysis have distinct, readable treatments. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.heading-actions{flex-wrap:wrap;justify-content:flex-end;padding-top:0}
.date-controls{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:100%}
.date-navigation{display:flex;align-items:center;gap:7px;max-width:100%}
.date-picker{height:40px;padding:0 10px;gap:9px;min-width:0}
.date-picker>span{font-size:10px;color:#7a8d72;white-space:nowrap}
.date-picker input{height:38px;width:139px;min-width:0;border:0;background:transparent;color:#4d6943;font-size:12px;font-variant-numeric:tabular-nums;padding:0;cursor:pointer}
.date-step{display:grid;place-items:center;width:34px;height:40px;padding:0;background:white;border:1px solid #dfe6dd;border-radius:7px;color:#68875a;flex-shrink:0}
.date-step svg{width:14px;height:14px}
.date-step-previous svg{transform:rotate(180deg)}
.date-step:disabled{opacity:.35;cursor:default}
.date-step:not(:disabled):hover{background:#eef5e8}
.date-shortcuts{display:flex;gap:6px;flex-wrap:wrap}
.date-shortcuts button{font-size:11px;height:31px;padding:0 12px;border:1px solid transparent;background:transparent;color:#7a8e6a;border-radius:6px;white-space:nowrap}
.date-shortcuts button:hover{background:#edf4e7;color:#4e743d}
.date-shortcuts button[aria-pressed=true]{background:#e5efdd;border-color:#d5e3c9;color:#476d35;font-weight:500}
.date-shortcuts button:disabled{cursor:default}
.public-projects .section-title{flex-wrap:wrap;line-height:1.7}
@media(max-width:1020px){.heading-actions{justify-content:flex-start}.date-controls{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 12px}}
@media(max-width:760px){.date-controls{align-items:flex-start;gap:7px;width:100%}.date-picker{height:40px}.date-picker input{font-size:13px}.date-shortcuts button{height:34px;font-size:11px}.date-step{height:40px}.public-projects .section-title{font-size:13px}.kpis{margin-top:0}.page-heading{margin-bottom:21px}}
.public-projects .project-summary{-webkit-line-clamp:3;line-height:1.95;overflow-wrap:anywhere}
.page-heading{margin-bottom:22px}
.public-projects .project-title{margin-bottom:12px}
.kpi{min-height:94px}
.login-dialog h2{margin-bottom:22px}
@media(max-width:760px){.page-heading{gap:14px;margin-bottom:18px}.page-heading h1{font-size:23px}.kpi{min-height:91px}.kpi-number{margin-bottom:0}}
.detail-drawer{width:min(660px,100%)}
.drawer-title{font-size:22px;line-height:1.7;overflow-wrap:anywhere;margin-bottom:25px}
.drawer-section{margin-top:28px;min-width:0}
.drawer-section h3{font-size:14px;font-weight:600;color:#496943;border-bottom:1px solid #e7edde;padding-bottom:11px;margin-bottom:16px}
.drawer-section p{font-size:13px;line-height:2;color:#617356;overflow-wrap:anywhere;white-space:pre-wrap}
.drawer-section .detail-summary{margin-bottom:18px;color:#52684a}
.drawer-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);margin:0}
.drawer-fact{background:#fbfcf9;padding:14px 16px;min-width:0}
.drawer-fact,.drawer-fact:nth-child(odd),.drawer-fact:nth-last-child(-n+2){border:0}
.drawer-fact:last-child:nth-child(odd){grid-column:1/-1}
.drawer-fact dt{color:#7b8d71;font-size:10px;line-height:1.6}
.drawer-fact dd{color:#4e6647;font-size:13px;line-height:1.9;white-space:pre-wrap}
.detail-prose+.detail-prose{margin-top:20px}
.detail-prose h4,.detail-contact h4{font-size:11px;font-weight:500;color:#7a8e6b;margin:0 0 8px;line-height:1.8;overflow-wrap:anywhere}
.detail-amounts{display:grid;gap:10px}
.detail-amount{padding:16px 18px;background:#f1f6ea;border:1px solid #e2ecd8;border-radius:8px;min-width:0}
.detail-amount>span{display:block;font-size:11px;line-height:1.8;color:#738764;overflow-wrap:anywhere}
.detail-amount>strong{display:block;margin-top:6px;font-size:19px;font-weight:500;color:#436b36;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}
.detail-amount p{font-size:11px;color:#7c8d6f;margin-top:7px}
.drawer-section .detail-pending{color:#92a083;font-size:12px}
.detail-contacts{display:grid;gap:15px}
.detail-analysis{background:#f8f7ef;border:1px solid #ece9d9;border-radius:9px;padding:18px}
.detail-analysis h3{color:#77744c;border-color:#e6e3cf}
.detail-analysis .detail-analysis-note{font-size:10px;line-height:1.8;color:#929069;margin:0 0 12px}
.detail-insights{padding-left:18px;margin:0;display:grid;gap:12px;color:#716d4e;font-size:12px;line-height:1.95}
.detail-insights li{padding-left:3px;overflow-wrap:anywhere;white-space:pre-wrap}
.drawer-footnote{font-size:11px;color:#7b8d6d}
@media(max-width:600px){.detail-drawer #drawer-body{padding:22px 20px 30px}.drawer-title{font-size:19px;line-height:1.8}.drawer-section{margin-top:25px}.drawer-section h3{font-size:14px}.drawer-facts{grid-template-columns:minmax(0,1fr)}.drawer-fact{padding:12px 14px}.drawer-fact dt{font-size:10px}.drawer-fact dd{font-size:13px}.drawer-section p{font-size:13px;line-height:2}.detail-amount>strong{font-size:19px}.detail-analysis{padding:16px}.detail-insights{font-size:12px}.drawer-actions .button{font-size:12px;min-height:44px;height:auto}.drawer-actions{gap:8px}.drawer-footnote{font-size:10px;line-height:1.9}.project-meta .meta-budget{max-width:100%;overflow-wrap:anywhere;flex-wrap:wrap}}
