:root {
  --navy:#0d2747; --navy2:#102f56; --blue:#1464f4; --bg:#f3f7fc; --card:#fff;
  --text:#10213d; --muted:#6b7a92; --line:#dfe7f1; --green:#16a36a; --orange:#f59e0b; --purple:#7758e8;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
button,input{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:220px 1fr}.sidebar{background:linear-gradient(180deg,var(--navy),#081d35);color:#fff;padding:22px 14px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:800;padding:0 8px 24px}.logo{color:#55a1ff;font-size:28px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav{border:0;background:transparent;color:#d7e4f4;display:flex;gap:12px;align-items:center;padding:12px;border-radius:10px;cursor:pointer;text-align:left}.nav span{flex:1}.nav b{font-size:11px;background:#5d7087;padding:2px 7px;border-radius:20px}.nav.active,.nav:hover{background:#173d6b;color:#fff}.subnav{font-size:12px;color:#8fa8c5;padding:6px 12px 6px 43px}.sidebar-note{position:absolute;bottom:18px;left:22px;color:#7891ae;font-size:12px}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px}.search{width:min(620px,65%);background:#f8fafc;border:1px solid var(--line);padding:11px 15px;border-radius:10px}.user{font-weight:700}.content{padding:28px}.hero-row{display:flex;justify-content:space-between;gap:24px;align-items:center}.eyebrow{color:var(--blue);font-weight:800;font-size:12px;letter-spacing:.1em;margin:0}.hero-row h1{font-size:28px;margin:4px 0}.muted,.panel-head p,.detail-head p,.opp-card p{color:var(--muted)}.mode-switch{display:flex;gap:10px}.mode{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 18px;min-width:190px;text-align:left;display:flex;flex-direction:column}.mode.active{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 8px 20px #1464f433}.mode span{font-size:12px;opacity:.8;margin-top:3px}.mode:disabled{opacity:.45}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0}.stats article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;display:flex;align-items:center;gap:14px}.stats strong{display:block;font-size:24px}.stats small{color:var(--muted)}.stat-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800}.stat-icon.blue{background:#e9f1ff;color:var(--blue)}.stat-icon.green{background:#e7f8ef;color:var(--green)}.stat-icon.orange{background:#fff4df;color:var(--orange)}.stat-icon.purple{background:#f1ecff;color:var(--purple)}.layout{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(420px,1.05fr);gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 22px #18314d0a}.panel-head{padding:20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.panel-head h2{margin:0 0 4px;font-size:18px}.panel-head p{margin:0;font-size:13px}.filters{display:flex;gap:6px}.filter{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 10px;color:var(--muted);cursor:pointer}.filter.active{background:#eaf2ff;color:var(--blue);border-color:#bad1ff}.opportunity-list{padding:10px}.opp-card{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px;margin-bottom:8px;text-align:left;cursor:pointer}.opp-card:hover,.opp-card.selected{border-color:#5590fa;background:#f8fbff;box-shadow:0 4px 15px #2f6dcc10}.opp-top{display:flex;align-items:center;gap:8px}.pill{font-size:11px;font-weight:800;padding:4px 8px;border-radius:7px}.pill.fund{background:#dcf8e8;color:#147a50}.pill.bid{background:#e8f0ff;color:#1b58c9}.country{font-size:12px;color:var(--muted)}.score{margin-left:auto;font-weight:800}.score.strong,.big-score.strong{color:var(--green)}.score.possible,.big-score.possible{color:var(--orange)}.opp-card h3{font-size:15px;margin:9px 0 4px}.opp-card p{font-size:12px;margin:0}.opp-meta{display:flex;justify-content:space-between;color:#4e6079;font-size:12px;margin-top:13px}.detail-panel{padding:22px;min-height:520px}.empty-state{height:470px;display:grid;place-items:center;color:var(--muted)}.detail-head{display:flex;justify-content:space-between;gap:20px}.detail-head h2{margin:9px 0 5px;font-size:21px}.big-score{min-width:105px;height:88px;border-radius:14px;background:#eef9f3;display:grid;place-items:center;align-content:center}.big-score.possible{background:#fff6e8}.big-score strong{font-size:28px}.big-score span{font-size:11px}.decision{margin:22px 0;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}.decision.positive{background:#eaf8f1;color:#126d49}.decision.warning{background:#fff5e5;color:#9b6105}.decision span{font-size:12px;opacity:.8}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-grid>div{border:1px solid var(--line);border-radius:11px;padding:12px}.detail-grid span{display:block;color:var(--muted);font-size:11px}.detail-grid strong{display:block;margin-top:4px}.gaps{background:#fff7f0;border:1px solid #fee3c5;border-radius:12px;padding:14px;margin-top:14px}.gaps h4{margin:0 0 8px}.gap{font-size:13px;margin:6px 0;color:#a16207}.ok-box{background:#ebf8f1;color:#147a50;padding:14px;border-radius:12px;margin-top:14px}.next-step{margin-top:18px;border-left:4px solid var(--blue);background:#f1f6ff;padding:15px;border-radius:0 12px 12px 0;display:flex;flex-direction:column}.next-step span{font-size:10px;color:var(--blue);font-weight:800;letter-spacing:.1em}.next-step strong{margin-top:4px}.actions{display:flex;gap:10px;margin-top:18px}.actions button{padding:11px 14px;border-radius:9px;cursor:pointer}.primary{background:var(--blue);color:#fff;border:1px solid var(--blue)}.secondary{background:#fff;color:var(--blue);border:1px solid #a9c6fb}@media(max-width:1000px){.shell{grid-template-columns:75px 1fr}.sidebar .brand span:last-child,.nav span,.nav b,.subnav,.sidebar-note{display:none}.brand{justify-content:center}.layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}

/* V0.2 onboarding */
.hidden{display:none!important}.onboarding{position:fixed;inset:0;background:rgba(8,29,53,.72);backdrop-filter:blur(10px);z-index:50;display:grid;place-items:center;padding:24px}.onboarding-card{width:min(920px,96vw);max-height:94vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 90px #071b35aa;padding:28px}.onboarding-brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800}.onboarding-brand>span:last-child{margin-left:auto;font-size:12px;color:var(--muted);font-weight:700}.progress-wrap{height:6px;background:#eaf0f7;border-radius:20px;margin:22px 0 28px;overflow:hidden}.wizard-progress{height:100%;background:var(--blue);width:16.6%;transition:width .2s ease}.wizard-step{display:none;min-height:420px}.wizard-step.active{display:block}.wizard-step h1{font-size:30px;margin:6px 0 8px}.form-grid{display:grid;gap:16px;margin-top:22px}.form-grid.two{grid-template-columns:1fr 1fr}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#33445d}label input,label select,label textarea{width:100%;border:1px solid var(--line);background:#fbfdff;border-radius:10px;padding:12px;color:var(--text);outline:none}label input:focus,label select:focus,label textarea:focus{border-color:#7ca9f8;box-shadow:0 0 0 3px #1464f414}.inline-note,.assessment-preview{margin-top:18px;padding:14px 16px;border-radius:12px;background:#f2f7ff;border:1px solid #d7e6ff;color:#31527e;font-size:13px}.assessment-preview strong{font-size:16px;color:var(--text)}.assessment-preview span{color:var(--muted)}.assessment-preview ul{margin:10px 0 0;padding-left:20px}.choice-row{display:flex;gap:10px;margin:20px 0 14px}.choice{border:1px solid #bad1ff;background:#eef4ff;color:#1859c5;border-radius:10px;padding:10px 13px;cursor:pointer;font-weight:700}.secondary-choice{background:#fff;color:var(--muted);border-color:var(--line)}.country-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:290px;overflow:auto;padding-right:6px}.country-option{display:flex;flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font-weight:600}.country-option input{width:auto}.wizard-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:22px;border-top:1px solid var(--line)}.wizard-actions button{padding:11px 17px;border-radius:10px;cursor:pointer}.wizard-actions button:disabled{opacity:.4;cursor:not-allowed}.company-strip{margin:20px 0 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 16px;display:flex;gap:26px;align-items:center}.company-strip>div{min-width:120px}.company-strip span{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}.company-strip strong{font-size:14px}.enabled{color:var(--green)}.disabled-text{color:#9a6a12}.link-button{margin-left:auto;border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer}
@media(max-width:800px){.form-grid.two,.country-grid{grid-template-columns:1fr}.onboarding{padding:0}.onboarding-card{border-radius:0;max-height:100vh;min-height:100vh}.company-strip{flex-wrap:wrap}.link-button{margin-left:0}.wizard-step{min-height:auto}}

.nace-assistant{margin-top:16px;border:1px solid #d7e6ff;background:#f8fbff;border-radius:12px;padding:14px 16px}.nace-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.nace-head strong{font-size:13px;color:#33445d}.nace-head span{font-size:12px;color:var(--muted)}.nace-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.nace-option{border:1px solid #cbdaf2;background:#fff;border-radius:10px;padding:9px 11px;cursor:pointer;text-align:left;color:var(--text);min-width:180px}.nace-option:hover{border-color:#7ca9f8}.nace-option.selected{border-color:var(--blue);box-shadow:0 0 0 2px #1464f414;background:#f2f7ff}.nace-option strong,.nace-option span{display:block}.nace-option strong{font-size:13px}.nace-option span{font-size:11px;color:var(--muted);margin-top:3px}.nace-thinking{font-size:12px;color:var(--muted)}

.text-action{border:0;background:transparent;color:var(--blue);font-weight:700;font-size:12px;cursor:pointer;padding:0}.nace-head .text-action{margin-left:auto}.nace-manual{margin-top:12px;display:flex;align-items:flex-end;gap:12px}.nace-manual label{flex:1}.nace-manual .text-action{padding-bottom:12px;white-space:nowrap}

/* V0.2.3: contextual activity for non-optimized BID sectors */
.bid-custom-activity{margin-top:12px;padding:14px 16px;background:#f8fbff;border:1px solid #d7e6ff;border-radius:12px}
.bid-custom-activity p{font-size:12px;margin:8px 0 0;line-height:1.45}

/* V0.3 authenticated cloud workspace */
.auth-gate{position:fixed;inset:0;background:linear-gradient(135deg,#0b2342,#163e72);z-index:100;display:grid;place-items:center;padding:18px}
.auth-card{background:#fff;border-radius:20px;width:min(450px,100%);padding:32px;box-shadow:0 24px 75px #03152e55}
.auth-card h1{margin:22px 0 6px;font-size:28px}
.auth-card form{display:flex;flex-direction:column;gap:15px;margin-top:22px}
.auth-submit{border-radius:10px;padding:12px 16px;cursor:pointer;font-weight:700}
.auth-switch{align-self:center;padding:10px}
.auth-feedback{font-size:13px;line-height:1.5;color:#a64315;margin:0;min-height:0}
.auth-feedback.ok{color:#0d8056}
.auth-card input{background:#f8fbff}
.user{display:flex;align-items:center;gap:18px}
.runtime-banner{background:#fff6e6;border:1px solid #eed6a2;border-radius:12px;color:#885815;padding:11px 15px;margin-bottom:14px;font-size:13px}

/* V0.4 Company Vault */
.vault-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
.vault-header h1{margin:5px 0;font-size:29px}.vault-header p:last-child{margin:3px 0 0}
.vault-back{padding:10px 15px;border-radius:10px;cursor:pointer}
.vault-panel{padding:21px 24px;margin-bottom:16px}
.vault-panel h2{margin:0 0 6px;font-size:19px}
.vault-upload-form{display:flex;align-items:flex-end;gap:14px;margin-top:20px}
.vault-upload-form label{flex:1}
.vault-upload-form input{padding:11px;background:#f9fbfe}
.vault-upload-form button{border-radius:10px;padding:12px 20px;min-width:165px;cursor:pointer}
.vault-upload-form button:disabled{opacity:.5;cursor:wait}
.vault-feedback{font-size:13px;color:#155f45;min-height:20px;margin:14px 0 0}
.vault-feedback.error{color:#a32b2b}
.vault-list-header{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.vault-list-header strong{color:var(--blue);font-size:13px;background:#e9f1ff;padding:4px 9px;border-radius:12px}
.vault-document{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding:14px 0}
.vault-document-meta{min-width:0;flex:1}
.vault-document-meta strong{display:block;font-size:14px;overflow-wrap:anywhere}
.vault-document-meta span{font-size:12px;color:var(--muted)}
.vault-document-actions{display:flex;gap:9px;flex-wrap:wrap}
.vault-document-actions button{cursor:pointer;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--blue);padding:8px 10px;font-size:13px}
.vault-document-actions .vault-delete{color:#a03636}
.vault-note{margin-top:22px;font-size:12px}
@media(max-width:750px){.vault-header,.vault-upload-form,.vault-document{flex-direction:column;align-items:stretch}.vault-upload-form button{width:100%}.vault-document-actions{margin-top:8px}}

/* V0.4.1 evidence-driven extraction and explicit approval */
#vault-extraction{scroll-margin-top:15px}
#extraction-fields{display:flex;flex-direction:column;gap:12px;margin:18px 0}
.extraction-row{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfdff}
.extraction-row strong{font-size:14px}
.extraction-row p{font-size:13px;color:var(--muted);margin:7px 0}
.extraction-row code{display:block;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;background:#eef3fa;padding:8px;border-radius:6px}
.extraction-warning{color:#965319;background:#fff6eb;padding:9px 12px;border-radius:8px;margin:8px 0;font-size:13px}
.extraction-allow{display:flex;gap:10px;align-items:center;margin:10px 0 0}
.extraction-allow input{width:18px;height:18px}
#extraction-feedback{font-size:13px}
#extraction-approve{padding:11px 15px;border-radius:10px;cursor:pointer}

/* V0.4.2 multilingual client-side OCR settings */
.vault-ocr-settings{display:flex;flex-wrap:wrap;align-items:end;gap:8px 16px;padding:15px 20px;margin-bottom:16px}
.vault-ocr-settings label{font-size:13px;color:var(--text);font-weight:650}
.vault-ocr-settings select{max-width:260px;width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:white}
.vault-ocr-settings input{max-width:105px;padding:9px 10px;border:1px solid var(--line);border-radius:9px}
.vault-ocr-settings p{flex-basis:100%;font-size:12px;margin:3px 0 0}
@media(max-width:700px){.vault-ocr-settings{flex-direction:column;align-items:stretch}}

/* V0.4.2.1 multi-batch OCR review */
#ocr-continue{padding:10px 14px;margin:4px 0 12px;border-radius:9px;cursor:pointer}
#ocr-continue:disabled{opacity:.55;cursor:wait}
#ocr-pages-progress{font-size:12px;margin:6px 0 12px}
.ocr-raw-preview{margin:15px 0;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fafbfd}
.ocr-raw-preview summary{cursor:pointer;font-weight:600;font-size:13px}
.ocr-raw-preview section{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.ocr-raw-preview pre{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto}

/* V0.4.2.3: readable opt-in numeric-column diagnostic */
.ocr-numeric-option{display:flex;align-items:center;gap:10px;flex-basis:100%;font-size:13px}
.ocr-numeric-option input{height:18px;width:18px;min-width:18px;padding:0}

/* V0.4.3 durable background processing labels */
.vault-job-state{display:block;margin-top:6px;font-size:12px;font-weight:650}
.vault-job-queued,.vault-job-processing{color:#875c08}
.vault-job-needs_review{color:#17683b}
.vault-job-no_text{color:#626e7d}
.vault-job-failed,.vault-job-error{color:#a12e32}
.vault-job-error{display:block;margin-top:3px;font-size:12px}
.vault-document-actions button:disabled{cursor:not-allowed;opacity:.55}

.vault-job-state{display:block;margin-top:6px;font-size:12px;font-weight:650}
.vault-job-queued,.vault-job-processing{color:#875c08}
.vault-job-needs_review{color:#17683b}
.vault-job-no_text{color:#626e7d}
.vault-job-failed,.vault-job-error{color:#a12e32}
.vault-job-error{display:block;margin-top:3px;font-size:12px}
.vault-document-actions button:disabled{cursor:not-allowed;opacity:.55}

/* V0.5.0: official TED notices, separate from speculative demo recommendations. */
.ted-live-panel{margin-top:20px}
.ted-live-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.ted-results{display:grid;gap:12px}
.ted-entry{border-top:1px solid var(--border,#dde1e8);padding:14px 2px}
.ted-entry strong{display:block;font-size:15px}
.ted-entry p{margin:7px 0;font-size:13px;line-height:1.5}
.ted-entry a{color:#2072b5;font-weight:650;text-decoration:underline;overflow-wrap:anywhere}
@media(max-width:680px){.ted-live-panel .panel-head button{width:100%}}

.ted-evidence{margin:10px 0 12px;padding:11px 13px;border:1px solid var(--line,#dde2e8);border-radius:9px}
.ted-evidence summary{cursor:pointer;font-size:13px;font-weight:650}
.ted-evidence ul{margin:9px 0;padding-left:19px;font-size:12px;line-height:1.5}
.ted-evidence li{margin:5px 0}

/* V0.7 Saved BID pipeline */
.saved-bid-panel{margin-top:20px}.saved-bid-panel .panel-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.saved-entry{padding:15px 0;border-top:1px solid var(--line,#dde2e8)}.saved-entry strong{display:block}.saved-entry p{font-size:13px;color:var(--muted)}
.saved-controls{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:10px}.saved-controls select{max-width:170px;min-height:36px}.saved-controls textarea{max-width:370px;min-width:200px;flex:1}.saved-controls button{min-height:35px}
@media(max-width:680px){.saved-controls{flex-direction:column;align-items:stretch}.saved-controls select,.saved-controls textarea{max-width:none;width:100%}}

/* V0.8 in-app readiness / provisional deadline warnings */
.readiness-panel{margin-top:20px}.readiness-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.readiness-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.readiness-item,.readiness-alert{border-top:1px solid var(--line,#dfe5ed);padding:10px 0}
.readiness-item strong,.readiness-alert strong{font-size:13px}.readiness-item p,.readiness-alert p{font-size:12px;line-height:1.5;color:var(--muted,#697586)}.readiness-alert a{font-size:12px;text-decoration:underline}
@media(max-width:700px){.readiness-columns{grid-template-columns:1fr}}

/* V0.8.1 navigation: active sections, honest real/demo data separation */
.subnav{display:block;width:100%;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer}
.subnav.active{color:#ffffff;background:rgba(70,137,247,.22);border-radius:7px}
.workspace-home-actions,.workspace-view-title{margin-bottom:20px}
.workspace-home-actions{padding:20px 24px}.workspace-home-actions h2{margin:0 0 7px;font-size:20px}
.workspace-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.workspace-shortcuts button{border-radius:10px;min-height:42px;padding:10px 15px;cursor:pointer}
.workspace-view-title{display:flex;align-items:center;justify-content:space-between;gap:10px 22px;flex-wrap:wrap}
.workspace-view-title h1{margin:0;font-size:29px}
.workspace-view-title>p{width:100%;margin:0}
.workspace-view-title .mode-switch{margin-left:auto}
.fund-pending-panel{padding:25px}.fund-pending-panel p{line-height:1.55}
#workspace-ted,#workspace-projects,#workspace-reports,#workspace-fund{margin-top:0}
#workspace-search{max-width:690px}
@media(max-width:700px){.workspace-view-title .mode-switch{width:100%;margin:0}.workspace-shortcuts{flex-direction:column}.workspace-shortcuts button{width:100%}}

.mode{cursor:pointer}.mode:focus-visible,.nav:focus-visible,.subnav:focus-visible{outline:3px solid #7badff;outline-offset:2px}
.subnav:hover{color:#fff;background:rgba(70,137,247,.14);border-radius:7px}
.workspace-home-actions .primary,.workspace-home-actions .secondary{cursor:pointer}

.ted-pager{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:16px 0 4px}.ted-pager button{min-height:40px;padding:8px 15px;border-radius:9px}.ted-pager span{font-size:13px;color:var(--muted)}

.saved-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.saved-export-link{font-size:13px;display:inline-flex;text-decoration:none;align-items:center;padding:9px 12px;border-radius:9px}.saved-bid-panel #saved-search{display:block;margin:8px 0 12px;padding:11px;width:min(100%,640px);border:1px solid var(--line);border-radius:10px}


.ted-results-tools{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:12px 20px 0}
.ted-results-tools label{display:flex;flex:0 1 260px;flex-direction:column;gap:5px;font-size:13px;font-weight:650}
.ted-results-tools select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}
.ted-results-tools button{min-height:40px;padding:8px 12px;border-radius:9px}
.ted-results-tools #ted-filter-summary{flex:1 1 260px;margin:0 0 3px;font-size:12px}
@media(max-width:680px){.ted-results-tools{align-items:stretch;flex-direction:column}.ted-results-tools label{flex:1 1 auto}.ted-results-tools button{width:100%}.ted-results-tools #ted-filter-summary{flex:auto}}

/* V0.8.9 mobile navigation and narrow-screen layout */
.mobile-nav-toggle,.nav-scrim{display:none}
.mobile-nav-toggle{width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-size:21px;cursor:pointer}
.mobile-nav-toggle:focus-visible,.nav-scrim:focus-visible{outline:3px solid #7badff;outline-offset:2px}
@media(max-width:680px){
  body{overflow-x:hidden}
  body.mobile-nav-open{overflow:hidden;overscroll-behavior:none}
  .shell{display:block;width:100%;min-width:0;min-height:100vh;min-height:100dvh}
  main{width:100%;min-width:0;overflow-x:hidden}
  .sidebar{
    position:fixed;inset:0 auto 0 0;z-index:62;width:min(86vw,300px);
    height:100vh;height:100dvh;padding:calc(20px + env(safe-area-inset-top)) 14px calc(70px + env(safe-area-inset-bottom));
    overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
    transform:translateX(-102%);transition:transform .2s ease;box-shadow:none
  }
  .shell.nav-open .sidebar{transform:translateX(0);box-shadow:12px 0 32px #071b3540}
  .sidebar .brand{justify-content:flex-start}
  .sidebar .brand span:last-child,.sidebar .nav span,.sidebar .nav b,.sidebar .subnav,.sidebar .sidebar-note{display:block}
  .sidebar .nav span{flex:1}
  .sidebar .nav{width:100%;min-height:44px}
  .sidebar .subnav{width:100%;min-height:40px}
  .sidebar .sidebar-note{position:absolute;left:22px;bottom:calc(18px + env(safe-area-inset-bottom))}
  .nav-scrim{position:fixed;inset:0;z-index:61;width:100%;height:100%;padding:0;border:0;background:rgba(8,25,45,.48)}
  .shell.nav-open .nav-scrim{display:block}
  .topbar{
    display:grid;grid-template-columns:44px minmax(0,1fr);
    grid-template-areas:"menu user" "search search";
    gap:8px 10px;height:auto;min-height:64px;
    padding:10px calc(12px + env(safe-area-inset-right)) 10px calc(12px + env(safe-area-inset-left))
  }
  .mobile-nav-toggle{grid-area:menu;display:inline-flex;align-items:center;justify-content:center}
  .search{grid-area:search;width:100%;max-width:none;min-width:0}
  .user{grid-area:user;justify-self:end;min-width:0;max-width:100%;overflow-wrap:anywhere;text-align:right}
  .content{width:100%;min-width:0;padding:18px 12px 28px}
  .hero-row{align-items:stretch;flex-direction:column;gap:14px;min-width:0}
  .hero-row h1,.workspace-view-title h1,.vault-header h1{font-size:clamp(22px,7vw,28px);overflow-wrap:anywhere}
  .hero-row>div,.workspace-view-title,.panel,.panel-head>div{min-width:0}
  .mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
  .mode{min-width:0;width:100%;padding:11px 10px}
  .mode span{overflow-wrap:anywhere}
  .company-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px}
  .company-strip>div{min-width:0;overflow-wrap:anywhere}
  .company-strip .link-button{grid-column:1/-1;justify-self:start;margin-left:0;padding:8px 0;text-align:left}
  .workspace-shortcuts{flex-direction:column;align-items:stretch}
  .workspace-shortcuts button{width:100%;min-height:44px}
  .workspace-view-title{align-items:stretch;flex-direction:column}
  .workspace-view-title .mode-switch{width:100%;margin:0}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stats article{min-width:0;padding:12px;gap:9px}
  .stats strong{font-size:21px}
  .stats small{overflow-wrap:anywhere}
  .layout{grid-template-columns:minmax(0,1fr);gap:12px}
  .panel-head{gap:10px;padding:16px 14px;flex-wrap:wrap}
  .filters{flex:1 1 100%;flex-wrap:wrap}
  .filters .filter{flex:0 0 auto}
  .panel-head h2{overflow-wrap:anywhere}
  .detail-panel{min-height:0;padding:16px 14px}
  .empty-state{height:auto;min-height:220px}
  .detail-head{flex-wrap:wrap}
  .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .opp-top,.opp-meta,.actions{flex-wrap:wrap}
  .opp-card h3,.opp-card p,.ted-entry,.saved-entry,.readiness-item,.readiness-alert{overflow-wrap:anywhere}
  .company-strip,.vault-header,.vault-upload-form,.vault-document,.saved-toolbar,.readiness-columns{min-width:0}
  .vault-header{flex-direction:column;align-items:stretch;gap:12px}
  .vault-header .vault-back{width:100%;min-height:44px}
  .vault-ocr-settings{width:100%;padding:14px}
  .vault-ocr-settings select,.vault-ocr-settings input{max-width:none;width:100%}
  .vault-upload-form{display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .vault-upload-form label,.vault-upload-form input{width:100%;min-width:0}
  .vault-upload-form button{width:100%;min-height:44px}
  .vault-document{flex-direction:column;align-items:stretch;overflow-wrap:anywhere}
  .vault-document-actions{display:flex;flex-wrap:wrap;gap:8px}
  .vault-document-actions button{flex:1 1 100%;min-height:44px}
  .vault-list-header{flex-wrap:wrap}
  .saved-toolbar{width:100%;display:flex;flex-wrap:wrap}
  .saved-toolbar>*{flex:1 1 100%;justify-content:center;min-height:44px}
  .saved-bid-panel #saved-filter,.saved-bid-panel #saved-search{width:100%;max-width:none;min-width:0}
  .readiness-columns{grid-template-columns:minmax(0,1fr)}
  .ted-live-panel .panel-head button{width:100%;min-height:44px}
  .ted-results-tools{align-items:stretch;flex-direction:column}
  .ted-results-tools label{flex:1 1 auto;width:100%;min-width:0}
  .ted-results-tools button{width:100%;min-height:44px}
  .ted-results-tools #ted-filter-summary{flex:auto}
  .ted-pager{gap:8px}
  .ted-pager button{min-height:44px;flex:1 1 42%}
  .vault-panel,.workspace-home-actions,.fund-pending-panel{padding:16px 14px}
  .vault-panel h2,.workspace-home-actions h2{overflow-wrap:anywhere}
  .actions button,.wizard-actions button,.primary,.secondary{max-width:100%;min-height:44px}
  input,select,textarea,button{max-width:100%;min-width:0}
  img,canvas,svg{max-width:100%;height:auto}
  pre,code{white-space:pre-wrap;overflow-wrap:anywhere}
}
@media(max-width:359px){
  .stats{grid-template-columns:minmax(0,1fr)}
  .detail-grid{grid-template-columns:minmax(0,1fr)}
  .topbar{gap:7px}
}
@media(prefers-reduced-motion:reduce){
  .sidebar{transition:none}
}
