.admin-view #app{max-width:none;padding:0;display:grid;grid-template-columns:230px minmax(0,1fr);min-height:75vh}.admin-menu{background:#2e3138;color:white;padding:22px 15px}.admin-menu nav{display:block}.admin-menu nav button{display:block;width:100%;text-align:left;background:transparent;padding:9px 10px}.admin-menu nav button[aria-current]{background:#684331}.admin-menu summary,.admin-content summary{cursor:pointer;padding:8px 0;font-weight:700}.admin-menu details button{font-size:.88rem}.admin-content{padding:clamp(14px,3vw,32px);min-width:0}.admin-content h1{font-size:clamp(28px,4vw,42px);margin-bottom:18px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:0 16px;margin-bottom:16px}.admin-content label{font-size:.85rem;font-weight:650}.admin-content input,.admin-content select{display:block;width:100%;margin-top:6px;padding:8px;border:1px solid #888;border-radius:6px;background:white;font:inherit}.admin-table{margin-top:16px}.table-tools{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}.table-tools label{margin:0}.table-scroll{overflow:auto}.admin-table table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-table td,.admin-table th{padding:12px 10px;text-align:left;border-bottom:1px solid #ddd6cb;min-width:105px}.admin-table th{background:#e8dfd2}.admin-table td:nth-child(4),.admin-table th:nth-child(4){min-width:155px}.admin-table td:nth-child(6){white-space:nowrap}#admin-dialog{width:min(500px,90vw);max-height:85vh;border:1px solid #d9d5ce;border-radius:14px;padding:24px}#admin-dialog::backdrop{background:#0008}#admin-dialog dt{font-weight:bold}#admin-dialog dd{margin:0 0 8px}@media(max-width:700px){.admin-view #app{grid-template-columns:1fr}.admin-menu nav{display:flex;align-items:start;gap:6px;flex-wrap:wrap}.admin-menu nav>button{width:auto}}
.column-actions summary{border:1px solid #c9c5bd;border-radius:8px;padding:9px 12px}.column-actions{position:relative}.column-actions button{position:absolute;right:0;top:100%;z-index:1}.column-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:6px 12px;max-height:45vh;overflow:auto}.column-options label{margin:4px 0;display:flex;align-items:center;gap:6px}.column-options input{width:auto;margin:0}
#admin-dialog.proposal-dialog{width:min(1160px,95vw);max-height:92vh}.proposal-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.proposal-top p{margin:6px 0}.proposal-tabs{border-block:1px solid #ded7cc;padding:12px 0}.proposal-tabs button{font-size:.85rem}.proposal-panel{background:#fafaf8;border:1px solid #ded7cc;border-radius:10px;padding:18px}.proposal-panel h3{margin-top:0}.proposal-panel h4{margin:20px 0 8px}.proposal-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.proposal-fields div{background:white;border:1px solid #ded7cc;border-radius:8px;padding:10px}.proposal-panel table{border-collapse:collapse;width:100%;font-size:.85rem}.proposal-panel th,.proposal-panel td{border-bottom:1px solid #ded7cc;padding:9px;text-align:left}.proposal-panel th{background:#e8dfd2}.proposal-panel details{margin-top:8px;padding:8px;background:white;border:1px solid #ded7cc}.proposal-panel summary{cursor:pointer}
[data-intake-form] fieldset{margin:12px 0;border:1px solid #ded7cc;border-radius:8px;padding:12px}[data-intake-form] legend{font-weight:700}[data-intake-form] input:not([type=checkbox]),[data-intake-form] select,[data-bank-form] input:not([type=checkbox]){display:block;width:100%;padding:8px;margin-top:4px;border:1px solid #888;border-radius:6px;background:white;font:inherit}[data-intake-form] .intake-check,[data-bank-form] .intake-check{display:inline-flex;align-items:center;margin:8px 14px 8px 0;gap:6px}[data-bank-form] .intake-check input{width:auto;margin:0}
.scoped-table{width:100%;border-collapse:collapse;text-align:left}.scoped-table th,.scoped-table td{padding:10px;border-bottom:1px solid #ded7cc}.scoped-table th{background:#e8dfd2}.proposal-panel+.card{margin-top:12px}
:is([data-buyer-form],[data-property-form],[data-development-form],[data-partner-form],[data-broker-form],[data-notary-form],[data-agent-form],[data-checklist-form]) fieldset{margin:12px 0;border:1px solid #ded7cc;border-radius:8px;padding:12px}:is([data-buyer-form],[data-property-form],[data-development-form],[data-partner-form],[data-broker-form],[data-notary-form],[data-agent-form],[data-checklist-form]) legend{font-weight:700}:is([data-buyer-form],[data-property-form],[data-development-form],[data-partner-form],[data-broker-form],[data-notary-form],[data-agent-form],[data-checklist-form]) input,:is([data-buyer-form],[data-property-form],[data-development-form],[data-partner-form],[data-broker-form],[data-notary-form],[data-agent-form],[data-checklist-form]) select{display:block;width:100%;padding:8px;margin-top:4px;border:1px solid #888;border-radius:6px;background:white;font:inherit}
#proposal-buyer-dialog{width:min(1000px,94vw);max-height:90vh;border:1px solid #d9d5ce;border-radius:14px;padding:24px}#proposal-buyer-dialog::backdrop{background:#0008}[data-buyer-form] [hidden],[data-intake-form] [hidden]{display:none}
[data-financing-max]{display:block;margin-top:4px;font-size:.75rem;font-weight:400;color:#63594f}

[data-intake-checklist] .card,[data-proposal-checklist] .card{margin:10px 0;padding:14px}
.check-category{border:1px solid #ded7cc;border-radius:10px;margin:12px 0;padding:14px}.check-category>summary{font-size:1.05rem;cursor:pointer;font-weight:700}.check-category small{font-weight:400}.check-bank{margin:12px 0 0;padding:14px;background:#fafaf8;border-radius:8px}.check-bank h3{margin:0 0 12px}.check-phases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.check-phases>div{background:white;border:1px solid #ded7cc;border-radius:8px;padding:14px}[data-check-document]{margin:12px 0;border:1px solid #ded7cc;border-radius:8px;padding:12px}@media(max-width:550px){.check-phases{grid-template-columns:1fr}}

.check-occupation{border-top:1px solid #ded7cc;padding:8px 0}.proposal-panel input:not([type=file]),.proposal-panel select{max-width:100%;padding:8px;border:1px solid #888;border-radius:6px}.proposal-panel [hidden]{display:none}.proposal-panel .card button{margin:4px}.proposal-panel td input:not([type=file]){min-width:140px}
.flow-actions{position:sticky;bottom:-24px;background:#fafaf8;border-top:1px solid #ded7cc;padding:14px 0;margin-top:20px;display:flex;justify-content:space-between;gap:12px}.flow-actions>div{display:flex;gap:10px}.proposal-tabs{position:sticky;top:-24px;background:#fff;z-index:2}.proposal-panel label{margin:12px 0}.proposal-panel>details{margin-top:20px}[data-buyer-form] textarea{min-height:90px}


#admin-dialog.proposal-dialog{width:min(1500px,98vw);max-height:95vh;padding:20px}
.process-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.process-main{min-width:0}.process-sidebar{position:sticky;top:0;display:grid;gap:14px;max-height:87vh;overflow:auto;padding:2px}
.process-sidebar .card{padding:16px;border-radius:10px}.process-sidebar h3{font-size:1rem;margin:0 0 14px}
.summary-list{margin:0;display:grid;gap:8px}.summary-list>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;padding-bottom:6px;border-bottom:1px solid #ece8e1}
#admin-dialog .summary-list dt{font-size:.78rem;font-weight:500;color:#68635c}
#admin-dialog .summary-list dd{margin:0;font-size:.83rem;font-weight:650;overflow-wrap:anywhere}
.summary-docs{font-size:.78rem;color:#63594f}.process-sidebar summary{font-size:.85rem;cursor:pointer}
.process-messages{max-height:360px;overflow:auto;margin:12px 0}.process-message{border:1px solid #ddd6ca;border-radius:9px;padding:10px;margin:8px 0;background:#fafaf8}
.process-message>strong{font-size:.78rem}.process-message small{display:block;font-size:.7rem;color:#675f55;margin:4px 0}
.process-message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem;line-height:1.4;margin:8px 0}
.process-message blockquote{font-size:.72rem;border-left:3px solid #d96c3f;padding:6px;margin:6px 0;color:#685d54}
.message-actions{display:flex;gap:6px;flex-wrap:wrap}.message-actions button{font-size:.7rem;padding:5px 7px}
.process-sidebar label{font-size:.8rem;margin:10px 0}.process-sidebar select,.process-sidebar input{width:100%;padding:7px;border:1px solid #aaa;border-radius:6px}
.process-sidebar textarea{font-size:.85rem;min-height:80px}.process-section{margin:14px 0;padding:12px;border:1px solid #ded7cc;border-radius:8px;background:white}.process-section>summary{font-weight:700;cursor:pointer}
.stage-dates{border:1px solid #ded7cc;border-radius:8px;padding:12px}.stage-dates legend{font-weight:700}
.document-list-row>p{font-size:.8rem;margin:4px 0}.document-list-row>strong{font-size:.87rem}.document-list-row>details{margin-top:8px}
.process-main .flow-actions{z-index:3}.process-main .proposal-panel{padding:16px}.process-main .filter-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.process-main .proposal-panel table{min-width:600px}
.participant-process{max-width:900px;margin:18px auto}
@media(max-width:1000px){.process-layout{grid-template-columns:minmax(0,1fr)}.process-sidebar{position:static;max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.process-sidebar{grid-template-columns:1fr}#admin-dialog.proposal-dialog{padding:12px}.process-main .filter-grid{grid-template-columns:1fr}.flow-actions{bottom:-12px}}
.chat-visibility{font-size:.72rem;color:#6b6259;margin:4px 0 10px}.process-sidebar .process-messages{max-height:220px}.process-sidebar [data-process-summary] details{margin-top:10px}
.proposal-panel .bank-approval-table input:not([type=file]) { width: 100%; min-width: 6.5rem; }
.proposal-panel .bank-approval-table input[type=file] { width: 11rem; }
.proposal-panel .bank-approval-table th { white-space: nowrap; }
.approval-documents-scroll { margin-block: .5rem 1rem; border: 1px solid #ded7cc; border-radius: 8px; }
.proposal-panel .approval-documents-table { min-width: 52rem; }
.approval-documents-table small { display: block; margin-top: .25rem; }
.approval-documents-table td { vertical-align: top; }
.approval-documents-table td p { margin: 0; }
.approval-documents-table td button { padding: .32rem .5rem; margin: .15rem .2rem .15rem 0; }
.approval-documents-table td:nth-child(6) { overflow-wrap: anywhere; }
.approval-documents-table td:last-child { min-width: 10rem; }
.approval-upload { position: relative; display: inline-flex; align-items: center; padding: .35rem .65rem; border-radius: 5px; background: #17254b; color: white; cursor: pointer; margin: 0 0 .3rem; }
.approval-upload input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.approval-upload:focus-within { outline: 2px solid #17254b; outline-offset: 2px; }
.credit-banks, .credit-person { background: #fbf7f2; border: 1px solid #e3d7c9; border-radius: 12px; padding: .8rem; margin-block: .6rem 1rem; }
.credit-section-title { display: flex; align-items: start; justify-content: space-between; gap: .7rem; flex-wrap: wrap; }
.credit-section-title h3, .credit-section-title p { margin: 0 0 .4rem; }
.credit-bank-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,10rem),1fr)); gap: .7rem; margin-block: .7rem; }
.credit-bank-card { background: white; border: 1px solid #e3d7c9; border-radius: 9px; padding: .65rem; min-width: 0; }
.credit-bank-card:has(details[open]) { grid-column: 1 / -1; }
.credit-status { display: table; background: #e4eef9; color: #163c6b; padding: .2rem .45rem; border-radius: 999px; margin: .3rem 0; font-size: .8rem; }
.credit-archive { padding: .5rem .65rem; border: 1px solid #e3d7c9; border-radius: 8px; background: #f0e9df; }
.credit-person > summary, .credit-archive > summary { cursor: pointer; font-weight: 650; }
.credit-doc-filters { display: flex; flex-wrap: wrap; gap: .4rem; margin-block: .5rem; }
.credit-doc-filters button[aria-pressed=true] { background: #25272b; color: white; }
.credit-doc-columns { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap: .55rem; margin-block: .75rem; }
.credit-doc-columns > section { min-width: 0; border: 1px solid #e3d7c9; border-radius: 8px; padding: .55rem; }
.credit-doc-columns h4 { margin: 0 0 .55rem; }
.credit-doc-card { padding: .55rem; margin: .35rem 0; overflow-wrap: anywhere; }
.credit-doc-card p { margin: .25rem 0; }
.credit-doc-actions, .credit-doc-files { display: flex; gap: .25rem; flex-wrap: wrap; align-items: start; }
.credit-doc-actions button, .credit-doc-files button, .credit-bank-actions button { font-size: .8rem; padding: .3rem .5rem; }
.document-preview { width: min(900px,92vw); max-height: 90vh; }
.document-preview iframe { display: block; width: 100%; height: 68vh; margin-top: .5rem; border: 0; }
.document-preview img { display: block; max-width: 100%; max-height: 68vh; margin: .5rem auto 0; }
[data-credit-pending] p { margin: .35rem 0; font-size: .85rem; }
.credit-pending-link { display: block; width: 100%; text-align: left; margin: .25rem 0; padding: .4rem .5rem; font-size: .8rem; }
.credit-sidebar-actions { border-top: 1px solid #e3d7c9; margin-top: .65rem; padding-top: .45rem; }
.credit-sidebar-actions h4 { margin: .15rem 0; }
.credit-sidebar-actions button { display: block; width: 100%; margin: .25rem 0; padding: .35rem; overflow-wrap: anywhere; font-size: .8rem; }
/* Process workspace keeps the global navigation visible during analysis. */
.admin-content:has(> .inline-proposal[open]) > :not(.inline-proposal),
.dashboard:has(> .inline-proposal[open]) > :not(.inline-proposal) { display: none; }
#admin-dialog.inline-proposal[open] { position: static; inset: auto; width: 100%; max-width: none; max-height: none; margin: 0; border: 0; border-radius: 0; padding: 0; overflow: visible; background: transparent; color: inherit; }
.inline-proposal .proposal-top { padding: .7rem .9rem 1rem; border-radius: 12px; background: linear-gradient(115deg,#f5ede4,#ead8c3); }
.inline-proposal .proposal-top h2 { margin: .15rem 0 .4rem; font-size: clamp(1.4rem,2.2vw,2rem); }
.proposal-head-facts, .proposal-head-facts > span { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.proposal-head-facts { gap: .8rem; font-weight: 650; }
.proposal-head-facts svg, .credit-section-title h3 svg { width: 1.25rem; height: 1.25rem; color: #b54613; vertical-align: middle; }
.inline-proposal .proposal-tabs { top: 0; border: 0; background: #f8f3ed; margin: .25rem 0; }
.inline-proposal .proposal-tabs button[aria-pressed=true] { background: #292b30; color: white; }
.inline-proposal.credit-view .proposal-panel { padding: 0; border: 0; background: transparent; }
.inline-proposal .process-layout { gap: 14px; }
.inline-proposal .process-sidebar { top: .5rem; }
.inline-proposal .flow-actions { bottom: 0; }
.credit-bank-name { display: flex; align-items: start; gap: .55rem; }
.credit-bank-mark { min-width: 2rem; padding: .3rem; text-align: center; border-radius: 6px; background: #f2e6d6; color: #9d3f12; font-weight: 750; }
.credit-status.success { background: #def0dd; color: #146128; }
.credit-status.pending { background: #fcebd3; color: #8c3a10; }
.credit-bank-archive-labels { display: inline-flex; flex-wrap: wrap; gap: .35rem; }
.credit-view [data-proposal-checklist] { background: #fbf7f2; border: 1px solid #e3d7c9; border-radius: 12px; padding: .75rem; }
.credit-view .credit-doc-filters { margin: .15rem 0; }
.credit-doc-filters [data-credit-filter=urgent]:not([aria-pressed=true]) { color: #9c2319; background: #fff1ee; }
.credit-doc-state { display: table; border-radius: 999px; padding: .18rem .4rem; font-size: .78rem; }
.credit-doc-state.missing { color: #8a2119; background: #fae4de; }
.credit-doc-state.received { color: #7a380c; background: #fae9ce; }
.credit-person > summary > strong { margin-right: .6rem; }
.credit-person > summary > span, .credit-person > summary > progress { margin: 0 .25rem; vertical-align: middle; font-size: .78rem; }
.credit-person progress { width: 5rem; accent-color: #15823a; }
.credit-pending-link small { display: block; margin-top: .2rem; }
.credit-pending-note { padding: .5rem; border-radius: 6px; background: #f8eddf; }
.inline-proposal .proposal-top { padding: .6rem .75rem .7rem; }
.inline-proposal .proposal-tabs { padding: .4rem 0; }
.inline-proposal .proposal-tabs button { padding: .55rem .75rem; }
.credit-view .credit-banks { margin-top: .25rem; padding: .65rem; }
.credit-view .credit-section-title p { font-size: .83rem; }
.credit-view .credit-section-title h3 { margin: 0; }
.credit-view .credit-bank-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,11rem),1fr)); margin-block: .45rem; }
.credit-view .credit-bank-actions { display: flex; align-items: start; flex-wrap: wrap; gap: .3rem; }
.credit-view .credit-bank-actions details { margin: 0; padding: 0; border-radius: 5px; font-size: .78rem; background: transparent; }
.credit-view .credit-bank-actions details[open] { flex-basis: 100%; }
.credit-view .credit-bank-actions button { color: #9d3f12; border-color: #ce8b6c; }
.credit-view .credit-archive { padding: .4rem .55rem; background: #f2eae1; }
.credit-view .credit-doc-filters button { font-size: .76rem; padding: .3rem .45rem; }
.credit-view .credit-person { padding: .55rem; margin-bottom: .5rem; }
.credit-view .process-sidebar .card { padding: .75rem; }
.credit-view .process-sidebar h3 { margin-bottom: .45rem; }
.credit-view .summary-list { font-size: .82rem; }
.credit-view .summary-list > div { padding-block: .23rem; }
.credit-pending-list { max-height: 8rem; overflow: auto; }
.credit-doc-footer { display: flex; flex-wrap: wrap; gap: .35rem; }
.inline-proposal .flow-actions { flex-wrap: wrap; gap: .4rem; padding: .55rem 0; }
.inline-proposal .flow-actions button { padding: .45rem .6rem; font-size: .82rem; }
.credit-view .proposal-top label { display: block; width: min(100%, 16rem); margin-top: .55rem; }
.credit-view .credit-bank-card { display: flex; flex-direction: column; gap: .45rem; }
.credit-view .credit-bank-name { flex: 1; }
.credit-view .credit-bank-actions > button, .credit-view .credit-bank-actions > details:not([open]) { flex: 1; }
.credit-view .credit-bank-actions > details > summary { list-style: none; padding: .3rem .5rem; text-align: center; }
.credit-view .credit-bank-actions > details[open] > summary { text-align: left; }
.credit-view .credit-bank-actions > details > .filter-grid { padding: .5rem; }
.credit-view .credit-bank-actions > button { margin: 0; }
.credit-doc-upload-only { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .35rem; }
.credit-doc-upload-only .credit-doc-files:empty { display: none; }
.credit-doc-upload-only .credit-doc-actions { justify-content: end; }
.credit-doc-upload-only .approval-upload { margin: 0; }
.credit-doc-upload-only:has(details[open]) .credit-doc-actions { grid-column: 1 / -1; }
.inline-proposal.contract-view .proposal-panel { padding: 0; border: 0; background: transparent; }
.contract-steps, .contract-bank, .contract-view .credit-section-title { background: #fbf7f2; border: 1px solid #e3d7c9; border-radius: 10px; margin: .35rem 0; padding: .55rem .75rem; }
.contract-steps { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); list-style: none; text-align: center; gap: .35rem; }
.contract-steps li { position: relative; display: grid; align-content: start; justify-items: center; gap: .25rem; font-size: .74rem; }
.contract-steps li + li::before { content: ''; position: absolute; top: .75rem; right: calc(50% + 1.05rem); width: calc(100% - 1.75rem); border-top: 1px solid #c9b8a5; }
.contract-steps li > span { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; background: #eee3d7; border-radius: 50%; }
.contract-steps .done > span { background: #087a35; color: white; }
.contract-steps .current > span { background: #ad4217; color: white; }
.contract-bank, .contract-registration { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.contract-bank h3, .contract-bank p, .contract-view .credit-section-title h3, .contract-view .credit-section-title p { margin: 0; }
.contract-bank h3 svg { width: 1.2rem; height: 1.2rem; vertical-align: middle; color: #a8370e; }
.contract-bank > div, .contract-registration > div { flex: 1; }
.contract-bank > select { width: auto; max-width: 100%; }
.contract-bank p, .contract-registration small, .contract-view .credit-section-title p { display: block; font-size: .8rem; }
.contract-group { margin: .35rem 0; padding: .45rem .65rem; }
.contract-group > summary { padding: .25rem 0; }
.contract-note, .contract-registration { background: #f2ebe3; border-radius: 7px; margin: .35rem 0; padding: .45rem .65rem; font-size: .83rem; }
.contract-registration label { margin: 0; }
.contract-doc-row.credit-doc-card { display: grid; grid-template-columns: minmax(8rem,1.5fr) minmax(4.5rem,.7fr) minmax(6rem,1fr) minmax(12rem,1.4fr); align-items: start; gap: .3rem .55rem; padding: .35rem .45rem; font-size: .8rem; }
.contract-doc-row .credit-doc-files { grid-column: 4; grid-row: 2; }
.contract-doc-row .credit-doc-files:empty { display: none; }
.contract-doc-row .credit-doc-actions { grid-column: 4; grid-row: 1; }
.contract-doc-row .credit-doc-actions details { padding: 0 .25rem; margin: 0; }
.contract-doc-row .credit-doc-actions summary { padding: .25rem; }
.contract-doc-row .credit-doc-actions .approval-upload { margin: 0; padding: .3rem .5rem; }
.contract-doc-row .credit-doc-actions > button:not(.quiet) { background: #e3f1e5; color: #125627; }
.contract-view [data-contract-message]:empty { display: none; }
@media(max-width:1250px) {
  .contract-doc-row.credit-doc-card { grid-template-columns: minmax(0,1fr) auto; }
  .contract-doc-row .credit-doc-files, .contract-doc-row .credit-doc-actions { grid-column: 1 / -1; grid-row: auto; }
}
@media(max-width:640px) {
  .contract-steps { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .contract-steps li + li::before { display: none; }
}
.contract-people { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: .4rem 0; list-style: none; }
.contract-people li { padding: .35rem .65rem; border-radius: 7px; background: #f2ebe3; }
.contract-people small { display: block; }
.contract-dispatch { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap: .5rem; margin: .4rem 0; }
.contract-dispatch > div { background: white; border: 1px solid #e3d7c9; border-radius: 8px; padding: .6rem; min-width: 0; }
.contract-dispatch p { margin: .3rem 0; font-size: .8rem; }
.contract-dispatch-controls { display: flex; align-items: end; gap: .5rem; flex-wrap: wrap; }
.contract-dispatch label, .contract-dispatch .filter-grid { margin-bottom: 0; }
[data-portal-logo], [data-brand-preview] img { display: block; width: auto; height: auto; max-width: min(230px, 65vw); max-height: 64px; object-fit: contain; }
[data-portal-logo][hidden], [data-brand-preview] img[hidden] { display: none; }
.assessment-portal > header { background: var(--brand-secondary); color: var(--brand-secondary-ink); }
.assessment-portal button:not(.quiet) { background: var(--brand-primary); color: var(--brand-primary-ink); }
.assessment-portal nav button[aria-pressed=true] { background: var(--brand-secondary); color: var(--brand-secondary-ink); }
.assessment-portal .eyebrow, .assessment-portal a { color: color-mix(in srgb, var(--brand-primary), black 55%); }
.assessment-portal .proposal-head-facts svg, .assessment-portal .credit-section-title h3 svg { color: var(--brand-highlight); }
.assessment-portal .proposal-top { background: color-mix(in srgb, var(--brand-highlight) 13%, white); }
[data-brand-preview] { border: 1px solid #ded7cc; border-radius: 8px; overflow: hidden; margin: .65rem 0; padding-bottom: .85rem; }
[data-brand-preview] > div { background: var(--brand-secondary); color: var(--brand-secondary-ink); padding: .7rem; display: flex; align-items: center; gap: .65rem; }
[data-brand-preview] > p { border-left: 4px solid var(--brand-highlight); margin-left: .65rem; padding-left: .5rem; }
[data-brand-preview] > span { background: var(--brand-primary); color: var(--brand-primary-ink); border-radius: 6px; padding: .35rem .6rem; margin-left: .65rem; }
.flow-actions:has(.flow-feedback:not(:empty)) { flex-wrap: wrap; }
.flow-actions .flow-feedback { order: -1; flex: 0 0 100%; margin: 0; color: var(--ink); font-weight: 650; }
.flow-actions .flow-feedback:empty { display: none; }
