.quote-header{border-bottom:1px solid var(--card-border);background:rgba(255,255,255,.9)}
.quote-header .container{display:flex;justify-content:space-between;align-items:center;min-height:78px;gap:20px}
.quote-header span{font-size:.9rem;color:var(--muted)}
.quote-main{padding:48px 24px 32px;min-height:calc(100svh - 160px)}
.quote-workspace{max-width:760px;margin:0 auto}
.quote-shell{background:#fff;border:1px solid var(--card-border);border-radius:24px;padding:36px 44px;box-shadow:0 14px 50px rgba(15,25,40,.07);scroll-margin-top:24px}
.quote-shell.quote-welcome{background:transparent;border:0;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:440px;padding:24px 0}
.quote-welcome h1{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.2;letter-spacing:-.04em;margin:0 0 36px}
.quote-welcome h1 span{color:var(--accent)}
.quote-welcome .btn{min-width:150px;display:flex;justify-content:space-between;gap:32px}
.quote-progress{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.82rem;color:var(--muted)}
.quote-shell progress{width:100%;height:6px;accent-color:var(--accent-bright);margin:14px 0 36px;border:0}
.quote-shell h2{font-size:clamp(1.55rem,3.5vw,2rem);line-height:1.3;margin:0 0 24px;letter-spacing:-.02em;outline:none}
.quote-field{margin:0 0 28px}
.quote-question-label{display:block;margin-bottom:10px;color:var(--muted);font-size:.85rem}
.quote-field input:not([type=checkbox]),.quote-field select,.quote-field textarea{display:block;width:100%;font:inherit;color:var(--ink);border:1px solid #9caabd;border-radius:10px;padding:14px 16px;background:#fff;min-height:52px}
.quote-field input[type=number]{max-width:260px}
.quote-field textarea{min-height:120px;resize:vertical}
.quote-field input:focus,.quote-field textarea:focus,.quote-field select:focus{outline:3px solid var(--accent-soft);border-color:var(--accent-bright)}
.quote-field input[type=date]{color-scheme:light;max-width:320px}
.quote-field fieldset,fieldset.quote-field{border:0;padding:0;min-width:0}
.quote-field legend{font-size:.85rem;color:var(--muted);margin-bottom:16px}
.quote-optional{font-size:.85rem;color:var(--muted)}
.quote-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quote-choice{display:flex;align-items:center;gap:12px;border:1px solid #b8c4d4;border-radius:10px;min-height:62px;padding:14px;cursor:pointer;font-size:.95rem}
.quote-choice:has(input:checked){background:#edf4ff;border:2px solid var(--accent-bright);padding:13px}
.quote-choice input,.quote-unknown input,.quote-consent input{width:20px;height:20px;accent-color:var(--accent-bright);flex-shrink:0}
.quote-unknown{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:.9rem}
.quote-field-help{margin:0 0 14px;color:var(--muted);font-size:.85rem}
.quote-field-help summary{cursor:pointer;color:var(--accent)}
.quote-help{line-height:1.6;margin:10px 0}
.quote-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid var(--card-border);padding-top:24px;margin-top:28px}
.quote-actions .quote-next{margin-left:auto;min-width:100px}
.quote-shell .btn{font:inherit;cursor:pointer}
.quote-shell button:focus-visible,.quote-choice:focus-within{outline:3px solid var(--accent-bright);outline-offset:3px}
.quote-shell button:disabled{opacity:.6;cursor:wait}
.quote-link{background:none;border:0;color:var(--accent);font:inherit;font-size:.88rem;text-decoration:underline;cursor:pointer;padding:6px}
.quote-error{color:#ad2020;font-size:.9rem;font-weight:600;margin:12px 0;scroll-margin:24px}
.quote-shell [hidden]{display:none!important}
.quote-repeat-row{display:flex;align-items:center;gap:8px;margin:8px 0}
.quote-repeat-row input{flex:1;min-width:0}
.quote-summary{padding:20px 0;border-top:1px solid var(--card-border)}
.quote-summary h3{font-size:1.05rem;margin:0}
.quote-summary dl{margin-bottom:0}
.quote-summary dt{font-weight:600;margin-top:16px;font-size:.9rem}
.quote-summary dd{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:6px 0 0;color:var(--muted);font-size:.9rem}
.quote-summary dd span{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}
.quote-summary dd button{flex-shrink:0}
.quote-consent{display:flex;gap:12px;align-items:flex-start;margin-top:24px;font-size:.95rem;line-height:1.6}
.quote-note{font-size:.8rem;color:var(--muted);line-height:1.65;margin:20px 0}
.quote-status{background:#edf4ff;border-radius:10px;padding:16px}
.quote-honey{position:absolute;left:-10000px}
.quote-print-title{display:none}
.quote-footer{display:flex;justify-content:center;gap:24px;padding:24px;font-size:.85rem;color:var(--muted)}
@media(max-width:600px){
 .quote-header .container{min-height:68px}.quote-header .logo img{height:32px}.quote-header span{font-size:.75rem}
 .quote-main{padding:24px 16px;min-height:calc(100svh - 140px)}
 .quote-shell{padding:28px 20px;border-radius:18px}
 .quote-shell.quote-welcome{min-height:360px;padding:16px 4px}
 .quote-choices{grid-template-columns:1fr}
 .quote-shell progress{margin-bottom:28px}
 .quote-actions .btn{padding:12px 16px}
}
@media print{
 .quote-header,.quote-footer,.quote-progress,progress,.quote-actions,.quote-consent,.quote-note,.quote-status,.quote-summary button{display:none!important}
 .quote-main{padding:0}.quote-shell{border:0;box-shadow:none;padding:0}.quote-shell .quote-print-title{display:block}
 .quote-summary{break-inside:avoid}body{background:#fff}
}
.quote-shell progress{appearance:none;-webkit-appearance:none;background:#e7edf5;border-radius:6px;overflow:hidden}
.quote-shell progress::-webkit-progress-bar{background:#e7edf5;border-radius:6px}
.quote-shell progress::-webkit-progress-value{background:var(--accent-bright);border-radius:6px}
.quote-shell progress::-moz-progress-bar{background:var(--accent-bright);border-radius:6px}
