:root {
  --navy: #201c2b;
  --blue: #6c4cff;
  --deep-blue: #2a2338;
  --green: #ff795f;
  --green-dark: #6c4cff;
  --pale-blue: #f0edff;
  --page: #f6f4f0;
  --muted: #716b7b;
  --border: #e7e2eb;
  --error: #c93453;
  --white: #fff;
  font-family: "Manrope", Helvetica, Arial, sans-serif;
  color: var(--navy);
  background: var(--page);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--page); }
button, input, select { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration:.58s; animation-timing-function:cubic-bezier(.76,0,.24,1); animation-fill-mode:both; mix-blend-mode:normal; }
::view-transition-old(root) { z-index:1; }
::view-transition-new(root) { z-index:2; }
html[data-page-transition="forward"]::view-transition-old(root) { animation-name:blur-out-left; }
html[data-page-transition="forward"]::view-transition-new(root) { animation-name:blur-in-right; }
html[data-page-transition="backward"]::view-transition-old(root) { animation-name:blur-out-right; }
html[data-page-transition="backward"]::view-transition-new(root) { animation-name:blur-in-left; }
@keyframes blur-out-left { to { opacity:0; filter:blur(14px); transform:translateX(-6%) scale(.98); } }
@keyframes blur-in-right { from { opacity:0; filter:blur(14px); transform:translateX(6%) scale(1.02); } }
@keyframes blur-out-right { to { opacity:0; filter:blur(14px); transform:translateX(6%) scale(.98); } }
@keyframes blur-in-left { from { opacity:0; filter:blur(14px); transform:translateX(-6%) scale(1.02); } }
.app-version { position:fixed; z-index:50; left:9px; bottom:7px; padding:3px 6px; border:1px solid rgba(32,28,43,.08); border-radius:6px; color:#6f6878; background:rgba(255,255,255,.82); font-size:8px; font-weight:700; letter-spacing:.04em; line-height:1; pointer-events:none; backdrop-filter:blur(4px); }
.consultant-session { position:fixed; z-index:60; top:14px; right:18px; max-width:min(520px,calc(100vw - 36px)); padding:8px 10px 8px 13px; display:flex; align-items:center; gap:12px; border:1px solid rgba(181,250,12,.36); border-radius:999px; color:#fff; background:rgba(32,34,49,.88); box-shadow:0 10px 28px rgba(0,0,0,.2); font-size:10px; font-weight:700; backdrop-filter:blur(10px); }
.consultant-session > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.consultant-session-actions { flex:0 0 auto; display:flex; align-items:center; gap:6px; }
.consultant-session button, .consultant-session a { min-height:27px; padding:5px 9px; border:0; border-radius:999px; color:#202231; background:rgba(255,255,255,.14); font-size:9px; font-weight:800; letter-spacing:.03em; text-decoration:none; white-space:nowrap; }
.consultant-session button { color:#d9ff8a; background:rgba(181,250,12,.12); }
.consultant-session .consultant-proposals-link { color:#d9ff8a; background:rgba(181,250,12,.12); }
.consultant-session button:hover, .consultant-session a:hover { color:#202231; background:#d0ff62; }
.consultant-session a strong { font-size:9px; letter-spacing:.05em; text-transform:uppercase; }
.consultant-session a[data-consultant-home], .consultant-session a:has(strong) { color:#f6f7ff; }
.dashboard-mode .hero, .dashboard-mode .quote-page { display:none !important; }
.dashboard-mode { background:#10111b; }
.consultant-dashboard { min-height:100vh; padding:100px 28px 60px; color:#f6f7ff; background:radial-gradient(circle at 10% 0%,rgba(118,36,243,.26),transparent 40rem),#10111b; }
.consultant-dashboard-shell { width:min(100%,1100px); margin:0 auto; }
.consultant-dashboard-header { margin-bottom:32px; }
.consultant-dashboard-header > span { color:#b5fa0c; font-size:11px; font-weight:800; letter-spacing:.16em; }
.consultant-dashboard-header h1 { margin:12px 0; font-family:"Bricolage Grotesque",sans-serif; font-size:clamp(30px,5vw,48px); line-height:1.1; letter-spacing:-.04em; }
.consultant-dashboard-header p { margin:0; color:#b2b5c8; font-size:14px; line-height:1.6; }
.consultant-dashboard-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.consultant-dashboard-card { min-width:0; min-height:250px; padding:26px; display:flex; flex-direction:column; align-items:flex-start; border:1px solid #3d4160; border-radius:20px; color:#f6f7ff; background:#1b1d2b; font:inherit; text-align:left; text-decoration:none; transition:transform .2s,border-color .2s,background .2s; }
.consultant-dashboard-card:hover { transform:translateY(-4px); border-color:#b5fa0c; background:#25283a; }
.consultant-dashboard-card:focus-visible { outline:3px solid #b5fa0c; outline-offset:4px; }
.consultant-dashboard-card.featured { border-color:rgba(181,250,12,.5); background:linear-gradient(135deg,#303d22,#1b1d2b); }
.consultant-card-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:12px; color:#b5fa0c; background:rgba(181,250,12,.1); font-size:26px; line-height:1; }
.consultant-dashboard-card h2 { margin:20px 0 8px; font-size:20px; letter-spacing:-.02em; }
.consultant-dashboard-card p { margin:0 0 24px; color:#b2b5c8; font-size:12px; line-height:1.65; }
.consultant-card-action { margin-top:auto; color:#b5fa0c; font-size:11px; font-weight:800; }
.consultant-share-actions { flex-wrap:wrap; }
@media (max-width:900px) { .consultant-dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .consultant-dashboard { padding:92px 18px 40px; } .consultant-dashboard-grid { grid-template-columns:1fr; gap:14px; } .consultant-dashboard-card { min-height:220px; padding:22px; } }
.consultant-share-dialog { width:min(calc(100% - 32px),480px); max-width:none; padding:0; border:1px solid #3d4160; border-radius:18px; color:#f6f7ff; background:#1b1d2b; box-shadow:0 24px 80px rgba(0,0,0,.48); }
.consultant-share-dialog::backdrop { background:rgba(12,13,22,.72); backdrop-filter:blur(5px); }
.consultant-share-content { padding:25px; }
.consultant-share-content > span { color:#b5fa0c; font-size:9px; font-weight:800; letter-spacing:.16em; }
.consultant-share-content h2 { margin:9px 0 7px; font-size:22px; letter-spacing:-.03em; }
.consultant-share-content p { margin:0 0 19px; color:#b2b5c8; font-size:12px; line-height:1.5; }
.consultant-share-content label { display:block; margin-bottom:6px; color:#b2b5c8; font-size:10px; font-weight:800; }
.consultant-share-content input { width:100%; min-height:42px; padding:0 11px; border:1px solid #3d4160; border-radius:9px; outline:0; color:#f6f7ff; background:#10111b; font-size:11px; }
.consultant-share-actions { display:flex; gap:8px; margin-top:12px; }
.consultant-share-actions button { min-height:38px; padding:0 13px; border:0; border-radius:9px; color:#17191f; background:#b5fa0c; font-size:10px; font-weight:800; }
.consultant-share-actions button[data-close-consultant-link] { color:#f6f7ff; background:#35384d; }
.consultant-share-content > small { display:block; min-height:15px; margin-top:10px; color:#d9ff8a; font-size:10px; }
.consultant-ads-dialog { width:min(calc(100% - 28px),960px); }
.consultant-ads-content { max-height:min(86vh,900px); padding:24px; overflow:auto; }
.consultant-ads-content > span { color:#b5fa0c; font-size:9px; font-weight:800; letter-spacing:.16em; }
.consultant-ads-content h2 { margin:9px 0 7px; font-size:22px; letter-spacing:-.03em; }
.consultant-ads-content > p { margin:0 0 16px; color:#b2b5c8; font-size:12px; line-height:1.5; }
.consultant-ads-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.consultant-ads-provider { min-width:0; padding:15px; display:grid; align-content:start; gap:9px; border:1px solid #3d4160; border-radius:13px; background:#151722; }
.consultant-ads-provider h3 { margin:0 0 2px; color:#f6f7ff; font-size:15px; }
.consultant-ads-provider > label:not(.consultant-ads-option) { margin-top:3px; color:#b2b5c8; font-size:10px; font-weight:800; }
.consultant-ads-field-help { margin-top:-5px; color:#9297ad; font-size:9px; line-height:1.4; }
.consultant-ads-provider > input, .consultant-ads-provider > textarea { width:100%; min-width:0; min-height:38px; padding:8px 10px; border:1px solid #3d4160; border-radius:8px; outline:0; color:#f6f7ff; background:#10111b; font:500 10px/1.45 "IBM Plex Mono",monospace; }
.consultant-ads-provider > textarea { min-height:72px; resize:vertical; }
.consultant-ads-provider > input:focus, .consultant-ads-provider > textarea:focus { border-color:#b5fa0c; box-shadow:0 0 0 3px rgba(181,250,12,.12); }
.consultant-ads-provider .consultant-ads-label { margin-top:-4px; }
.consultant-ads-option { min-width:0; display:flex; align-items:flex-start; gap:9px; padding:8px 9px; border:1px solid rgba(255,255,255,.08); border-radius:9px; background:rgba(255,255,255,.035); cursor:pointer; }
.consultant-ads-option > input { flex:0 0 auto; width:15px; height:15px; margin:1px 0 0; accent-color:#b5fa0c; }
.consultant-ads-option span { min-width:0; }
.consultant-ads-option strong, .consultant-ads-option small { display:block; }
.consultant-ads-option strong { color:#f6f7ff; font-size:10px; }
.consultant-ads-option small { margin-top:3px; color:#9297ad; font-size:9px; line-height:1.4; }
.consultant-ads-copy { min-height:32px; padding:0 10px; border:1px solid rgba(181,250,12,.35); border-radius:8px; color:#d9ff8a; background:rgba(181,250,12,.09); font-size:9px; font-weight:800; }
.consultant-ads-copy:hover { border-color:#b5fa0c; background:rgba(181,250,12,.16); }
.consultant-ads-help { display:block; margin-top:12px; color:#a8acc0; font-size:10px; line-height:1.5; }
.consultant-ads-status { min-height:16px; margin:8px 0 0; color:#d9ff8a; font-size:10px; }
.consultant-ads-status.error { color:#ffc8d4; }
.consultant-ads-actions { display:flex; justify-content:flex-end; gap:8px; }
.consultant-ads-actions button { min-height:38px; padding:0 14px; border:0; border-radius:9px; color:#17191f; background:#b5fa0c; font-size:10px; font-weight:800; }
.consultant-ads-actions button[data-close-consultant-ads] { color:#f6f7ff; background:#35384d; }
.consultant-ads-actions button:disabled { cursor:wait; opacity:.6; }
.update-notice { position:fixed; z-index:1000; left:50%; bottom:24px; width:min(calc(100% - 32px),460px); padding:11px 12px 11px 17px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-radius:14px; color:#fff; background:#2a2338; box-shadow:0 18px 48px rgba(32,28,43,.28); font-size:11px; font-weight:800; transform:translateX(-50%); }
.update-notice button { flex:0 0 auto; min-height:35px; padding:0 13px; border:0; border-radius:9px; color:#211c2c; background:#ff795f; font-size:9px; font-weight:800; }

.site-header {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 72px;
  padding: 12px max(20px, calc((100vw - 1180px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(32, 28, 43, .94);
  backdrop-filter: blur(12px);
}

.header-label { color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .2em; }
.header-action, .primary { border: 0; border-radius: 999px; background: var(--green); color: var(--navy); font-weight: 800; transition: .2s ease; }
.header-action { padding: 12px 20px; font-size: 13px; box-shadow: 0 3px 18px rgba(255, 121, 95, .2); }
.header-action:hover, .primary:hover:not(:disabled) { color: white; background: var(--blue); transform: translateY(-1px); }

.hero {
  position: relative;
  min-height: 100svh;
  padding: 28px max(24px, calc((100vw - 1320px) / 2)) 22px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  overflow: hidden;
  color: #f4f2ff;
  background: #17141f;
  font-family: "Manrope", sans-serif;
}
.hero-mast { display:flex; align-items:center; justify-content:space-between; padding-bottom:22px; border-bottom:1px solid rgba(244,242,255,.16); }
.hero-mast, .hero-grid, .hero-foot { position:relative; z-index:1; }
.hero-brand { display:flex; align-items:center; gap:11px; color:#f4f2ff; text-decoration:none; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#17141f; background:#ff765e; font:800 19px/1 "Bricolage Grotesque",sans-serif; transform:rotate(-8deg); }
.hero-brand strong, .hero-brand small { display:block; }
.hero-brand strong { font:700 11px/1.1 "IBM Plex Mono",monospace; letter-spacing:.1em; }
.hero-brand small { margin-top:3px; color:#aba5b8; font-size:9px; font-weight:600; }
.hero-mast > p { margin:0; display:flex; align-items:center; gap:8px; color:#c9c4d2; font:600 10px/1 "IBM Plex Mono",monospace; text-transform:uppercase; }
.hero-mast > p span { width:7px; height:7px; border-radius:50%; background:#a7f3c7; box-shadow:0 0 0 4px rgba(167,243,199,.12); }
.hero-grid { min-width:0; min-height:0; padding:46px 0 38px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr); align-items:center; gap:clamp(36px,5vw,80px); }
.hero-copy { position:relative; z-index:2; min-width:0; }
.eyebrow, .step-tag { color:var(--green); font-size:12px; font-weight:800; letter-spacing:.17em; }
.hero .eyebrow { margin:0 0 20px; color:#ff8b74; font:600 10px/1.2 "IBM Plex Mono",monospace; }
.hero h1 { max-width:720px; margin:0; font:700 clamp(46px,5vw,76px)/.97 "Bricolage Grotesque",sans-serif; letter-spacing:-.055em; }
.hero h1 span { color:#b9afff; }
.hero-text { max-width:590px; margin:25px 0 0; color:#c8c3d1; font-size:clamp(15px,1.35vw,18px); line-height:1.65; }
.hero-actions { margin-top:31px; display:flex; align-items:center; gap:20px; }
.hero-action { min-height:58px; padding:0 8px 0 23px; display:inline-flex; align-items:center; gap:22px; border-radius:8px; font-size:14px; }
.hero-action span { width:42px; height:42px; display:grid; place-items:center; border-radius:6px; color:#fff; background:#17141f; font-size:18px; transition:transform .2s ease; }
.hero-action:hover:not(:disabled) { color:#17141f; background:#b9afff; transform:none; }
.hero-action:hover span { transform:translate(2px,-2px); }
.hero-actions > small { max-width:155px; color:#8f8999; font-size:9px; line-height:1.5; }
.hero-actions > small b { color:#ded9e6; font-weight:700; }
.hero-points { margin-top:38px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(244,242,255,.16); }
.hero-points span { padding:14px 12px 0 0; color:#b7b1c0; font-size:9px; font-weight:600; line-height:1.4; }
.hero-points b { margin-right:5px; color:#ff8b74; font:600 8px/1 "IBM Plex Mono",monospace; }
.hero-art { position:relative; min-width:0; min-height:520px; display:grid; place-items:center; }
.hero-visual-wrap { position:relative; width:min(90%,650px); }
.hero-visual { width:100%; height:auto; display:block; }
.hero-map-heading, .hero-map-caption, .hero-coverage-label { position:absolute; z-index:2; background:rgba(23,20,31,.94); }
.hero-map-heading { top:11%; left:50%; padding:7px 10px; border:1px solid rgba(244,242,255,.24); border-radius:5px; color:#c6c0d0; font:600 9px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; transform:translateX(-50%); white-space:nowrap; }
.hero-map-heading b { color:#a7f3c7; }
.hero-coverage-label { padding:5px 7px; display:flex; align-items:center; gap:8px; border:0; border-radius:6px; color:#f4f2ff; font:800 13px/1.22 "Manrope",sans-serif; text-align:left; box-shadow:0 3px 12px rgba(0,0,0,.16); cursor:pointer; transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease; }
.hero-coverage-label > i { flex:0 0 auto; width:14px; height:14px; display:block; border:4px solid #17141f; border-radius:50%; background:#ff765e; box-shadow:0 0 0 1px #ff765e; animation:coverage-point-pulse 2.4s ease-in-out infinite; }
.hero-coverage-label:hover, .hero-coverage-label:focus-visible, .hero-coverage-label:focus { z-index:5; outline:0; transform:translateY(-2px); background:#2c2736; box-shadow:0 10px 24px rgba(0,0,0,.3); }
.hero-coverage-label:focus-visible { box-shadow:0 0 0 2px #b9afff,0 10px 24px rgba(0,0,0,.3); }
.hero-coverage-detail { position:absolute; z-index:6; width:220px; padding:13px 14px; display:block; border:1px solid rgba(185,175,255,.35); border-radius:10px; color:#c9c4d2; background:rgba(30,26,39,.98); font:500 11px/1.5 "Manrope",sans-serif; text-align:left; box-shadow:0 16px 36px rgba(0,0,0,.38); pointer-events:none; opacity:0; visibility:hidden; transform:translateY(-4px) scale(.96); transform-origin:top center; transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.hero-coverage-detail strong { margin-bottom:4px; display:block; color:#a7f3c7; font-size:10px; letter-spacing:.03em; text-transform:uppercase; }
.hero-label-theft .hero-coverage-detail, .hero-label-collision .hero-coverage-detail { top:calc(100% + 9px); }
.hero-label-assistance .hero-coverage-detail, .hero-label-reserve .hero-coverage-detail { bottom:calc(100% + 9px); transform:translateY(4px) scale(.96); transform-origin:bottom center; }
.hero-label-theft .hero-coverage-detail, .hero-label-assistance .hero-coverage-detail { left:0; }
.hero-label-collision .hero-coverage-detail, .hero-label-reserve .hero-coverage-detail { right:0; }
.hero-coverage-label:hover .hero-coverage-detail, .hero-coverage-label:focus .hero-coverage-detail { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
@keyframes coverage-point-pulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.2); } }
.hero-label-theft { top:22%; left:14%; }
.hero-label-collision { top:19%; right:14%; }
.hero-label-assistance { bottom:21%; left:14%; }
.hero-label-assistance i { background:#a7f3c7; box-shadow:0 0 0 1px #a7f3c7; }
.hero-label-reserve { right:14%; bottom:21%; text-align:right; }
.hero-label-reserve i { background:#b9afff; box-shadow:0 0 0 1px #b9afff; }
.hero-map-caption { left:50%; bottom:25.5%; padding:4px 7px; color:#a7f3c7; font:600 9px/1 "IBM Plex Mono",monospace; letter-spacing:.16em; transform:translateX(-50%); white-space:nowrap; }
.hero-foot { padding-top:18px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(244,242,255,.16); color:#918b9c; font:500 9px/1.4 "IBM Plex Mono",monospace; text-transform:uppercase; }
.hero-foot p { margin:0; }
.hero-foot strong { color:#f4f2ff; }

body[data-quote-theme="home"] { --quote-bg:#17141f; --quote-surface:#24202d; --quote-surface-strong:#2b2634; --quote-surface-soft:#332d3f; --quote-field:#1c1923; --quote-disabled:#302b37; --quote-text:#f5f2fb; --quote-muted:#b8b1c1; --quote-border:#484151; --quote-accent:#9b85ff; --quote-error:#ff7893; --quote-success:#8ff0c3; --quote-success-surface:#193b30; --quote-shadow:rgba(0,0,0,.28); }
body[data-quote-theme="black"] { --quote-bg:#000; --quote-surface:#111; --quote-surface-strong:#181818; --quote-surface-soft:#202020; --quote-field:#090909; --quote-disabled:#272727; --quote-text:#fff; --quote-muted:#c4c4c4; --quote-border:#3c3c3c; --quote-accent:#a995ff; --quote-error:#ff7893; --quote-success:#92f2c6; --quote-success-surface:#102e25; --quote-shadow:rgba(0,0,0,.48); }
body[data-quote-theme="white"] { --quote-bg:#fff; --quote-surface:#fff; --quote-surface-strong:#f8f7fa; --quote-surface-soft:#f0edff; --quote-field:#fff; --quote-disabled:#f1f2f4; --quote-text:#201c2b; --quote-muted:#716b7b; --quote-border:#e2dde6; --quote-accent:#6c4cff; --quote-error:#c93453; --quote-success:#087c47; --quote-success-surface:#e7fbf2; --quote-shadow:rgba(42,35,56,.08); }
body[data-quote-theme="home"] .quote-page, body[data-quote-theme="home"] .coverage-dialog, body[data-quote-theme="black"] .quote-page, body[data-quote-theme="black"] .coverage-dialog { color-scheme:dark; }
body[data-quote-theme="white"] .quote-page, body[data-quote-theme="white"] .coverage-dialog { color-scheme:light; }
.quote-page { min-height:100vh; padding:112px 16px 60px; color:var(--quote-text,#201c2b); background:var(--quote-bg,var(--page)); transition:color .2s ease,background-color .2s ease; }
.quote-mode .site-header { display:none; }
.quote-mode .quote-page { padding-top:32px; }
body[data-app-audience="consultant"].quote-mode .quote-page { padding-top:78px; }
.quote-shell { width: min(100%, 1050px); margin: 0 auto; transition: width .3s ease; }
.quote-theme-picker { width:max-content; margin:-44px 0 18px auto; padding:4px; display:flex; align-items:center; gap:3px; border:1px solid var(--quote-border); border-radius:12px; background:var(--quote-surface); box-shadow:0 8px 22px var(--quote-shadow); }
body[data-app-audience="consultant"].quote-mode .quote-theme-picker { margin-top:0; }
.quote-theme-picker > span { padding:0 7px; color:var(--quote-muted); font:700 8px/1 "IBM Plex Mono",monospace; text-transform:uppercase; letter-spacing:.1em; }
.quote-theme-picker button { min-height:31px; padding:0 9px; display:flex; align-items:center; gap:6px; border:1px solid transparent; border-radius:8px; color:var(--quote-muted); background:transparent; font-size:9px; font-weight:800; }
.quote-theme-picker button:hover { color:var(--quote-text); background:var(--quote-surface-soft); }
.quote-theme-picker button[aria-pressed="true"] { border-color:var(--quote-border); color:var(--quote-text); background:var(--quote-surface-soft); }
.quote-theme-picker i { width:10px; height:10px; border:1px solid rgba(128,128,128,.55); border-radius:50%; background:#17141f; }
.quote-theme-picker [data-quote-theme="black"] i { background:#000; }
.quote-theme-picker [data-quote-theme="white"] i { background:#fff; }
.quote-intro, #quote-form { width: min(100%, 672px); margin-left: auto; margin-right: auto; }
.quote-workspace { display: block; }
.quote-shell.quote-active { width: min(100%, 1480px); }
.quote-active .quote-intro { width: 100%; max-width: none; }
.quote-active .quote-workspace { display: grid; grid-template-columns: minmax(360px, 450px) minmax(0, 1fr); gap: 26px; align-items: start; }
.quote-active #quote-form { width: 100%; margin: 0; }
.quote-active .simulation { min-width: 0; }
.back-link { margin:0 0 20px; padding:0; border:0; color:var(--quote-accent,var(--blue)); background:none; font-weight:700; }
.quote-intro { margin-bottom: 24px; }
.quote-intro .step-tag, .simulation-heading .step-tag { color:var(--quote-accent,var(--blue)); }
.quote-intro h2, .simulation-heading h2 { margin: 8px 0; font-size: clamp(25px, 4vw, 36px); line-height: 1.18; letter-spacing: -.035em; text-transform: uppercase; }
.simulation-heading h2 { text-transform:none; }
.quote-intro p, .simulation-heading p { margin:0; color:var(--quote-muted,var(--muted)); font-size:14px; line-height:1.6; }
.form-card { margin-bottom:16px; padding:24px; border:1px solid var(--quote-border,var(--border)); border-radius:24px; background:var(--quote-surface,#fff); box-shadow:0 14px 40px var(--quote-shadow,rgba(42,35,56,.06)); }
.section-title { margin: 0 0 22px; padding-left: 10px; border-left: 4px solid; font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.personal-title { border-color: var(--blue); }
.vehicle-title { border-color: var(--green); }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { margin-bottom: 16px; }
.field.full:last-child { margin-bottom: 0; }
.field label { display: block; margin: 0 0 8px; font-size: 13px; font-weight: 700; }
.field input, .field select { width:100%; min-height:50px; padding:0 14px; border:1px solid var(--quote-border,var(--border)); border-radius:12px; outline:0; color:var(--quote-text,var(--navy)); background:var(--quote-field,#fff); transition:.2s; }
.field input::placeholder { color:var(--quote-muted); opacity:.78; }
.field input:focus, .field select:focus { border-color:var(--quote-accent,var(--blue)); box-shadow:0 0 0 3px color-mix(in srgb,var(--quote-accent,var(--blue)) 18%,transparent); }
.field input.invalid, .field select.invalid { border-color: var(--error); }
.field select:disabled { color:var(--quote-muted); background:var(--quote-disabled,#f4f5f7); }
.field-hint { display:block; margin-top:6px; color:var(--quote-muted,#7e8794); font-size:10px; line-height:1.4; }
.error { display:block; min-height:15px; margin-top:5px; color:var(--quote-error,var(--error)); font-size:11px; font-weight:600; }
.input-loading-wrap { position: relative; }
.input-loading-wrap input { padding-right: 48px; }
.spinner { width: 20px; height: 20px; display: inline-block; border: 3px solid rgba(33,108,255,.2); border-top-color: var(--blue); border-radius: 50%; animation: spin .75s linear infinite; }
.input-loading-wrap .spinner { position: absolute; right: 15px; top: 15px; }
@keyframes spin { to { transform: rotate(360deg); } }
.mode-button { width:100%; padding:15px; border:1px solid var(--quote-border); border-radius:12px; color:#fff; background:var(--deep-blue); font-size:12px; font-weight:800; letter-spacing:.04em; }
.invoice-value-field { margin-top:20px; }
.manual-fields { margin-top:20px; padding:20px 0 0 18px; border-left:4px solid var(--quote-accent,var(--blue)); }
.lookup-message { min-height: 0; margin-top: 14px; border-radius: 10px; font-size: 12px; font-weight: 700; }
.lookup-message.success, .lookup-message.failure { padding: 12px; }
.lookup-message.success { color: #087c47; background: #e7fbf2; }
.lookup-message.failure { color: #991b36; background: #fff0f3; }
.candidate-panel { margin-top: 20px; }
.candidate-panel h4 { margin: 0 0 10px; font-size: 13px; }
.candidate-list { max-height: 250px; display: grid; gap: 8px; overflow-y: auto; }
.candidate { width:100%; padding:14px; display:grid; grid-template-columns:1fr auto; gap:4px 15px; border:1px solid var(--quote-border,var(--border)); border-radius:12px; text-align:left; color:var(--quote-text,var(--navy)); background:var(--quote-field,#fff); }
.candidate:hover, .candidate.selected { border-color:var(--quote-accent,var(--blue)); background:var(--quote-surface-soft,#f3f7ff); }
.candidate strong { font-size: 12px; }
.candidate span { color:var(--quote-muted,var(--muted)); font-size:10px; }
.candidate b { grid-row: 1 / 3; grid-column: 2; align-self: center; font-size: 11px; }
.vehicle-result { margin-top:20px; padding:16px; display:grid; grid-template-columns:auto 1fr auto; gap:13px; align-items:center; border:1px solid var(--quote-success); border-radius:15px; background:var(--quote-success-surface); }
.result-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: var(--green); font-weight: 800; }
.vehicle-result span, .fipe-value span { display:block; margin-bottom:4px; color:var(--quote-success); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.vehicle-result strong { display: block; font-size: 12px; }
.vehicle-result p { margin:4px 0 0; color:var(--quote-muted,var(--muted)); font-size:10px; }
.fipe-value { text-align: right; }
.terms { margin: 22px 4px 0; display: flex; gap: 10px; align-items: flex-start; font-size: 12px; font-weight: 600; line-height: 1.55; }
.terms input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--blue); }
.terms a { color:var(--quote-accent,var(--blue)); }
.terms-error { margin-left: 32px; }
.continue-button { width: 100%; min-height: 56px; margin-top: 10px; font-size: 15px; letter-spacing: .06em; }
.continue-button:disabled { cursor:not-allowed; color:var(--quote-muted); background:var(--quote-disabled,#dfe3e8); }

.simulation { padding-top: 5px; }
.simulation-heading { margin-bottom: 22px; }
.plan-loading { padding:28px; display:flex; align-items:center; justify-content:center; gap:12px; border-radius:16px; background:var(--quote-surface,#fff); font-size:13px; font-weight:700; }
.plan-error { padding: 20px; border: 1px solid #ffd1da; border-radius: 14px; color: #991b36; background: #fff2f5; font-size: 13px; line-height: 1.6; }
.plan-error strong, .plan-error span { display:block; }
.plan-error strong { margin-bottom:4px; font-size:14px; }
.quote-retry { min-height:40px; margin-top:13px; padding:0 17px; border:0; border-radius:10px; color:#fff; background:var(--blue); font-size:11px; font-weight:800; }
.plan-grid { display: grid; gap: 15px; }
.coverage-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 20px; align-items: start; }
.coverage-choices { display: grid; gap: 16px; }
.mobile-coverage-configurator { display:none; }
.coverage-section { overflow:hidden; border:1px solid var(--quote-border,var(--border)); border-radius:18px; background:var(--quote-surface,#fff); box-shadow:0 8px 28px var(--quote-shadow,rgba(0,35,76,.045)); }
.coverage-section > header { padding:18px 20px; color:var(--quote-text,var(--navy)); background:var(--quote-surface-soft,#f0edff); }
.coverage-section > header h3 { margin: 0; font-size: 16px; }
.coverage-section > header p { margin:5px 0 0; color:var(--quote-muted,var(--muted)); font-size:10px; line-height:1.5; }
.coverage-row { padding:16px 18px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:center; border-bottom:1px solid var(--quote-border,#edf0f4); }
.coverage-row:last-child { border-bottom: 0; }
.coverage-copy strong { font-size: 12px; text-transform: capitalize; }
.coverage-copy p { max-width:500px; margin:5px 0 0; display:-webkit-box; overflow:hidden; color:var(--quote-muted,var(--muted)); font-size:9px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.coverage-copy .diesel-tracker-note { margin-top: 6px; display: block; color: #d52c50; font-size: 9px; font-weight: 800; line-height: 1.4; }
.coverage-price { color:var(--quote-accent,var(--blue)); font-size:10px; font-weight:800; white-space:nowrap; }
.coverage-price small { margin-top:3px; display:block; color:var(--quote-muted,var(--muted)); font-size:8px; font-weight:600; text-align:right; }
.coverage-price.excluded > span { color:#d52c50; }
.coverage-price.excluded small { color:#d52c50; }
.coverage-toggle { width: 46px; height: 26px; padding: 3px; border: 0; border-radius: 999px; background: #ccd2da; transition: .2s; }
.coverage-toggle span { width: 20px; height: 20px; display: block; border-radius: 50%; background: white; box-shadow: 0 2px 5px rgba(0,0,0,.2); transition: .2s; }
.coverage-toggle b { display:none; font-size:10px; font-weight:800; white-space:nowrap; }
.coverage-toggle.on { background: var(--green-dark); }
.coverage-toggle.on span { transform: translateX(20px); }
.coverage-toggle:disabled { cursor: not-allowed; opacity: .75; }
.coverage-state { display:none; }
.coverage-selection { display:none; }
.coverage-select { max-width:240px; min-height:42px; padding:0 10px; grid-column:2 / 4; border:1px solid var(--quote-border,var(--border)); border-radius:10px; color:var(--quote-text,var(--navy)); background:var(--quote-field,#fff); font-size:10px; font-weight:700; }
.coverage-dialog { width:min(92vw,620px); max-height:85vh; padding:0; overflow:hidden; border:1px solid var(--quote-border,#e7e2eb); border-radius:24px; color:var(--quote-text,var(--navy)); background:var(--quote-surface,#fff); box-shadow:0 30px 90px rgba(0,0,0,.38); }
.coverage-dialog::backdrop { background:rgba(20,16,29,.65); backdrop-filter:blur(4px); }
.dialog-heading { position:relative; padding:24px 26px 20px; background:var(--quote-surface-soft,var(--pale-blue)); }
.dialog-heading > span { color:var(--quote-accent,var(--blue)); font-size:9px; font-weight:800; letter-spacing:.16em; }
.dialog-heading h3 { margin:7px 40px 4px 0; font-size:22px; text-transform:capitalize; }
.dialog-heading p { margin:0; color:var(--quote-muted,var(--muted)); font-size:11px; }
.dialog-close { position:absolute; top:18px; right:20px; width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--quote-border); border-radius:50%; color:var(--quote-text,var(--navy)); background:var(--quote-surface,#fff); font-size:22px; line-height:1; }
.dialog-options { max-height:55vh; padding:14px; display:grid; gap:9px; overflow-y:auto; }
.dialog-option { width:100%; padding:16px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid var(--quote-border,var(--border)); border-radius:14px; color:var(--quote-text,var(--navy)); background:var(--quote-field,#fff); text-align:left; transition:.2s ease; }
.dialog-option:hover { border-color:var(--quote-accent,var(--blue)); background:var(--quote-surface-soft,#f7f5ff); transform:translateY(-1px); }
.dialog-option > span { min-width:0; }
.dialog-option strong { display:block; margin-bottom:4px; font-size:13px; text-transform:capitalize; }
.dialog-option small { display:block; color:var(--quote-muted,var(--muted)); font-size:9px; line-height:1.4; }
.dialog-option > b { flex:0 0 auto; color:var(--quote-accent,var(--blue)); font-size:14px; text-align:right; }
.dialog-option > b small { color:var(--quote-muted,var(--muted)); font-size:8px; }
.consultant-dialog { width:min(92vw,520px); }
.account-password-dialog { width:min(92vw,520px); }
.account-password-form { padding:22px 26px 25px; }
.account-password-fields { display:grid; gap:11px; }
.account-password-fields label { display:grid; gap:5px; color:var(--quote-muted,var(--muted)); font-size:10px; font-weight:800; }
.account-password-fields input { width:100%; min-height:40px; padding:0 11px; border:1px solid var(--quote-border,var(--border)); border-radius:9px; outline:0; color:var(--quote-text,var(--navy)); background:var(--quote-field,#fff); font-size:13px; }
.account-password-fields input:focus { border-color:var(--quote-accent,var(--blue)); box-shadow:0 0 0 3px color-mix(in srgb,var(--quote-accent,var(--blue)) 13%,transparent); }
.account-password-message { min-height:16px; margin:13px 0 0; color:var(--quote-muted,var(--muted)); font-size:10px; line-height:1.45; }
.account-password-message.success { color:var(--quote-success,var(--green-dark)); font-weight:800; }
.account-password-message.failure { color:var(--quote-error,var(--error)); font-weight:800; }
.account-password-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:17px; }
.account-password-actions button { min-height:36px; padding:0 13px; border:1px solid var(--quote-border,var(--border)); border-radius:9px; color:var(--quote-text,var(--navy)); background:var(--quote-surface-strong,#faf9fc); font-size:10px; font-weight:800; }
.account-password-actions .account-password-submit { border-color:var(--quote-accent,var(--blue)); color:#fff; background:var(--quote-accent,var(--blue)); }
.account-password-actions button:hover:not(:disabled) { border-color:var(--quote-accent,var(--blue)); }
.account-password-actions .account-password-submit:hover:not(:disabled) { color:#fff; filter:brightness(.94); }
.account-password-actions button:disabled { cursor:wait; opacity:.6; }
.my-proposals-dialog { width:min(94vw,980px); }
.proposals-mode main { width:100%; margin:0; padding:0; }
.consultant-proposals-page { min-height:100dvh; padding:112px clamp(16px,2vw,32px) 72px; color:var(--quote-text,#201c2b); background:var(--quote-bg,var(--page)); }
.consultant-proposals-shell { width:100%; margin:0 auto; }
.consultant-proposals-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.consultant-proposals-header-actions { display:flex; align-items:flex-end; flex-direction:column; gap:10px; }
.consultant-proposals-header-actions .quote-theme-picker { margin:0; }
.consultant-proposals-kicker { display:block; margin-bottom:8px; color:var(--quote-accent,var(--blue)); font-size:10px; font-weight:800; letter-spacing:.16em; }
.consultant-proposals-header h1 { margin:0; color:var(--quote-text,#201c2b); font-size:clamp(28px,4vw,46px); line-height:1.05; letter-spacing:-.045em; }
.consultant-proposals-header p { max-width:640px; margin:10px 0 0; color:var(--quote-muted,var(--muted)); font-size:13px; line-height:1.55; }
.consultant-proposals-back { min-height:38px; padding:0 14px; display:inline-flex; align-items:center; border:1px solid var(--quote-border,var(--border)); border-radius:10px; color:var(--quote-text,#201c2b); background:var(--quote-surface-strong,#faf9fc); font-size:10px; font-weight:800; text-decoration:none; white-space:nowrap; }
.consultant-proposals-back:hover { border-color:var(--quote-accent,var(--blue)); color:var(--quote-accent,var(--blue)); }
.consultant-proposals-page .my-proposals-toolbar { padding:0 0 13px; }
.consultant-proposals-page .my-proposals-list { max-height:none; padding:0; overflow:visible; }
.consultant-proposals-page .my-proposals-table-wrap { box-shadow:0 14px 38px var(--quote-shadow,rgba(42,35,56,.06)); }
.consultant-proposals-page .my-proposals-kanban { grid-auto-flow:row; grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr)); overflow:visible; }
.my-proposals-filters { display:grid; grid-template-columns:minmax(240px,2fr) minmax(170px,1fr) minmax(170px,1fr) auto; align-items:end; gap:10px; margin-bottom:12px; }
.my-proposals-custom-period { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(170px,1fr)); gap:10px; }
.my-proposals-filters label { min-width:0; display:grid; gap:5px; color:var(--quote-muted,var(--muted)); font-size:9px; font-weight:800; }
.my-proposals-filters label > span { font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.my-proposals-filters input, .my-proposals-filters select { width:100%; height:38px; min-height:38px; padding:0 11px; border:1px solid var(--quote-border,var(--border)); border-radius:9px; outline:0; color:var(--quote-text,var(--navy)); background:var(--quote-surface-strong,#faf9fc); font-size:10px; }
.my-proposals-filters input:focus, .my-proposals-filters select:focus { border-color:var(--quote-accent,var(--blue)); box-shadow:0 0 0 3px color-mix(in srgb,var(--quote-accent,var(--blue)) 13%,transparent); }
.my-proposals-clear-filters, .my-proposals-select-visible, .my-proposals-delete { min-height:34px; padding:0 11px; border:1px solid var(--quote-border,var(--border)); border-radius:9px; color:var(--quote-text,var(--navy)); background:var(--quote-surface-strong,#faf9fc); font-size:9px; font-weight:800; white-space:nowrap; }
.my-proposals-period-error { grid-column:1 / -1; color:var(--quote-error,var(--error)); font-size:8px; font-weight:800; }
.my-proposals-clear-filters:hover, .my-proposals-select-visible:hover { border-color:var(--quote-accent,var(--blue)); color:var(--quote-accent,var(--blue)); }
.my-proposals-delete { border-color:color-mix(in srgb,var(--quote-error,var(--error)) 50%,var(--quote-border,var(--border))); color:var(--quote-error,var(--error)); background:color-mix(in srgb,var(--quote-error,var(--error)) 8%,var(--quote-surface-strong,#faf9fc)); }
.my-proposals-delete:hover:not(:disabled) { color:#fff; border-color:var(--quote-error,var(--error)); background:var(--quote-error,var(--error)); }
.my-proposals-delete:disabled, .my-proposals-select-visible:disabled { cursor:not-allowed; opacity:.5; }
.my-proposals-toolbar { padding:14px 22px 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px 12px; color:var(--quote-muted,var(--muted)); font-size:10px; font-weight:800; }
.consultant-proposals-page .my-proposals-toolbar { padding:0 0 13px; }
.my-proposals-toolbar-summary, .my-proposals-toolbar-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.my-proposals-toolbar-actions { margin-left:auto; }
.my-proposals-selection-count { color:var(--quote-accent,var(--blue)); font-size:9px; }
.my-proposals-delete-feedback { min-height:13px; color:var(--quote-muted,var(--muted)); font-size:8px; }
.my-proposals-delete-feedback.failure { color:var(--quote-error,var(--error)); font-weight:800; }
.my-proposals-view-switch { margin-left:auto; padding:3px; display:flex; align-items:center; gap:2px; border:1px solid var(--quote-border,var(--border)); border-radius:9px; background:var(--quote-surface-strong,#faf9fc); }
.my-proposals-view-switch button { min-height:28px; padding:0 10px; border:0; border-radius:7px; color:var(--quote-muted,var(--muted)); background:transparent; font-size:8px; font-weight:800; }
.my-proposals-view-switch button:hover { color:var(--quote-text,var(--navy)); background:var(--quote-surface-soft,var(--pale-blue)); }
.my-proposals-view-switch button[aria-pressed="true"] { color:var(--quote-text,var(--navy)); background:var(--quote-surface-soft,var(--pale-blue)); box-shadow:0 1px 3px var(--quote-shadow,rgba(0,0,0,.08)); }
.my-proposals-refresh { min-height:34px; padding:0 12px; border:1px solid var(--quote-border,var(--border)); border-radius:9px; color:var(--quote-text,var(--navy)); background:var(--quote-surface-strong,#faf9fc); font-size:9px; font-weight:800; }
.my-proposals-refresh:hover { border-color:var(--quote-accent,var(--blue)); color:var(--quote-accent,var(--blue)); }
.my-proposals-list { max-height:62vh; padding:14px 22px 22px; overflow:auto; }
.my-proposals-table-wrap { overflow-x:auto; border:1px solid var(--quote-border,var(--border)); border-radius:12px; background:var(--quote-field,#fff); }
.my-proposals-table { width:100%; min-width:900px; border-collapse:collapse; table-layout:fixed; color:var(--quote-text,var(--navy)); font-size:11px; }
.my-proposals-table th, .my-proposals-table td { padding:12px 13px; text-align:left; vertical-align:middle; border-bottom:1px solid var(--quote-border,var(--border)); }
.my-proposals-table th { color:var(--quote-muted,var(--muted)); background:var(--quote-surface-soft,var(--pale-blue)); font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.my-proposals-table th:nth-child(1) { width:6%; }
.my-proposals-table th:nth-child(2) { width:18%; }
.my-proposals-table th:nth-child(3) { width:17%; }
.my-proposals-table th:nth-child(4) { width:11%; }
.my-proposals-table th:nth-child(5) { width:13%; }
.my-proposals-table th:nth-child(6) { width:15%; }
.my-proposals-table th:nth-child(7) { width:20%; }
.my-proposal-actions-heading { text-align:right !important; }
.my-proposal-select-heading, .my-proposal-select-cell { text-align:center !important; }
.my-proposal-select, .my-proposals-select-all { width:16px; height:16px; margin:0; accent-color:var(--quote-accent,var(--blue)); cursor:pointer; }
.my-proposal-select-wrap { position:relative; display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; cursor:pointer; }
.my-proposal-select-wrap > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.my-proposal-row { --proposal-status-color:var(--quote-accent,var(--blue)); background:var(--quote-field,#fff); transition:background .18s ease; }
.my-proposal-row[data-status="gerada"], .my-proposal-details-row[data-status="gerada"], .my-proposal-kanban-column[data-status="gerada"], .my-proposal-kanban-card[data-status="gerada"] { --proposal-status-color:#6c4cff; }
.my-proposal-row[data-status="enviada"], .my-proposal-details-row[data-status="enviada"], .my-proposal-kanban-column[data-status="enviada"], .my-proposal-kanban-card[data-status="enviada"] { --proposal-status-color:#1789c7; }
.my-proposal-row[data-status="aprovada"], .my-proposal-details-row[data-status="aprovada"], .my-proposal-kanban-column[data-status="aprovada"], .my-proposal-kanban-card[data-status="aprovada"] { --proposal-status-color:#0b9b68; }
.my-proposal-row[data-status="recusada"], .my-proposal-details-row[data-status="recusada"], .my-proposal-kanban-column[data-status="recusada"], .my-proposal-kanban-card[data-status="recusada"] { --proposal-status-color:#d7435f; }
.my-proposal-row[data-status="expirada"], .my-proposal-details-row[data-status="expirada"], .my-proposal-kanban-column[data-status="expirada"], .my-proposal-kanban-card[data-status="expirada"] { --proposal-status-color:#c88916; }
.my-proposal-row[data-status="cancelada"], .my-proposal-details-row[data-status="cancelada"], .my-proposal-kanban-column[data-status="cancelada"], .my-proposal-kanban-card[data-status="cancelada"] { --proposal-status-color:#857c91; }
.my-proposal-row td { background:color-mix(in srgb,var(--proposal-status-color) 10%,var(--quote-field,#fff)); }
.my-proposal-row td:first-child { box-shadow:inset 4px 0 var(--proposal-status-color); }
.my-proposal-row:hover td, .my-proposal-row.expanded td { background:color-mix(in srgb,var(--proposal-status-color) 17%,var(--quote-field,#fff)); }
.my-proposals-table tbody tr:last-child td { border-bottom:0; }
.my-proposal-cell-main, .my-proposal-cell-sub { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.my-proposal-cell-main { font-size:11px; }
.my-proposal-cell-sub { margin-top:4px; color:var(--quote-muted,var(--muted)); font-size:8px; }
.my-proposal-value-cell .my-proposal-cell-main { color:var(--quote-accent,var(--blue)); font-size:14px; font-weight:800; letter-spacing:-.03em; }
.my-proposal-status-cell { min-width:125px; }
.my-proposal-status-select { width:100%; min-height:32px; padding:0 25px 0 9px; border:1px solid var(--quote-border,var(--border)); border-left:4px solid var(--proposal-status-color); border-radius:8px; outline:0; color:var(--quote-text,var(--navy)); background:color-mix(in srgb,var(--proposal-status-color) 11%,var(--quote-surface-strong,#faf9fc)); font-size:9px; font-weight:800; }
.my-proposal-status-select:focus { border-color:var(--quote-accent,var(--blue)); border-left-color:var(--proposal-status-color); box-shadow:0 0 0 3px color-mix(in srgb,var(--quote-accent,var(--blue)) 13%,transparent); }
.my-proposal-status-select:disabled { cursor:wait; opacity:.6; }
.my-proposal-status-feedback { min-height:12px; color:var(--quote-muted,var(--muted)); font-size:8px; }
.my-proposal-status-feedback.saving { color:var(--quote-accent,var(--blue)); }
.my-proposal-status-feedback.success { color:#087c47; font-weight:800; }
.my-proposal-status-feedback.failure { color:var(--quote-error,var(--error)); font-weight:800; }
.my-proposal-actions-cell { text-align:right !important; white-space:nowrap; }
.my-proposal-row-action, .my-proposal-expand { min-height:32px; border:1px solid var(--quote-border,var(--border)); border-radius:8px; color:var(--quote-text,var(--navy)); background:var(--quote-surface-strong,#faf9fc); font-size:9px; font-weight:800; }
.my-proposal-row-action { padding:0 9px; }
.my-proposal-row-action:hover, .my-proposal-expand:hover { border-color:var(--quote-accent,var(--blue)); color:var(--quote-accent,var(--blue)); background:var(--quote-surface-soft,var(--pale-blue)); }
.my-proposal-whatsapp { min-height:32px; margin-left:5px; padding:0 8px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #15945a; border-radius:8px; color:#087c47; background:color-mix(in srgb,#20b66b 10%,var(--quote-surface-strong,#faf9fc)); font-size:8px; font-weight:800; text-decoration:none; white-space:nowrap; vertical-align:middle; }
.my-proposal-whatsapp:hover { border-color:#087c47; color:#075f39; background:color-mix(in srgb,#20b66b 18%,var(--quote-surface-strong,#faf9fc)); }
.my-proposal-expand { width:32px; height:32px; margin-left:5px; padding:0; display:inline-grid; place-items:center; color:var(--quote-accent,var(--blue)); font-size:17px; line-height:1; vertical-align:middle; transition:background .18s ease, border-color .18s ease; }
.my-proposal-expand:hover { border-color:var(--quote-accent,var(--blue)); background:var(--quote-surface-soft,var(--pale-blue)); }
.my-proposal-expand > span { display:block; transition:transform .18s ease; }
.my-proposal-row.expanded .my-proposal-expand > span { transform:rotate(180deg); }
.my-proposal-details-row[data-status] > td { background:color-mix(in srgb,var(--proposal-status-color) 8%,var(--quote-surface-soft,var(--pale-blue))); box-shadow:inset 4px 0 var(--proposal-status-color); }
.my-proposal-row.expanded + .my-proposal-details-row[data-status] > td { background:color-mix(in srgb,var(--proposal-status-color) 13%,var(--quote-surface-soft,var(--pale-blue))); }
.my-proposal-details-row > td { padding:0; }
.my-proposal-details { margin:0; padding:16px; display:grid; gap:15px; border-top:1px solid var(--quote-border,var(--border)); }
.my-proposal-detail-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.my-proposal-detail-heading strong { font-size:12px; }
.my-proposal-detail-heading > span { padding:4px 7px; border-radius:999px; color:var(--quote-accent,var(--blue)); background:var(--quote-surface-soft,var(--pale-blue)); font-size:8px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.my-proposal-detail-section { display:grid; gap:8px; }
.my-proposal-detail-section h4 { margin:0; color:var(--quote-muted,var(--muted)); font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.my-proposal-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.my-proposal-detail-item { min-width:0; padding:8px 9px; border:1px solid var(--quote-border,var(--border)); border-radius:9px; background:var(--quote-surface-strong,#faf9fc); }
.my-proposal-detail-item span, .my-proposal-detail-item strong { display:block; }
.my-proposal-detail-item span { margin-bottom:3px; color:var(--quote-muted,var(--muted)); font-size:8px; }
.my-proposal-detail-item strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.my-proposal-coverages { display:grid; gap:7px; }
.my-proposal-coverage { padding:10px; border:1px solid var(--quote-border,var(--border)); border-radius:10px; background:var(--quote-surface-strong,#faf9fc); }
.my-proposal-coverage-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.my-proposal-coverage-head strong { font-size:10px; }
.my-proposal-coverage-head b { flex:0 0 auto; color:var(--quote-accent,var(--blue)); font-size:9px; white-space:nowrap; }
.my-proposal-coverage p { margin:5px 0 0; color:var(--quote-muted,var(--muted)); font-size:9px; line-height:1.45; }
.my-proposal-coverage small { display:block; margin-top:5px; color:var(--quote-muted,var(--muted)); font-size:8px; }
.my-proposal-detail-loading, .my-proposal-detail-error, .my-proposal-detail-empty { padding:15px 10px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:7px; border:1px dashed var(--quote-border,var(--border)); border-radius:10px; color:var(--quote-muted,var(--muted)); font-size:9px; text-align:center; }
.my-proposal-detail-loading strong, .my-proposal-detail-error strong { color:var(--quote-text,var(--navy)); font-size:10px; }
.my-proposal-detail-error { color:var(--quote-error,var(--error)); }
.my-proposal-detail-error strong { color:var(--quote-error,var(--error)); }
.my-proposal-detail-retry { min-height:31px; margin-top:3px; padding:0 10px; border:0; border-radius:8px; color:#fff; background:var(--quote-accent,var(--blue)); font-size:8px; font-weight:800; }
.my-proposals-kanban { min-width:0; padding:1px 1px 5px; display:grid; grid-auto-flow:column; grid-auto-columns:minmax(245px,1fr); align-items:start; gap:12px; overflow-x:auto; }
.my-proposal-kanban-column { --proposal-status-color:var(--quote-accent,var(--blue)); min-width:0; min-height:280px; overflow:hidden; border:1px solid var(--quote-border,var(--border)); border-top:3px solid var(--proposal-status-color); border-radius:12px; background:color-mix(in srgb,var(--proposal-status-color) 4%,var(--quote-surface,#fff)); }
.my-proposal-kanban-column > header { padding:11px 12px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid var(--quote-border,var(--border)); background:color-mix(in srgb,var(--proposal-status-color) 13%,var(--quote-surface-soft,var(--pale-blue))); }
.my-proposal-kanban-column > header > div { min-width:0; }
.my-proposal-kanban-column > header span { display:block; color:var(--proposal-status-color); font-size:7px; font-weight:800; letter-spacing:.13em; }
.my-proposal-kanban-column > header h4 { margin:4px 0 0; overflow:hidden; color:var(--quote-text,var(--navy)); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.my-proposal-kanban-column > header b { min-width:24px; height:24px; padding:0 6px; display:grid; place-items:center; border-radius:999px; color:var(--proposal-status-color); background:color-mix(in srgb,var(--proposal-status-color) 16%,var(--quote-surface,#fff)); font-size:9px; }
.my-proposal-kanban-cards { min-height:205px; padding:9px; display:grid; align-content:start; gap:9px; transition:background .18s ease, outline-color .18s ease; }
.my-proposal-kanban-cards.is-drag-over { outline:2px dashed var(--proposal-status-color); outline-offset:-4px; background:color-mix(in srgb,var(--proposal-status-color) 8%,transparent); }
.my-proposal-kanban-empty { margin:0; padding:27px 10px; border:1px dashed var(--quote-border,var(--border)); border-radius:9px; color:var(--quote-muted,var(--muted)); font-size:9px; text-align:center; }
.my-proposal-kanban-card { --proposal-status-color:var(--quote-accent,var(--blue)); min-width:0; padding:12px; border:1px solid color-mix(in srgb,var(--proposal-status-color) 34%,var(--quote-border,var(--border))); border-left:4px solid var(--proposal-status-color); border-radius:10px; color:var(--quote-text,var(--navy)); background:color-mix(in srgb,var(--proposal-status-color) 10%,var(--quote-field,#fff)); box-shadow:0 5px 14px var(--quote-shadow,rgba(0,0,0,.06)); cursor:grab; transition:opacity .18s ease,box-shadow .18s ease,transform .18s ease; }
.my-proposal-kanban-card:hover { box-shadow:0 9px 20px var(--quote-shadow,rgba(0,0,0,.1)); transform:translateY(-1px); }
.my-proposal-kanban-card.is-dragging { opacity:.55; cursor:grabbing; transform:rotate(1deg); }
.my-proposal-kanban-card.is-saving { cursor:wait; opacity:.72; }
.my-proposal-kanban-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:9px; }
.my-proposal-kanban-card-heading > div { min-width:0; display:grid; gap:4px; }
.my-proposal-kanban-card-heading .my-proposal-select-wrap { margin-left:auto; flex:0 0 auto; }
.my-proposal-kanban-card-heading strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.my-proposal-kanban-code { color:var(--proposal-status-color); font:700 8px/1 "IBM Plex Mono",monospace; letter-spacing:.05em; }
.my-proposal-drag-handle { flex:0 0 auto; color:var(--proposal-status-color); font:800 13px/1 "IBM Plex Mono",monospace; letter-spacing:-.16em; cursor:grab; }
.my-proposal-kanban-meta { margin:11px 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.my-proposal-kanban-meta > div { min-width:0; padding:7px 8px; border:1px solid color-mix(in srgb,var(--proposal-status-color) 18%,var(--quote-border,var(--border))); border-radius:8px; background:color-mix(in srgb,var(--proposal-status-color) 5%,var(--quote-surface-strong,#faf9fc)); }
.my-proposal-kanban-meta span { display:block; margin-bottom:3px; color:var(--quote-muted,var(--muted)); font-size:7px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.my-proposal-kanban-meta strong, .my-proposal-kanban-meta small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.my-proposal-kanban-meta strong { font-size:10px; }
.my-proposal-kanban-meta small { margin-top:3px; color:var(--quote-muted,var(--muted)); font-size:8px; }
.my-proposal-kanban-value { grid-column:1 / -1; }
.my-proposal-kanban-value strong { color:var(--proposal-status-color); font-size:15px; letter-spacing:-.03em; }
.my-proposal-kanban-card .my-proposal-status-cell { min-width:0; }
.my-proposal-kanban-actions { margin-top:9px; display:flex; align-items:center; gap:6px; }
.my-proposal-kanban-actions .my-proposal-row-action { flex:1 1 auto; }
.my-proposal-kanban-actions .my-proposal-whatsapp { flex:0 0 auto; margin-left:0; }
.my-proposal-kanban-details-row { margin-top:12px; padding-top:12px; border-top:1px solid color-mix(in srgb,var(--proposal-status-color) 25%,var(--quote-border,var(--border))); }
.my-proposal-kanban-details-row > .my-proposal-details { padding:0; border-top:0; }
.my-proposal-kanban-details-row .my-proposal-detail-grid { grid-template-columns:1fr; }
.my-proposal-actions { margin-top:14px; display:flex; justify-content:flex-end; gap:7px; }
.my-proposal-actions button, .my-proposal-actions a { min-height:34px; padding:0 11px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--quote-border,var(--border)); border-radius:9px; color:var(--quote-text,var(--navy)); background:var(--quote-surface-strong,#faf9fc); font-size:9px; font-weight:800; text-decoration:none; }
.my-proposal-actions .my-proposal-whatsapp { border-color:#15945a; color:#087c47; background:color-mix(in srgb,#20b66b 10%,var(--quote-surface-strong,#faf9fc)); }
.my-proposal-actions .my-proposal-whatsapp:hover { border-color:#087c47; color:#075f39; background:color-mix(in srgb,#20b66b 18%,var(--quote-surface-strong,#faf9fc)); }
.my-proposal-actions button:last-child { border-color:var(--quote-accent,var(--blue)); color:#fff; background:var(--quote-accent,var(--blue)); }
.my-proposal-actions button:hover, .my-proposal-actions a:hover { transform:translateY(-1px); }
.my-proposal-actions button:disabled { cursor:wait; opacity:.6; transform:none; }
.my-proposals-empty { min-height:150px; padding:28px 18px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; border:1px dashed var(--quote-border,var(--border)); border-radius:15px; color:var(--quote-muted,var(--muted)); font-size:11px; text-align:center; }
.my-proposals-empty strong { color:var(--quote-text,var(--navy)); font-size:13px; }
.my-proposals-empty .spinner { width:22px; height:22px; margin-bottom:4px; border-color:color-mix(in srgb,var(--quote-accent,var(--blue)) 22%,transparent); border-top-color:var(--quote-accent,var(--blue)); }
.my-proposals-empty.error-state { color:var(--quote-error,var(--error)); }
.my-proposals-empty.error-state strong { color:var(--quote-error,var(--error)); }
.my-proposals-retry { min-height:35px; margin-top:5px; padding:0 13px; border:0; border-radius:9px; color:#fff; background:var(--quote-accent,var(--blue)); font-size:9px; font-weight:800; }
.consultant-fields { padding:22px 26px 26px; display:grid; gap:16px; }
.consultant-account { padding:14px; display:grid; gap:5px; border:1px solid var(--quote-border,var(--border)); border-radius:12px; color:var(--quote-text,var(--navy)); background:var(--quote-surface-strong,#faf9fc); }
.consultant-account span { color:var(--quote-accent,var(--blue)); font-size:9px; font-weight:800; letter-spacing:.1em; }
.consultant-account strong { font-size:15px; }
.consultant-account small { color:var(--quote-muted,var(--muted)); font-size:10px; }
.consultant-fields label { display:grid; gap:7px; color:var(--quote-text,var(--navy)); font-size:11px; font-weight:800; }
.consultant-fields input { width:100%; height:46px; padding:0 13px; border:1px solid var(--quote-border,var(--border)); border-radius:11px; outline:0; color:var(--quote-text,var(--navy)); background:var(--quote-field,#fff); font:600 12px Manrope,sans-serif; }
.consultant-fields input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(108,76,255,.1); }
.consultant-option { padding:13px; display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid var(--quote-border,var(--border)); border-radius:12px; background:var(--quote-surface-strong,#faf9fc); }
.consultant-option > span { min-width:0; }
.consultant-option strong, .consultant-option small { display:block; }
.consultant-option strong { color:var(--quote-text,var(--navy)); font-size:10px; }
.consultant-option small { margin-top:4px; color:var(--quote-muted,var(--muted)); font-size:8px; line-height:1.4; }
.consultant-option .coverage-toggle { flex:0 0 auto; }
.consultant-error { min-height:15px; margin-top:-7px; color:var(--quote-error,#c32246); font-size:9px; font-weight:700; }
.consultant-submit { min-height:46px; border:0; border-radius:12px; color:#fff; background:var(--blue); font-size:11px; font-weight:800; }
.consultant-submit:hover { background:var(--navy); }
.quote-summary { position: sticky; top: 92px; padding: 24px; border-radius: 22px; color: white; background: linear-gradient(155deg, #2a2338, #1c1825); box-shadow: 0 20px 45px rgba(42,35,56,.2); }
.summary-kicker { display: block; margin-bottom: 7px; color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.quote-summary > strong { color: var(--green); font-size: 32px; letter-spacing: -.04em; }
.quote-summary > small { margin-left: 4px; font-size: 11px; }
.selected-summary { margin-top: 22px; padding: 15px; border-radius: 14px; background: rgba(255,255,255,.07); }
.selected-summary-title { margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.selected-summary-title b { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: var(--green); }
#selected-coverage-list { max-height: 240px; margin: 0; padding: 0; overflow-y: auto; list-style: none; }
#selected-coverage-list li { padding: 8px 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; border-top: 1px solid rgba(255,255,255,.1); font-size: 9px; }
#selected-coverage-list li span { display: flex; gap: 6px; text-transform: capitalize; }
#selected-coverage-list li i { color: var(--green); font-style: normal; }
#selected-coverage-list li b { white-space: nowrap; }
.summary-line { margin-top: 18px; padding-top: 14px; display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid rgba(255,255,255,.15); font-size: 10px; }
.summary-line b { text-align: right; }
.quote-summary p { margin: 18px 0 0; color: rgba(255,255,255,.7); font-size: 9px; line-height: 1.5; }
.proposal-benefits { margin:16px 0 0; padding:12px 0 0; display:grid; gap:7px; border-top:1px solid rgba(255,255,255,.15); list-style:none; }
.proposal-benefits li { display:flex; gap:7px; color:rgba(255,255,255,.85); font-size:9px; line-height:1.4; }
.proposal-benefits li::before { content:"✓"; color:var(--green); font-weight:800; }
.coupon-box { margin-top:16px; padding:13px; border-radius:13px; background:rgba(255,255,255,.07); }
.coupon-box label { display:block; margin-bottom:7px; color:#fff; font-size:9px; font-weight:800; }
.coupon-entry { display:flex; gap:6px; }
.coupon-entry input { min-width:0; width:100%; height:38px; padding:0 10px; border:1px solid rgba(255,255,255,.18); border-radius:9px; outline:0; color:#fff; background:rgba(255,255,255,.08); font-size:9px; font-weight:700; text-transform:uppercase; }
.coupon-box input::placeholder { color:rgba(255,255,255,.45); text-transform:none; }
.coupon-box input:focus { border-color:var(--green); }
.coupon-entry button { min-width:68px; padding:0 10px; border:0; border-radius:9px; color:var(--navy); background:var(--green); font-size:9px; font-weight:800; }
.coupon-box button:disabled { opacity:.6; cursor:wait; }
.coupon-box small { min-height:14px; margin-top:6px; display:block; font-size:8px; line-height:1.4; }
.coupon-box small.success { color:#8ff0c3; }
.coupon-box small.failure { color:#ff9caf; }
.manual-accession-box { margin-top:11px; padding-top:11px; border-top:1px solid rgba(255,255,255,.13); }
.manual-accession-box > label { margin-bottom:7px; color:#fff; font-size:9px; }
.manual-accession-box > div { display:flex; align-items:center; gap:6px; }
.manual-accession-box > div > span { flex:0 0 auto; color:rgba(255,255,255,.68); font-size:10px; font-weight:800; }
.manual-accession-box input { min-width:0; flex:1 1 auto; width:100%; height:38px; padding:0 10px; border:1px solid rgba(255,255,255,.18); border-radius:9px; outline:0; color:#fff; background:rgba(255,255,255,.08); font-size:10px; font-weight:700; }
.manual-accession-box input:focus { border-color:var(--green); }
.manual-accession-box input.invalid { border-color:#ff7893; box-shadow:0 0 0 2px rgba(255,120,147,.16); }
.manual-accession-box button { flex:0 0 auto; min-width:88px; min-height:38px; padding:0 10px; border:0; border-radius:9px; color:var(--navy); background:var(--green); font-size:8px; font-weight:800; }
.manual-accession-box small { color:rgba(255,255,255,.55); }
.discounted-fee { display:flex; align-items:baseline; gap:6px; color:var(--green); font-size:14px; font-weight:800; line-height:1.1; }
.discounted-fee s { color:rgba(255,255,255,.5); font-size:10px; font-weight:500; }
.custom-fee { color:var(--green); font-size:14px; font-weight:800; line-height:1.1; }
.proposal-button { width:100%; min-height:46px; margin-top:18px; padding:10px 14px; border:0; border-radius:12px; color:var(--navy); background:var(--green); font-size:11px; font-weight:800; transition:.2s ease; }
.proposal-button:hover { color:#fff; background:var(--blue); transform:translateY(-1px); }
.plan-card { overflow:hidden; border:1px solid var(--quote-border,var(--border)); border-radius:20px; background:var(--quote-surface,#fff); box-shadow:0 10px 30px var(--quote-shadow,rgba(0,35,76,.05)); }
.plan-card-header { padding: 20px; display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; color: white; background: var(--deep-blue); }
.plan-card-header h3 { margin: 0; font-size: 18px; }
.plan-price { text-align: right; }
.plan-price strong { display: block; color: var(--green); font-size: 25px; }
.plan-price span { font-size: 10px; }
.coverage-list { margin: 0; padding: 14px 20px 20px; list-style: none; }
.coverage-list li { padding:10px 0; display:flex; gap:10px; border-bottom:1px solid var(--quote-border,#eef0f3); font-size:12px; font-weight:600; }
.coverage-list li::before { content: "✓"; color: var(--green-dark); font-weight: 800; }
.privacy-note { margin-top:18px; padding:15px; border-radius:12px; color:var(--quote-text,#486078); background:var(--quote-surface-soft,var(--pale-blue)); font-size:10px; line-height:1.6; }

@media (max-width: 1100px) {
  .consultant-proposals-page .my-proposals-kanban { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 800px) {
  .consultant-proposals-page { padding:96px 16px 48px; }
  .consultant-proposals-header { align-items:flex-start; flex-direction:column; gap:16px; margin-bottom:22px; }
  .consultant-proposals-header-actions { width:100%; align-items:flex-start; }
  .consultant-proposals-header p { font-size:12px; }
  .consultant-proposals-back { min-height:35px; }
  .my-proposals-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .my-proposals-custom-period { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .my-proposals-filters > label:first-child { grid-column:1 / -1; }
  .my-proposals-clear-filters { width:100%; }
  .header-action { padding: 11px 14px; font-size: 11px; }
  .hero { min-height:100svh; padding:22px 22px 18px; }
  .hero-grid { padding:42px 0 32px; grid-template-columns:1fr; gap:32px; }
  .hero-copy { max-width:680px; }
  .hero-art { width:min(100%,610px); min-height:auto; margin:0 auto; }
  .hero-visual-wrap { width:100%; }
  .coverage-layout { grid-template-columns: 1fr; }
  .quote-summary { position:static; grid-row:auto; }
  .quote-active .quote-workspace { grid-template-columns: 1fr; }
  .quote-active #quote-form { width: min(100%, 672px); margin: 0 auto; }
  .simulation-heading { margin-top:10px; }
  .coverage-choices > .coverage-section { display:none; }
  .mobile-coverage-configurator { display:block; }
  .mobile-live-summary { position:sticky; z-index:8; top:8px; margin-bottom:12px; padding:14px 16px; display:grid; grid-template-columns:1fr auto; gap:2px 12px; align-items:center; border-radius:16px; color:#fff; background:linear-gradient(135deg,#2a2338,#443265); box-shadow:0 12px 28px rgba(42,35,56,.2); }
  .mobile-live-summary > span { color:#ff9f8d; font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
  .mobile-live-summary > strong { grid-row:1 / 3; grid-column:2; color:var(--green); font-size:25px; letter-spacing:-.04em; }
  .mobile-live-summary > small { color:rgba(255,255,255,.72); font-size:8px; }
   .mobile-coverage-configurator { padding:12px; border:1px solid var(--quote-border,var(--border)); border-radius:20px; background:var(--quote-surface,#fff); box-shadow:0 12px 32px var(--quote-shadow,rgba(42,35,56,.06)); }
   .mobile-coverage-heading { padding:5px 3px 12px; display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
   .mobile-coverage-heading span { color:var(--quote-accent,var(--blue)); font-size:8px; font-weight:800; letter-spacing:.13em; }
   .mobile-coverage-heading h3 { margin:4px 0 0; font-size:17px; }
   .mobile-coverage-counter { padding:5px 8px; border-radius:999px; color:var(--quote-accent,var(--blue)); background:var(--quote-surface-soft,var(--pale-blue)); font-size:9px; white-space:nowrap; }
   .mobile-coverage-help { margin:0 3px 12px; padding:10px 11px; display:grid; gap:3px; border-left:3px solid var(--quote-accent,var(--blue)); border-radius:0 10px 10px 0; color:var(--quote-muted,var(--muted)); background:var(--quote-surface-soft,var(--pale-blue)); font-size:9px; line-height:1.45; }
   .mobile-coverage-help strong { color:var(--quote-text,var(--navy)); font-size:10px; }
   .mobile-coverage-help b { color:var(--quote-accent,var(--blue)); }
   .mobile-coverage-list { display:grid; gap:10px; }
   .mobile-coverage-list .coverage-row { width:100%; padding:14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; border:1px solid var(--quote-border,var(--border)); border-radius:15px; background:var(--quote-surface-strong,#fcfbfd); }
   .mobile-coverage-list .coverage-row.is-included { border-color:color-mix(in srgb,var(--quote-success,#8ff0c3) 45%,var(--quote-border,var(--border))); background:color-mix(in srgb,var(--quote-success-surface,#193b30) 32%,var(--quote-surface-strong,#fcfbfd)); }
   .mobile-coverage-list .coverage-copy { grid-column:1 / 3; }
   .mobile-coverage-list .coverage-copy strong { display:block; font-size:13px; }
   .mobile-coverage-list .coverage-copy p { max-width:none; margin-top:6px; display:block; overflow:visible; font-size:10px; line-height:1.5; -webkit-line-clamp:unset; }
   .mobile-coverage-list .coverage-state { margin-top:8px; padding:4px 7px; display:inline-flex; border-radius:999px; font-size:8px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
   .mobile-coverage-list .coverage-state.included { color:var(--quote-success,#8ff0c3); background:var(--quote-success-surface,#193b30); }
   .mobile-coverage-list .coverage-state.available { color:var(--quote-accent,var(--blue)); background:var(--quote-surface-soft,var(--pale-blue)); }
   .mobile-coverage-list .coverage-selection { margin-top:8px; display:flex; flex-wrap:wrap; gap:4px; color:var(--quote-accent,var(--blue)); font-size:9px; line-height:1.4; }
   .mobile-coverage-list .coverage-selection b { color:var(--quote-text,var(--navy)); font-weight:800; }
   .mobile-coverage-list .coverage-price { max-width:none; min-width:0; align-self:center; text-align:left; white-space:normal; }
   .mobile-coverage-list .coverage-price small { text-align:left; }
   body[data-app-audience="client"] .mobile-coverage-list .coverage-price { display:none; }
   .mobile-coverage-list .coverage-toggle { width:auto; min-width:92px; height:38px; padding:4px 9px; display:inline-flex; align-items:center; justify-content:center; gap:6px; border:1px solid var(--quote-border,var(--border)); border-radius:11px; color:var(--quote-text,var(--navy)); background:var(--quote-surface-soft,var(--pale-blue)); font-size:10px; font-weight:800; }
   .mobile-coverage-list .coverage-toggle span { width:18px; height:18px; flex:0 0 auto; }
   .mobile-coverage-list .coverage-toggle.on { color:#fff; border-color:var(--green-dark); background:var(--green-dark); }
   .mobile-coverage-list .coverage-toggle.on span { transform:translateX(0); }
   .mobile-coverage-list .coverage-toggle b { display:block; }
   .mobile-coverage-list .coverage-toggle:disabled { color:var(--quote-muted,var(--muted)); border-color:var(--quote-border,var(--border)); background:var(--quote-disabled,#302b37); }
   .selected-summary, .proposal-benefits { display:none; }
  .privacy-note { display:none; }
}

@media (min-width: 801px) and (max-width: 1100px) {
  .quote-active .quote-workspace { grid-template-columns: 1fr; }
  .quote-active #quote-form { width: min(100%, 672px); margin: 0 auto; }
}

@media (max-width: 600px) {
  .consultant-proposals-page { padding:88px 10px 36px; }
  .consultant-proposals-kicker { font-size:9px; }
  .consultant-proposals-header h1 { font-size:30px; }
  .consultant-proposals-header-actions { align-items:stretch; }
  .consultant-proposals-header-actions .quote-theme-picker { width:100%; margin:0; justify-content:center; }
  .consultant-proposals-header-actions .consultant-proposals-back { align-self:flex-start; }
  .consultant-proposals-page .my-proposals-kanban { grid-template-columns:1fr; }
  .my-proposals-filters { grid-template-columns:1fr; gap:8px; }
  .my-proposals-filters > label:first-child { grid-column:auto; }
  .my-proposals-custom-period { grid-template-columns:1fr; gap:8px; }
  .my-proposals-toolbar { align-items:flex-start; flex-direction:column; }
  .my-proposals-toolbar-summary, .my-proposals-toolbar-actions { width:100%; }
  .my-proposals-toolbar-actions { margin-left:0; }
  .my-proposals-toolbar-actions > button, .my-proposals-view-switch, .my-proposals-refresh { flex:1 1 auto; }
  .consultant-session { top:8px; right:8px; left:8px; max-width:none; padding:6px 7px 6px 10px; gap:7px; }
   .consultant-session > span { flex:1 1 auto; }
   .consultant-session-actions { gap:3px; }
   .consultant-session button, .consultant-session a { min-height:25px; padding:4px 7px; font-size:8px; }
   .consultant-ads-content { padding:18px; }
   .consultant-ads-grid { grid-template-columns:1fr; }
   .consultant-ads-content h2 { font-size:19px; }
  .site-header { min-height: 68px; }
  .header-label { font-size: 9px; }
  .header-action { padding:10px 12px; font-size:10px; }
  .hero { min-height:auto; padding:18px 16px 16px; }
  .hero-mast { padding-bottom:16px; }
  .hero-grid { padding:35px 0 28px; gap:30px; }
  .hero .eyebrow { margin-bottom:16px; }
  .hero h1 { font-size:clamp(39px,12.5vw,54px); }
  .hero h1 span { display:block; overflow-wrap:anywhere; }
  .hero-text { margin-top:20px; font-size:14px; line-height:1.55; }
  .hero-actions { margin-top:25px; align-items:flex-start; flex-direction:column; gap:10px; }
  .hero-action { width:100%; min-height:56px; justify-content:space-between; padding-left:19px; font-size:13px; }
  .hero-actions > small { max-width:none; }
  .hero-points { margin-top:28px; grid-template-columns:1fr; border-bottom:1px solid rgba(244,242,255,.16); }
  .hero-points span { padding:10px 0; border-top:1px solid rgba(244,242,255,.1); }
  .hero-points span:first-child { border-top:0; }
  .hero-art { width:calc(100% + 8px); margin-left:-4px; }
  .hero-coverage-label { padding:3px 4px; gap:5px; font-size:8px; }
  .hero-coverage-label > i { width:10px; height:10px; border-width:3px; }
  .hero-coverage-detail { width:min(210px,65vw); padding:10px 11px; font-size:9px; }
  .hero-coverage-detail strong { font-size:8px; }
  .hero-map-heading { padding:5px 7px; font-size:6px; }
  .hero-map-caption { padding:3px 4px; font-size:6px; }
  .hero-foot { align-items:flex-start; flex-direction:column; gap:7px; font-size:7px; }
  .quote-page { padding-top: 98px; }
  .quote-mode .quote-page { padding:18px 10px 36px; }
  .quote-theme-picker { width:100%; margin:0 0 20px; justify-content:center; }
  .quote-theme-picker > span { margin-right:auto; }
  .quote-intro h2, .simulation-heading h2 { font-size:26px; }
  .form-card { padding:18px 15px; border-radius:18px; }
  .field-grid { grid-template-columns: 1fr; gap: 0; }
  .vehicle-result { grid-template-columns: auto 1fr; }
  .fipe-value { grid-column: 2; text-align: left; }
  .coverage-section { border-radius:15px; }
  .coverage-row { padding:14px; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
  .coverage-copy { grid-column: 1 / 3; }
  .coverage-copy p { font-size:9px; -webkit-line-clamp:3; }
  .coverage-price { max-width:190px; white-space:normal; text-align:left; }
  .coverage-price small { text-align:left; }
  .coverage-select { max-width: none; width: 100%; grid-column: 1 / 3; }
  .coverage-dialog { border-radius:18px; }
  .dialog-heading { padding:20px 18px 16px; }
  .dialog-heading h3 { font-size:19px; }
  .dialog-options { padding:10px; }
  .account-password-form { padding:18px; }
  .my-proposals-toolbar { padding-left:16px; padding-right:16px; }
  .my-proposals-list { max-height:64vh; padding:10px 16px 16px; }
  .my-proposals-table { min-width:760px; }
  .my-proposal-details { padding:14px; }
  .my-proposal-detail-grid { grid-template-columns:1fr; }
  .my-proposal-actions { justify-content:stretch; }
  .my-proposal-actions button, .my-proposal-actions a { flex:1 1 0; padding-left:7px; padding-right:7px; }
  .dialog-option { padding:14px; align-items:flex-start; }
  .quote-summary { padding:20px 17px; border-radius:18px; }
  .quote-summary > strong { font-size:29px; }
  .candidate { grid-template-columns:1fr; }
  .candidate b { grid-row:auto; grid-column:auto; }
  .terms { margin-left:0; margin-right:0; }
  .continue-button { min-height:52px; }
}

@media (max-width:390px) {
  .site-header { padding-left:12px; padding-right:12px; }
  .header-label { max-width:90px; line-height:1.3; }
  .hero { padding-left:14px; padding-right:14px; }
  .hero-mast > p { font-size:8px; }
  .brand-mark { width:34px; height:34px; }
  .hero h1 { font-size:37px; }
  .coverage-toggle { width:44px; }
  .dialog-option { flex-direction:column; gap:9px; }
  .dialog-option > b { text-align:left; }
  .mobile-live-summary > strong { font-size:21px; }
}

/* Give wide desktop displays more breathing room without enlarging tablet/mobile layouts. */
@media (min-width:1200px) {
  .hero {
    padding-left: max(48px, calc((100vw - 1720px) / 2));
    padding-right: max(48px, calc((100vw - 1720px) / 2));
  }
  .hero-grid { grid-template-columns: minmax(0, .92fr) minmax(600px, 1.08fr); gap: clamp(48px, 4vw, 96px); }
  .hero h1 { max-width: 820px; font-size: clamp(52px, 4.6vw, 88px); }
  .hero-text { max-width: 700px; font-size: clamp(16px, 1.2vw, 20px); }
  .hero-visual-wrap { width: min(94%, 800px); }
  .quote-intro, #quote-form { width: min(100%, 920px); }
  .quote-intro h2, .simulation-heading h2 { font-size: clamp(30px, 3vw, 44px); }
  .quote-shell.quote-active { width: min(100%, 1680px); }
  .quote-active .quote-workspace { grid-template-columns: minmax(430px, 520px) minmax(0, 1fr); gap: 32px; }
  .form-card { padding: 30px; }
  .field-grid { gap: 20px; }
  .field input, .field select { min-height: 56px; }
}

/* On 24-inch and larger landscape displays, let the hero artwork use the extra column width. */
@media (min-width:1600px) and (orientation:landscape) {
  .hero-grid { grid-template-columns: minmax(0, .95fr) minmax(680px, 1.05fr); gap: clamp(56px, 3.3vw, 72px); }
  .hero-art { min-height: 680px; }
  .hero-visual-wrap { width: min(100%, 900px); }
}

/* A portrait monitor has desktop width but mobile-like vertical composition. */
@media (min-width:801px) and (orientation:portrait) {
  .hero { padding: 32px max(48px, calc((100vw - 920px) / 2)) 30px; }
  .hero-grid { grid-template-columns: 1fr; gap: 42px; padding: 72px 0 54px; }
  .hero-copy { width: 100%; max-width: 820px; margin: 0 auto; }
  .hero-art { width: min(100%, 900px); min-height: 620px; margin: 0 auto; }
  .hero-visual-wrap { width: min(90%, 800px); }
  .hero-foot { max-width: 920px; margin: 0 auto; width: 100%; }
  .quote-intro, #quote-form { width: min(100%, 920px); }
  .quote-shell.quote-active { width: min(100%, 920px); }
  .quote-active .quote-workspace { grid-template-columns: 1fr; }
  .quote-summary { position: static; }
}

/* Consultant screens: touch controls, readable fields and content-sized navigation. */
@media (max-width:800px), (max-width:1100px) and (max-height:500px) {
  .consultant-session { position:sticky; top:0; left:auto; right:auto; width:auto; max-width:none; margin:8px max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left)); padding:8px 10px; gap:8px; flex-wrap:wrap; border-radius:16px; }
  .consultant-session > span { flex:1 1 120px; font-size:12px; }
  .consultant-session-actions { flex-wrap:wrap; gap:6px; }
  .consultant-session a, .consultant-session button { min-height:44px; padding:10px 12px; display:inline-flex; align-items:center; justify-content:center; font-size:11px; }
  .consultant-session a strong { font-size:11px; }
  .consultant-dashboard { min-height:calc(100svh - 70px); padding-top:32px; }
  .consultant-dashboard-header p { overflow-wrap:anywhere; }
  body[data-app-audience="consultant"].quote-mode .quote-page, .consultant-proposals-page { padding-top:24px; }
  body[data-app-audience="consultant"] .back-link { min-height:44px; margin-bottom:12px; }
  body[data-app-audience="consultant"] .mobile-live-summary { position:static; }
  body[data-app-audience="consultant"] .quote-theme-picker { max-width:100%; flex-wrap:wrap; }
  body[data-app-audience="consultant"] .quote-theme-picker button { min-height:44px; font-size:11px; }
  body[data-app-audience="consultant"] .field input, body[data-app-audience="consultant"] .field select,
  .consultant-share-dialog input, .consultant-share-dialog textarea, .account-password-fields input,
  .my-proposals-filters input, .my-proposals-filters select { min-width:0; min-height:46px; font-size:16px; }
  .consultant-share-dialog, .account-password-dialog { max-height:calc(100dvh - 24px); overflow-y:auto; overscroll-behavior:contain; }
  .consultant-share-content, .consultant-ads-content, .account-password-form { padding:20px 16px; }
  .consultant-ads-content { max-height:none; }
  .consultant-ads-grid { grid-template-columns:1fr; }
  .consultant-share-actions, .consultant-ads-actions, .account-password-actions { display:flex; flex-wrap:wrap; gap:8px; }
  .consultant-share-actions button, .consultant-ads-actions button, .account-password-actions button { flex:1 1 140px; min-height:44px; padding:10px 12px; font-size:12px; white-space:normal; }
  .consultant-share-content p, .consultant-ads-content > p { font-size:13px; }
  .consultant-ads-option { padding:12px; }
  .consultant-ads-option strong { font-size:13px; }
  .consultant-ads-option small, .consultant-ads-field-help, .consultant-ads-help { font-size:11px; line-height:1.5; }
  .consultant-ads-provider .consultant-ads-copy { min-height:44px; font-size:12px; }
  .consultant-proposals-back, .my-proposals-toolbar button, .my-proposals-clear-filters,
  .my-proposal-row-action, .my-proposal-whatsapp, .my-proposal-status-select, .my-proposal-expand { min-height:44px; font-size:12px; }
  .my-proposal-expand { width:44px; height:44px; }
  .my-proposal-select-wrap { width:44px; height:44px; }
  .my-proposal-detail-heading, .my-proposal-coverage-head { flex-wrap:wrap; }
  .my-proposal-detail-item strong { white-space:normal; overflow-wrap:anywhere; font-size:12px; }
}
@media (max-width:600px) {
  .consultant-proposals-page .my-proposals-table-wrap { overflow:visible; border:0; box-shadow:none; background:transparent; }
  .my-proposals-table { display:block; min-width:0; width:100%; }
  .my-proposals-table thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
  .my-proposals-table tbody { display:block; }
  .my-proposal-row { display:block; margin-top:14px; overflow:hidden; border:1px solid var(--quote-border); border-left:4px solid var(--proposal-status-color); border-radius:14px; }
  .my-proposals-table .my-proposal-row td { min-width:0; padding:12px; display:grid; grid-template-columns:90px minmax(0,1fr); gap:5px 10px; text-align:left !important; box-shadow:none; }
  .my-proposal-row td[data-label]::before { content:attr(data-label); grid-column:1; grid-row:1 / span 2; align-self:center; color:var(--quote-muted); font-size:11px; font-weight:800; }
  .my-proposal-row td > * { grid-column:2; min-width:0; }
  .my-proposal-cell-main, .my-proposal-cell-sub { white-space:normal; overflow-wrap:anywhere; font-size:12px; }
  .my-proposal-row .my-proposal-select { width:24px; height:24px; }
  .my-proposals-table .my-proposal-row .my-proposal-actions-cell { display:flex; flex-wrap:wrap; align-items:center; gap:8px; white-space:normal; }
  .my-proposal-actions-cell::before { flex:1 0 100%; }
  .my-proposal-actions-cell .my-proposal-row-action, .my-proposal-actions-cell .my-proposal-whatsapp { flex:1 1 auto; margin:0; }
  .my-proposal-actions-cell .my-proposal-expand { margin:0; }
  .my-proposal-details-row { display:block; width:100%; }
  .my-proposal-details-row > td { display:block; width:100%; }
  .my-proposal-details { padding:14px 10px; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
  .hero-coverage-label > i { animation:none; }
}
