:root{--ink:#111827;--ink-soft:#374151;--ink-mute:#6b7280;--ink-fade:#9ca3af;--paper:#fafafa;--paper-2:#f4f5f6;--paper-3:#eceef0;--line:#e5e7eb;--line-soft:#f3f4f6;--accent:#1e3a5f;--accent-soft:#2d5186;--accent-tint:#eef2f7;--gold:#92400e;--gold-deep:#78350f;--gold-tint:#fffbeb;--sage:#2d6a4f;--sage-tint:#ecfdf5;--terra:#991b1b;--terra-tint:#fef2f2;--serif:"Fraunces", "Georgia", serif;--sans:"Geist", system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#__next{height:100%}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit}::selection{background:var(--accent-tint);color:var(--ink)}.shell{height:100vh;display:grid}.sidebar{background:#0f1923;border-right:1px solid #ffffff14;flex-direction:column;width:100%;padding:22px 16px;transition:width .2s;display:flex;overflow:hidden}.sidebar.collapsed{padding:22px 10px}.sidebar.collapsed .brand,.sidebar.collapsed .nav-item,.sidebar.collapsed .sidebar-foot{justify-content:center}.brand{align-items:center;gap:10px;padding:4px 8px 24px;display:flex}.brand-mark{background:var(--accent);width:30px;height:30px;color:var(--paper);font-family:var(--serif);border-radius:7px;place-items:center;font-size:16px;font-weight:600;display:grid}.brand-name{font-family:var(--serif);letter-spacing:-.015em;color:#ffffffe6;font-size:18px;font-weight:500}.brand-name em{color:var(--accent-tint);font-style:italic}.plan-badge{letter-spacing:.06em;text-transform:uppercase;font-size:9.5px;font-weight:600;font-family:var(--sans);border-radius:4px;align-items:center;gap:4px;margin-left:6px;padding:2px 7px;display:inline-flex}.plan-badge.free{background:var(--paper-3);color:var(--ink-mute)}.plan-badge.grant_watch{background:var(--accent-soft);color:var(--accent)}.plan-badge.standard{background:var(--ink);color:var(--paper)}.plan-badge.premium,.plan-badge.enterprise{background:var(--accent);color:var(--paper)}.plan-badge svg{width:9px;height:9px}.nav-label{letter-spacing:.12em;text-transform:uppercase;color:#ffffff59;padding:14px 10px 8px;font-size:10.5px;font-weight:500}.nav-item{color:#ffffffa6;cursor:pointer;text-align:left;border-radius:7px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13.5px;transition:background .12s;display:flex}.nav-item:hover{background:#ffffff0f}.nav-item.active{background:var(--accent-tint);color:var(--accent)}.nav-item.active .nav-count{background:var(--accent);color:var(--paper)}.nav-item svg{opacity:.85;flex-shrink:0;width:15px;height:15px}.nav-count{font-family:var(--mono);color:#ffffff80;background:#ffffff1a;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px}.usage-bar-mini{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;margin-top:10px;padding:12px}.usage-bar-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffff59;margin-bottom:4px;font-size:10.5px}.usage-bar-value{font-family:var(--mono);color:#ffffffb3;margin-bottom:6px;font-size:12px}.usage-bar-track{background:#ffffff1f;border-radius:999px;height:3px;overflow:hidden}.usage-bar-fill{background:var(--accent-tint);border-radius:999px;height:100%;transition:width .24s}.usage-bar-fill.warn{background:var(--gold)}.usage-bar-fill.danger{background:var(--terra)}.usage-upgrade{background:var(--accent);width:100%;color:var(--paper);text-align:center;border-radius:6px;margin-top:10px;padding:6px 10px;font-size:11.5px;font-weight:500;display:block}.usage-upgrade:hover:not(:disabled){background:var(--accent-soft)}.sidebar-foot{border-top:1px solid #ffffff14;align-items:center;gap:10px;margin-top:auto;padding:12px 8px;display:flex}.avatar{background:var(--accent);width:30px;height:30px;color:var(--paper);font-size:12px;font-weight:600;font-family:var(--serif);border-radius:50%;place-items:center;display:grid}.user-meta{line-height:1.25}.user-name{color:#ffffffd9;font-size:13px;font-weight:500}.user-org{color:#fff6;font-size:11.5px}.main{flex-direction:column;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:var(--paper);flex-shrink:0;align-items:center;gap:14px;height:56px;padding:12px 32px;display:flex}.crumb{color:var(--ink-fade);align-items:center;gap:8px;font-size:12.5px;display:flex}.crumb-current{color:var(--ink);font-weight:500}.crumb svg{width:13px;height:13px}.client-pill{background:var(--paper-2);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:5px 11px 5px 6px;font-size:12.5px;display:flex}.client-pill:hover{background:var(--paper-3)}.client-dot{background:var(--sage);width:18px;height:18px;color:var(--paper);font-size:9.5px;font-weight:600;font-family:var(--serif);border-radius:50%;place-items:center;display:grid}.client-pill svg{width:11px;height:11px;color:var(--ink-fade)}.topbar-spacer{flex:1}.topbar-cta{background:var(--ink);color:var(--paper);border-radius:7px;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-weight:500;display:inline-flex}.topbar-cta:hover{background:var(--ink-soft)}.topbar-cta svg{width:12px;height:12px}.btn-pri{background:var(--accent);color:var(--paper);border-radius:7px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:500;transition:background .12s;display:inline-flex}.btn-pri:hover:not(:disabled){background:var(--accent-soft)}.btn-pri svg{width:13px;height:13px}.btn-sec{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:7px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:500;transition:background .12s;display:inline-flex}.btn-sec:hover:not(:disabled){background:var(--paper-2)}.btn-sec svg{width:13px;height:13px}.btn-ghost{color:var(--ink-mute);border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;display:inline-flex}.btn-ghost:hover:not(:disabled){background:var(--paper-2);color:var(--ink)}.btn-ghost svg{width:13px;height:13px}.btn-gold{background:var(--accent);color:var(--paper);border-radius:7px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.btn-gold:hover:not(:disabled){background:var(--accent-soft)}.btn-gold svg{width:13px;height:13px}.btn-danger{color:var(--terra);border:1px solid var(--terra-tint);background:0 0;border-radius:7px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.btn-danger:hover:not(:disabled){background:var(--terra-tint)}.btn-danger svg{width:13px;height:13px}.btn-locked{background:var(--paper-2);color:var(--ink-fade);border:1px dashed var(--line);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.btn-locked:hover{background:var(--paper-3);color:var(--ink-mute);border-color:var(--ink-fade)}.btn-locked svg{width:13px;height:13px}.content{flex:1;overflow-y:auto}.view{max-width:1280px;margin:0 auto;padding:32px 40px 64px}.view-head{align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.view-title-block{flex:1}.view-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:11px;font-weight:500}.view-title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);font-size:32px;font-weight:400;line-height:1.1}.view-title em{color:var(--accent);font-style:italic}.view-sub{color:var(--ink-mute);max-width:580px;margin-top:8px;font-size:13.5px;line-height:1.55}.metric-strip{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(4,1fr);gap:0;margin:22px 0 28px;display:grid;overflow:hidden}.metric{border-right:1px solid var(--line);padding:16px 20px}.metric:last-child{border-right:none}.metric-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-fade);margin-bottom:4px;font-size:11px;font-weight:500}.metric-value{font-family:var(--serif);letter-spacing:-.025em;color:var(--ink);align-items:baseline;gap:4px;font-size:26px;font-weight:500;line-height:1;display:flex}.metric-value-suffix{font-family:var(--sans);color:var(--ink-fade);font-size:13px;font-weight:400}.metric-trend{color:var(--sage);font-size:11.5px;font-family:var(--mono);align-items:center;gap:4px;margin-top:6px;display:inline-flex}.metric-trend.dn{color:var(--terra)}.metric-trend svg{width:11px;height:11px}.card{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden}.card-head{border-bottom:1px solid var(--line-soft);background:var(--paper-2);align-items:center;gap:10px;padding:14px 18px;display:flex}.card-title{font-family:var(--serif);letter-spacing:-.01em;font-size:16px;font-weight:500}.card-sub{color:var(--ink-fade);margin-left:auto;font-size:12.5px}.card-body{padding:18px}.card-foot{border-top:1px solid var(--line-soft);align-items:center;gap:8px;padding:12px 18px;display:flex}.tracker-list{flex-direction:column;gap:12px;display:flex}.match-layout{grid-template-columns:1fr 320px;align-items:start;gap:24px;display:grid}@media (max-width:1100px){.match-layout{grid-template-columns:1fr}}.grant-list{flex-direction:column;gap:12px;display:flex}.grant-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px 20px;transition:border-color .14s;position:relative}.grant-card:hover{border-color:var(--ink-fade)}.grant-card.featured{border-color:var(--gold);background:linear-gradient(180deg, var(--gold-tint) 0%, var(--paper) 35%)}.grant-card.featured:before{content:"Best match";background:var(--ink);color:var(--paper);letter-spacing:.04em;border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:500;position:absolute;top:-10px;left:16px}.grant-card.enterprise-gated{opacity:.88}.grant-enterprise-badge{background:var(--accent);color:#fff;border-radius:4px;align-items:center;padding:3px 5px;display:flex;position:absolute;top:10px;right:10px}.score-enterprise{color:var(--accent);flex-direction:column;align-items:center;gap:4px;display:flex}.score-enterprise span{letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}.grant-enterprise-msg{background:var(--accent-tint);border:1px solid var(--accent-soft);color:var(--ink-soft);border-radius:6px;margin-top:10px;padding:10px 12px;font-size:12.5px;line-height:1.5}.grant-enterprise-msg a{color:var(--accent);font-weight:500;text-decoration:none}.grant-enterprise-msg a:hover{text-decoration:underline}.grant-head{align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.grant-title-wrap{flex:1}.grant-name{font-family:var(--serif);letter-spacing:-.012em;color:var(--ink);margin-bottom:3px;font-size:18px;font-weight:500}.grant-issuer{color:var(--ink-fade);font-size:12px}.grant-score{text-align:right}.score-num{font-family:var(--serif);letter-spacing:-.03em;color:var(--ink);font-size:28px;font-weight:500;line-height:1}.score-out{color:var(--ink-fade);font-size:11px;font-family:var(--mono)}.score-label{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:4px;font-size:10.5px;font-weight:500}.grant-meta{background:var(--paper-2);border:1px solid var(--line-soft);border-radius:7px;gap:18px;margin:12px 0;padding:10px 12px;display:flex}.meta-item{font-size:12px}.meta-label{color:var(--ink-fade);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:10.5px}.meta-value{color:var(--ink);font-weight:500}.meta-value.alert{color:var(--terra)}.crit-list{flex-direction:column;gap:6px;margin-top:12px;display:flex}.crit-row{align-items:flex-start;gap:8px;padding:4px 0;font-size:12.5px;display:flex}.crit-icon{flex-shrink:0;width:14px;height:14px;margin-top:1.5px}.crit-icon.pass{color:var(--sage)}.crit-icon.warn{color:var(--gold-deep)}.crit-icon.fail{color:var(--terra)}.crit-text{color:var(--ink-soft);line-height:1.45}.weight-tip{background:var(--paper-2);border:1px solid var(--line);border-radius:8px;margin-top:14px;padding:12px 14px}.weight-tip-title{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:600;display:flex}.weight-tip-title svg{width:12px;height:12px}.weight-tip-text{color:var(--ink-soft);font-size:12.5px;line-height:1.55}.grant-actions{align-items:center;gap:8px;margin-top:14px;display:flex}.side-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px}.side-card+.side-card{margin-top:16px}.side-title{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-fade);margin-bottom:12px;font-size:11px;font-weight:500}.profile-field{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:8px;padding:8px 0;font-size:13px;display:flex}.profile-field:last-child{border-bottom:none}.profile-field label{color:var(--ink-fade)}.profile-field span{color:var(--ink);text-align:right;font-weight:500}.draft-tabs{background:var(--paper-2);border:1px solid var(--line);border-radius:8px;gap:2px;width:fit-content;margin-bottom:18px;padding:4px;display:flex}.draft-tab{color:var(--ink-mute);border-radius:6px;padding:6px 14px;font-size:12.5px;font-weight:500}.draft-tab.active{background:var(--paper);color:var(--ink)}.tbl{border-collapse:collapse;width:100%}.tbl th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-fade);border-bottom:1px solid var(--line);background:var(--paper-2);padding:10px 14px;font-size:10.5px;font-weight:500}.tbl td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:14px;font-size:13px}.tbl tr{cursor:pointer}.tbl tbody tr:hover{background:var(--paper-2)}.tbl tbody tr:last-child td{border-bottom:none}.app-name{color:var(--ink);margin-bottom:2px;font-weight:500}.app-issuer{color:var(--ink-fade);font-size:11.5px}.status-pill{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.status-draft{background:var(--paper-3);color:var(--ink-soft)}.status-review{background:var(--gold-tint);color:var(--gold-deep)}.status-submitted{background:var(--sage-tint);color:var(--sage)}.status-won{background:var(--ink);color:var(--paper)}.status-rejected{background:var(--terra-tint);color:var(--terra)}.status-pill-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.progress-thin{align-items:center;gap:8px;display:flex}.progress-track{background:var(--paper-3);border-radius:999px;flex:1;max-width:100px;height:4px;overflow:hidden}.progress-fill{background:var(--ink);border-radius:999px;height:100%;transition:width .24s}.progress-fill.gold{background:var(--gold)}.progress-fill.sage{background:var(--sage)}.progress-num{font-family:var(--mono);color:var(--ink-mute);font-size:11px}.draft-workspace{grid-template-columns:380px 1fr 300px;height:calc(100vh - 56px);display:grid}.draft-pane{border-right:1px solid var(--line);background:var(--paper-2);padding:22px 20px;overflow-y:auto}.doc-status-badge{letter-spacing:.04em;border-radius:999px;align-items:center;padding:2px 7px;font-size:10.5px;font-weight:600;display:inline-flex}.doc-status-badge.ready{background:var(--sage-tint);color:var(--sage)}.doc-status-badge.needed{background:var(--gold-tint);color:var(--gold-deep)}.draft-pane:last-child{border-right:none}.draft-pane.center{background:var(--paper);padding:28px 38px}.draft-pane-collapsed{border-right:1px solid var(--line);background:var(--paper-2);cursor:pointer;flex-direction:column;align-items:center;padding-top:18px;transition:background .12s;display:flex;overflow:hidden}.draft-pane-collapsed:hover{background:var(--paper-3)}.draft-section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:6px 0 4px;display:flex}.crit-section{margin-bottom:18px}.crit-section-title{font-family:var(--serif);margin-bottom:6px;font-size:14px;font-weight:500}.crit-section-meta{color:var(--ink-fade);font-size:11.5px;font-family:var(--mono);margin-bottom:8px}.crit-section-text{color:var(--ink-soft);background:var(--paper);border:1px solid var(--line-soft);border-radius:6px;margin-bottom:6px;padding:10px 12px;font-size:12.5px;line-height:1.55}.draft-doc-head{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:18px}.draft-doc-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:10.5px;font-weight:500}.draft-doc-title{font-family:var(--serif);letter-spacing:-.018em;margin-top:6px;font-size:26px;font-weight:500;line-height:1.15}.draft-doc-meta{color:var(--ink-fade);gap:14px;margin-top:8px;font-size:12px;display:flex}.draft-section{margin-bottom:28px}.draft-h{font-family:var(--serif);letter-spacing:-.012em;margin-bottom:4px;font-size:18px;font-weight:500}.draft-h-meta{color:var(--ink-fade);font-size:11px;font-family:var(--mono);margin-bottom:12px}.draft-textarea{width:100%;font-family:var(--sans);color:var(--ink);resize:vertical;background:0 0;border:1px solid #0000;border-radius:6px;min-height:100px;padding:8px;font-size:14px;line-height:1.7}.draft-textarea:focus{border-color:var(--gold);background:var(--paper);outline:none}.draft-textarea.empty{background:var(--paper-2);color:var(--ink-fade);font-style:italic}.ai-panel-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.ai-panel-head svg{width:14px;height:14px;color:var(--accent)}.ai-panel-title{font-family:var(--serif);font-size:14px;font-weight:500}.ai-action{background:var(--paper);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:7px;align-items:flex-start;gap:9px;width:100%;margin-bottom:8px;padding:10px 12px;transition:border-color .12s;display:flex}.ai-action:hover:not(:disabled){border-color:var(--ink)}.ai-action svg{width:13px;height:13px;color:var(--accent);flex-shrink:0;margin-top:1px}.ai-action-title{color:var(--ink);margin-bottom:1px;font-size:12.5px;font-weight:500}.ai-action-sub{color:var(--ink-fade);font-size:11.5px;line-height:1.4}.checklist-item{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:9px;padding:9px 0;font-size:12.5px;display:flex}.checklist-item:last-child{border-bottom:none}.checklist-icon{flex-shrink:0;width:14px;height:14px;margin-top:1px}.checklist-icon.done{color:var(--sage)}.checklist-icon.todo{color:var(--ink-fade)}.checklist-icon.warn{color:var(--gold-deep)}.checklist-icon.fail{color:var(--terra)}.checklist-sub{color:var(--ink-fade);margin-top:1px;font-size:11px;line-height:1.35}.checklist-text{color:var(--ink-soft);line-height:1.45}.timeline{padding-left:20px;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:6px;bottom:6px;left:5px}.timeline-item{padding-bottom:24px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{background:var(--paper);border:2px solid var(--ink-fade);border-radius:50%;width:11px;height:11px;position:absolute;top:6px;left:-19px}.timeline-item.urgent .timeline-dot{border-color:var(--terra);background:var(--terra)}.timeline-item.upcoming .timeline-dot{border-color:var(--gold);background:var(--gold)}.timeline-date{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-mute);text-transform:uppercase;margin-bottom:4px;font-size:11px}.timeline-title{font-family:var(--serif);margin-bottom:3px;font-size:16px;font-weight:500}.timeline-desc{color:var(--ink-mute);font-size:12.5px;line-height:1.5}.timeline-tags{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.timeline-tag{background:var(--paper-2);border:1px solid var(--line);color:var(--ink-mute);font-size:10.5px;font-family:var(--mono);border-radius:999px;padding:2px 7px}.outcome-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:980px){.outcome-grid{grid-template-columns:1fr}}.outcome-card{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:18px 20px}.outcome-card.win{background:linear-gradient(180deg, var(--sage-tint) 0%, var(--paper) 50%);border-color:var(--sage)}.outcome-amount{font-family:var(--serif);letter-spacing:-.025em;color:var(--ink);margin:4px 0 2px;font-size:28px;font-weight:500}.outcome-meta{color:var(--ink-fade);font-size:12px}.gauge-track{background:var(--paper-3);border-radius:999px;width:100%;height:6px;position:relative;overflow:hidden}.gauge-fill{background:linear-gradient(90deg, var(--terra) 0%, var(--gold) 50%, var(--sage) 100%);border-radius:999px;height:100%;transition:width .6s}.budget-table-wrap{border:1px solid var(--line);border-radius:8px;overflow:hidden}.budget-table{border-collapse:collapse;width:100%}.budget-table th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-fade);background:var(--paper-2);border-bottom:1px solid var(--line);padding:8px 12px;font-size:10.5px;font-weight:500}.budget-table td{border-bottom:1px solid var(--line-soft)}.budget-table tbody tr:last-child td{border-bottom:none}.budget-cell-input{width:100%;font-family:var(--sans);color:var(--ink);background:0 0;border:none;outline:none;padding:9px 12px;font-size:13px}.budget-cell-input:focus{background:var(--paper-2)}.budget-cell-select{width:100%;font-family:var(--sans);color:var(--ink);cursor:pointer;background:0 0;border:none;outline:none;padding:9px 12px;font-size:13px}.budget-cell-select:focus{background:var(--paper-2)}.budget-totals{background:var(--paper-2);border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 1fr;gap:8px 32px;margin-top:14px;padding:14px 16px;display:grid}.budget-total-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.budget-total-label{color:var(--ink-mute);font-size:12px}.budget-total-value{font-family:var(--mono);color:var(--ink);font-size:12.5px;font-weight:500}.budget-total-value.highlight{color:var(--accent)}.file-drop{border:1.5px dashed var(--line);cursor:pointer;background:var(--paper-2);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:28px 20px;transition:border-color .12s,background .12s;display:flex}.file-drop:hover{border-color:var(--ink-fade);background:var(--paper-3)}.intel-criterion{border-bottom:1px solid var(--line-soft)}.intel-criterion:last-child{border-bottom:none}.intel-criterion-head{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;width:100%;padding:9px 0;display:flex}.intel-criterion-label{color:var(--ink);font-size:12.5px;font-weight:500}.intel-chevron{color:var(--ink-fade);flex-shrink:0;margin-left:8px;font-size:14px;line-height:1}.intel-criterion-body{flex-direction:column;gap:10px;padding:4px 0 12px;display:flex}.intel-row{gap:8px;display:flex}.intel-row-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-fade);margin-bottom:3px;font-size:10px;font-weight:600}.intel-row-text{color:var(--ink-soft);font-size:12px;line-height:1.55}.doc-view{padding:0}.doc-view-section{border-bottom:1px solid var(--line-soft);margin-bottom:32px;padding-bottom:32px}.doc-view-section:last-child{border-bottom:none}.doc-view-h{font-family:var(--serif);letter-spacing:-.015em;margin-bottom:4px;font-size:20px;font-weight:500}.doc-view-meta{font-family:var(--mono);color:var(--ink-fade);margin-bottom:12px;font-size:11px}.doc-view-body{color:var(--ink-soft);white-space:pre-wrap;font-size:14px;line-height:1.75}.upgrade-banner{background:linear-gradient(135deg, var(--gold-tint) 0%, var(--paper) 70%);border:1px solid var(--gold);border-radius:10px;align-items:center;gap:14px;margin-bottom:22px;padding:16px 20px;display:flex}.upgrade-banner svg.icon{width:22px;height:22px;color:var(--gold-deep);flex-shrink:0}.upgrade-banner-text{flex:1}.upgrade-banner-title{font-family:var(--serif);color:var(--ink);margin-bottom:3px;font-size:16px;font-weight:500}.upgrade-banner-sub{color:var(--ink-mute);font-size:12.5px;line-height:1.5}.field-group{margin-bottom:14px}.field-label{color:var(--ink-soft);letter-spacing:.02em;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.field-input,.field-select,.field-textarea{background:var(--paper);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:7px;padding:9px 12px;font-size:13.5px;transition:border-color .12s}.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:var(--ink);outline:none}.field-textarea{resize:vertical;min-height:80px;line-height:1.5}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.empty-state{text-align:center;color:var(--ink-fade);padding:64px 24px}.empty-icon{width:36px;height:36px;color:var(--ink-fade);margin:0 auto 14px}.empty-title{font-family:var(--serif);color:var(--ink-mute);margin-bottom:6px;font-size:18px;font-weight:500}.empty-text{max-width:380px;margin:0 auto 18px;font-size:13px;line-height:1.55}.spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.filter-chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.chip{background:var(--paper-2);color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;transition:background .12s,color .12s;display:inline-flex}.chip:hover{background:var(--paper-3)}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip svg{width:11px;height:11px}.toast{background:var(--ink);color:var(--paper);z-index:100;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 32px #1a18142e}.toast svg{width:14px;height:14px;color:var(--gold)}.modal-backdrop{z-index:50;background:#1a181466;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--paper);border-radius:14px;width:100%;max-width:520px;padding:28px 32px;box-shadow:0 20px 60px #1a181440}.modal-title{font-family:var(--serif);margin-bottom:8px;font-size:20px;font-weight:500}.modal-text{color:var(--ink-mute);margin-bottom:20px;font-size:13.5px;line-height:1.55}.modal-foot{justify-content:flex-end;gap:8px;display:flex}.banner{background:var(--gold-tint);border:1px solid var(--gold);color:var(--ink-soft);border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:12.5px;line-height:1.5;display:flex}.banner svg{width:15px;height:15px;color:var(--gold-deep);flex-shrink:0;margin-top:1px}.banner strong{color:var(--ink);font-weight:500}.pricing-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px;display:grid}@media (max-width:1100px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.pricing-grid{grid-template-columns:1fr}}.plan-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;flex-direction:column;padding:24px 22px;transition:border-color .14s;display:flex;position:relative}.plan-card.recommended{border-color:var(--gold);background:linear-gradient(180deg, var(--gold-tint) 0%, var(--paper) 30%);border-width:1.5px}.plan-card.current{border-color:var(--ink);background:linear-gradient(180deg, var(--paper-2) 0%, var(--paper) 50%);border-width:1.5px}.plan-card.recommended:before{content:"Most popular";background:var(--ink);color:var(--paper);letter-spacing:.04em;border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:500;position:absolute;top:-10px;left:18px}.plan-card.current:before{content:"Your plan";background:var(--ink);color:var(--paper);letter-spacing:.04em;border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:500;position:absolute;top:-10px;left:18px}.plan-icon{width:28px;height:28px;color:var(--accent);margin-bottom:14px}.plan-name{font-family:var(--serif);letter-spacing:-.015em;font-size:22px;font-weight:500}.plan-tag{color:var(--ink-fade);min-height:32px;margin-top:4px;font-size:12px;line-height:1.4}.plan-price-block{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);margin:18px 0;padding:14px 0}.plan-price{font-family:var(--serif);letter-spacing:-.025em;color:var(--ink);font-size:34px;font-weight:500;line-height:1}.plan-price-suffix{color:var(--ink-fade);font-size:14px;font-family:var(--sans);font-weight:400}.plan-price-detail{color:var(--ink-fade);font-size:11.5px;font-family:var(--mono);margin-top:6px}.plan-features{flex:1;margin-bottom:18px}.plan-feature{color:var(--ink-soft);align-items:flex-start;gap:8px;padding:6px 0;font-size:13px;line-height:1.45;display:flex}.plan-feature svg{width:14px;height:14px;color:var(--sage);flex-shrink:0;margin-top:2px}.plan-feature.muted,.plan-feature.muted svg{color:var(--ink-fade)}.plan-cta{border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;padding:11px 14px;font-size:13px;font-weight:500;display:inline-flex}.plan-cta.primary{background:var(--accent);color:var(--paper)}.plan-cta.primary:hover:not(:disabled){background:var(--accent-soft)}.plan-cta.gold{background:var(--accent);color:var(--paper)}.plan-cta.gold:hover:not(:disabled){background:var(--accent-soft)}.plan-cta.ghost{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.plan-cta.ghost:hover:not(:disabled){background:var(--paper-2)}.plan-cta.disabled{background:var(--paper-2);color:var(--ink-fade);cursor:default}.plan-cta svg{width:13px;height:13px}.compare-table{border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:10px;width:100%;margin-top:24px;overflow:hidden}.compare-table th,.compare-table td{text-align:left;border-bottom:1px solid var(--line-soft);padding:12px 16px;font-size:13px}.compare-table th{background:var(--paper-2);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-fade);font-size:11px;font-weight:500}.compare-table td.center{text-align:center}.compare-table td.center svg{width:16px;height:16px}.compare-table tbody tr:last-child td{border-bottom:none}.row{align-items:center;gap:8px;display:flex}.dash-metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}.dash-metric{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px 20px}.dash-metric-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-fade);margin-bottom:8px;font-size:11px;font-weight:500}.dash-metric-value{font-family:var(--serif);color:var(--ink);letter-spacing:-.02em;font-size:32px;font-weight:500;line-height:1}.dash-metric-value.alert{color:var(--terra)}.dash-metric-sub{color:var(--ink-fade);margin-top:6px;font-size:11.5px}.dash-col-layout{grid-template-columns:60fr 40fr;gap:20px;margin-bottom:28px;display:grid}.dash-col-main,.dash-col-side{flex-direction:column;gap:10px;display:flex}.dash-col-title{font-family:var(--serif);color:var(--ink);margin-bottom:4px;font-size:15px;font-weight:500}.dash-app-row{background:var(--paper);border:1px solid var(--line);border-radius:9px;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:border-color .12s;display:flex}.dash-app-row:hover{border-color:var(--ink-fade)}.dash-app-info{flex:1;min-width:0}.dash-app-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}.dash-app-issuer{color:var(--ink-fade);margin-top:2px;font-size:11.5px}.dash-app-deadline{color:var(--ink-mute);white-space:nowrap;flex-shrink:0;font-size:11.5px}.dash-app-deadline.urgent{color:var(--terra);font-weight:500}.dash-deadline-card{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:14px 16px}.dash-deadline-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:13px;font-weight:500;overflow:hidden}.dash-deadline-issuer{color:var(--ink-fade);margin-bottom:8px;font-size:11.5px}.dash-deadline-days{font-family:var(--serif);color:var(--terra);font-size:26px;font-weight:500;line-height:1}.dash-deadline-days-label{color:var(--ink-fade);margin-top:2px;font-size:11px}.dash-recent-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;display:grid}.dash-recent-card{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:18px 18px 16px}.dash-recent-name{color:var(--ink);margin-bottom:3px;font-size:13.5px;font-weight:500;line-height:1.3}.dash-recent-issuer{color:var(--ink-fade);margin-bottom:10px;font-size:11.5px}.dash-recent-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.dash-recent-score{font-family:var(--serif);color:var(--accent);font-size:22px;font-weight:500;line-height:1}.dash-recent-score-label{color:var(--ink-fade);font-size:10.5px}.dash-recent-closes{color:var(--ink-mute);font-size:11.5px}.dash-section-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.dash-section-link{color:var(--accent);font-size:12.5px;text-decoration:none}.dash-section-link:hover{text-decoration:underline}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.txt-mute{color:var(--ink-mute)}.txt-fade{color:var(--ink-fade)}.txt-mono{font-family:var(--mono)}.hr{background:var(--line);height:1px;margin:22px 0}.auth-shell{background:var(--paper);place-items:center;min-height:100vh;padding:40px 20px;display:grid}.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;width:100%;max-width:420px;padding:36px 40px;box-shadow:0 10px 40px #1a18140d}.auth-title{font-family:var(--serif);letter-spacing:-.02em;margin-bottom:6px;font-size:26px;font-weight:400}.auth-sub{color:var(--ink-mute);margin-bottom:28px;font-size:13.5px;line-height:1.5}.auth-divider{color:var(--ink-fade);align-items:center;gap:12px;margin:18px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-footer{text-align:center;color:var(--ink-mute);margin-top:20px;font-size:13px}.auth-footer a{color:var(--accent);font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.pwd-reqs{flex-direction:column;gap:4px;margin-top:8px;display:flex}.pwd-req{color:var(--ink-fade);align-items:center;gap:6px;font-size:12px;transition:color .12s;display:flex}.pwd-req.met{color:var(--sage)}.pwd-req-dot{background:var(--line);border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .12s}.pwd-req.met .pwd-req-dot{background:var(--sage)}.pwd-match{margin-top:6px;font-size:12px}.pwd-match.ok{color:var(--sage)}.pwd-match.fail{color:var(--terra)}.btn-google{background:var(--paper);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:7px;justify-content:center;align-items:center;gap:9px;padding:9px 14px;font-size:13.5px;font-weight:500;transition:background .12s;display:flex}.btn-google:hover{background:var(--paper-2)}.field-error{color:var(--terra);margin-top:5px;font-size:11.5px}.grants-dir-head{margin-bottom:28px}.grants-dir-sub{color:var(--ink-mute);max-width:600px;margin-top:10px;font-size:15px;line-height:1.6}.grants-filter-bar{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;padding:14px 16px;display:flex}.grants-filter-select{background:var(--paper);border:1px solid var(--line);font-family:var(--sans);color:var(--ink);cursor:pointer;border-radius:7px;padding:7px 10px;font-size:13px}.grants-filter-select:focus{border-color:var(--accent);outline:none}.grants-count{color:var(--ink-fade);font-size:12px;font-family:var(--mono);white-space:nowrap;margin-left:auto}.grants-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.grant-dir-card{background:var(--paper);border:1px solid var(--line);border-radius:11px;flex-direction:column;gap:10px;padding:20px 20px 16px;transition:border-color .14s;display:flex}.grant-dir-card:hover{border-color:var(--ink-fade)}.grant-dir-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.grant-dir-card-name{font-family:var(--serif);color:var(--ink);flex:1;min-width:0;font-size:16px;font-weight:500;line-height:1.25}.grant-dir-card-issuer{color:var(--ink-fade);margin-top:3px;font-size:12px}.grant-dir-card-meta{flex-wrap:wrap;gap:12px;display:flex}.grant-dir-card-meta-item{color:var(--ink-mute);font-size:12px}.grant-dir-card-meta-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-fade);margin-bottom:2px;font-size:10px;font-weight:600;display:block}.grant-dir-card-tags{flex-wrap:wrap;gap:5px;display:flex}.grant-dir-card-tag{background:var(--accent-tint);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:11px}.grant-dir-card-footer{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:8px;margin-top:2px;padding-top:10px;display:flex}.grant-dir-card-link{color:var(--accent);font-size:12.5px;font-weight:500;text-decoration:none}.grant-dir-card-link:hover{text-decoration:underline}.grant-status-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-flex}.grant-status-badge:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.grant-status-badge.open{background:var(--sage-tint);color:var(--sage)}.grant-status-badge.open:before{background:var(--sage)}.grant-status-badge.closing_soon{background:var(--gold-tint);color:var(--gold-deep)}.grant-status-badge.closing_soon:before{background:var(--gold)}.grant-status-badge.coming_soon{background:var(--accent-tint);color:var(--accent)}.grant-status-badge.coming_soon:before{background:var(--accent)}.grant-status-badge.always_open{background:var(--paper-3);color:var(--ink-mute)}.grant-status-badge.always_open:before{background:var(--ink-fade)}.grant-status-badge.closed{background:var(--paper-3);color:var(--ink-fade)}.grant-status-badge.closed:before{background:var(--ink-fade)}.grant-detail-back{color:var(--ink-mute);align-items:center;gap:6px;margin-bottom:20px;font-size:13px;text-decoration:none;display:inline-flex}.grant-detail-back:hover{color:var(--accent)}.grant-detail-strip{background:var(--line);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1px;margin:20px 0 28px;display:grid;overflow:hidden}.grant-detail-strip-item{background:var(--paper);padding:14px 18px}.grant-detail-strip-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-fade);margin-bottom:5px;font-size:10.5px;font-weight:600}.grant-detail-strip-value{color:var(--ink);font-size:14px;font-weight:500}.grant-detail-section{margin-bottom:28px}.grant-detail-section-title{font-family:var(--serif);color:var(--ink);border-bottom:1px solid var(--line-soft);margin-bottom:12px;padding-bottom:8px;font-size:17px;font-weight:500}.grant-detail-description{color:var(--ink-soft);font-size:14px;line-height:1.75}.grant-detail-criterion{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;display:flex}.grant-detail-criterion:last-child{border-bottom:none}.grant-detail-criterion-label{color:var(--ink-soft);flex:1;font-size:13.5px}.grant-detail-criterion-weight{font-family:var(--mono);color:var(--ink-fade);white-space:nowrap;font-size:12px}.grant-detail-doc{color:var(--ink-soft);border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;padding:8px 0;font-size:13.5px;display:flex}.grant-detail-doc:last-child{border-bottom:none}.grant-detail-doc:before{content:"";background:var(--ink-fade);border-radius:50%;flex-shrink:0;width:5px;height:5px}.grant-detail-ctas{border-top:1px solid var(--line);gap:10px;margin-top:32px;padding-top:24px;display:flex}.grant-gate-wrap{position:relative;overflow:hidden}.grant-gate-blur{filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.7}.grant-gate-overlay{background:linear-gradient(to bottom, #fff0 0%, var(--paper) 20%);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 24px;display:flex;position:absolute;inset:0}.admin-search{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:7px;outline:none;padding:8px 12px;font-size:13.5px;transition:border-color .15s}.admin-search:focus{border-color:var(--accent)}.admin-grant-row{cursor:pointer;color:inherit;border-bottom:1px solid var(--line-soft);grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding:12px 18px;text-decoration:none;transition:background .1s;display:grid}.admin-grant-row:last-child{border-bottom:none}.admin-grant-row:hover{background:var(--paper-2)}.admin-grant-row-name{margin-bottom:3px;font-size:13.5px;font-weight:500}.admin-grant-row-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.drop-zone{border:2px dashed var(--line);text-align:center;color:var(--ink-fade);cursor:pointer;border-radius:10px;padding:36px 24px;font-size:13px;transition:border-color .15s,background .15s}.drop-zone:hover,.drop-zone.dragging{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}.drop-zone-icon{width:32px;height:32px;color:var(--ink-fade);margin:0 auto 10px}.drop-zone.dragging .drop-zone-icon{color:var(--accent)}
