@font-face{font-family:GC;src:url('assets/font.ttf')}@font-face{font-family:GC;src:url('assets/font-bold.ttf');font-weight:700}*{box-sizing:border-box}body{margin:0;background:#f4f5f8;color:#232743;font-family:GC,Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,label{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:#353495}h1,h2,h3,p{margin:0}h1{font-size:25px;font-weight:700;margin-top:7px}h2{font-size:19px;line-height:1.35}h3{font-size:16px;margin:22px 0 12px}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#171653;color:#fff;padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;padding:0 7px 38px;font-weight:700;font-size:16px;letter-spacing:.4px}.brand img{width:46px;height:48px;object-fit:contain;border-radius:12px;background:#fff;padding:3px}.brand small{display:block;font-weight:400;font-size:12px;margin-top:5px;color:#c3c3de;letter-spacing:0}.side-label{font-size:10px;letter-spacing:1.4px;color:#a0a1c0;padding:0 14px;margin-bottom:12px}.nav{border:0;text-align:left;background:transparent;color:#cccee6;padding:13px 14px;border-radius:9px;display:flex;align-items:center;gap:12px;margin:3px 0}.nav span{width:19px;font-size:18px}.nav:hover{background:#262563}.nav.active{background:#fff;color:#242260;font-weight:700}.side-divider{height:1px;background:#343369;margin:20px 8px}.side-bottom{margin-top:auto;padding:15px 12px}.side-bottom p{font-size:13px;line-height:1.5;color:#cbcbe0;margin:18px 0}.side-bottom small{font-size:10px;color:#a9aac5}.territory{font-size:12px;color:#d2eadb}main{margin-left:244px}.topbar{background:#fff;min-height:107px;border-bottom:1px solid #e7e8ef;display:flex;align-items:center;justify-content:space-between;padding:25px 38px;gap:15px}.eyebrow,.small-label{font-size:10px;letter-spacing:1.4px;font-weight:700;color:#7c819a}.top-actions{display:flex;align-items:center;gap:10px}.top-actions>span{font-size:11px;color:#858a9d;margin-right:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;padding:11px 16px;border:1px solid #dfe1eb;font-size:13px;font-weight:700;white-space:nowrap;text-decoration:none;background:#fff;color:#333551}.button.primary{color:#fff;background:#252477;border-color:#252477}.button.primary:hover{background:#353496}.button.secondary:hover{background:#f5f5fc}.button:disabled{opacity:.5;cursor:wait}.workspace{padding:26px 38px 55px;max-width:1580px;margin:auto}.case-strip{display:flex;align-items:center;gap:18px;margin-bottom:23px}.case-strip>div{margin-right:auto}.case-strip input{display:block;border:0;outline:0;background:transparent;font-weight:700;font-size:17px;color:#252848;width:360px;padding:5px 0}.pill,.chip{display:inline-block;background:#eeedf9;color:#565285;padding:6px 10px;border-radius:20px;font-size:11px;white-space:nowrap}.pill.warning{background:#fff1d9;color:#916014}.text-button{border:0;background:transparent;color:#555394;font-size:12px;padding:7px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.metric{background:#fff;border:1px solid #e8e9f1;border-radius:12px;padding:20px 22px}.metric span,.metric small{display:block;color:#7d8197;font-size:12px}.metric strong{display:block;font-size:26px;letter-spacing:-.6px;margin:11px 0 8px;line-height:1.15}.metric:nth-child(3) strong{font-size:20px}.metric small{font-size:10px}.total-metric{background:#edeef9;border-color:#dedff0}.total-metric strong{color:#242275}.two-col{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:23px;align-items:start}.card{background:#fff;border:1px solid #e7e9f1;border-radius:12px;padding:25px;margin-bottom:22px;box-shadow:0 2px 3px #17165302}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.section-heading .eyebrow{display:block;margin-bottom:8px}.drop-zone{border:1.5px dashed #c1c2de;border-radius:12px;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;gap:12px;min-height:246px;background:#f9f9fd;padding:25px;cursor:pointer}.drop-zone input{display:none}.drop-zone strong{font-size:16px}.drop-zone>span:not(.upload-icon):not(.button){color:#82869b;font-size:12px}.drop-zone small{font-size:10px;color:#8c8fa2;margin-top:6px}.drop-zone.dragover{border-color:#252477;background:#eeedf9}.upload-icon{width:47px;height:47px;border:1px solid #dedff0;background:#fff;border-radius:13px;font-size:27px;color:#5954a4;display:grid;place-items:center}.help{font-size:12px;line-height:1.6;color:#7c8195;margin-top:12px}.empty{text-align:center;padding:25px;color:#8c91a3}.empty strong{display:block;font-size:13px;color:#666b82;margin:10px 0}.empty p{font-size:12px}.empty-icon{font-size:29px;color:#b1b4cc}.questions-card{position:sticky;top:18px}.question{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #eef0f5;color:#4d536c;font-size:12px;line-height:1.4}.question>span{color:#b48b45;margin-top:1px}.question a{margin-left:auto;text-decoration:none;color:#656195;font-size:17px}.full{width:100%;margin-top:22px}.dot{width:9px;height:9px;display:inline-block;border-radius:50%}.amber{background:#d6a357}.hidden{display:none!important}.form-group{margin:22px 0 10px;padding-top:14px;border-top:1px solid #edeef4}.form-group:first-child{border-top:0;padding-top:0;margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:16px 0}.field label,.boe-search label{font-size:12px;font-weight:700;color:#62677f;display:block}.field input,.field select,.field textarea,.boe-search input{display:block;border:1px solid #dfe2ed;background:#fff;border-radius:7px;width:100%;padding:11px 12px;color:#292d48;margin-top:7px;outline:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:#716caf;box-shadow:0 0 0 3px #ededf7}.field small{display:block;font-size:10px;line-height:1.5;color:#9598aa;margin-top:5px}.field.wide{grid-column:span 2}.check{display:flex;gap:10px;align-items:start;font-size:12px;color:#596078;line-height:1.5;margin:14px 0}.check input{accent-color:#34318a;width:16px;height:16px;margin-top:1px;flex-shrink:0}.prominent{padding:16px;border-radius:8px;background:#f4f4fb;margin-top:20px}.notice{padding:16px 18px;background:#fff5e5;border:1px solid #f4e4c7;border-radius:8px;font-size:12px;color:#876833;line-height:1.6;margin:18px 0}.notice.info{background:#f0f2fb;border-color:#dfe2f3;color:#535782}.notice.success{background:#edf8f0;border-color:#d3e8d9;color:#3c7651}.progress{padding:14px;font-size:12px;color:#555195;background:#efeff9;border-radius:8px;margin-top:15px}.doc-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #eef0f5;padding:14px 0}.doc-icon{background:#f0f1fa;border-radius:8px;color:#5d5897;width:38px;height:43px;display:grid;place-items:center;font-size:11px;font-weight:700}.doc-row>div:nth-child(2){flex:1;min-width:0}.doc-row strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-row small{font-size:10px;color:#9497a8}.icon-button{background:transparent;border:0;color:#767995;padding:7px}.candidate{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #eee}.candidate>div{flex:1}.candidate strong{font-size:13px}.candidate small{display:block;font-size:10px;color:#8b8fa3;margin:5px 0}.boe-search{display:flex;align-items:end;gap:12px}.boe-search label{flex:1}.boe-result{padding:13px;border:1px solid #e7e8f2;border-radius:8px;margin:8px 0;display:flex;gap:10px;justify-content:space-between;align-items:center}.boe-result strong{display:block;font-size:12px}.boe-result small{font-size:10px;color:#8e92a6}.boe-result .button{padding:7px 11px}.calculation-strip{display:flex;flex-wrap:wrap;background:#f4f4fb;border-radius:10px;padding:17px 20px;gap:24px;margin:20px 0}.calculation-strip span{font-size:11px;color:#7f8398;display:block}.calculation-strip strong{font-size:18px;margin-top:6px;display:block;color:#37327f}.quote-actions{display:flex;align-items:center;gap:12px;margin-bottom:20px}.quote-actions>div{margin-right:auto}.quote-actions .help{margin-top:4px}.paper{max-width:850px;margin:22px auto;background:white;padding:45px 48px;border:1px solid #e3e5ee;box-shadow:0 9px 35px #20205f08}.paper-head{display:flex;justify-content:space-between;align-items:start;border-bottom:2px solid #242275;padding-bottom:20px;margin-bottom:22px}.paper-head img{width:74px;height:78px;object-fit:contain}.paper-head h2{font-size:21px;color:#242275}.paper-head p{font-size:10px;color:#7b8094;margin-top:6px}.paper h3{color:#28257a;font-size:15px}.paper .quote-info{font-size:12px;line-height:1.8}.quote-table{width:100%;border-collapse:collapse;margin:22px 0;font-size:12px}.quote-table td{padding:10px;border-bottom:1px solid #eaebf2}.quote-table td:last-child{text-align:right;white-space:nowrap}.quote-table .category td{background:#efeff9;color:#3c3686;font-weight:700;border:0;font-size:11px}.quote-table .grand td{background:#242275;color:#fff;padding:14px;font-size:15px;font-weight:700}.quote-table .pending-row td{color:#9c742f}.paper .conditions{font-size:10px;line-height:1.6;color:#888b9c}.calc-table td{font-size:10px}.quote-data{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:10px;margin:15px 0}.quote-data b{font-weight:700}.sources a{display:block;padding:14px 0;border-bottom:1px solid #eee;font-size:13px;text-decoration:none}.audit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.audit-grid>div{background:#f5f5fa;padding:17px;border-radius:8px;font-size:12px}.audit-grid p{color:#81869a;font-size:11px;line-height:1.6;margin-top:8px}.case-row{display:flex;gap:15px;align-items:center;padding:18px;border-bottom:1px solid #eee}.case-row>div{flex:1}.case-row strong{display:block}.case-row small{display:block;color:#8b8fa3;margin-top:5px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#23215a;color:#fff;padding:15px 25px;border-radius:9px;box-shadow:0 6px 20px #0002;z-index:100;font-size:12px}dialog{width:min(960px,92vw);max-height:90vh;border:0;border-radius:14px;padding:25px;box-shadow:0 25px 100px #0003}dialog::backdrop{background:#17165370}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.document-tabs{display:flex;gap:10px;margin-bottom:15px}#document-content img{max-width:100%;max-height:67vh;display:block;margin:auto}#document-content iframe{width:100%;height:66vh;border:1px solid #ddd}#document-content pre{white-space:pre-wrap;line-height:1.7;font-size:12px;color:#535a71}.benefit-checklist{padding:15px 20px;background:#f8f8fc;border-radius:9px}.benefit-checklist p{font-size:12px;line-height:1.6;color:#858a9d}.field-error{border-color:#cb9664!important}@media(max-width:1200px){.sidebar{width:210px}main{margin-left:210px}.workspace,.topbar{padding-left:24px;padding-right:24px}.top-actions>span{display:none}.metric{padding:17px 15px}.metric strong{font-size:23px}.two-col{grid-template-columns:1.5fr 1fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.sidebar{position:relative;width:100%;padding:15px;flex-direction:row;flex-wrap:wrap;gap:4px}.brand{padding:0 10px 8px;width:100%}.brand img{width:33px;height:35px}.side-label,.side-divider,.side-bottom{display:none}.nav{padding:9px;font-size:11px;margin:0}.nav span{display:none}main{margin-left:0}.topbar{padding:20px;flex-wrap:wrap}.workspace{padding:20px}.case-strip{flex-wrap:wrap}.case-strip input{width:250px}.metrics{grid-template-columns:1fr 1fr;gap:12px}.two-col{grid-template-columns:1fr}.questions-card{position:static}.top-actions .button{padding:9px 12px;font-size:11px}.card{padding:20px}.paper{padding:25px}.quote-actions{flex-wrap:wrap}.form-grid{grid-template-columns:1fr 1fr;gap:12px}.boe-search{flex-direction:column;align-items:stretch}.audit-grid{grid-template-columns:1fr}.section-heading{flex-wrap:wrap}.sources a{word-break:break-word}}@media(max-width:480px){.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.paper{padding:18px}.quote-data{grid-template-columns:1fr}.metric strong{font-size:21px}.case-strip .text-button{padding:0}.top-actions{width:100%}}@media print{.sidebar,.topbar,.case-strip,.metrics,.quote-actions,#quote-notices,.toast,.view:not(#view-quote){display:none!important}body{background:white}main{margin:0}.workspace{padding:0}.paper{max-width:none;margin:0;border:0;box-shadow:none;padding:15px}.quote-table{break-inside:avoid}.paper-head{break-inside:avoid}.paper h3{break-after:avoid}}

.sidebar{overflow-y:auto}.side-bottom small{display:block}.side-bottom .text-button{color:#fff;font-size:12px;display:block;padding:8px 0;text-align:left}#prepare-documents{margin-top:18px}#extraction-result{margin-top:12px}#version-dialog{max-width:650px}#version-history{padding:15px 25px}#version-history li{margin:10px 0}@media(max-width:850px){.side-bottom{display:block;width:100%;padding:5px 10px}.side-bottom p,.side-bottom .territory,.side-bottom>small:first-of-type{display:none}.side-bottom .text-button{display:inline-block;margin-right:12px}}

.quote-input{width:100%;max-width:100%;border:1px solid #d9dbea;background:#fafaff;border-radius:5px;padding:7px 9px;color:#232743;min-width:0}.quote-info{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quote-info label,.quote-data label{font-size:12px;display:block}.edit-hint{grid-column:1/-1;font-size:12px;color:#5b5f7a}.quote-table .amount-input{width:110px;text-align:right}.quote-data .quote-input{margin-top:5px}.quote-info .quote-input{margin-top:5px}@media(max-width:480px){.quote-info{grid-template-columns:1fr}}@media print{.edit-hint{display:none}.quote-input{background:white;border:none;padding:0;color:black}.quote-info{display:block}.quote-info label{margin:6px 0}}

#passage-dialog{max-width:600px}.passage-body{padding:25px}.passage-body label{display:block;margin:18px 0}.passage-body input{width:100%;padding:10px;border:1px solid #d9dbea;border-radius:6px;margin-top:8px}.passage-body .button{margin:15px 8px 0 0}.quote-info .wide{grid-column:1/-1}#budget-boe-options{margin-bottom:18px}

input[data-field][type=text],textarea[data-field],select[data-field],#case-title{text-transform:uppercase}

.cases-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}.case-search-label{flex:1 1 100%;font-size:12px}.case-search-label input{display:block;width:100%;padding:12px;border:1px solid #d9dbea;border-radius:6px;margin-top:6px}.case-row input[type=checkbox]{width:20px;height:20px;flex-shrink:0}.case-row div{flex:1}.case-row small{display:block}.quote-actions{flex-wrap:wrap}#case-title[readonly]{cursor:default}

/* One continuous document scroll; long pending lists must not stick outside the viewport. */
html{scroll-behavior:auto;scrollbar-gutter:stable}
.questions-card{position:static}
.sidebar>*{flex-shrink:0}
dialog{overflow-y:auto;overscroll-behavior-y:contain}
main:focus{outline:none}
@media(max-width:850px){.sidebar{overflow:visible}}

.quote-tax-controls{font-size:11px;margin-top:8px;padding:10px;background:#f3f3fa;border-radius:6px;max-width:520px}.quote-tax-controls label{display:block;margin:4px 0}.quote-tax-controls .check{display:flex;gap:7px;align-items:center}.quote-tax-controls input[type=checkbox]{width:17px;height:17px;flex:0 0 auto}.quote-tax-controls select{display:block;max-width:100%;margin-top:5px}.quote-tax-controls small{display:block;line-height:1.5;color:#606480}.quote-tax-controls .text-button{color:#353495;margin-top:6px}@media print{.quote-tax-controls{display:none}}

.quote-input[data-ocr-review]{background:#fff5db;border-color:#bc852b!important}

#budget-preview-dialog{width:min(1100px,96vw);max-height:94vh;padding:20px}#budget-preview-frame{display:block;width:100%;height:65vh;border:1px solid #ddd;border-radius:6px;background:#eee}.quote-bottom-actions{padding:24px 0;flex-wrap:wrap}#budget-preview-dialog .quote-actions{flex-wrap:wrap;margin:12px 0}

#budget-preview-frame{height:65vh;overflow:auto;padding:18px;background:#e5e6ec}#budget-preview-frame canvas{display:block;width:min(100%,794px);height:auto;margin:0 auto 20px;box-shadow:0 2px 12px #0002;background:white}

.payment-details{margin:18px 0;padding:14px 18px;background:#f0f0f9;border-left:3px solid #22216b}.payment-details p{margin:5px 0}

/* One body size throughout the editable budget; headings retain hierarchy. */
.paper{font-size:13px;line-height:1.55}.paper .conditions,.paper .quote-info,.paper .quote-info label,.paper .quote-data,.paper .quote-data label,.paper .quote-table,.paper .quote-table .category td,.paper .calc-table td,.paper .help,.paper .quote-input,.paper .edit-hint,.paper .payment-details{font-size:13px;line-height:1.55}.paper .paper-head p{font-size:13px}.paper .conditions{color:#596078;margin:10px 0}.paper .budget-number{font-size:13px;font-weight:700;color:#242275;margin:8px 0 16px}.paper .quote-table .grand td{font-size:15px}.case-row strong{line-height:1.5}

/* Verified active account, visible across all working screens. */
.session-user{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:1px solid #d7d9e6;border-radius:9px;padding:8px 12px;background:#f5f6fa;color:#4b536e;text-align:left;font:inherit;cursor:pointer;max-width:280px}.session-user strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.session-user small{font-size:11px}.session-user.signed-in{background:#edf6f1;border-color:#bfdace;color:#1e5a40}.session-user:focus-visible{outline:3px solid #6061b3;outline-offset:2px}#view-cloud form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:18px 0}#view-cloud form label{display:flex;flex-direction:column;gap:6px;min-width:220px;flex:1 1 220px;font-size:13px;color:#4b536e}#view-cloud input,#view-cloud select{padding:10px 12px;min-height:42px;border:1px solid #cbd0e0;border-radius:7px;background:white;color:#202848;font:inherit;width:100%;box-sizing:border-box}#view-cloud input:focus,#view-cloud select:focus{outline:2px solid #6061b3;outline-offset:1px}#cloud-status{line-height:1.5;padding:10px 12px;background:#f3f4fa;border-radius:7px}#cloud-account>.button{margin:5px 5px 5px 0}#cloud-admin{margin-top:24px;border-top:1px solid #dddfea;padding-top:18px}#cloud-password-change{margin-top:18px}#cloud-identity{font-weight:700}#cloud-new-password-form{max-width:560px}@media(max-width:700px){.session-user{max-width:100%;flex:1 1 100%}#view-cloud form label{min-width:0;flex-basis:100%}}@media print{.session-user{display:none}}

/* Account sign-in is the entry screen; working views require live membership. */
body.auth-required .sidebar,body.auth-required .topbar,body.auth-required .case-strip,body.auth-required .metrics,body.auth-required .view:not(#view-cloud){display:none!important}body.auth-required main{margin-left:0!important;min-height:100vh}body.auth-required .workspace{max-width:680px;margin:0 auto;padding:64px 24px}body.auth-required #view-cloud{display:block!important}body.auth-required #view-cloud>.card{border-top:5px solid #292773}body.auth-required #view-cloud h2{font-size:25px;margin-bottom:16px}body.auth-required #cloud-login{display:grid;gap:18px}body.auth-required #cloud-login label{min-width:0}body.auth-required #cloud-login .button{width:100%}.password-hint{color:#687087;font-size:12px;font-weight:400}.password-visibility{align-self:flex-start;border:0;background:transparent;color:#36327b;padding:3px 0;font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.password-visibility:focus-visible{outline:2px solid #6061b3;outline-offset:3px}

/* Account badge and separate administration workspace. */
.session-user{flex-direction:row;align-items:center;gap:10px;max-width:285px;border:1px solid #dddff0;background:#f7f7fd!important;color:#292773!important;border-radius:12px;padding:8px 12px;box-shadow:0 2px 6px #25226506}.session-avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#302d7b;color:white;font-size:17px;font-weight:700}.session-text{display:flex;flex-direction:column;gap:3px}.session-user strong{font-size:12px;font-weight:650}.session-user small{color:#68708b;font-size:11px}.topbar>div:first-child{min-width:180px}.top-actions{gap:12px;flex-wrap:wrap}#save-state:empty{display:none}#view-admin #cloud-admin{border-top:0;margin-top:0;padding-top:0}#view-admin form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:18px 0}#view-admin form label{display:flex;flex-direction:column;gap:6px;min-width:220px;flex:1 1 220px;font-size:13px;color:#4b536e}#view-admin input,#view-admin select{padding:10px 12px;min-height:42px;border:1px solid #cbd0e0;border-radius:7px;background:white;color:#202848;font:inherit;width:100%;box-sizing:border-box}#view-admin input:focus,#view-admin select:focus{outline:2px solid #6061b3;outline-offset:1px}@media(max-width:700px){#view-admin form label{min-width:0;flex-basis:100%}}

.cloud-order{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:#596078;margin:20px 0 8px}.cloud-order select{width:auto!important;min-width:230px;max-width:100%}#admin-status{font-size:13px;color:#596078;margin:12px 0 22px}#admin-status:empty{display:none}

.document-values{width:100%;border-collapse:collapse}.document-values th,.document-values td{padding:10px;text-align:left;border-bottom:1px solid #e3e5ef;vertical-align:top}.document-values th{width:42%}.document-values small{display:block;color:#9b5c00;margin-top:4px}#budget-boe-options details{margin:12px 0}#budget-boe-options summary{cursor:pointer;font-weight:600;padding:8px 0}

.boe-review-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}

/* Complete the source data and BOE choice before reaching the calculated quote. */
.quote-workspace{min-width:0}.quote-preparation{margin-top:20px}.preparation-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}.preparation-heading h2{font-size:21px;margin:0 0 7px;color:#252467}.preparation-heading p{font-size:13px;line-height:1.55;margin:0;color:#626a80}.preparation-heading>.button{margin-left:auto}.step-number{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#292773;color:#fff;flex:0 0 36px;font-weight:700}.preparation-status{display:flex;justify-content:space-between;gap:18px;padding:15px 18px;border:1px solid #ebd197;background:#fff9eb;border-radius:10px;font-size:14px}.preparation-status p{font-size:13px;margin:7px 0 0;color:#655531}.preparation-status.ready{background:#eff8f3;border-color:#c2dfcf}.field-legend{font-size:12px;line-height:1.7;flex-shrink:0;color:#655531}.preparation-pending{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.preparation-pending button{border:1px solid #e8ca8d;border-radius:7px;background:#fff9eb;color:#76500e;padding:8px 10px;font:inherit;font-size:12px;cursor:pointer;text-align:left}.quote-step-nav{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:0;z-index:5;padding:12px 0;margin:12px 0;background:#fff;border-bottom:1px solid #e4e6ef}.quote-step-nav button{border:1px solid #d9dbeb;background:#f8f8fd;color:#302d78;border-radius:7px;padding:10px 12px;font:inherit;font-size:12px;cursor:pointer}.quote-step-nav button:last-child{background:#302d78;color:white;border-color:#302d78}.quote-prep-section{border-bottom:1px solid #e4e6ef;padding:22px 0;scroll-margin-top:80px}.quote-prep-section:last-child{border-bottom:0;padding-bottom:0}.quote-prep-section>h3{margin:0 0 18px;font-size:17px;color:#292773}.quote-prep-section h3{font-size:15px;margin:20px 0 14px}.quote-preparation .quote-info,.quote-preparation .quote-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.quote-preparation label{font-size:13px;color:#424a63}.quote-preparation .quote-input{min-height:40px;font:inherit;font-size:14px;margin-top:6px}.quote-preparation label:has([data-field="address"]),.quote-preparation label:has([data-field="model"]){grid-column:span 2}.quote-input[data-field-status="required"]{background:#fff9e9;border:2px solid #be861b}.quote-input[data-field-status="review"]{background:#f6f2ff;border-color:#8c71bc}.field-issue{display:block;font-size:11px;margin-top:5px;font-weight:600;line-height:1.4}.field-issue.required{color:#79500a}.field-issue.review{color:#72519b}.quote-extra{margin:16px 0;padding:12px 14px;border:1px solid #e0e2ed;background:#fafafe;border-radius:8px;font-size:13px}.quote-extra>summary{cursor:pointer;font-weight:600;color:#45416e;line-height:1.5}.quote-extra[open]>summary{margin-bottom:16px}.quote-extra p{line-height:1.6}.quote-preparation .conditions{font-size:13px;line-height:1.6;color:#616980}.quote-preparation .quote-tax-controls{display:inline-block;vertical-align:top;width:calc(50% - 8px);max-width:none;margin:0 12px 18px 0;box-sizing:border-box}.quote-preparation .quote-tax-controls:nth-child(2){margin-right:0}.quote-result{margin-top:32px;scroll-margin-top:20px}.quote-result .paper{max-width:none}.quote-preparation .boe-result{gap:18px}.quote-preparation .boe-result small{display:block;line-height:1.7;margin-top:6px;font-size:12px}.quote-preparation .boe-result strong{font-size:14px}.quote-preparation .quote-data .check{display:flex;gap:8px;align-items:center}.quote-preparation input[type="checkbox"]{width:18px;height:18px}.quote-preparation:focus,.quote-prep-section:focus,.quote-result:focus{outline:0}.preparation-pending button:focus-visible,.quote-step-nav button:focus-visible{outline:3px solid #7672bb;outline-offset:2px}
@media(max-width:1100px){.quote-preparation .quote-info,.quote-preparation .quote-data{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.quote-preparation .quote-info,.quote-preparation .quote-data{grid-template-columns:1fr}.quote-preparation label:has([data-field="address"]),.quote-preparation label:has([data-field="model"]){grid-column:auto}.preparation-status{flex-direction:column}.quote-step-nav{position:static}.quote-preparation .quote-tax-controls{width:100%;margin-right:0}.preparation-heading{flex-wrap:wrap}.preparation-heading>.button{margin-left:50px}.quote-preparation .boe-result{flex-direction:column;align-items:stretch}}
@media print{.quote-preparation,.quote-result>.preparation-heading,#view-quote>article.card,.field-issue{display:none!important}.quote-result{margin:0}.quote-result .quote-extra{border:0;background:white}.quote-result .quote-extra>summary{display:none}.quote-result .quote-extra>*:not(summary){display:block}}

.quote-preparation label:has([data-field="client"]){grid-column:span 2}.budget-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin:20px 0}.budget-summary dt{font-size:12px;color:#626a80;margin-bottom:3px}.budget-summary dd{margin:0;font-size:13px;overflow-wrap:anywhere}@media(max-width:600px){.quote-preparation label:has([data-field="client"]){grid-column:auto}.budget-summary{grid-template-columns:1fr}}

#case-assistant-dialog{width:min(940px,94vw);padding:26px}#case-assistant-dialog h2{font-size:23px;margin:0 0 10px;color:#292773}#case-assistant-dialog .dialog-head{align-items:flex-start;gap:20px}#case-assistant-dialog .help{line-height:1.6;font-size:13px}.assistant-message-label{display:block;font-size:14px;font-weight:600;margin:18px 0}#assistant-message{display:block;width:100%;box-sizing:border-box;margin-top:10px;padding:14px;font:inherit;font-size:15px;line-height:1.6;border:1px solid #c8cbe0;border-radius:9px;resize:vertical}#assistant-message:focus{outline:2px solid #6159aa;outline-offset:2px}#assistant-connection,#assistant-status{font-size:13px;line-height:1.6;color:#4d5571;min-height:20px}.assistant-proposal{display:flex;gap:12px;padding:16px;margin:12px 0;background:#f6f6fc;border:1px solid #dcdeed;border-radius:9px;align-items:flex-start;font-size:14px;line-height:1.6}.assistant-proposal input{width:19px;height:19px;flex:0 0 auto;margin-top:3px}.assistant-proposal small{display:block;margin-top:9px;color:#596278;font-size:12px}.assistant-question{display:block;width:100%;border:0;border-bottom:1px solid #dedfea;background:transparent;text-align:left;padding:11px;font:inherit;font-size:13px;line-height:1.5;color:#34316f;cursor:pointer}.assistant-log{white-space:pre-wrap;font-size:12px;line-height:1.6}#assistant-result{overflow-wrap:anywhere}#case-assistant-dialog .check{display:flex;gap:9px;align-items:flex-start;line-height:1.6;font-size:13px}#case-assistant-dialog .check input{width:18px;height:18px;flex:0 0 auto}#case-assistant-dialog .quote-actions{margin:20px 0}#case-assistant-dialog button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:600px){#case-assistant-dialog{padding:18px}.assistant-proposal{padding:12px}}

/* Persistent, non-modal case assistant: the page remains scrollable. */
.assistant-floating{position:fixed;right:22px;bottom:88px;z-index:1000}.assistant-launch{display:flex;align-items:center;gap:8px;border:1px solid #645bc5;border-radius:28px;padding:14px 20px;background:#35317a;color:white;box-shadow:0 6px 25px #28235438;font-weight:700}.assistant-launch:hover{background:#484192}.assistant-launch:focus-visible{outline:3px solid #a9a2e5;outline-offset:3px}body.auth-required .assistant-floating{display:none}#case-assistant-dialog[open]{position:fixed;inset:auto 22px 150px auto;margin:0;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 175px);overflow-y:auto;border:1px solid #d1d3e3;border-radius:18px;padding:22px;box-shadow:0 12px 55px #25234b38;z-index:1001;background:#fff}#case-assistant-dialog h2{font-size:20px}#case-assistant-dialog .quote-actions{display:flex;flex-wrap:wrap;gap:8px}#assistant-dictate{width:100%;margin:2px 0 10px}#assistant-dictate[aria-pressed=true]{background:#fbe9ed;color:#982b4a;border-color:#d9869d}#assistant-document-context{margin:12px 0;color:#596278}#assistant-message{min-height:115px}.assistant-dictation{margin-bottom:14px}@media(max-width:600px){.assistant-floating{right:12px;bottom:80px}.assistant-launch{padding:12px 16px;font-size:13px}#case-assistant-dialog[open]{right:12px;bottom:138px;width:calc(100vw - 24px);max-height:calc(100dvh - 158px);padding:18px}}@media print{.assistant-floating,#case-assistant-dialog{display:none!important}}

#case-assistant-dialog[open]{display:flex;flex-direction:column;padding:0}#case-assistant-dialog .dialog-head{padding:18px 20px 12px;border-bottom:1px solid #e8e8f2;flex:0 0 auto}#case-assistant-dialog .dialog-head .help{font-size:12px;line-height:1.45}#case-assistant-dialog .assistant-body{padding:16px 20px;overflow-y:auto;min-height:0;overscroll-behavior:contain}#case-assistant-dialog>.quote-actions{flex:0 0 auto;margin:0;padding:12px 20px;border-top:1px solid #e8e8f2;background:#f8f8fc}#case-assistant-dialog>.quote-actions .button{font-size:12px;padding:10px 12px}#case-assistant-dialog .notice{font-size:12px;line-height:1.45}#case-assistant-dialog .assistant-message-label{margin:12px 0}#case-assistant-dialog .assistant-body .help{font-size:12px;line-height:1.45}

#assistant-apply[hidden]{display:none!important}

.assistant-feedback{flex:0 0 100%;width:100%;padding-bottom:8px}.assistant-feedback-heading{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}#case-assistant-dialog #assistant-status{margin:0;font-size:12px;line-height:1.45;color:#35317a;font-weight:600;min-height:0}#assistant-elapsed{font-size:11px;white-space:nowrap;color:#69708a}#assistant-progress{display:block;width:100%;height:7px;margin-top:8px;accent-color:#51469e}#assistant-progress[hidden]{display:none}#case-assistant-dialog[data-working=true] .assistant-feedback{border-radius:8px;background:#eeecfa;padding:10px}#case-assistant-dialog[data-working=true] #assistant-send{cursor:progress}.assistant-feedback:has(#assistant-status:empty){display:none}

/* BOE comparison: differences are readable beside their score. */
.boe-comparison{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:8px 0;font-size:13px}.boe-score{flex:0 1 250px;color:#302569}.boe-differences{flex:1 1 260px;background:#fff0f1;color:#a11929;border-left:4px solid #c1263b;padding:9px 12px;border-radius:6px}.boe-differences p{margin:3px 0;color:inherit;font-size:13px}.boe-no-differences{flex:1 1 260px;color:#385847;font-size:13px}.boe-result>div{min-width:0;flex:1}

.phase-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.phase-client-control{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:400;cursor:pointer}.phase-client-control input{width:18px;height:18px;accent-color:#302569}.phase-provided-row td{background:#f0f8f5;color:#235d49;font-weight:600}
