:root {
  color-scheme: light;
  --bg: #f5f8fc;
  --paper: #fff;
  --ink: #12243d;
  --muted: #405065;
  --line: #d6dfea;
  --control-edge: #8191a8;
  --brand: #143d83;
  --dark: #101f35;
  --accent: #dce9ff;
  --selected: #22416e;
  --tint: #edf2fa;
  --radius: 12px;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);line-height:1.52}
a{color:var(--brand);text-underline-offset:3px}
button,input,select,textarea{font:inherit}
button,a.button{cursor:pointer}
:focus-visible{outline:3px solid #1e53ad;outline-offset:3px}
.skip{position:absolute;z-index:5;left:10px;top:-5rem;background:white;padding:10px}
.skip:focus{top:10px}
.top{padding:0 clamp(14px,4vw,64px);min-height:67px;display:flex;gap:28px;align-items:center;background:var(--dark);color:white;flex-wrap:wrap}
.brand{display:flex;gap:11px;align-items:center;color:white;font-weight:750;white-space:nowrap;text-decoration:none}
.mark{display:grid;place-items:center;width:31px;height:31px;background:var(--accent);border-radius:9px;color:#12352f;font-size:19px}
.top nav,.top-actions,.language{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.top nav a,.top .quiet{color:#e4f4ed;text-decoration:none;padding:8px 11px;border-radius:7px}
.top nav a[aria-current],.top nav a:hover{background:#285449}
.top-actions{margin-left:auto;gap:12px}
.language{gap:2px;background:#244c43;border-radius:8px;padding:3px}
.language button{border:0;padding:4px 7px;background:transparent;color:#fff;border-radius:5px;font-size:.81rem}
.language button[aria-pressed=true]{background:var(--accent);color:var(--dark);font-weight:700}
.layout{max-width:1536px;margin:auto;padding:36px clamp(14px,4vw,64px) 52px}
.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 24px}
.heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.followup-nav{justify-content:flex-start;margin-bottom:16px}
.profile{max-width:700px}
.eyebrow{color:var(--brand);font-size:.76rem;font-weight:800;letter-spacing:.115em;text-transform:uppercase;margin:0 0 7px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.12;letter-spacing:-.045em;margin-bottom:0;font-weight:760}
h2{font-size:1.19rem;letter-spacing:-.02em;margin-bottom:15px}
h3{font-size:1rem;margin:10px 0 4px}
.muted{color:var(--muted);margin:9px 0 0}
.total{font-size:.85rem;background:#e3eeea;color:#3b5952;border-radius:999px;padding:4px 9px;vertical-align:middle;white-space:nowrap;font-variant-numeric:tabular-nums}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 22px #12352f08;min-width:0}
.block{padding:clamp(16px,2vw,24px)}
.filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:17px 19px;border-bottom:1px solid var(--line)}
.filters label:first-of-type{flex:1;min-width:200px}
label{display:flex;flex-direction:column;gap:6px;color:#314e46;font-weight:650;font-size:.86rem}
input,textarea,select{min-width:0;border:1px solid #bacdc6;border-radius:8px;background:#fff;color:var(--ink);padding:8px 10px;font-size:.92rem;font-weight:400}
textarea{resize:vertical}
.button,.primary,.quiet{border:1px solid #bdd0c8;border-radius:8px;background:white;color:var(--brand);padding:8px 12px;text-decoration:none;display:inline-block;font-weight:650;font-size:.88rem;white-space:nowrap}
.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.primary:hover{background:#075447}
.quiet{border-color:transparent;background:transparent}
.button:hover,.quiet:hover{background:#e7f2ed}
.top .quiet:hover{background:#285449}
.table-wrap{overflow:auto}
table{border-collapse:collapse;width:100%;text-align:left}
thead{background:#edf5f2;color:#334f49;font-size:.78rem;letter-spacing:.015em}
th,td{padding:11px 16px;border-bottom:1px solid var(--line)}
tbody th{font-weight:650}
tbody th a{text-decoration:none}
tbody th a:hover{text-decoration:underline}
tbody tr:hover{background:#f8fcfa}
small,.meta{color:var(--muted);font-size:.81rem;overflow-wrap:anywhere}
tbody small,.campaigns small{display:block;font-weight:400}
.pill{display:inline-block;border-radius:999px;padding:4px 9px;font-size:.76rem;font-weight:700;background:#e9efed;color:#344f48}
.pill.waiting,.tile.waiting{background:#e9f0fa;color:#2b4f7a}
.pill.replied,.tile.replied{background:#d9f3e9;color:#075944}
.pill.active,.tile.active{background:#dceeee;color:#234f56}
.pill.later,.tile.later{background:#fff0d7;color:#75501f}
.pill.closed,.tile.closed{background:#ece9f3;color:#54496b}
.numeric{font-variant-numeric:tabular-nums}
.pagination{display:flex;gap:14px;justify-content:center;align-items:center;padding:15px;color:var(--muted)}
.matrix th,.matrix td{text-align:center;min-width:104px}
.matrix th:first-child{text-align:left}
.tile{display:block;border-radius:11px;background:#e8f0ed;padding:12px 7px;font-weight:800;color:#245747;font-variant-numeric:tabular-nums;text-decoration:none}
.tile:hover{box-shadow:inset 0 0 0 2px var(--brand)}
.tile.zero{background:#f3f5f4;color:#65736e}
.tile.zero:hover{box-shadow:none}
.back,.small-link{display:inline-block;margin-bottom:12px;font-size:.88rem}
.donor{align-items:flex-start}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(260px,1fr);gap:20px;align-items:start}
.stack{display:grid;gap:12px;min-width:0}
.thread{border:1px solid var(--line);padding:12px 14px;border-radius:12px;margin:10px 0;background:#fbfdfc}
.thread summary{font-weight:730;cursor:pointer;overflow-wrap:anywhere}
.thread[open] summary{margin-bottom:12px}
.message{border-top:1px solid var(--line);padding:14px 0}
.message-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
time{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}
.message-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.94rem;line-height:1.67;margin-top:8px}
.entries,.campaigns{list-style:none;padding:0;margin:0}
.entries li,.campaigns li{border-top:1px solid var(--line);padding:12px 0}
.campaigns span,.campaigns a{display:block}
.entry-form{border-top:1px solid var(--line);margin-top:18px;padding:18px 0 12px}
.login{max-width:450px;margin:8vh auto;padding:30px}
.grant-hero{display:grid;grid-template-columns:minmax(250px,1fr) minmax(380px,1.12fr);gap:24px 36px;padding:clamp(20px,3.5vw,48px);margin:0 0 22px;color:#fff;background:linear-gradient(120deg,#11233f,#183965 80%,#224a76);border-radius:18px;box-shadow:0 14px 28px #10234122}
.grant-hero-heading{align-self:center}
.grant-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.grant-kpis a{display:flex;min-width:0;min-height:90px;flex-direction:column;justify-content:space-between;gap:6px;padding:13px 15px;border:1px solid #87a9d463;border-radius:11px;background:#d5e7ff12;color:#f1f7ff;text-decoration:none}
.grant-kpis a:hover,.grant-kpis a:focus-visible{background:#d5e7ff29;outline-color:#c3dcff}
.grant-kpis span{font-size:.82rem;font-weight:650}
.grant-kpis strong{font-size:2rem;font-variant-numeric:tabular-nums;line-height:1}
.grant-pipeline{grid-column:1/-1}
.grant-pipeline ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 22px;padding:0;margin:0;list-style:none}
.grant-pipeline a{display:grid;grid-template-columns:1fr auto;gap:6px 7px;align-items:center;color:#f1f7ff;text-decoration:none;font-size:.8rem}
.grant-pipeline a:hover{text-decoration:underline}
.grant-pipeline progress{grid-column:1/-1;appearance:none;width:100%;height:6px;border:0;border-radius:99px;background:#8aaad342;overflow:hidden;--status-color:#a9c8f8}
.grant-pipeline progress.review{--status-color:#60d9c7}
.grant-pipeline progress.attempted{--status-color:#ffc876}
.grant-pipeline progress.declined{--status-color:#ff9bac}
.grant-pipeline progress.awarded{--status-color:#a8e88b}
.grant-pipeline progress::-webkit-progress-bar{background:transparent}
.grant-pipeline progress::-webkit-progress-value{background:var(--status-color);border-radius:99px}
.grant-pipeline progress::-moz-progress-bar{background:var(--status-color);border-radius:99px}
.grant-table{min-width:830px}
.grant-table th:first-child{width:30%}
.grant-table td:nth-child(n+5){font-variant-numeric:tabular-nums;white-space:nowrap}
.grant-status.review,.grant-status.open,.grant-status.awarded{background:#ddf3ed;color:#145744}
.grant-status.attempted{background:#fff0d5;color:#754500}
.grant-status.declined{background:#fae5e9;color:#8a2742}
.grant-status.working,.grant-status.submitted{background:#e6effc;color:#254e81}
.outreach-audit{margin-top:20px}
.outreach-bars{display:grid;gap:10px;list-style:none;padding:0;margin:15px 0;font-size:.9rem}
.outreach-bars li{display:grid;grid-template-columns:minmax(170px,1fr) minmax(100px,2fr) 2.4rem;gap:12px;align-items:center}
.outreach-bars b{text-align:right;font-variant-numeric:tabular-nums}
.outreach-bars progress{width:100%;height:8px;accent-color:#285396}
@media(max-width:540px){.outreach-bars li{grid-template-columns:minmax(110px,1fr) minmax(60px,.8fr) 1.75rem;gap:7px}}
@media(max-width:780px){.grant-hero{grid-template-columns:1fr;gap:18px}.grant-kpis a{padding:10px;min-height:82px}.grant-kpis strong{font-size:1.65rem}}
.login h1{margin:0 0 24px}
.empty{text-align:center;color:var(--muted);padding:36px}
.error{background:#f9e6e2;color:#811f18;padding:10px 12px;border-radius:8px}
@media(max-width:760px){.top{gap:10px;padding-block:9px}.top nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap}.top nav a{padding:5px 8px;white-space:nowrap}.layout{padding-top:23px}.detail-grid{grid-template-columns:1fr}.heading{align-items:flex-start}.filters{padding:12px}.filters label{flex:1;min-width:130px}th,td{padding:9px 12px}.login{margin:5vh auto}}
.brand small{display:block;color:#c1d8d0;font-size:.69rem;font-weight:550;letter-spacing:.02em}
.top nav svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.workspace{min-height:100vh}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 24px}
.metric{position:relative;display:flex;flex-direction:column;gap:7px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 17px;color:var(--muted);text-decoration:none;font-size:.83rem;font-weight:650}
.metric strong{font-size:1.7rem;color:var(--ink);line-height:1.2;font-variant-numeric:tabular-nums}
.metric:hover{border-color:var(--brand)}
.metric-arrow{position:absolute;right:13px;top:12px;color:var(--brand)}
.role-label{color:#c1d8d0;font-size:.78rem}
.setup-link{margin:16px 0 0}
fieldset{border:1px solid var(--line);border-radius:8px;margin:0;padding:10px 13px 13px;min-width:0}
legend{font-size:.86rem;font-weight:650}
.top nav a{display:flex;align-items:center;gap:9px}
@media(min-width:1050px){
  .workspace .top{position:fixed;inset:0 auto 0 0;width:216px;display:flex;align-items:stretch;flex-direction:column;gap:27px;padding:24px 14px;overflow:auto}
  .workspace .brand{padding-left:7px}
  .workspace .top nav{display:grid;align-content:start;gap:5px}
  .workspace .top nav a{padding:10px 11px}
  .workspace .top-actions{margin:auto 0 0;justify-content:space-between;padding:0 4px}
  .workspace .role-label{flex-basis:100%;padding-left:2px}
  .workspace .layout{margin:0 0 0 216px;max-width:none;padding:35px clamp(24px,3vw,54px) 50px}
  .workspace .heading h1{font-size:2.45rem}
}
@media(max-width:720px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.role-label{display:none}.metric{padding:10px 12px}.metric strong{font-size:1.4rem}}

.workspace .top{background:var(--dark)}
.workspace .top nav a{color:#c9dcdf;font-size:.9rem;font-weight:600}
.workspace .top nav a[aria-current]{background:#28534f;color:#fff}
.panel{box-shadow:0 2px 4px #14252d07}
.metric-grid{gap:16px}
.metric{padding:18px;min-height:100px}
.metric strong,.report-lead strong{font-feature-settings:"tnum";letter-spacing:-.055em}
.metric:first-child{background:#e2f3ec;border-color:#c5e2d6}
.metric-arrow{font-size:1.05rem}
.table-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.table-heading h2{margin:0}
.filters{background:#fbfcfd}
thead{background:#edf1f3}
tbody th a{color:#144943}
tbody th small{max-width:31ch}
.period-picker{display:flex;align-items:flex-end;gap:10px}
.period-picker select{min-width:9rem}
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.report-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.report-title h2{margin:0;font-size:1.12rem}
.period-tag{white-space:nowrap;border-radius:6px;background:#edf1f3;padding:4px 8px;color:var(--muted);font-size:.77rem;font-weight:650;font-variant-numeric:tabular-nums}
.report-lead{display:flex;flex-direction:column;margin:16px 0;color:var(--muted);font-size:.9rem}
.report-lead strong{font-size:clamp(2.55rem,5vw,4.1rem);font-weight:720;line-height:1.05;color:var(--ink)}
progress{display:block;width:100%;height:5px;border:0;border-radius:99px;appearance:none;overflow:hidden;background:#e0e8e7;color:var(--brand);accent-color:var(--brand)}
progress::-webkit-progress-bar{background:#e0e8e7}
progress::-webkit-progress-value{background:currentColor;border-radius:99px}
progress::-moz-progress-bar{background:currentColor;border-radius:99px}
.report-email progress{margin-bottom:8px}
.report-stat{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.89rem}
.report-stat b{font-variant-numeric:tabular-nums;white-space:nowrap}
.report-link{display:inline-flex;gap:8px;margin-top:15px;font-weight:650;font-size:.88rem;text-decoration:none}
.report-link:hover{text-decoration:underline}
.reconciliation{margin-bottom:16px}
.reconciliation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.reconciliation-item{background:#f5f8f8;border:1px solid var(--line);border-radius:9px;color:var(--ink);padding:13px;display:grid;gap:8px;text-decoration:none;font-size:.84rem;font-weight:600}
.reconciliation-item:hover{border-color:var(--brand)}
.reconciliation-item strong{font-size:1.6rem;line-height:1.05;font-variant-numeric:tabular-nums}
.reconciliation-item.unclear progress{color:#8d5e29}
.reconciliation-item.unreconciled progress{color:#566982}
.current-period{background:#f1faf6}
.tile{display:grid;gap:6px;min-height:47px;place-content:center stretch;font-weight:700;border-radius:7px}
.tile progress{height:3px;color:inherit}
.login-layout{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);width:min(100%,890px);margin:clamp(18px,6vh,65px) auto;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 24px 55px #21363c14}
.login-layout .login{width:100%;max-width:none;margin:0;align-self:center;border:0;box-shadow:none;padding:clamp(25px,4vw,52px)}
.login-layout .login h2{font-size:1.9rem;margin:0 0 20px}
.login-layout .login input,.login-layout .login select{padding:11px 12px}
.login-layout .login .primary{padding:11px;margin-top:6px}
.login-brand{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:470px;padding:clamp(24px,4vw,49px);background:linear-gradient(145deg,#23363f 0%,#214a47 65%,#176955 100%);color:#f6fcfa}
.login-brand h1{font-size:clamp(2.1rem,3.8vw,3.7rem);max-width:9ch}
.login-brand p{margin:12px 0 0;color:#caebe0}
.login-orbit{position:absolute;z-index:-1;top:-22%;right:-37%;width:135%;aspect-ratio:1;border:1px solid #c8f9e45c;border-radius:50%;box-shadow:0 0 0 34px #c8f9e41c,0 0 0 72px #c8f9e411,0 0 0 114px #c8f9e409}
@media(min-width:1050px){.workspace .top{width:226px}.workspace .layout{margin-left:226px}.workspace .top nav a{padding:11px 12px}}
@media(max-width:760px){.report-grid,.login-layout{grid-template-columns:1fr}.login-brand{min-height:170px}.login-brand h1{max-width:none}.reconciliation-grid{grid-template-columns:1fr}.period-picker select{min-width:6rem}.heading:has(.period-picker){flex-wrap:wrap}.table-heading{padding:13px}.report-stat{font-size:.84rem}}

@font-face {
  font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("inter-cyrillic.woff2") format("woff2");
  unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
.ui-icon { width: 19px; height: 19px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.overview-header { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 18px; margin-bottom: 24px; }
.overview-header .heading-actions { justify-content: flex-start; }
.overview-header h1 { font-size: clamp(1.9rem, 3.5vw, 2.9rem); }
.overview-header .ui-icon, .partner-heading .button .ui-icon { width: 16px; height: 16px; margin-left: 3px; }
.overview-metrics .metric { gap: 8px; min-height: 143px; }
.overview-metrics .metric strong { font-size: 2rem; }
.metric-icon { display: grid; place-items: center; color: #086859; background: #e5f1ed; width: 32px; height: 32px; border-radius: 7px; }
.overview-metrics .metric:first-child { background: #153b35; color: #d4ede5; border-color: #153b35; }
.overview-metrics .metric:first-child strong { color: #fff; }
.overview-metrics .metric:first-child .metric-icon { background: #2c574e; color: #d4ede5; }
.overview-metrics .metric > .ui-icon { position: absolute; top: 16px; right: 16px; }
.overview-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 16px; margin-bottom: 16px; }
.report-title .small-link { flex-shrink: 0; margin: 0; text-decoration: none; }
.chart-slot { position: relative; height: 244px; margin-top: 15px; }
.chart-data { margin-top: 10px; font-size: .85rem; }
.chart-data summary { cursor: pointer; color: var(--brand); }
.chart-data table { margin-top: 10px; }
.region-list, .next-list { list-style: none; padding: 0; margin: 16px 0 0; }
.region-list li { margin-bottom: 15px; }
.region-list a, .next-list li { display: flex; justify-content: space-between; gap: 12px; }
.region-list a, .next-list a { text-decoration: none; }
.region-list a { margin-bottom: 5px; font-size: .87rem; }
.region-list a:hover, .next-list a:hover, .partner-nav a:hover { text-decoration: underline; }
.next-list li { padding: 10px 0; border-top: 1px solid var(--line); }
.reconciliation-layout { display: flex; align-items: center; gap: 25px; }
.reconciliation-layout .reconciliation-grid { flex: 1; min-width: 0; }
.donut-slot { width: 152px; height: 152px; margin: 0; flex: 0 0 auto; }
.donut-slot strong { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); pointer-events: none; font-size: 1.5rem; }
.notice { display: flex; align-items: center; gap: 8px; color: #0a5246; background: #e3f4ec; border: 1px solid #badfcd; border-radius: 8px; padding: 10px 13px; margin-bottom: 16px; font-size: .9rem; font-weight: 650; }
.partner-header { margin-bottom: 18px; padding: 21px 22px 0; }
.partner-heading { display: flex; gap: 14px; align-items: flex-start; }
.partner-heading > div { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.partner-heading h1 { font-size: clamp(1.75rem, 3.3vw, 2.6rem); }
.partner-icon { display: grid; place-items: center; width: 49px; height: 49px; border-radius: 10px; flex: 0 0 auto; background: #e3f1eb; color: var(--brand); }
.partner-icon .ui-icon { width: 27px; height: 27px; }
.partner-summary, .partner-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; }
.partner-summary { margin: 15px 0 14px; }
.partner-summary a, .partner-nav a { color: var(--brand); text-decoration: none; font-size: .86rem; }
.partner-summary time { margin-left: 4px; font-weight: 650; }
.partner-nav { border-top: 1px solid var(--line); padding: 11px 0; }
.partner-nav .total { font-size: .72rem; padding: 2px 6px; }
.partner-nav .ui-icon, .partner-summary .ui-icon { width: 15px; height: 15px; margin-right: 2px; }
.thread summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.thread summary > span:first-child::before { content: "+"; display: inline-block; color: var(--brand); margin-right: 7px; }
.thread[open] summary > span:first-child::before { content: "−"; }
.thread-details { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.message .message-body { max-width: 77ch; }
.history-heading { margin-top: 15px; }
@media (max-width: 760px) {
  .workspace .top nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; overflow: visible; }
  .workspace .top nav a { padding: 6px 4px; gap: 5px; font-size: clamp(.69rem, 2.9vw, .88rem); white-space: normal; }
  .workspace .top nav .ui-icon { width: 14px; height: 14px; }
  .overview-grid { grid-template-columns: 1fr; }
  .overview-metrics .metric { min-height: 114px; }
  .overview-metrics .metric strong { font-size: 1.65rem; }
  .overview-metrics .metric > .ui-icon { top: 10px; right: 10px; }
  .chart-slot { height: 208px; }
  .donut-slot { height: 124px; width: 124px; }
  .reconciliation-layout { flex-direction: column; gap: 14px; align-items: stretch; }
  .donut-slot { align-self: center; }
  .partner-header { padding: 14px 14px 0; }
  .partner-heading { flex-wrap: wrap; }
  .partner-heading > .button { margin-left: 0; }
  .partner-icon { width: 36px; height: 36px; }
  .partner-icon .ui-icon { width: 21px; height: 21px; }
  .thread-details time { display: none; }
}

.workspace .top nav a, .top .quiet, .role-label, .brand small { color: var(--accent); }
.workspace .top nav a:is(:hover, [aria-current]), .top .quiet:hover { background: var(--selected); color: #fff; }
.top :focus-visible { outline-color: #ffcc68; }
.mark, .language button[aria-pressed=true] { color: var(--dark); }
.language { background: #203553; }
.language button { min-height: 34px; min-width: 36px; }
.role-label { font-size: .82rem; }
.button, .primary, .quiet { min-height: 42px; align-content: center; }
.button { border-color: var(--control-edge); }
.primary:hover { background: #102c5f; border-color: #102c5f; }
.button:hover, .quiet:hover { background: var(--tint); }
.top .quiet:hover { background: var(--selected); }
label, thead, .total { color: var(--ink); }
input, textarea, select { border-color: var(--control-edge); }
input, select { min-height: 42px; }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
label > :is(input, select, textarea) { width: 100%; }
.error { color: #701d21; background: #ffecef; border: 1px solid #c88995; }
.total { background: #e6edf7; }
.metric:first-child { background: #e7efff; border-color: #becde5; }
.overview-header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background: #14294a;
  border-radius: var(--radius);
  padding: clamp(20px, 4vw, 42px);
  min-height: 184px;
  align-items: center;
}
.overview-header::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 0 48%;
  background: repeating-linear-gradient(90deg, transparent 0 39px, #7290be20 39px 40px), repeating-linear-gradient(0deg, transparent 0 39px, #7290be20 39px 40px);
  mask-image: linear-gradient(to right, transparent, #000);
}
.overview-header h1 { max-width: 24ch; letter-spacing: -.035em; }
.overview-header .button { background: transparent; border-color: #a9bfde; color: #fff; }
.overview-header .button:hover { background: var(--selected); }
.overview-header .primary { background: #e5eeff; border-color: #e5eeff; color: #122b53; }
.overview-header .primary:hover { background: #fff; }
.overview-header :focus-visible { outline-color: #ffcc68; }
.overview-period { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 13px; color: #d9e7ff; font-size: .9rem; }
.overview-period strong { font-variant-numeric: tabular-nums; color: #fff; }
.overview-metrics .metric:first-child { background: #e7efff; border-color: #becde5; color: var(--ink); }
.overview-metrics .metric:first-child strong { color: var(--ink); }
.metric-icon, .overview-metrics .metric:first-child .metric-icon, .partner-icon { background: #dce8fc; color: var(--brand); }
.overview-metrics .metric { font-size: .86rem; }
.overview-metrics .metric strong { letter-spacing: -.04em; }
.overview-chart .chart-slot { height: clamp(215px, 28vw, 350px); }
.region-list progress, .report-email progress { height: 7px; }
progress, progress::-webkit-progress-bar { background: #dce5f2; }
.filters { display: grid; grid-template-columns: minmax(11rem, 2fr) repeat(4, minmax(8rem, 1fr)); gap: 12px 14px; padding: 16px 20px; background: #f7f9fd; }
.filters label, .filters label:first-of-type { min-width: 0; }
.filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.filter-tags { display: flex; flex-wrap: wrap; gap: 7px; padding: 10px 18px; border-bottom: 1px solid var(--line); }
.filter-tags a { display: inline-flex; align-items: center; gap: 8px; background: var(--tint); color: var(--brand); max-width: 100%; overflow-wrap: anywhere; border-radius: 6px; padding: 5px 9px; font-size: .84rem; font-weight: 650; text-decoration: none; }
.filter-tags a:hover { text-decoration: underline; }
.directory-scroll, .matrix-scroll { scroll-margin-top: 14px; }
.directory-scroll { max-height: min(66vh, 760px); }
.directory-table { min-width: 760px; }
.directory-table thead th { position: sticky; top: 0; z-index: 2; background: #e8eef8; }
.directory-table :is(tbody th, thead th:first-child), .matrix th:first-child { position: sticky; left: 0; }
.directory-table tbody th { z-index: 1; }
.directory-table thead th:first-child { z-index: 3; }
.directory-table :is(th, td) { overflow-wrap: anywhere; }
.directory-table tbody th { width: clamp(155px, 21vw, 310px); }
.directory-table tbody tr { --row-bg: #fff; background: var(--row-bg); }
.directory-table tbody tr:nth-child(even) { --row-bg: #f5f8fc; }
.directory-table tbody tr:is(:hover, :focus-within) { --row-bg: #e9f0fb; }
.directory-table tbody th { background: var(--row-bg); box-shadow: inset -1px 0 var(--line); }
.directory-table tbody th a { color: var(--brand); display: inline-block; }
.directory-table tbody small { color: #33445b; }
.matrix th:first-child { z-index: 1; background: #fff; }
.matrix thead th:first-child { background: #e8eef8; }
.matrix .tile { min-height: 57px; }
.matrix th:last-child, .matrix td:last-child { background: #edf2fa; }
.reconciliation-item.unclear progress { color: #875722; }
.reconciliation-item.unreconciled progress { color: #5a517e; }
.pill, .tile { color: #354764; background: #e8eef7; }
.pill.waiting, .tile.waiting { color: #1c407d; background: #e5edfd; }
.pill.replied, .tile.replied { color: #13503c; background: #dff1e9; }
.pill.active, .tile.active { color: #174759; background: #e0f2f5; }
.pill.later, .tile.later { color: #59370b; background: #fff0d7; }
.pill.closed, .tile.closed { color: #49376e; background: #ede7fa; }
.tile.zero { color: #475970; background: #f0f4f9; }
.pagination { justify-content: flex-end; flex-wrap: wrap; }
.page-range { margin-right: auto; }
.thread { background: #f7f9fd; }
.thread[open] { border-color: #bac8dc; }
.archive-record p { margin: 8px 0 0; overflow-wrap: anywhere; }
.archive-record small { margin-top: 7px; }
.message:target { background: var(--tint); outline: 2px solid var(--brand); outline-offset: 3px; }
.pill.declined,.tile.declined,.pill.no_contact,.tile.no_contact { color: #701d21; background: #ffecef; }
.pill.delivery,.tile.delivery { color: #59370b; background: #fff0d7; }
.nav-notice { margin-left: auto; border-radius: 10px; padding: 1px 7px; font-size: .78rem; background: #ffdc92; color: #332007; }
.message .message-body { color: var(--ink); font-size: 1rem; line-height: 1.72; }
.partner-nav a { display: inline-flex; align-items: center; gap: 5px; min-height: 38px; font-weight: 650; }
.login-brand { background: linear-gradient(145deg, #14233d 0%, #1b3561 65%, #22477d 100%); }
.login-brand p { color: #e1ebff; }
.login-orbit { border-color: #cfddfa69; box-shadow: 0 0 0 34px #cfddfa20, 0 0 0 72px #cfddfa14, 0 0 0 114px #cfddfa0d; }
@media (min-width: 1050px) {
  .workspace { --sidebar: clamp(224px, 17vw, 276px); }
  .workspace .top { width: var(--sidebar); }
  .workspace .layout { margin-left: var(--sidebar); max-width: 1780px; padding-inline: clamp(24px, 3vw, 60px); }
}
@media (max-width: 1240px) {
  .filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .heading { flex-wrap: wrap; gap: 13px; }
  .heading-actions { justify-content: flex-start; }
  .overview-header { min-height: auto; }
  .overview-header::before { inset-inline-start: 28%; }
  .overview-metrics .metric { padding: 12px; }
  .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; }
  .filters label:first-of-type { grid-column: 1 / -1; }
  .filters .filter-actions { grid-column: 1 / -1; }
  .directory-scroll { max-height: 60vh; }
  .directory-table tbody th, .directory-table thead th:first-child { width: 156px; min-width: 156px; }
  .directory-table thead th:first-child { left: 0; }
  .matrix th:first-child { min-width: 92px; }
  .table-heading h2, .report-title h2 { overflow-wrap: anywhere; }
}
@media (max-width: 360px) {
  .workspace .top-actions { margin-left: 0; }
  .overview-header .heading-actions { display: grid; }
  .metric-grid { gap: 8px; }
  .metric { padding: 10px; }
}
.partner-alternate { margin: .35rem 0 0; color: var(--muted); font-size: 1rem; }
.partner-description { max-width: 80ch; margin: .8rem 0; line-height: 1.6; }
.partner-links, .contact-list, .region-list .region-children { margin: .6rem 0; padding: 0; list-style: none; }
.partner-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.partner-contact, .contact-list { overflow-wrap: anywhere; }

.grant-table{min-width:930px}
.grant-table :is(th,td){overflow-wrap:normal}
.grant-table :is(th,td):nth-child(3){min-width:119px}
.grant-table :is(th,td):nth-child(4){min-width:154px}
.grant-table :is(th,td):nth-child(n+5){padding-inline:12px}
.grant-table .grant-status{white-space:normal}
.campaign-heading{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:10px}
.campaign-months{display:flex;gap:6px 18px;flex-wrap:wrap;margin:0 0 22px;padding:0 0 2px;border-bottom:1px solid var(--line)}
.campaign-months a{color:var(--muted);text-decoration:none;font-size:.88rem;font-weight:650;padding:9px 3px 11px;border-bottom:2px solid transparent;font-variant-numeric:tabular-nums}
.campaign-months a:hover,.campaign-months a[aria-current]{color:var(--brand);border-color:var(--brand)}
.work-filters{grid-template-columns:minmax(13rem,1.3fr) minmax(12rem,1fr) minmax(9rem,1fr) auto;align-items:end;border-radius:inherit}
.work-results{display:flex;align-items:center;gap:9px;padding:15px 20px;margin:0;border-bottom:1px solid var(--line);font-size:1rem}
.work-list{padding:0;margin:0;list-style:none}
.work-row{display:grid;grid-template-columns:minmax(11rem,.8fr) minmax(0,2.2fr);gap:clamp(16px,3vw,42px);padding:19px 20px;border-bottom:1px solid var(--line)}
.work-row:last-child{border-bottom:0}
.work-organization h3{margin:0;overflow-wrap:anywhere}
.work-organization p{margin:5px 0 9px}
.work-meta,.work-links,.work-followup{display:flex;align-items:center;gap:9px 16px;flex-wrap:wrap}
.work-meta time,.work-followup{font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}
.work-reply + .work-reply{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.work-reply p{margin:8px 0}
.work-next{font-size:.89rem;color:var(--muted)}
.work-next strong{color:var(--ink);margin-inline-end:5px}
.work-links a{display:inline-flex;gap:5px;align-items:center;font-size:.88rem;font-weight:650;padding-block:4px}
.work-links a .ui-icon,.work-followup .ui-icon{width:16px;height:16px}
.work-kind.meeting,.work-kind.offer{color:#13503c;background:#dff1e9}
.work-kind.later,.work-kind.paid{color:#59370b;background:#fff0d7}
.work-empty{padding:22px}
@media(max-width:900px){.work-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.work-row{grid-template-columns:1fr;gap:10px;padding:15px}.work-results{padding-inline:15px}}
.report-drill{color:var(--ink);text-decoration:none}
.report-drill:hover span{text-decoration:underline;color:var(--brand)}
.report-drill b{color:var(--brand)}
.directory-filters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}
.directory-filters .advanced-filters{grid-column:1/-1;grid-row:2}
.advanced-filters summary,.contacts-panel summary{color:var(--brand);cursor:pointer;font-weight:700}
.contacts-panel summary{font-size:1.1rem}
.contacts-panel[open] summary{margin-bottom:12px}
.advanced-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:11px;margin-top:12px}
.recipient-table .recipient-evidence a{font-size:.85rem;font-weight:650;text-decoration:none}
.recipient-table .recipient-evidence a:hover{text-decoration:underline}
.recipient-table .recipient-evidence{min-width:155px}
.recipient-table .recipient-activity,.recipient-table .recipient-followup{white-space:nowrap}
.campaign-detail + .campaign-detail{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.campaign-detail p{margin:8px 0}
.campaign-email-list{list-style:none;margin:9px 0;padding:0}
.campaign-email-list li + li{border-top:1px solid var(--line)}
.campaign-email-list a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;color:var(--brand);text-decoration:none;font-weight:650;overflow-wrap:anywhere}
.campaign-email-list a:hover span{text-decoration:underline}
.campaign-email-list :is(time,small){flex-shrink:0;font-weight:500}
.message:target,.archive-record:target,.campaign-records:target{outline:2px solid var(--control-edge);outline-offset:4px}
.message,.archive-record,.campaign-records{scroll-margin-top:16px}
.workspace{background:#f4f6fa}
.workspace .panel{border-radius:12px;box-shadow:0 1px 2px #101f3509}
.workspace .heading h1,.workspace .overview-header h1{font-weight:720;letter-spacing:-.042em}
.workspace .overview-header{
  background:transparent;color:var(--ink);padding:0 0 20px;min-height:0;border-radius:0;border-bottom:1px solid var(--line)
}
.workspace .overview-header::before{content:none}
.workspace .overview-period,.workspace .overview-period strong{color:var(--muted)}
.workspace .overview-header .button{background:var(--paper);color:var(--brand);border-color:var(--control-edge)}
.workspace .overview-header .button:hover{background:var(--tint)}
.workspace .overview-header .primary{background:var(--brand);border-color:var(--brand);color:#fff}
.workspace .overview-header .primary:hover{background:#193c72}
.workspace .overview-header :focus-visible{outline-color:var(--brand)}
.workspace .grant-hero{background:#152c4f;box-shadow:none;border-radius:12px}
.workspace .report-lead{padding-block:6px}
.workspace .table-heading{background:var(--paper);border-radius:12px 12px 0 0}
.workspace .recipient-table tbody tr:nth-child(even){--row-bg:#fff}
.workspace .recipient-table tbody tr:is(:hover,:focus-within){--row-bg:#f0f5fd}
.workspace .recipient-table tbody th{box-shadow:none}
.workspace .recipient-table tbody th a{text-decoration:none}
.workspace .recipient-table tbody th a:hover{text-decoration:underline}
.workspace .report-grid .panel{border-top:3px solid #bfcee3}
.workspace .report-grid .report-email{border-top-color:var(--brand)}
.workspace .partner-nav{gap:7px 15px}
.workspace .partner-nav a{border:0;border-bottom:2px solid transparent;background:transparent;padding-inline:0}
.workspace .partner-nav a:hover{border-bottom-color:var(--brand);color:var(--brand)}
@media(min-width:1050px){.workspace{--sidebar:218px}.workspace .top{padding-inline:14px}.workspace .layout{padding-top:30px}}
@media(max-width:880px){.directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-filters .advanced-filters{grid-row:auto}}
@media(max-width:680px){
  .directory-scroll:has(.recipient-table){overflow:visible;max-height:none}
  .recipient-table,.recipient-table tbody{display:block;min-width:0}
  .recipient-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .recipient-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px;border-bottom:1px solid var(--line)}
  .recipient-table tbody :is(th,td){position:static;min-width:0!important;padding:0;border:0;box-shadow:none}
  .recipient-table tbody th:first-child,.recipient-table tbody td[colspan],.recipient-table .recipient-evidence{grid-column:1/-1;width:100%}
  .recipient-table .recipient-activity,.recipient-table .recipient-followup{display:none}
  .campaign-email-list a{display:grid;gap:2px}
}
.grant-calendar{margin-bottom:18px}
.grant-calendar h2{margin-bottom:10px}
.grant-calendar ul{display:grid;gap:0;padding:0;margin:0;list-style:none}
.grant-calendar li{display:grid;grid-template-columns:6.1rem 1fr max-content;gap:12px;align-items:center;padding:8px 0}
.grant-calendar li + li{border-top:1px solid var(--line)}
.grant-calendar time{font-weight:720;color:#254e81}
.grant-calendar time.grant-overdue{color:#8a2742}
.grant-calendar a{font-weight:650}
@media(max-width:600px){.grant-calendar li{grid-template-columns:5.2rem 1fr;gap:4px 8px}.grant-calendar small{grid-column:2}}
@media(max-width:880px){
  .grant-results{overflow:visible}
  .grant-table,.grant-table tbody{display:block;min-width:0}
  .grant-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .grant-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:16px}
  .grant-table tbody :is(th,td){position:static;width:auto;min-width:0!important;padding:0!important;border:0;box-shadow:none}
  .grant-table tbody th,.grant-table .grant-donor,.grant-table .grant-amount,.grant-table .empty{grid-column:1/-1}
  .grant-table tbody th:first-child{width:100%;font-size:1rem}
  .grant-table .grant-donor,.grant-table .grant-area{color:var(--muted);font-size:.86rem}
  .grant-table .grant-date,.grant-table .grant-amount{font-size:.87rem}
  .grant-table :is(.grant-date,.grant-amount)::before{content:attr(data-label);display:block;font-size:.72rem;color:var(--muted);font-weight:650}
  .grant-table .grant-area{align-self:center}
  .grant-table tbody tr + tr{border-top:1px solid var(--line)}
}
.region-list .region-children { margin-left: .75rem; border-left: 1px solid var(--line); padding-left: .8rem; }
.region-list .region-children li { padding: .2rem 0; margin-bottom: 0; }
.matrix-group th { background: var(--wash, #edf2f9); font-weight: 700; }
.message-text summary { cursor: pointer; margin-top: .6rem; color: var(--muted); font-weight: 600; }
