/* React owns the workspace DOM. These rules adapt the shared visual foundation. */
.deal-name-field{margin:0 0 20px;max-width:520px}.deal-name-field label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.deal-name-field input{box-sizing:border-box;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font:inherit}.deal-name-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.deal-name-field p{margin:6px 0 0}
.react-composer{position:relative}
.react-composer .composer-drop{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:8px;text-align:center;background:rgba(240,247,252,.98);border:2px dashed var(--accent);border-radius:10px;pointer-events:none}
.composer-drop strong{font-size:16px;color:var(--accent)}.composer-drop p{font-size:12px;margin:0}
.react-composer .composer-files{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;padding:12px 12px 0}
.react-composer .composer-actions{display:flex;align-items:center;justify-content:space-between;padding:10px 12px}
#discussion .react-composer{margin-top:0}
#discussion .react-composer textarea{border:0;border-radius:0;outline:none;background:transparent;padding:16px;min-height:100px;max-height:220px;font-size:13px}
#discussion-form>form>p{font-size:10px;margin:8px 0 0}
#evaluation-workspace.chat-focused #panel-chat{width:100%}
#discussion-turns .discussion-turn{max-width:760px;margin:0 auto 30px}
#discussion #discussion-turns .user-message{width:fit-content;max-width:min(85%,560px);box-sizing:border-box;margin:0 0 24px auto;padding:12px 16px;border:0;border-radius:18px;background:#e9f3ff;font-size:14px;line-height:1.6}
#discussion #discussion-turns .assistant-message{width:auto;max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;font-size:15px;line-height:1.65}
#discussion #discussion-turns .discussion-message>p:first-child{margin-top:0}
#discussion #discussion-turns .message-scope{margin:0 0 6px}
#discussion #discussion-turns .message-failed{border-left:2px solid #9f3030;padding-left:12px}
#evaluation-workspace.chat-focused #discussion-turns{padding:28px 32px}
@media(max-width:750px){#evaluation-workspace.chat-focused #discussion-turns{padding:20px 16px}}
#evaluation-workspace.chat-focused #discussion{min-height:520px}
#runs button:disabled{cursor:wait;opacity:.6}
.react-composer .composer-context{display:block;padding:12px 12px 0}
.finding-attachment{display:flex;align-items:flex-start;width:fit-content;max-width:100%;border:1px solid var(--border);border-radius:8px;background:#f4f7fb;font-size:12px}
.finding-attachment details{min-width:0}.finding-attachment summary{display:flex;align-items:center;gap:7px;padding:8px 10px;cursor:pointer;color:var(--accent);list-style:none}
.finding-attachment summary::-webkit-details-marker{display:none}.finding-attachment summary svg{flex-shrink:0}
.remove-finding{border:0;background:transparent;padding:5px 10px;font-size:20px;color:var(--text-muted);cursor:pointer}
.finding-attachment-preview{padding:4px 12px 12px;max-width:560px;max-height:200px;overflow:auto;line-height:1.6}
.finding-attachment-preview p{margin:6px 0}.finding-attachment-preview ul{padding-left:18px}
.finding-attachment summary:focus-visible,.remove-finding:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.react-composer.attachment-menu-open{overflow:visible}
.composer-add{position:relative}
.attachment-menu{position:absolute;bottom:calc(100% + 8px);left:0;z-index:30;width:260px;max-width:calc(100vw - 80px);max-height:min(320px,50vh);overflow:auto;padding:6px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #142b4526}
.attachment-menu button{display:block;width:100%;border:0;border-radius:5px;background:transparent;padding:9px 10px;text-align:left;font:inherit;font-size:12px;color:var(--text);cursor:pointer}
.attachment-menu button:hover,.attachment-menu button:focus-visible{background:var(--accent-soft);outline:2px solid transparent}
.attachment-menu-label{border-top:1px solid var(--border);margin:5px 4px 3px;padding:10px 6px 3px;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.ui-icon{display:inline-block;flex-shrink:0;vertical-align:middle}
.attachment-menu button{display:flex;align-items:center;gap:10px}
.attachment-menu .ui-icon,.dimension-button .ui-icon{color:var(--accent)}
.dimension-button,.dimension-heading{display:flex;align-items:center;gap:9px}
#discussion #discussion-turns .message-scope{display:flex;align-items:center;gap:6px}
.file-type-icon{display:block;flex-shrink:0;color:#667085}
.file-type-pdf{color:#c44747}.file-type-word{color:#2762ad}.file-type-excel{color:#287b50}
.file-type-text{color:#627084}.file-type-slides{color:#b85b2d}.file-type-image{color:#8056ab}
.composer-files .selected-file{gap:8px}
#discussion #discussion-turns .source-file{display:flex;align-items:center;gap:7px;margin-top:10px}
#discussion .source-file .file-type-icon{width:19px;height:23px}
.document-title{display:flex;align-items:center;gap:10px}.document-title span{min-width:0;overflow-wrap:anywhere}

#chat-launcher{position:fixed;right:28px;bottom:24px;z-index:25;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 36px);border:0;border-radius:999px;background:#087f72;color:#fff;padding:13px 17px;box-shadow:0 6px 22px #087f7238;cursor:pointer;font:inherit;font-size:13px;font-weight:600}
#chat-launcher>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}
#chat-launcher>.ui-icon,#chat-launcher>kbd{flex-shrink:0}
#chat-launcher kbd{font:inherit;font-size:10px;background:#ffffff26;border:1px solid #ffffff40;border-radius:4px;padding:1px 5px}
#chat-launcher:hover{background:#066b60;box-shadow:0 8px 26px #087f7248}
#chat-launcher:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.discussion-actions .discussion-close{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;background:transparent}
.discussion-actions .discussion-close:hover{background:var(--accent-soft)}
#working:has(#chat-launcher){padding-bottom:76px}
@media(max-width:750px){#chat-launcher{right:18px;bottom:max(18px,env(safe-area-inset-bottom));padding:12px 16px}#chat-launcher>span{max-width:calc(100vw - 110px)}#chat-launcher kbd{display:none}}

.chat-markdown{line-height:1.7;overflow-wrap:anywhere;min-width:0}
.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}
.chat-markdown p,.chat-markdown ul,.chat-markdown ol{margin:12px 0;white-space:normal}
.assistant-message .chat-markdown p{margin:0 0 12px}
#discussion #discussion-turns .assistant-message .chat-markdown strong{display:inline;font-size:inherit}
.chat-markdown h1,.chat-markdown h2,.chat-markdown h3{font-size:1.1em!important;font-weight:650;margin:20px 0 8px!important}
.chat-markdown pre{overflow:auto;background:#f3f5f8;border-radius:6px;padding:12px;white-space:pre}
.chat-markdown code{font-size:.9em;background:#f3f5f8;padding:2px 4px;border-radius:3px}
.chat-markdown pre code{padding:0}.chat-markdown blockquote{margin:12px 0;padding-left:14px;border-left:3px solid #b8c5d2}
.markdown-table{max-width:100%;overflow:auto}.markdown-table table{border-collapse:collapse;font-size:12px}.markdown-table th,.markdown-table td{border:1px solid #dde3e9;padding:7px 10px;text-align:left}
.chat-reassess,.chat-revision{margin:14px 0;padding:12px;border:1px solid #dde3e9;border-radius:8px;font-size:12px}
.chat-reassess form{display:grid;gap:10px;margin-top:10px}.chat-reassess input[type=date]{display:block;margin-top:5px;padding:7px;border:1px solid #b8c5d2;border-radius:5px}
.chat-reassess .source-attestation{display:flex;gap:8px;align-items:start;line-height:1.5}.chat-revision{background:#f5f9fc}

.chat-revision{max-width:760px;width:100%;box-sizing:border-box;margin:14px auto}

/* Project review: brand heading and readable decision hierarchy. */

.topbar .product-name{font-family:'Obvia Condensed','Arial Narrow',Arial,sans-serif;font-size:27px;font-weight:400;text-transform:uppercase;color:#004A87;letter-spacing:.025em}
.brief-bullets{padding-left:20px;margin:12px 0}.brief-bullets li{margin:9px 0;line-height:1.6}
.headline-score{font-size:76px}.dimension-table .dimension-score{font-size:30px;font-weight:650;white-space:nowrap}.dimension-score small{display:block;font-size:11px;white-space:normal;color:#575C6B}.dimension-score>span{font-size:11px}
.score-explanation{display:block;font-size:12px;line-height:1.5;color:#575C6B;font-weight:400;margin-top:6px}.dimension-button{text-align:left;align-items:flex-start}
.detail-score{display:flex;align-items:center;gap:20px;margin:20px 0}.detail-score>strong{font-size:54px;white-space:nowrap}.detail-score small{font-size:15px;font-weight:400;color:#575C6B}.detail-score p{line-height:1.6}
.finding-layout.detail-expanded{grid-template-columns:1fr}.detail-expanded .dimension-list{display:none}.detail-expanded .evidence-inspector{border-left:0;max-width:950px}
.evidence-footnote{font-size:11px;margin-top:8px}.source-excerpt blockquote{margin-top:0;line-height:1.7}.evidence-inspector p{line-height:1.7;white-space:pre-line}
@media(max-width:850px){.topbar .product-name{display:block;font-size:20px}.topbar{height:auto;min-height:72px}.detail-score{align-items:flex-start}.headline-score{font-size:60px}}
@media(max-width:480px){.topbar .product-name{font-size:17px;padding-left:10px}.topbar .brand-logo{width:100px}.dimension-table .dimension-score{font-size:25px}.detail-score{display:block}}

.evidence-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.evidence-controls .btn{margin-top:0}.evidence-list>h3{scroll-margin-top:24px}.evidence-list .source-excerpt>div{min-width:0}

/* Admin read-only team chat: distinct messages and speaker alignment. */
.transcript-readonly{display:inline-block;vertical-align:middle;margin-left:8px;padding:4px 8px;border-radius:20px;background:#e7f0f7;color:#004A87;font-size:10px;font-weight:500}
.team-chat-messages{max-width:980px;margin:24px auto 0;padding:0 4px}
.team-chat-divider{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:28px 0 22px;color:#575C6B;font-size:11px}.team-chat-divider span{padding:3px 8px;border-radius:4px;background:#e7f0f7}
.team-chat-message{width:86%;margin-bottom:24px;min-width:0}.team-chat-user{margin-left:auto}.team-chat-assistant{margin-right:auto}
.team-chat-speaker{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:#004A87}.team-chat-user .team-chat-speaker{justify-content:flex-end}.team-chat-avatar{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#004A87;color:white;font-size:10px;font-weight:bold}.team-chat-assistant .team-chat-avatar{background:#575C6B}
.team-chat-bubble{padding:16px 20px;border:1px solid #dde3e9;border-radius:14px;background:#fff;overflow-wrap:anywhere;font-size:13px;line-height:1.7}.team-chat-user .team-chat-bubble{background:#e7f0f7;border-color:#d4e3ef;border-top-right-radius:3px}.team-chat-assistant .team-chat-bubble{border-top-left-radius:3px}
.team-chat-bubble .transcript-text{margin:0;white-space:pre-wrap}.team-chat-attachment{margin-top:12px;padding-top:10px;border-top:1px solid #b8c5d2}.team-chat-attachment summary{display:flex;gap:8px;align-items:center;cursor:pointer;font-size:12px}.team-chat-attachment pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:250px;overflow:auto;font-size:12px}
@media(max-width:600px){.team-chat-message{width:95%}.team-chat-bubble{padding:13px 15px}.team-chat-messages{padding:0}}
/* Recorded assessment progress: interactive cards and a persistent inspector. */
.assessment-progress{--progress-green:#2A9D70;--progress-blue:#2879a5;--progress-pale:#edf5fa}
.progress-overview{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;background:linear-gradient(115deg,#f1f7fb,#fff);border:1px solid var(--border);border-radius:12px 12px 0 0}
.progress-overview h2{font-size:23px;font-weight:500;margin:6px 0}.progress-overview p{margin:4px 0;font-size:12px;max-width:680px}.progress-overview .eyebrow{font-size:10px;color:var(--accent)}
.progress-count{flex-shrink:0;text-align:right}.progress-count strong{display:block;font-size:36px;font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums}.progress-count small{font-size:18px;color:var(--text-muted)}.progress-count>span{font-size:11px;color:var(--text-muted)}
.dimension-progress-track{height:4px;background:#e3ebf0;margin-bottom:20px;border-radius:0 0 4px 4px;overflow:hidden}.dimension-progress-track>span{display:block;height:100%;background:var(--progress-green);transition:width .3s ease}
.assessment-progress .analyst-grid{gap:10px;margin-bottom:26px}.assessment-progress .analyst-card{text-align:left;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:8px;position:relative;transition:background .15s,border-color .15s}.progress-stage-number{font-size:11px;font-weight:600;color:var(--text-muted)}.progress-stage-description{font-size:11px;color:var(--text-muted);line-height:1.5}.assessment-progress .stage-state{margin-top:auto;padding-top:7px}
.assessment-progress button[aria-pressed=true]{border-color:var(--progress-blue);box-shadow:0 0 0 1px var(--progress-blue)}.assessment-progress button.btn[aria-pressed=true]{box-shadow:none}.assessment-progress button:focus-visible{outline:3px solid var(--progress-blue);outline-offset:3px}.assessment-progress .analyst-card:hover,.dimension-progress-card:hover{background:var(--progress-pale)}
.progress-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.progress-section-heading h2{margin:0}.progress-section-heading p{margin:4px 0 0}
.progress-workspace{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.05fr);gap:18px;align-items:start}.dimension-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dimension-progress-card{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:142px;padding:16px;text-align:left;font:inherit;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:9px;cursor:pointer;position:relative;overflow:hidden;transition:background .15s,border-color .15s}.dimension-card-top{display:flex;justify-content:space-between;align-items:center;color:var(--accent)}.dimension-progress-card strong{font-size:12px;font-weight:600;line-height:1.5}.dimension-card-state{font-size:11px;color:var(--text-muted);margin-top:auto}.dimension-progress-card small{font-size:10px;color:var(--text-muted)}
.dimension-progress-card[data-phase=assessing],.dimension-progress-card[data-phase=checking],.dimension-progress-card[data-phase=correcting],.dimension-progress-card[data-phase=revising]{background:#f0f7fc;border-color:#70a9ca}.dimension-progress-card[data-phase=assessed],.dimension-progress-card[data-phase=published]{border-left:3px solid var(--progress-green)}.dimension-progress-card[data-phase=assessed] .dimension-card-state,.dimension-progress-card[data-phase=published] .dimension-card-state,.progress-check{color:#207b57}.dimension-progress-card[data-phase=failed]{border-left:3px solid #b77b51}.progress-queued-dot{width:7px;height:7px;border-radius:50%;background:#c8d3da}
.progress-spinner{display:inline-block;width:14px;height:14px;flex-shrink:0;border:2px solid #c7deec;border-top-color:var(--progress-blue);border-radius:50%;animation:progress-spin 1.1s linear infinite}@keyframes progress-spin{to{transform:rotate(360deg)}}
.progress-inspector{border:1px solid var(--border);border-radius:10px;background:#fff;padding:24px;min-width:0;max-height:800px;overflow:auto;scrollbar-gutter:stable;position:sticky;top:20px}.progress-inspector h2{font-size:20px;margin:4px 0 14px;font-weight:500}.progress-inspector p,.progress-inspector li{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.progress-inspector .eyebrow{font-size:9px;color:var(--accent);margin:0}.progress-detail-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.progress-detail-heading>div{flex:1;min-width:130px}.progress-detail-heading h2{margin-bottom:0}.progress-pill{font-size:10px;background:var(--progress-pale);padding:6px 9px;border-radius:20px;color:var(--accent)}
.dimension-checklist{list-style:none;padding:14px 0;margin:16px 0;border-block:1px solid var(--border)}.dimension-checklist li{position:relative;padding:7px 0 7px 24px;color:var(--text-muted)}.dimension-checklist li::before{content:'○';position:absolute;left:0;color:#a4b4be}.dimension-checklist li[data-done=true]::before{content:'✓';color:var(--progress-green)}.dimension-checklist li[data-done=true]{color:var(--text)}.progress-empty{padding:18px;background:#f6f8fa;border-radius:6px;color:var(--text-muted)}.progress-now{display:flex;gap:10px;align-items:center;color:var(--accent);padding:12px;background:var(--progress-pale);border-radius:6px}
.progress-conclusion{padding:16px 0}.progress-draft-score{font-size:34px;margin-top:8px;font-weight:500;color:var(--accent)}.progress-draft-score small{font-size:14px;color:var(--text-muted)}.progress-inspector summary{cursor:pointer;font-size:11px;color:var(--accent);padding:8px 0}.progress-inspector blockquote{margin:12px 0;padding:10px 14px;border-left:2px solid #70a9ca;background:#f5f9fc;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.progress-inspector footer{font-size:10px;color:var(--text-muted);margin-top:8px;overflow-wrap:anywhere}.progress-inspector .activity-item{padding:14px 0}.activity-event-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.activity-event-heading time{font-size:10px;color:var(--text-muted);white-space:nowrap}.progress-full-log{margin-top:22px}.progress-full-log>summary{font-size:12px;color:var(--accent);cursor:pointer}.progress-full-log .activity-item{overflow-wrap:anywhere}
@media(max-width:1100px){.progress-workspace{grid-template-columns:1fr}.dimension-progress-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-inspector{position:static;max-height:650px}.assessment-progress .analyst-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.progress-overview{padding:18px;align-items:flex-start;gap:12px}.progress-overview h2{font-size:19px}.progress-count strong{font-size:28px}.progress-count>span{display:block;max-width:80px;line-height:1.5}.progress-section-heading{align-items:flex-start;flex-wrap:wrap}.dimension-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dimension-progress-card{padding:13px;min-height:140px}.progress-inspector{padding:18px}.progress-overview p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.progress-spinner{animation:none}.dimension-progress-track>span,.dimension-progress-card,.assessment-progress .analyst-card{transition:none}}
#evaluation-tabs{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden}#evaluation-tabs button{flex-shrink:0;white-space:nowrap}.progress-inspector{scroll-margin-top:16px}

/* Readable saved assessment prose, shared by team and admin workspaces. */
.assessment-prose{font-size:13px;line-height:1.75;overflow-wrap:anywhere}
.assessment-prose .chat-markdown p{margin:0 0 14px}
.assessment-prose .chat-markdown>:last-child{margin-bottom:0}
.summary-narrative details>.assessment-prose{margin-top:16px}
.assessment-items{padding-left:22px;margin:12px 0 20px}
.assessment-items>li{padding-left:5px;margin:0 0 14px}
.assessment-items.numbered>li{padding:12px 8px;border-bottom:1px solid var(--border)}
.assessment-items.numbered>li::marker{font-weight:700;color:var(--text-muted)}
.assessment-items.numbered>li:last-child{border-bottom:0}
.assessment-caveat .assessment-prose{font-size:11px}
.assessment-caveat .assessment-items{margin:0;padding-left:16px}
.assessment-caveat .assessment-items>li{margin-bottom:6px}
.assessment-prose strong{font-weight:700}
.assessment-work .evidence-inspector h3,.assessment-work .conflict-panel h2,.assessment-work .summary-narrative h2{font-weight:700}
.assessment-work .summary-narrative details>summary{font-weight:650}

/* Dated public research sources in intake and discussion. */
.public-research { margin: 12px 0; padding: 12px; border: 1px solid #d5dde3; border-radius: 8px; }
.public-research > summary { cursor: pointer; font-weight: 600; }
.public-research form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.public-research label, .public-selected label:not(.source-attestation) { display: grid; gap: 4px; }
.public-research select, .public-research input, .public-selected input[type=date] { max-width: 100%; padding: 6px; }
.public-source { margin: 10px 0; padding: 10px 0; border-top: 1px solid #d5dde3; overflow-wrap: anywhere; }
.public-source h4 { margin: 4px 0; }
#discussion-form .public-research[open] { max-height: 45vh; overflow: auto; }
.public-selected { margin-bottom: 12px; }

/* Keep the open project distinct from hover and keyboard focus. */
.run-item[aria-current="true"]{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);font-weight:700}
.run-status-line{display:flex!important;align-items:center;gap:5px}
.run-stage-line{color:var(--text)!important;font-size:10px!important;font-weight:600;line-height:1.35}
.run-status-dot{width:7px;height:7px;border-radius:50%;background:#8b909b;flex:0 0 auto}
.run-status-line[data-status-tone="success"]{color:#267040}.run-status-line[data-status-tone="success"] .run-status-dot{background:#2eb08a}
.run-status-line[data-status-tone="active"]{color:#176b99}.run-status-line[data-status-tone="active"] .run-status-dot{background:#268fc5}
.run-status-line[data-status-tone="failure"]{color:#a33b43}.run-status-line[data-status-tone="failure"] .run-status-dot{background:#cf4c56}
.run-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Explicit alternate model selection; the current model remains the default. */
#assessment-method{display:block;width:100%;max-width:520px;min-height:46px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font:inherit}
#assessment-method:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.run-filter{margin:16px 0}.run-filter label{display:block;font-size:11px;margin-bottom:6px;color:var(--text-muted)}.run-filter select{width:100%;min-width:0;padding:8px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font:inherit;font-size:12px}.run-filter p{font-size:10px;margin:7px 0}.run-start-time{line-height:1.6;overflow-wrap:anywhere}.run-page-start{margin-top:8px}
.whole-packet-progress .analyst-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.whole-packet-inspector{position:static;max-height:520px}.whole-packet-batches{font-size:12px;color:var(--text-muted);line-height:1.7}
@media(max-width:1100px){.whole-packet-progress .analyst-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.whole-packet-progress .analyst-grid{grid-template-columns:1fr}}
.loading-skeleton{padding:24px;border:1px solid var(--border);border-radius:10px;background:#fff;min-width:0}.loading-label{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:12px;margin:0 0 24px}.skeleton-line{height:12px;width:100%;border-radius:5px;background:#e8eef3;margin:12px 0;animation:skeleton-pulse 1.6s ease-in-out infinite}.skeleton-title{height:25px;width:55%;margin-bottom:22px}.skeleton-short{width:65%}.skeleton-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}.skeleton-card{padding:22px;border:1px solid #edf1f5;border-radius:8px;min-height:100px}.loading-compact{padding:14px}.loading-compact .skeleton-cards{grid-template-columns:1fr;gap:10px;margin-top:14px}.loading-compact .skeleton-card{padding:12px;min-height:65px}.loading-compact .loading-label{line-height:1.6;margin-bottom:16px}@keyframes skeleton-pulse{50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.skeleton-line{animation:none}}@media(max-width:600px){.skeleton-cards{grid-template-columns:1fr}.loading-skeleton{padding:18px}}

#intake h1,.working-heading h1{font-family:'Obvia Condensed','Arial Narrow',Arial,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.02em}

/* A named deal and its documents are the primary intake flow. */
.document-scan{display:grid;justify-items:center;align-content:center;min-height:440px;text-align:center;padding:36px 20px;box-sizing:border-box}
.document-scan h2{font-size:23px;margin:24px 0 8px}.document-scan p{max-width:420px;color:var(--text-muted);line-height:1.6;margin:0}
.scan-art{position:relative;width:150px;height:164px}.scan-sheet{position:absolute;width:96px;height:124px;border:1px solid var(--border-strong);border-radius:8px;background:#fff;box-sizing:border-box}
.scan-back{left:16px;top:4px;transform:rotate(-8deg);background:var(--accent-soft)}.scan-front{left:34px;top:16px;overflow:hidden;padding:24px 14px;animation:scan-paper 3s ease-in-out infinite}
.scan-front>span{display:block;height:4px;border-radius:2px;background:var(--border-strong);margin:0 0 12px}.scan-front>span:nth-child(2){width:75%}.scan-front>span:nth-child(4){width:55%}
.scan-beam{position:absolute;left:0;right:0;top:12px;height:2px;background:var(--accent);box-shadow:0 -10px 18px #4d9ec755;animation:scan-sweep 2.6s ease-in-out infinite}
.scan-base{position:absolute;bottom:4px;left:8px;right:0;height:18px;border:1px solid var(--border-strong);border-radius:6px;background:var(--accent-soft)}
.scan-dots{display:flex;gap:6px;margin-top:24px}.scan-dots i{height:5px;width:5px;border-radius:50%;background:var(--accent);animation:scan-dot 1.4s ease-in-out infinite}.scan-dots i:nth-child(2){animation-delay:.15s}.scan-dots i:nth-child(3){animation-delay:.3s}
/* Three decorative actions; timing never advances recorded assessment progress. */
.scan-scene{position:absolute;inset:0;animation:scan-scene-cycle 12s linear infinite;opacity:0}
.scan-reading{animation-delay:-8s}.scan-organizing{animation-delay:-4s}
.arrival-page{position:absolute;left:34px;top:8px;width:82px;height:108px;padding:24px 13px;box-sizing:border-box;border:1px solid var(--border-strong);border-radius:7px;background:#fff;animation:page-arrival 2s ease-in-out infinite}
.arrival-page span,.extract-page span{display:block;height:4px;margin-bottom:12px;border-radius:2px;background:var(--border-strong)}
.arrival-one{left:25px;background:var(--accent-soft);animation-delay:-1s}.arrival-two{animation-delay:-.1s}.arrival-page span:last-child{width:65%}
.arrival-tray{position:absolute;left:14px;right:8px;bottom:8px;height:30px;border:2px solid var(--accent);border-top:0;border-radius:0 0 8px 8px;background:var(--accent-soft)}
.extract-page{position:absolute;left:4px;top:16px;width:76px;height:122px;padding:24px 12px;border:1px solid var(--border-strong);border-radius:7px;background:#fff;box-sizing:border-box}
.extract-lines{position:absolute;left:91px;top:35px;width:59px}.extract-lines i{display:block;height:18px;margin-bottom:14px;border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:4px;background:var(--accent-soft);animation:extract-line 2s ease-in-out infinite}.extract-lines i:nth-child(2){animation-delay:-1.65s}.extract-lines i:nth-child(3){animation-delay:-1.3s}
@keyframes scan-scene-cycle{0%,28%{opacity:1;transform:translateX(0)}32%,96%{opacity:0;transform:translateY(4px)}100%{opacity:1;transform:translateX(0)}}
@keyframes page-arrival{0%{opacity:0;transform:translateY(-18px) rotate(-5deg)}25%,70%{opacity:1;transform:translateY(16px) rotate(0)}100%{opacity:0;transform:translateY(28px)}}
@keyframes extract-line{0%{opacity:0;transform:translateX(-22px) scaleX(.6)}30%,80%{opacity:1;transform:translateX(0) scaleX(1)}100%{opacity:0;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.scan-scene,.arrival-page,.extract-lines i{animation:none}.scan-arriving,.scan-organizing{opacity:0}.scan-reading{opacity:1}}
.minimalist-progress-header,.minimalist-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.minimalist-progress-header h2{margin:0 0 8px;font-size:22px}.minimalist-progress-header p{margin:0;color:var(--text-muted);line-height:1.6}.minimalist-progress-header>.progress-spinner{flex-shrink:0;width:24px;height:24px}
.minimalist-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:24px 0}
.minimalist-steps li{min-width:0;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden;position:relative}
.minimalist-steps button{width:100%;height:100%;display:flex;gap:12px;align-items:flex-start;text-align:left;border:0;background:transparent;padding:18px 14px;color:var(--text);font:inherit;cursor:pointer}
.minimalist-steps strong{display:block;font-size:14px;line-height:1.4}.minimalist-steps small{display:block;margin-top:8px;color:var(--text-muted)}
.minimalist-steps button[aria-pressed=true]{background:var(--accent-soft)}.minimalist-steps button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.minimalist-step-marker{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;color:var(--accent);font-weight:600}
.minimalist-steps li[data-phase=running]{border-color:var(--accent)}.minimalist-steps li[data-phase=running]::after{content:'';position:absolute;bottom:0;left:0;height:3px;width:35%;background:var(--accent);animation:step-sweep 2s ease-in-out infinite}
.minimalist-steps li[data-phase=failed],.minimalist-steps li[data-phase=paused]{border-color:var(--warn-border)}
.minimalist-live-update{display:flex;align-items:center;gap:12px;min-height:54px;padding:12px 16px;background:var(--accent-soft);border-radius:8px;box-sizing:border-box}.minimalist-live-update p{margin:0;line-height:1.5}
.minimalist-step-detail{margin:18px 0;padding:22px;background:#fff;border:1px solid var(--border);border-radius:8px}.minimalist-step-detail h3{margin:0;font-size:17px}.minimalist-step-detail>p{color:var(--text-muted);line-height:1.6}
.minimalist-event-list{list-style:none;padding:0;margin:18px 0 0;max-height:340px;overflow:auto}.minimalist-event-list li{display:flex;align-items:baseline;gap:16px;border-top:1px solid var(--border);padding:12px 0;line-height:1.6}.minimalist-event-list time{flex-shrink:0;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.step-update-enter{animation:step-enter .35s ease-out both}
@keyframes scan-sweep{0%,100%{transform:translateX(0);opacity:.5}50%{transform:translateY(98px);opacity:1}}@keyframes scan-paper{50%{transform:translateY(-4px)}}@keyframes scan-dot{50%{opacity:.3;transform:translateY(-3px)}}@keyframes step-sweep{0%{transform:translateX(-100%)}100%{transform:translateX(390%)}}@keyframes step-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:1100px){.minimalist-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.minimalist-steps{grid-template-columns:1fr}.minimalist-detail-heading{align-items:flex-start;flex-direction:column}.minimalist-event-list li{flex-direction:column;gap:3px}.document-scan{min-height:340px}}
@media(prefers-reduced-motion:reduce){.scan-front,.scan-beam,.scan-dots i,.step-update-enter,.minimalist-steps li[data-phase=running]::after{animation:none}.scan-beam{top:60px}.minimalist-activity .progress-spinner,.minimalist-activity .live-dot{animation:none}}
#intake{max-width:820px;padding-top:24px}
#intake h1{font-size:34px;margin:8px 0 12px}
#intake .intro-copy{margin-bottom:22px}
#intake .deal-name-field{max-width:none;margin-bottom:16px}
#intake .react-composer{border:1px solid var(--border-strong);box-shadow:0 4px 18px #1a21380a}
#intake .react-composer textarea{min-height:180px;font-size:16px;line-height:1.6;padding:20px}
#intake .developer-controls{border-top:1px solid var(--border);padding-top:10px}
#intake .developer-controls>.btn{font-size:12px;color:var(--text-muted)}
#intake #developer-date{margin:12px 0;max-width:420px}
@media(max-width:750px){#intake{padding-top:0}#intake h1{font-size:28px}#intake .react-composer textarea{min-height:160px}}

.minimalist-dimensions {margin-top:24px;}
.minimalist-dimensions ul {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;list-style:none;}
.minimalist-dimensions li {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line,#dce4e8);border-radius:8px;}
.minimalist-dimensions li[data-phase="running"] {border-color:#599bb3;background:#f3f9fb;}
.minimalist-dimensions .dimension-score {display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end;}
.minimalist-dimensions .dimension-score strong {font-size:22px;color:#20536b;}
.minimalist-dimensions .dimension-confidence {width:100%;text-align:right;}
@media(max-width:650px) {.minimalist-dimensions ul {grid-template-columns:1fr;}}

.assessment-diagnostics {margin-top:28px;border-top:1px solid #dce4e8;padding:16px 0;}
.assessment-diagnostics > summary {cursor:pointer;color:#575c6b;font-size:14px;}
.risk-color-legend {display:flex;align-items:center;gap:6px;font-size:12px;color:#575c6b;margin-top:12px;flex-wrap:wrap;}
.risk-color-legend i {width:8px;height:8px;border-radius:50%;display:inline-block;}
.risk-low {background:#267040;}.risk-mid {background:#9a7100;}.risk-high {background:#b42d2d;}
.diligence-followups {margin-top:20px;padding-top:12px;border-top:1px solid #dce4e8;}
.diligence-followups li {margin-bottom:14px;}
.counterevidence-explanation {margin-top:18px;}
.risk-radar {padding:0 20px 16px;border-bottom:1px solid var(--border);}
.risk-radar h3 {margin:12px 0 4px;}.risk-radar p {margin:4px 0;}
.risk-radar svg {display:block;width:100%;max-width:560px;height:auto;margin:auto;overflow:visible;}
.radar-grid {fill:none;stroke:var(--border-strong,#b8c8d8);stroke-width:1;}
.radar-axis {stroke:var(--border,#dce4e8);stroke-width:1;}
.radar-area {fill:#00569518;stroke:#005695;stroke-width:2;pointer-events:none;}
.radar-edge {stroke:#005695;stroke-width:2;}
.radar-label {font-size:15px;font-family:inherit;fill:var(--text,#1a2138);}
.radar-tick {font-size:12px;fill:var(--text-muted,#575c6b);paint-order:stroke;stroke:white;stroke-width:3px;}
.radar-point {cursor:pointer;outline:none;}.radar-target {fill:transparent;}
.radar-dot {stroke:white;stroke-width:2;pointer-events:none;}
.radar-point:focus-visible .radar-target,.radar-point:hover .radar-target {stroke:#005695;stroke-width:2;fill:#00569512;}

#evaluation-tabs button{display:inline-flex;align-items:center;gap:7px}#evaluation-tabs .ui-icon{flex-shrink:0}

.assessment-work>.finding-layout{margin-top:28px}.assessment-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-shrink:0}.export-action{text-align:right}.export-action [role=alert]{max-width:280px;font-size:12px}
@media(max-width:750px){.assessment-header-actions{align-items:flex-start}.export-action{text-align:left}}

.assessment-caveat.assessment-qualifications{border-left-color:var(--accent)}

.finding-layout.overview-layout{grid-template-columns:1fr}.overview-layout .dimension-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:24px}.overview-layout .dimension-list>h2,.overview-layout .dimension-list>p{grid-column:1/-1}.overview-layout .risk-radar{border-bottom:0;align-self:start}.overview-layout .dimension-table{align-self:start}@media(max-width:900px){.overview-layout .dimension-list{display:block}}

.dimension-table th:last-child,.dimension-table td:last-child{text-align:center}

.risk-detail-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.risk-detail-enter{animation:risk-detail-enter 360ms cubic-bezier(.22,1,.36,1) both}@keyframes risk-detail-enter{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.risk-detail-enter{animation:none}}

.finding-layout .risk-radar,.finding-layout .dimension-table-wrap{transform-origin:top left}.dimension-button{transition:background-color 240ms ease,color 240ms ease,border-color 240ms ease}@media(prefers-reduced-motion:reduce){.dimension-button{transition:none}}

.dimension-table-wrap{position:relative;min-width:0;align-self:start}.selection-slider{position:absolute;top:0;left:0;background:var(--accent);border-radius:3px;pointer-events:none;z-index:2;opacity:0;transition:transform 280ms cubic-bezier(.22,1,.36,1),width 280ms ease,height 280ms ease,opacity 120ms ease}
#evaluation-tabs{position:relative}#evaluation-tabs button[aria-selected=true]{border-bottom-color:transparent}.dimension-table-wrap .dimension-button[aria-pressed=true]{border-left-color:transparent}
.btn.action-blue{background:#004A87;border-color:#004A87;color:#fff}.btn.action-blue:hover{background:#00396a;border-color:#00396a}.btn.action-blue:disabled{opacity:.6}
@media(prefers-reduced-motion:reduce){.selection-slider{transition:none}}

.export-action .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.export-action .ui-icon{flex-shrink:0}

/* Read-only comparable deal experiment. */
.similar-deals { padding: 24px; max-width: 1100px; }
.similar-deals-list { display: grid; gap: 18px; margin-top: 20px; }
.similar-deal { border: 1px solid #dce2e8; border-radius: 12px; padding: 20px; background: #fff; overflow-wrap: anywhere; }
.similar-deal-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.similar-deal-heading h3 { margin: 0; }
.similar-deal-score { display: grid; text-align: right; flex-shrink: 0; gap: 3px; }
.similar-deal-score strong { font-size: 42px; line-height: 1.15; color: #004a87; }
.similar-deal-score span, .similar-deal-score small { font-size: 12px; color: #586575; }
@media (max-width: 600px) { .similar-deals { padding: 14px; } .similar-deal { padding: 14px; } }

.similar-deal-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.deal-dialog { width: min(940px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: calc(100dvh - 40px); box-sizing: border-box; border: 1px solid #d9e2ec; border-radius: 16px; padding: 28px; color: #18243a; background: #fff; box-shadow: 0 24px 90px #102d4d40; overflow-y: auto; overflow-wrap: anywhere; }
.deal-dialog::backdrop { background: #10233f80; }
.deal-dialog-header { position: sticky; top: -28px; z-index: 2; background: #fff; padding: 16px 0; border-bottom: 1px solid #e1e7ef; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.deal-dialog-header h2 { margin: 5px 0 0; }
.deal-dialog-header > .btn { flex-shrink: 0; }
.comparison-deal-labels { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.comparison-deal-labels > div { padding: 16px; border-radius: 10px; background: #f4f7fb; }
.comparison-deal-labels h3 { margin: 6px 0; }
.comparison-caveat { padding: 12px; background: #fff6df; border-radius: 8px; }
.comparison-table-wrap { overflow-x: auto; margin-top: 20px; }
.comparison-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.comparison-table caption { text-align: left; color: #586575; padding-bottom: 10px; }
.comparison-table th, .comparison-table td { padding: 12px 10px; border-bottom: 1px solid #e1e7ef; text-align: right; }
.comparison-table th:first-child { text-align: left; min-width: 100px; width: 30%; }
.comparison-table thead { background: #f4f7fb; }
.comparison-table small { display: block; font-size: 10px; color: #6b5a2a; }
.ai-comparison { margin-top: 24px; padding: 22px; border-radius: 12px; border: 1px solid #b6d4f1; background: #eaf4ff; color: #143e66; }
.ai-comparison h3 { display: flex; align-items: center; gap: 9px; margin: 0 0 12px; color: #075a9d; }
.ai-comparison-content p { line-height: 1.65; white-space: pre-line; }
.ai-comparison-content h4 { margin-bottom: 4px; }
.deal-brief p, .deal-brief li { line-height: 1.65; white-space: pre-line; }
.deal-brief section { border-top: 1px solid #e1e7ef; padding: 10px 0; }
.deal-brief h5 { font-size: 13px; margin-bottom: 4px; }
.deal-brief-score { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.deal-brief-score strong { font-size: 30px; }
.deal-brief-score span { font-size: 12px; color: #586575; }
@media (max-width:600px) { .deal-dialog { padding: 16px; width: calc(100vw - 20px); max-width: calc(100vw - 20px); } .comparison-deal-labels { grid-template-columns: 1fr; } .comparison-table th, .comparison-table td { padding: 10px 6px; } .ai-comparison { padding: 16px; } }

@media (max-width:600px) { .deal-dialog-header { top: -16px; } }

.similar-deal-main { flex: 1; min-width: 0; }
.ai-comparison-card { margin-top: 12px; padding: 14px 16px; }
.ai-comparison-card h4 { display: flex; align-items: center; gap: 7px; margin: 0 0 8px; color: #075a9d; font-size: 12px; }
.ai-comparison-card p { margin: 8px 0; line-height: 1.6; }
.ai-comparison-card details { font-size: 12px; margin-top: 8px; }
.ai-comparison-card summary { cursor: pointer; color: #315f87; }
.similar-deal .similar-deal-score { min-width: 64px; padding-top: 3px; }
.similar-deal-actions { margin-top: 14px; gap: 20px; }
.similar-deal-actions .similar-deal-link { background: none; border: 0; padding: 3px 0; color: #45627b; font: inherit; font-size: 12px; font-weight: 500; cursor: pointer; box-shadow: none; }
.similar-deal-actions .similar-deal-link:hover { color: #004a87; text-decoration: underline; }
.similar-deal-actions .similar-deal-link:focus-visible { outline: 2px solid #004a87; outline-offset: 4px; border-radius: 2px; }
@media (max-width:600px) { .similar-deal-heading { gap: 12px; } .ai-comparison-card { padding: 12px; } }

.similar-deal-description { font-size: 13px; line-height: 1.65; color: #465569; margin: 12px 0; }
.similar-deal-actions .similar-deal-link { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; }
.ai-comparison-card [role=status] { display: flex; align-items: center; gap: 8px; }
.duplicate-deal-notice {
  margin: 0 0 20px;
  padding: 16px 20px;
  border-left: 3px solid #004a87;
  background: #eef5fb;
  color: #173d5d;
}

.deal-toast {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 100;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: min(420px, calc(100vw - 32px));
  box-sizing: border-box;
  padding: 18px;
  border: 1px solid #c8dced;
  border-left: 4px solid #004a87;
  border-radius: 12px;
  background: #f6faff;
  color: #173d5d;
  box-shadow: 0 8px 28px rgb(20 45 70 / 16%);
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.deal-toast p { margin: 6px 0 0; }
.deal-toast-close {
  flex: 0 0 32px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 6px;
  color: #173d5d;
  background: transparent;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
}
.deal-toast-close:hover { background: #e1edf7; }
.deal-toast-close:focus-visible { outline: 2px solid #004a87; outline-offset: 2px; }
@media (max-width: 600px) {
  .deal-toast { top: 16px; right: 16px; }
}
/* Hosted sign-in; the local workspace has no authentication overlay. */
.auth-panel { max-width: 560px; margin: 10vh auto; padding: 32px; }
.auth-controls { display: flex; justify-content: flex-end; padding: 8px 24px; }
