:root{--navy:#123B5D;--teal:#0F5E66;--slate:#334155;--bg:#F7F8FA;--white:#fff;--line:#E2E8F0;--muted:#64748B;--green:#166534;--greenbg:#DCFCE7;--amber:#92400E;--amberbg:#FEF3C7;--red:#991B1B;--redbg:#FEE2E2}*{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(--slate)}nav{height:68px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1100px)/2));position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-weight:800;font-size:21px}.mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--navy);color:white}.navright{display:flex;align-items:center;gap:16px}.role{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--teal)}main{max-width:1100px;margin:0 auto;padding:36px 20px 72px}.card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 8px 28px rgba(15,23,42,.04)}.auth{max-width:500px;margin:8vh auto}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--teal);margin-bottom:8px}h1{color:var(--navy);font-size:clamp(30px,5vw,48px);line-height:1.05;margin:8px 0 12px}h2{color:var(--navy);font-size:22px;margin:0 0 18px}h3{margin:4px 0 7px;color:var(--navy)}p{line-height:1.55}.muted,.helper{color:var(--muted)}.stack{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:8px;font-size:13px;font-weight:700}input,textarea{font:inherit;border:1px solid #CBD5E1;border-radius:12px;padding:13px 14px;background:#fff;color:var(--slate);width:100%}input:focus,textarea:focus{outline:3px solid rgba(15,94,102,.12);border-color:var(--teal)}button,.button{font:inherit;border:0;border-radius:12px;padding:12px 17px;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}.primary{background:var(--navy);color:#fff;font-weight:800}.linkbtn{background:none;color:var(--navy);padding:4px}.split{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.section{margin-top:34px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.client-card{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;transition:.18s}.client-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,23,42,.06)}.columns{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:30px}.fact-row{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--line);text-transform:none}.fact-row:first-of-type{border-top:0}.fact-row strong{text-transform:capitalize;color:var(--slate);font-size:13px}.pill{white-space:nowrap;height:max-content;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.verified{color:var(--green);background:var(--greenbg)}.client_asserted{color:var(--navy);background:#DBEAFE}.pending_evidence{color:var(--amber);background:var(--amberbg)}.conflict{color:var(--red);background:var(--redbg)}.unknown{color:var(--muted);background:#F1F5F9}.signal{display:grid;grid-template-columns:auto 1fr;gap:13px;padding:14px 0;border-top:1px solid var(--line)}.signal:first-of-type{border-top:0}.signal p{margin:5px 0 0;color:var(--muted);font-size:13px}.priority{background:#E6FFFB;color:var(--teal);border-radius:9px;padding:5px 8px;height:max-content;font-size:11px;font-weight:900}.back{display:inline-block;margin-bottom:20px;color:var(--teal);text-decoration:none;font-weight:700}.question{max-width:700px;margin:0 auto}.progress{font-size:12px;color:var(--muted);margin-bottom:18px}.empty{padding:18px;background:#F8FAFC;border-radius:12px;color:var(--muted)}.alert{border-radius:12px;padding:12px 14px}.danger{background:var(--redbg);color:var(--red)}footer{max-width:1100px;margin:0 auto;padding:24px 20px 44px;color:var(--muted);font-size:12px}@media(max-width:720px){main{padding-top:24px}.role{display:none}.split{display:grid}.columns{grid-template-columns:1fr}.button{width:100%}.fact-row{display:grid}.auth{margin-top:3vh}h1{font-size:34px}}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.secondary{background:#F1F5F9;color:var(--navy);font-weight:800;border:1px solid var(--line)}
.service-lanes{margin-top:26px}.lane-grid{display:grid;gap:10px}.lane-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.lane-row:first-child{border-top:0}.lane-description{font-size:12px;margin-top:4px}.lane-form{display:flex;gap:8px;align-items:center}.lane-form select{font:inherit;border:1px solid #CBD5E1;border-radius:10px;padding:9px 10px;background:#fff;color:var(--slate)}.lane-form button{padding:9px 12px}.lane-status{color:var(--teal);background:#E6FFFB}@media(max-width:720px){.lane-row{grid-template-columns:1fr}.lane-form{display:grid;grid-template-columns:1fr auto}.lane-form select{width:100%}}

.lane-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.workspace-link{font-size:12px;font-weight:800;color:var(--teal);text-decoration:none}.workspace-link:hover{text-decoration:underline}.lane-workspace-columns{grid-template-columns:1.05fr .95fr}.lane-workspace-columns select{font:inherit;border:1px solid #CBD5E1;border-radius:12px;padding:13px 14px;background:#fff;color:var(--slate);width:100%}.workspace-subhead{margin-top:26px}@media(max-width:720px){.lane-workspace-columns{grid-template-columns:1fr}}


/* Sprint 13C — read-only work-item activity timeline */
.activity-timeline{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(51,65,85,.18)}
.activity-entry{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid rgba(51,65,85,.12)}
.activity-entry:last-child{border-bottom:0}
.activity-meta{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}

/* Sprint 13F UI correction: engagement/work-item workspace is a deliberate
   two-column layout. Generic .lane-row is three-column and caused later
   delivery modules to wrap into unintended grid cells. */
.engagement-row{
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);
  align-items:start;
  gap:24px;
}
.engagement-row>form,.engagement-support{min-width:0}
.engagement-support{display:grid;gap:18px}
.engagement-support .activity-timeline{margin-top:0}
@media(max-width:900px){
  .engagement-row{grid-template-columns:1fr}
}

/* Sprint 14C — dynamic idea roadmap */
.roadmap{margin-top:22px}.roadmap-item{border-top:1px solid #e5e7eb;padding:18px 0}.roadmap-item:first-of-type{border-top:0}.roadmap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.roadmap-head>div{display:flex;align-items:center;gap:10px}.roadmap-order{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#111827;color:#fff;font-weight:700;font-size:13px}.roadmap-item p{margin:8px 0;color:#4b5563}.roadmap-next{margin:8px 0}.roadmap-exists{background:#dcfce7;color:#166534}.roadmap-missing{background:#fee2e2;color:#991b1b}.roadmap-needs-verification{background:#fef3c7;color:#92400e}@media(max-width:640px){.roadmap-head{flex-direction:column}.roadmap-head .pill{margin-left:38px}}

/* Sprint 15A.1 — separate CHP operating worlds */
.world-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:24px 0 34px}
.world-card{display:block;padding:28px;border:1px solid var(--line,#d9d9d9);border-radius:18px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 10px 30px rgba(0,0,0,.05)}
.world-card h2{margin:.35rem 0 .65rem}.world-card p{min-height:3.2em}
.govcon-world{border-width:2px}
.govcon-hero{padding:34px;border-radius:22px;background:#151820;color:#fff;margin-bottom:22px}
.govcon-hero h1{font-size:clamp(2rem,5vw,4rem);margin:.25rem 0 .75rem}
.govcon-hero p{max-width:800px;font-size:1.08rem}
.govcon-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.govcon-actions .button:not(.primary){background:#fff;color:#151820}
.govcon-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px;margin:18px 0}
.metric{padding:18px;border:1px solid var(--line,#ddd);border-radius:14px;background:#fff}
.metric strong{display:block;font-size:1.8rem}.metric span{font-size:.82rem}
.govcon-roadmap{border-left:5px solid #151820}

/* Sprint 15A.2 lifecycle */
select{font:inherit;border:1px solid #CBD5E1;border-radius:12px;padding:13px 14px;background:#fff;color:var(--slate);width:100%}.govcon-hero .back{color:#fff}.alert{margin-bottom:16px;background:#E6FFFB;color:var(--teal)}

/* Sprint 16L — GovCon cockpit UX cleanup. Presentation/navigation only. */
.govcon-lifecycle{position:sticky;top:0;z-index:20;display:flex;gap:.45rem;overflow-x:auto;padding:.65rem .75rem;margin:0 0 1rem;border:1px solid var(--line,#d9dde5);border-radius:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.govcon-lifecycle a{flex:0 0 auto;text-decoration:none;font-size:.76rem;font-weight:800;letter-spacing:.04em;padding:.5rem .7rem;border-radius:999px;border:1px solid var(--line,#d9dde5);background:#fff;color:inherit}
.govcon-lifecycle a:hover,.govcon-lifecycle a:focus{outline:2px solid currentColor;outline-offset:1px}
.cockpit-stage{scroll-margin-top:5rem}
.cockpit-stage>.eyebrow{display:inline-block;margin-bottom:.35rem}
@media (max-width:700px){.govcon-lifecycle{margin-left:-.25rem;margin-right:-.25rem;border-radius:10px}.govcon-lifecycle a{font-size:.7rem;padding:.45rem .6rem}}

/* Sprint 17A — GovCon Command Center + A–Z Workflow Navigator. Presentation/navigation only. */
.govcon-command-hero{background:linear-gradient(135deg,#101923,#123B5D)}
.attention-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 30px}.attention-strip a{text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 6px 18px rgba(15,23,42,.04)}.attention-strip strong{display:block;color:var(--navy);font-size:1.8rem}.attention-strip span{font-size:.8rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.workflow-navigator{position:static;height:auto;background:transparent;border:0;padding:0;display:flex;gap:8px;overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}.workflow-step{min-width:118px;flex:1 0 118px;display:grid;gap:8px;text-decoration:none;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.workflow-step span{font-size:.7rem;font-weight:900;letter-spacing:.04em;line-height:1.2}.workflow-step strong{font-size:1.35rem}.workflow-step:hover{border-color:var(--teal);box-shadow:0 6px 18px rgba(15,23,42,.06)}
.queue-count{display:grid;place-items:center;min-width:42px;height:42px;border-radius:999px;background:var(--navy);color:#fff;font-weight:900}.govcon-opportunity-card{display:block;text-decoration:none;color:inherit;transition:.18s}.govcon-opportunity-card:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(15,23,42,.08)}.continue-link{font-weight:900;color:var(--teal)}.admin-tools summary{cursor:pointer;color:var(--navy)}.admin-tools .govcon-actions form{display:inline}.admin-tools .govcon-actions button{width:auto}
@media(max-width:720px){.attention-strip{grid-template-columns:repeat(2,1fr)}.attention-strip a{padding:14px}.workflow-navigator{margin-left:-4px;margin-right:-4px}.workflow-step{min-width:105px;flex-basis:105px}.govcon-command-hero{padding:26px 22px}.admin-tools .govcon-actions,.admin-tools .govcon-actions form,.admin-tools .govcon-actions button{width:100%}}

/* Sprint 17C — Adaptive Opportunity Workspace */
.adaptive-workspace{border:1px solid var(--line,#d9dde5);border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.07);padding:1.2rem;margin:1rem 0 1.25rem}
.adaptive-stage-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.5rem .75rem;font-weight:800;border:1px solid var(--line,#d9dde5);white-space:nowrap}
.adaptive-rail{display:flex;gap:.45rem;overflow-x:auto;padding:.8rem 0;margin:.65rem 0}
.adaptive-step{flex:0 0 auto;display:flex;gap:.35rem;align-items:center;text-decoration:none;border:1px solid var(--line,#d9dde5);border-radius:999px;padding:.55rem .7rem;font-size:.76rem}
.adaptive-step.done{font-weight:800}
.adaptive-step.current{outline:2px solid currentColor;outline-offset:1px}
.adaptive-next{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-radius:16px;background:var(--surface,#f7f9fb);margin-top:.4rem}
.adaptive-next h3{margin:.25rem 0}
.adaptive-details{margin-top:1rem}
.legacy-opportunity-nav{margin-bottom:1rem}
.legacy-opportunity-nav>summary{cursor:pointer;font-weight:800}
@media(max-width:700px){
 .adaptive-workspace{padding:1rem;border-radius:18px}
 .adaptive-workspace .split{align-items:flex-start}
 .adaptive-stage-badge{margin-top:.35rem}
 .adaptive-next{align-items:stretch;flex-direction:column}
 .adaptive-next .button{width:100%;text-align:center}
 .adaptive-rail{margin-left:-.15rem;margin-right:-.15rem}
}

/* Sprint 17D — Chappy Conversation UI */
.chappy-fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:80;border:0;border-radius:999px;padding:.72rem 1rem;box-shadow:0 10px 28px rgba(15,23,42,.22);font-weight:800}
.chappy-fab span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:#0f4668;margin-right:.35rem}
.chappy-chat-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.28);z-index:88}
.chappy-chat{position:fixed;right:18px;bottom:18px;width:min(410px,calc(100vw - 36px));max-height:min(680px,calc(100vh - 36px));z-index:90;background:#fff;border:1px solid var(--line,#d9dde5);border-radius:22px;box-shadow:0 24px 60px rgba(15,23,42,.28);display:flex;flex-direction:column;overflow:hidden}
.chappy-chat[hidden],.chappy-chat-backdrop[hidden]{display:none}
.chappy-chat header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1rem .75rem;border-bottom:1px solid var(--line,#d9dde5)}
.chappy-chat header h2{margin:.15rem 0 0}.chappy-close{border:0;background:transparent;font-size:1.8rem;line-height:1;padding:.25rem}
.chappy-chat-status,.chappy-chat-note{padding:.6rem 1rem;font-size:.78rem;color:#64748b;margin:0}
.chappy-messages{padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.65rem;min-height:220px}
.chappy-message{max-width:88%;padding:.7rem .85rem;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.chappy-message.chappy{background:#f1f5f9;align-self:flex-start}.chappy-message.user{background:#e6fffb;align-self:flex-end}
.chappy-chat-form{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--line,#d9dde5)}.chappy-chat-form textarea{flex:1;resize:none}.chappy-chat-form button{align-self:stretch}
@media(max-width:700px){.chappy-fab{right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}.chappy-chat{inset:auto 0 0 0;width:100%;max-height:82vh;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}.chappy-chat-backdrop{display:block}}

/* Sprint 17F — controlled conversational actions */
.chappy-confirm-action{margin-top:.65rem;border-radius:999px;padding:.55rem .8rem;font-weight:800}
.chappy-confirm-action:disabled{opacity:.65}

/* Sprint 17H — Intelligent Compliance UX / mobile containment */
#compliance-control,.delivery-requirements,.delivery-table-wrap,.delivery-mobile-list,.delivery-mobile-card{min-width:0;max-width:100%}
.delivery-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.delivery-table{width:100%;border-collapse:collapse;table-layout:fixed}
.delivery-table th,.delivery-table td{padding:.75rem;vertical-align:top;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere;word-break:break-word}
.delivery-table th:nth-child(1){width:16%}.delivery-table th:nth-child(2){width:49%}.delivery-table th:nth-child(3){width:15%}.delivery-table th:nth-child(4){width:20%}
.delivery-wrap{overflow-wrap:anywhere;word-break:break-word}
.delivery-mobile-list{display:none}
.delivery-mobile-card{border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff;overflow:hidden}
.delivery-mobile-card+.delivery-mobile-card{margin-top:.8rem}
.delivery-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;min-width:0}
.delivery-card-head .eyebrow{min-width:0;overflow-wrap:anywhere}
.delivery-status{flex:0 1 auto;max-width:55%;border-radius:999px;padding:.35rem .55rem;background:#f1f5f9;font-size:.72rem;font-weight:800;overflow-wrap:anywhere;text-align:right}
.delivery-requirement-details{min-width:0;margin-top:.35rem}
.delivery-requirement-details summary{cursor:pointer;font-weight:800;color:var(--navy);padding:.45rem 0}
.delivery-requirement-text{margin:.35rem 0 .8rem;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%;font-size:.95rem;line-height:1.5}
.delivery-mobile-card dl{margin:.5rem 0 0;min-width:0}
.delivery-mobile-card dl div{display:grid;gap:.2rem;padding:.6rem 0;border-top:1px solid var(--line);min-width:0}
.delivery-mobile-card dt{font-size:.72rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.delivery-mobile-card dd{margin:0;min-width:0;overflow-wrap:anywhere;word-break:break-word}
#compliance-control .card,#compliance-control p,#compliance-control details,#compliance-control form,#compliance-control textarea{max-width:100%;min-width:0;overflow-wrap:anywhere}
@media(max-width:720px){
 body{overflow-x:hidden}
 main{width:100%;max-width:100%;overflow-x:hidden}
 #compliance-control{width:100%;overflow:hidden}
 .delivery-requirements{padding:14px}
 .delivery-table-wrap{display:none}
 .delivery-mobile-list{display:block}
 .delivery-mobile-card{width:100%}
 .delivery-requirement-details[open] .delivery-requirement-text{max-height:55vh;overflow:auto;-webkit-overflow-scrolling:touch}
}

/* Sprint 17I */
.requirement-document-upload{margin-top:.75rem;padding-top:.7rem;border-top:1px solid var(--line);min-width:0}.requirement-document-upload summary{font-weight:800;cursor:pointer;color:var(--navy)}.requirement-document-upload form{display:grid;gap:.6rem;margin-top:.7rem;min-width:0}.requirement-document-upload input[type=file]{width:100%;max-width:100%;min-width:0;overflow:hidden}.requirement-document-upload button{width:100%}

/* Sprint 17I1 — compliance verification controls */
.requirement-manual-verify{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--line);min-width:0}.requirement-manual-verify summary{font-weight:800;cursor:pointer;color:var(--navy)}.requirement-manual-verify form{display:grid;gap:.65rem;margin-top:.7rem}.requirement-manual-verify textarea{width:100%;max-width:100%}.checkline{display:flex;gap:.55rem;align-items:flex-start}.checkline input{margin-top:.25rem;flex:0 0 auto}

/* Sprint 17K — compliance exception clarity + mobile containment */
.compliance-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0 1rem}.compliance-summary span{padding:.4rem .65rem;border-radius:999px;background:#f1f5f9;font-size:.78rem;font-weight:800}.compliance-summary .research-count{background:var(--redbg);color:var(--red)}
.research-handoff-banner{margin:.9rem 0 1rem;padding:1rem;border:2px solid #f59e0b;border-radius:16px;background:#fff7ed;overflow-wrap:anywhere}.research-handoff-banner p{margin:.35rem 0 .75rem}.research-required-card{border:2px solid #f59e0b;background:#fffbeb;box-shadow:0 10px 28px rgba(146,64,14,.08)}.research-action{margin-top:1rem;padding:1rem;border-radius:12px;background:#fef3c7;overflow-wrap:anywhere}.compact{margin:.8rem 0}.verify-check{padding:.8rem;border-radius:12px;background:#eff6ff;cursor:pointer}.verify-check input{width:auto;min-width:22px;min-height:22px}.compliance-exception,.research-handoff-banner,.delivery-mobile-card,.card,pre,a,p,dd,li{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%}
@media(max-width:720px){#compliance-control .govcon-actions form,#compliance-control .govcon-actions button,.research-handoff-banner .button,.research-action form,.research-action button{width:100%}.research-required-card{padding:18px}.compliance-summary span{font-size:.72rem}}

/* Sprint 17P — persistent ChatGPT research traceability */
.research-activity{margin:1rem 0;padding:1rem;border:2px solid #f59e0b;border-radius:16px;background:#fffaf0}.research-activity h3{margin-top:0}.research-activity-row{display:grid;gap:.2rem;margin:.55rem 0;padding:.75rem;border:1px solid #f59e0b;border-radius:12px;background:#fff;text-decoration:none;color:inherit}.research-activity-row strong{font-size:.76rem;letter-spacing:.04em}.research-activity-row small{color:var(--red)}.research-tracked-card{border:3px solid #f59e0b!important;background:#fffbeb!important;box-shadow:0 0 0 4px rgba(245,158,11,.12),0 10px 28px rgba(146,64,14,.12)!important}.research-tracking-badge{display:inline-block;margin:.35rem 0 .65rem;padding:.35rem .55rem;border-radius:999px;background:#f59e0b;color:#111827;font-size:.72rem;font-weight:900;letter-spacing:.03em}.research-result{margin-top:.8rem;padding:.85rem;border:1px solid #d97706;border-radius:12px;background:#fff}.research-result p{margin:.35rem 0}

/* Sprint 17V.1 — compact human action closure + direct issue link */
.human-action-summary{margin:.55rem 0;padding:.7rem .8rem;border-radius:10px;background:#fff7ed;border:1px solid #fdba74}.compact-action-link{display:inline-flex!important;width:auto!important;margin:.55rem 0 0;padding:.55rem .75rem!important;font-size:.86rem}.research-source-line{font-size:.9rem;color:var(--muted)}.human-action-closure{margin:.65rem 0 0;padding:.75rem .8rem;border:1px solid #f59e0b;border-radius:12px;background:#fffaf0}.human-action-closure-head{display:grid;gap:.15rem;margin-bottom:.45rem}.human-action-closure form{margin:0}.human-action-note{margin:.3rem 0 .45rem}.human-action-note summary{font-size:.82rem;cursor:pointer}.human-action-note input{margin-top:.4rem;min-height:40px}.human-action-check{display:flex!important;align-items:flex-start;gap:.55rem;margin:0!important;padding:.6rem .65rem!important;border-radius:10px;background:#eff6ff;cursor:pointer;line-height:1.3}.human-action-check input{flex:0 0 auto!important;width:22px!important;min-width:22px!important;height:22px!important;min-height:22px!important;margin:.05rem 0 0!important}.human-action-closure textarea{min-height:0}.human-action-closure .stack{gap:.5rem}@media(max-width:720px){.human-action-closure{padding:.65rem}.human-action-summary{padding:.65rem}.human-action-check{font-size:.9rem}.compact-action-link{display:flex!important;justify-content:center;width:100%!important}}

/* Sprint 18A — public identity + two-surface front door. Internal /app remains unchanged. */
.public-hero{padding:clamp(2rem,7vw,5.5rem) 0 2rem;max-width:900px}.public-hero h1{font-size:clamp(2.6rem,8vw,5.7rem);max-width:900px}.public-hero>p{font-size:clamp(1.05rem,2.4vw,1.3rem);max-width:790px;color:var(--muted)}.public-hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}.public-start h2,#services h2{font-size:clamp(1.7rem,4vw,2.6rem);max-width:780px}.public-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:1.2rem}.public-entry-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;min-width:0}.public-entry-card h3{font-size:1.35rem}.public-entry-card p{color:var(--muted)}.public-entry-featured{border:2px solid var(--teal);box-shadow:0 12px 32px rgba(15,94,102,.08)}.public-entry-note{display:block;color:var(--muted);font-size:.82rem;font-weight:700;margin-top:.8rem}.public-entry-card a{font-weight:800;color:var(--teal);text-decoration:none}.public-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:1.1rem}.public-service-grid article{display:grid;gap:.4rem;background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}.public-service-grid strong{color:var(--navy)}.public-service-grid span{color:var(--muted);font-size:.92rem;line-height:1.45}.public-separation{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.public-separation>div{max-width:760px}.public-separation h2{margin-bottom:.5rem}.public-separation p{color:var(--muted);margin-bottom:0}
@media(max-width:820px){.public-entry-grid,.public-service-grid{grid-template-columns:1fr 1fr}.public-separation{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.public-hero{padding-top:1.2rem}.public-entry-grid,.public-service-grid{grid-template-columns:1fr}.public-hero-actions{display:grid}.public-hero-actions .button{width:100%}.public-entry-card{padding:18px}.public-separation{padding:18px}}


/* Sprint 18B — public Ask Chappy + service chooser foundation */
.public-chappy-form{display:grid;gap:.65rem;margin-top:1rem}.public-chappy-form label{font-weight:850;color:var(--navy)}.public-chappy-form textarea{width:100%;min-height:96px;resize:vertical}.public-chappy-form button{width:100%}.public-chappy-quick{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}.public-chappy-quick button,.public-chappy-options button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:.5rem .7rem;font:inherit;font-size:.82rem;font-weight:800}.public-chappy-result{margin-top:.85rem;padding:.85rem;border:1px solid var(--teal);border-radius:13px;background:#f0fdfa}.public-chappy-result[hidden]{display:none}.public-chappy-result strong{display:block;color:var(--teal);margin-bottom:.3rem}.public-chappy-result p{margin:.3rem 0}.public-chappy-options{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem}.public-chappy-options button{background:#fff}.public-service-choice{display:grid;gap:.4rem;text-align:left;background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;font:inherit;color:inherit;cursor:pointer}.public-service-choice:hover,.public-service-choice:focus{border-color:var(--teal);box-shadow:0 8px 22px rgba(15,94,102,.08);outline:none}.public-service-choice strong{color:var(--navy)}.public-service-choice span{color:var(--muted);font-size:.92rem;line-height:1.45}.public-service-helper{color:var(--muted);font-size:.86rem;margin-top:.75rem}.public-chappy-routing-note{font-size:.8rem;color:var(--muted);margin-top:.55rem}@media(max-width:560px){.public-chappy-quick,.public-chappy-options{display:grid}.public-chappy-quick button,.public-chappy-options button{width:100%;text-align:left;border-radius:12px}.public-chappy-result{padding:.75rem}}

/* Sprint 18C — deeper image/creative + website guided intake; voice-channel groundwork */
.public-chappy-inline{display:grid;gap:.55rem;margin-top:.7rem}.public-chappy-inline textarea{width:100%;min-height:72px}.public-chappy-summary{display:grid;gap:.45rem;margin-top:.75rem;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:#fff}.public-chappy-summary h4{margin:0 0 .25rem;color:var(--navy)}.public-chappy-summary-row{display:grid;grid-template-columns:minmax(95px,.45fr) 1fr;gap:.7rem;padding:.45rem 0;border-top:1px solid var(--line)}.public-chappy-summary-row:first-of-type{border-top:0}.public-chappy-summary-row span{color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.public-chappy-summary-row b{font-size:.95rem}.public-chappy-summary-actions{display:flex;gap:.55rem;margin-top:.7rem}.public-chappy-summary-actions button{flex:1}.public-chappy-voice-note{margin-top:.7rem;padding:.6rem .7rem;border-radius:10px;background:#eef6f7;color:var(--teal);font-size:.78rem;font-weight:700}@media(max-width:560px){.public-chappy-summary-row{grid-template-columns:1fr}.public-chappy-summary-actions{display:grid}.public-chappy-summary-actions button{width:100%}}


/* Sprint 18E — confirmed public request envelope + minimal contact handoff foundation */
.public-chappy-contact{display:grid;gap:.65rem;margin-top:.75rem;padding:.85rem;border:1px solid var(--line);border-radius:12px;background:#fff}.public-chappy-contact h4{margin:0;color:var(--navy)}.public-chappy-contact label{display:grid;gap:.3rem;font-weight:800;color:var(--navy)}.public-chappy-contact label span{font-weight:600;color:var(--muted);font-size:.8rem}.public-chappy-contact input{width:100%}.public-chappy-confirmed{display:grid;gap:.55rem;margin-top:.8rem;padding:.85rem;border:2px solid var(--teal);border-radius:12px;background:#f0fdfa}.public-chappy-confirmed strong{color:var(--teal)}.public-chappy-confirmed button{width:100%}.public-chappy-error{padding:.6rem .7rem;border-radius:9px;background:#fef2f2;color:#991b1b;font-size:.85rem;font-weight:700}


/* Sprint 18M — public/mobile polish + non-voice end-to-end freeze.
   Presentation only: preserve all 18A–18L routing, persistence, approval,
   file, payment, GovCon and MCP behavior. */
.login-public-link{margin:.7rem 0 0}.login-public-link a{color:var(--teal);font-weight:800;text-decoration:none}.login-public-link a:hover{text-decoration:underline}
.compact-public-status{padding-top:1.35rem;padding-bottom:.4rem}.compact-public-status h1{font-size:clamp(2rem,6vw,3.5rem);margin-bottom:.45rem}.compact-public-status>p{margin:.35rem 0}
.compact-public-status~.section{margin-top:22px}.compact-public-status~.section>.card{max-width:900px}
.compact-public-status~.section .row{min-width:0}.compact-public-status~.section .row>div{min-width:0}.compact-public-status~.section .row a{flex:0 0 auto}
.public-hero,.public-entry-card,.public-service-choice,.public-chappy-result,.public-chappy-summary,.public-chappy-contact,.public-chappy-confirmed,.compact-public-status~.section>.card{overflow-wrap:anywhere;word-break:break-word}
.public-chappy-form textarea,.public-chappy-inline textarea,.public-chappy-contact textarea,.compact-public-status~.section textarea{max-width:100%;min-width:0}
.public-entry-card,.public-service-choice,.compact-public-status~.section>.card{box-shadow:0 5px 18px rgba(15,23,42,.035)}
@media(max-width:720px){
 nav{height:64px;padding-left:16px;padding-right:16px}.brand{font-size:20px}.mark{width:36px;height:36px}.navright{gap:10px}
 main{padding:20px 16px 56px}.section{margin-top:24px}.card{padding:19px;border-radius:16px}
 .public-hero{padding:1rem 0 .75rem}.public-hero h1{font-size:clamp(2.45rem,12vw,3.65rem);line-height:1.02}.public-hero>p{font-size:1.02rem;line-height:1.5}
 .public-start{margin-top:22px}.public-entry-grid,.public-service-grid{gap:12px}.public-entry-card,.public-service-choice{padding:17px;border-radius:15px}.public-entry-card h3{font-size:1.22rem}
 .public-chappy-result,.public-chappy-summary,.public-chappy-contact,.public-chappy-confirmed{padding:.72rem;border-radius:11px}
 .public-chappy-voice-note{font-size:.74rem;line-height:1.4}
 .compact-public-status{padding:.55rem 0 .15rem}.compact-public-status h1{font-size:2rem}.compact-public-status~.section{margin-top:16px}.compact-public-status~.section>.card{padding:18px}
 .compact-public-status~.section h2{font-size:1.75rem;line-height:1.12;margin-bottom:14px}.compact-public-status~.section h3{font-size:1.05rem}
 .compact-public-status~.section p{line-height:1.48}.compact-public-status~.section .stack{gap:12px;margin-top:16px}
 .compact-public-status~.section input,.compact-public-status~.section textarea,.compact-public-status~.section select{font-size:16px;padding:12px}
 .compact-public-status~.section textarea{min-height:86px}.compact-public-status~.section .row{display:grid;gap:.5rem;padding:12px 0}.compact-public-status~.section .row a{width:max-content;max-width:100%}
 footer{padding:18px 16px calc(32px + env(safe-area-inset-bottom));line-height:1.45}
}
@media(max-width:390px){
 main{padding-left:13px;padding-right:13px}.public-hero h1{font-size:2.35rem}.card,.public-entry-card,.public-service-choice{padding:16px}.compact-public-status~.section>.card{padding:16px}
}

/* Sprint 18N.1 — persistent client/public Ask Chappy shell */
.public-chappy-fab{position:fixed;right:18px;bottom:18px;z-index:1200;border:0;border-radius:999px;background:var(--navy);color:#fff;padding:12px 16px;font-weight:900;box-shadow:0 14px 32px rgba(15,23,42,.24);display:flex;align-items:center;gap:8px}.public-chappy-fab span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--teal)}
.public-chappy-drawer{position:fixed;right:18px;bottom:18px;z-index:1201;width:min(410px,calc(100vw - 28px));max-height:min(78vh,720px);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.26);overflow:hidden}.public-chappy-drawer[hidden]{display:none}.public-chappy-drawer header{display:flex;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:#f8fafc}.public-chappy-drawer header h2{margin:.15rem 0}.public-chappy-drawer header p{margin:0}.public-chappy-drawer-log{display:grid;gap:10px;padding:14px;overflow:auto;max-height:46vh;background:#fff}.public-chappy-bubble{max-width:90%;padding:10px 12px;border-radius:14px;background:#f1f5f9}.public-chappy-bubble.you{justify-self:end;background:#e6fffb}.public-chappy-bubble strong{font-size:.78rem;color:var(--teal)}.public-chappy-bubble p{margin:.2rem 0 0;white-space:pre-wrap}.public-chappy-drawer-form{display:grid;gap:8px;padding:12px;border-top:1px solid var(--line);background:#fff}.public-chappy-drawer-form textarea{width:100%;min-height:64px}.public-chappy-drawer-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.public-chappy-drawer-options{display:flex;flex-wrap:wrap;gap:6px}.public-chappy-drawer-options button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-weight:800;color:var(--navy)}
@media(max-width:560px){.public-chappy-fab{right:12px;bottom:12px}.public-chappy-drawer{right:8px;bottom:8px;width:calc(100vw - 16px);max-height:82vh}.public-chappy-drawer-log{max-height:48vh}.public-chappy-drawer-actions{grid-template-columns:1fr 1fr}.public-chappy-drawer-actions button{width:100%}}

/* Sprint 18O — Spoken Ask Chappy browser voice foundation */
.chappy-voice-button[data-voice-state="listening"]{outline:3px solid rgba(16,185,129,.22);font-weight:900}.chappy-voice-button[data-voice-state="speaking"]{outline:3px solid rgba(59,130,246,.18)}.chappy-voice-button:disabled{opacity:.58;cursor:not-allowed}

/* Sprint 18P — Spoken Ask Chappy conversation mode + continuity */
.chappy-voice-mode{display:inline-flex;align-items:center;gap:.38rem;font-size:.78rem;font-weight:800;color:var(--muted);margin:0}.chappy-voice-mode input{width:auto;min-height:0}.public-chappy-drawer-actions{align-items:center;flex-wrap:wrap}@media(max-width:560px){.chappy-voice-mode{width:100%;justify-content:center;padding-top:.2rem}}
