:root{--bg:#f8fafc;--surface:#fff;--text:#111827;--muted:#475569;--primary:#1d4ed8;--border:#cbd5e1;--danger:#b91c1c;--radius:14px;--space:1rem;font-family:system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}
*{box-sizing:border-box}body{margin:0}a{color:var(--primary)}button,input,select{font:inherit}button,.button{padding:.65rem 1rem;border:1px solid var(--primary);border-radius:8px;background:var(--primary);color:white;cursor:pointer;text-decoration:none;display:inline-block}button.quiet{background:var(--surface);color:var(--primary)}:focus-visible{outline:3px solid #a16207;outline-offset:4px}main:focus{outline:none}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:1rem 4%;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.topbar form{display:flex;gap:.5rem;align-items:center;margin:0}.brand{font-size:1.5rem;letter-spacing:-.06em;font-weight:800;color:var(--text);text-decoration:none}.brand-dot{color:var(--primary)}.shell{max-width:1280px;margin:0 auto;display:flex;min-height:75vh}nav{padding:2rem 1rem;min-width:190px;display:flex;flex-direction:column;gap:.5rem}nav a{padding:.65rem 1rem;text-decoration:none;color:var(--muted);border-radius:8px}nav a[aria-current=page]{background:#dbeafe;color:#1e40af;font-weight:700}main{padding:2.5rem;flex:1;min-width:0}h1{font-size:clamp(1.8rem,4vw,2.4rem);letter-spacing:-.04em;line-height:1.2;margin-top:0}p{max-width:65ch}.muted{color:var(--muted)}.card{background:var(--surface);padding:2rem;border:1px solid var(--border);border-radius:var(--radius);max-width:760px}.auth{max-width:480px;margin:0 auto}.field{margin:1.1rem 0}label{display:block;font-weight:600;margin-bottom:.3rem}input,select{padding:.65rem;border:1px solid #64748b;border-radius:6px;background:white;color:var(--text);width:100%;min-width:0}input.input-validation-error{border-color:var(--danger)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}.validation-summary-errors,.field-validation-error{color:var(--danger)}.validation-summary-valid{display:none}.notice{padding:1rem;background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;margin-bottom:1rem}.eyebrow{text-transform:uppercase;font-size:.8rem;letter-spacing:.12em;color:var(--muted)}footer{padding:2rem 4%;font-size:.9rem;color:var(--muted);border-top:1px solid var(--border)}.skip-link{position:absolute;left:1rem;top:-100px;background:white;padding:1rem;z-index:5}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:700px){.shell{display:block}nav{padding:.5rem;flex-direction:row;overflow-x:auto;min-width:0}nav a{padding:.5rem;white-space:nowrap}main{padding:1.5rem 1rem}.card{padding:1.3rem}.grid{grid-template-columns:1fr}.topbar{padding:1rem}.topbar select{width:auto}}
:root { --success-ink:#166534; --soft-blue:#eff6ff; }
textarea { font:inherit; padding:.65rem; border:1px solid #64748b; border-radius:6px; background:var(--surface); color:var(--text); width:100%; resize:vertical; }
input[type=checkbox] { width:1.1rem; height:1.1rem; flex-shrink:0; }
.page-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; margin:1.5rem 0; }
.page-heading h1,.page-heading h2 { margin-bottom:.5rem; }
.record-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:1rem; margin:1.5rem 0; }
.record-card { width:100%; overflow-wrap:anywhere; }
.record-card h2 { font-size:1.3rem; margin:.7rem 0; }
.badges,.actions { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; }
.badge { display:inline-block; border:1px solid var(--border); border-radius:30px; padding:.2rem .7rem; font-size:.8rem; font-weight:600; background:var(--surface); }
.scope-status { background:var(--soft-blue); color:var(--primary); }
.facts { display:flex; flex-wrap:wrap; gap:1.2rem 2rem; padding:1.5rem 0; }
.facts>div { flex:1 1 180px; min-width:0; }
dt { color:var(--muted); font-size:.9rem; } dd { margin:.3rem 0; overflow-wrap:anywhere; }
.amount { font-size:1.4rem; font-weight:700; }
.scope-columns { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.5rem 0; }
.scope-group { padding:1.5rem; min-width:0; }
.scope-list { list-style:none; padding:0; margin:0; }
.scope-list li { display:flex; align-items:baseline; gap:.8rem; padding:1rem 0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.scope-list li:last-child { border-bottom:0; }
.scope-list li>div { min-width:0; }
.scope-marker { color:var(--success-ink); font-weight:700; }
.scope-list h3 { font-size:1rem; margin:0; }
.scope-list p { margin:.4rem 0 0; color:var(--muted); }
.preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere; }
.scope-row { width:100%; margin:1.5rem 0; }
.scope-row legend { font-weight:700; padding:0 .5rem; }
.scope-editor,.lock-confirmation { max-width:850px; }
.scope-editor .card { max-width:none; }
.lock-confirmation { margin:2rem 0; }
.check-label { display:flex; align-items:baseline; gap:.7rem; margin:1rem 0; }
.filter-form { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; margin:1rem 0; }
.filter-form label { display:flex; align-items:center; gap:.5rem; margin:0; }
.filter-form select { width:auto; max-width:100%; }
.project-admin { margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.content-hash { overflow-wrap:anywhere; margin-top:2rem; font-size:.8rem; }
.source-text { margin:1rem 0; width:100%; max-width:none; }
.quiet-link { background:var(--surface); color:var(--primary); }
@media(max-width:700px) { .scope-columns { grid-template-columns:1fr; } .page-heading .button { max-width:100%; } .filter-form { align-items:stretch; } .project-facts { gap:.5rem; } }

.revision-panel{margin-block:2rem}.revision-meter h2{margin-top:0}.revision-usage{font-size:1.4rem}.revision-dots{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:1rem}.revision-dot{display:grid;place-items:center;width:2rem;height:2rem;border:2px solid currentColor;border-radius:50%;font-size:1.25rem}.at-cap{border-left:5px solid #92400e;padding-left:1rem}.at-cap h2{color:#92400e}.revision-history{padding-left:1.5rem}.revision-history li{padding:1rem 0;border-bottom:1px solid var(--border)}.revision-history p{margin:.4rem 0}.revision-complete{display:grid;gap:.75rem;max-width:42rem}.agreement-policy{margin-block:1.5rem}

.portal-main{max-width:64rem;margin:auto;padding:2rem 1rem}.portal-body .card{max-width:none}.portal-body .topbar{gap:1rem}.portal-body .request-intake form{display:grid;gap:.8rem}.portal-requests,.request-card,.project-intake{margin-block:1.5rem}.public-request{margin-block:1rem}.request-classification{text-transform:uppercase;font-weight:700}.original-request{border-left:3px solid var(--primary);padding-left:1rem}.portal-body [hidden]{display:none}.portal-body input,.portal-body textarea{width:100%;max-width:100%;box-sizing:border-box}.portal-bootstrap form{display:none}

.proposal-document .proposal-amount { font-size: 1.8rem; }
.proposal-history .content-hash { overflow-wrap: anywhere; font-size: .8rem; }
.proposal-document, .commercial-summary, .approved-additions { margin-block: 1.5rem; }

.portal-body input[type=checkbox]{width:1.1rem;height:1.1rem;flex-shrink:0;}
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.metric h2{font-size:1.1rem}.metric .amount{font-size:1.7rem;overflow-wrap:anywhere}.protected-revenue{border-top:4px solid var(--primary)}.operational-list{list-style:none;padding:0}.operational-list li{padding:1rem 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.activity-list{list-style:none;padding:0;border-left:2px solid var(--border);margin-left:.4rem}.activity-list li{padding:1rem 1.25rem;overflow-wrap:anywhere}.activity-list h2{font-size:1.05rem}.delivery-history{margin-top:1.5rem}
.ai-item { padding-block: .75rem; border-bottom: 1px solid var(--border, #d8e0df); }
.ai-item blockquote { margin: .5rem 0 .5rem 1rem; color: #445650; overflow-wrap: anywhere; }
.ai-suggestion { border-inline-start: .3rem solid #48705f; overflow-wrap: anywhere; }
.ai-suggestion .check-label { display: flex; gap: .65rem; align-items: baseline; }
.ai-suggestion input[type=checkbox] { flex: 0 0 auto; }
.legal-content{white-space:pre-wrap;font:inherit;overflow-wrap:anywhere} .card button{margin-block:.4rem} .card{overflow-wrap:anywhere}
