.portal-quotes{--q-line:var(--line,#dce4df);--q-muted:var(--muted,#63716d);--q-green:var(--green,#256651);--q-action:var(--red,#a12647);color:var(--text,#253b37);line-height:1.65;max-width:1080px}
.portal-quotes [hidden]{display:none!important}
.portal-quotes h2{font-size:1.35rem;line-height:1.3;margin:0 0 12px}
.portal-quotes h3{font-size:1rem;line-height:1.4;margin:0 0 12px}
.portal-quotes p{margin:0 0 14px}
.portal-quotes .quote-mode{display:inline-flex;border-radius:30px;background:#e7f1eb;color:#235c49;font-weight:650;padding:5px 12px;font-size:.8rem}
.portal-quotes .quote-boundary{color:var(--q-muted);max-width:88ch;font-size:.87rem}
.portal-quotes .quote-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:25px 0 16px;flex-wrap:wrap}
.portal-quotes .quote-toolbar h2{margin:0}
.portal-quotes .agreement-panel{border:1px solid var(--q-line);border-radius:13px;padding:24px;background:#fff;min-width:0;margin:20px 0}
.portal-quotes legend{font-weight:700;font-size:1.05rem;padding:0 8px}
.portal-quotes .agreement-field{display:flex;flex-direction:column;gap:7px;margin-bottom:21px;min-width:0}
.portal-quotes .agreement-field label,.portal-quotes .agreement-label{font-weight:650;font-size:.9rem}
.portal-quotes .agreement-field input,.portal-quotes .agreement-field select,.portal-quotes .agreement-field textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #c5d2ca;border-radius:8px;padding:11px 12px;background:#fff;color:#18372f;font:inherit;font-size:.9rem;line-height:1.5}
.portal-quotes .agreement-field textarea{resize:vertical;min-height:98px}
.portal-quotes small,.portal-quotes .agreement-subtle,.portal-quotes .agreement-inline-note,.portal-quotes .agreement-privacy-note{color:var(--q-muted);font-size:.81rem;line-height:1.6}
.portal-quotes .agreement-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.portal-quotes .agreement-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
.portal-quotes .agreement-check{display:flex;align-items:flex-start;gap:9px;font-size:.85rem!important;font-weight:450!important;padding:6px 0}
.portal-quotes .agreement-check input{width:17px!important;height:17px;margin:4px 0 0;flex:none;accent-color:var(--q-green)}
.portal-quotes .agreement-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--q-action);border-radius:8px;background:var(--q-action);color:white;font:inherit;font-size:.86rem;font-weight:650;cursor:pointer;text-align:center}
.portal-quotes .agreement-button--secondary{color:#245b48;background:white;border-color:var(--q-line)}
.portal-quotes .agreement-text-button{border:0;background:none;color:#245b48;font:inherit;font-size:.88rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:8px 0}
.portal-quotes :disabled{cursor:not-allowed;opacity:.55}
.portal-quotes :focus-visible{outline:3px solid var(--q-action);outline-offset:3px}
.portal-quotes [aria-invalid=true]{border-color:#ae3045!important}
.portal-quotes .agreement-badge{display:inline-block;background:#eef1f0;color:#455851;padding:4px 10px;border-radius:20px;font-size:.76rem;margin-bottom:12px}
.portal-quotes .agreement-quote-list{display:grid;gap:12px}
.portal-quotes .agreement-quote-card{display:flex;align-items:center;justify-content:space-between;gap:22px;background:white;border:1px solid var(--q-line);border-radius:12px;padding:20px;overflow-wrap:anywhere}
.portal-quotes .agreement-quote-card h3{margin:0 0 7px}.portal-quotes .agreement-quote-card p{margin:3px 0;font-size:.86rem;color:var(--q-muted)}
.portal-quotes .agreement-quote-card>div:last-child{display:flex;flex-direction:column;align-items:flex-end;flex:none}
.portal-quotes .agreement-quote-card .agreement-badge{margin-bottom:8px}
.portal-quotes .agreement-sticky-actions{position:sticky;bottom:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px;background:#fff;border:1px solid var(--q-line);border-radius:12px;box-shadow:0 6px 24px #183a3210;z-index:1}
.portal-quotes #draft-save-note{font-size:.82rem;color:var(--q-muted)}
.portal-quotes summary{font-size:1.05rem;font-weight:700;cursor:pointer;margin-bottom:18px}
.portal-quotes .agreement-subprocessor{border:1px solid var(--q-line);border-radius:10px;padding:18px;margin:20px 0;background:#f9fbf9}
.portal-quotes .agreement-subprocessor header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.portal-quotes .agreement-subprocessor header h3{margin:0}
.portal-quotes .agreement-review-grid{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:0;margin:16px 0 24px;font-size:.89rem}
.portal-quotes .agreement-review-grid dt,.portal-quotes .agreement-review-grid dd{padding:12px 10px;border-bottom:1px solid var(--q-line);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.portal-quotes .agreement-review-grid dt{font-weight:650;color:#4d6358}
.portal-quotes .agreement-completeness{padding:18px;background:#faeef0;border-radius:10px}.portal-quotes .agreement-completeness li{margin:7px 0}
.portal-quotes .agreement-empty{padding:35px 20px;border:1px dashed #bbcec0;border-radius:12px;background:white;text-align:center;color:var(--q-muted)}
.portal-quotes .agreement-missing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;list-style:none;padding:0}
.portal-quotes .agreement-missing-fields li{margin:0}.portal-quotes .agreement-missing-fields small{display:block}
.portal-quotes [tabindex="-1"]:focus{outline:none}
.portal-quotes .agreement-preview-dialog{padding:0;margin:auto;width:min(940px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--q-line);border-radius:14px;box-sizing:border-box}
.portal-quotes .agreement-preview-dialog::backdrop{background:#10231acc}
.portal-quotes .agreement-preview-dialog .portal-preview-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;position:sticky;top:0;background:#fff;border-bottom:1px solid var(--q-line);z-index:2}
.portal-quotes .agreement-preview-dialog .portal-preview-head h2{margin:0}
.portal-quotes .agreement-preview-dialog .portal-preview-content{padding:22px 24px;overflow-wrap:anywhere}
@media(max-width:700px){.portal-quotes .agreement-preview-dialog{width:100%;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.portal-quotes .agreement-preview-dialog .portal-preview-head{padding:16px;gap:10px;align-items:flex-start}.portal-quotes .agreement-preview-dialog .portal-preview-head h2{font-size:1.15rem}.portal-quotes .agreement-preview-dialog .portal-preview-content{padding:18px 16px}.portal-quotes .agreement-preview-dialog .agreement-button{flex:none}}
@media(max-width:700px){.portal-quotes .agreement-missing-fields{grid-template-columns:1fr}.portal-quotes .agreement-field input,.portal-quotes .agreement-field select,.portal-quotes .agreement-field textarea{font-size:16px}}
@media(max-width:700px){.portal-quotes .agreement-panel{padding:18px 14px}.portal-quotes .agreement-field-grid,.portal-quotes .agreement-service-options{grid-template-columns:1fr}.portal-quotes .agreement-quote-card{flex-direction:column;align-items:stretch;padding:17px}.portal-quotes .agreement-quote-card>div:last-child{align-items:flex-start}.portal-quotes .agreement-review-grid{display:block}.portal-quotes .agreement-review-grid dt{padding:13px 0 3px;border:0}.portal-quotes .agreement-review-grid dd{padding:0 0 13px}.portal-quotes .agreement-sticky-actions{bottom:4px;padding:12px}.portal-quotes .agreement-button{min-height:45px}.portal-quotes #draft-save-note{width:100%}}
