/* Theme */
:root{
  --brand:#0069A7;
  --brand-600:#225182;
  --bg:#0b1220;
  --card:#ffffff;
  --ink:#0b1220;
  --muted:#5b6779;
  --ok:#0f9150;
  --danger:#bf2e2e;
  --border:#e4e8ef;
}

/* Auto dark mode detection */
@media (prefers-color-scheme: dark){
  body:not(.light-override){
    background:#0b1220;
    color:#e7ecf5;
  }
  body:not(.light-override) .card{
    background:#101826;
    border-color:#1f2a3a;
    color:#e7ecf5;
  }
  body:not(.light-override) input,
  body:not(.light-override) select{
    background:#0f1522;
    color:#e7ecf5;
    border-color:#2a3a55;
  }
  body:not(.light-override) input::placeholder{
    color:#9aa8bd;
  }
  body:not(.light-override) .summary .kv{
    border-bottom-color:#223046;
  }
  body:not(.light-override) .btn{
    background:#0f1522;
    color:#e7ecf5;
    border-color:#2a3a55;
  }
  body:not(.light-override) .btn-primary{
    background:#2c67a2;
    color:#fff;
    border-color:#2c67a2;
  }
  body:not(.light-override) .section[open] > summary{
    background:#0f1522;
  }
  body:not(.light-override) .settings-menu{
    background:#101826;
  }
  body:not(.light-override) .menu-content h3{
    color:#e7ecf5;
  }
  body:not(.light-override) .menu-item{
    border-bottom-color:#2a3a55;
  }
  body:not(.light-override) .menu-item span{
    color:#e7ecf5;
  }
  body:not(.light-override) .menu-actions{
    border-top-color:#2a3a55;
  }
  body:not(.light-override) .mobile-bar{
    background:#101826;
    border-top-color:#2a3a55;
    box-shadow:0 -2px 8px rgba(0,0,0,.3);
  }
  body:not(.light-override) .save-indicator{
    background:#0f1522;
    border-color:#2a3a55;
  }
  body:not(.light-override) .date-picker-trigger{
    background:#0f1522;
    border-color:#2a3a55;
  }
  body:not(.light-override) .date-picker-trigger:hover{
    background:#1a2233;
    border-color:#2c67a2;
  }
  body:not(.light-override) .settings-menu .menu-close{
    color:#e7ecf5;
  }
  body:not(.light-override) .settings-menu .menu-close:hover{
    background:#1a2233;
  }
  body:not(.light-override) .error-summary{
    background:#2a1212;
    border-color:#5a2323;
    color:#ffbdbd;
  }
  body:not(.light-override) .modal-box{
    background:#101826;
    box-shadow:0 4px 16px rgba(0,0,0,.6);
  }
  body:not(.light-override) .modal-message{
    color:#e7ecf5;
  }
  body:not(.light-override) .modal-cancel{
    background:#0f1522;
    color:#e7ecf5;
    border-color:#2a3a55;
  }
  body:not(.light-override) .veh-total-chip{
    background:#0f1522;
    border-color:#2a3a55;
    color:#a7c4ef;
  }
  body:not(.light-override) .confirm-box{
    background:#2a2412;
    border-color:#ffb347;
  }
  body:not(.light-override) .confirm-label{
    color:#ffdb9e;
  }
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, Noto Sans, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ink);
  background:#f6f8fb;
  line-height:1.4;
  overflow-x:hidden;
}

/* Header */
.site-header{
  background:linear-gradient(135deg,var(--brand),var(--brand-600));
  color:#fff;
  padding:16px;
}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;position:relative}
.logos{display:flex;align-items:center;justify-content:flex-start;gap:20px;flex-wrap:wrap}
.logo{width:260px;height:110px;border-radius:8px;background:#fff1;border:2px dashed #fff8;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff9;font-weight:700;font-size:12px;text-align:center;padding:6px}
.logo img{max-width:48%;max-height:100%;object-fit:contain;}
@media(min-width:720px){
  .logo{width:320px;height:120px}
}
.titles{text-align:left;margin-top:4px}
.titles h1{margin:0;font-size:20px}
@media(min-width:720px){
  .titles h1{font-size:22px}
}
.subtitle{margin:4px 0 0 0;opacity:.9;font-size:13px}
.header-fine{color:#fff;font-size:13px;margin:12px 0 0 0;opacity:.95;text-align:left}
/* Progress bar */
.progress-container{margin-top:12px;display:flex;flex-direction:column;gap:6px;max-width:480px}
.progress-track{height:8px;background:rgba(255,255,255,.25);border-radius:999px;overflow:hidden}
.progress-bar{height:100%;background:#fff;border-radius:999px;transition:width .4s ease}
.progress-text{font-size:12px;color:#fff;opacity:.9}
body.dark .progress-track{background:rgba(255,255,255,.18)}
body.dark .progress-bar{background:#e7ecf5}

/* Wizard segmented pill bar */
.wizard-pill-bar{display:flex;margin-top:12px;gap:0;border-radius:999px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.wizard-pill{flex:1;padding:10px 8px;font-size:12px;font-weight:600;letter-spacing:.5px;text-align:center;cursor:pointer;border:none;background:rgba(255,255,255,.15);color:rgba(255,255,255,.5);transition:all .3s ease;position:relative;border-right:1px solid rgba(255,255,255,.1)}
.wizard-pill:last-child{border-right:none}
.wizard-pill[aria-disabled="true"]{cursor:not-allowed;opacity:.6}
.wizard-pill:hover:not([aria-disabled="true"]){background:rgba(255,255,255,.25);color:rgba(255,255,255,.85)}
.wizard-pill.completed{background:var(--brand);color:#fff;box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}
.wizard-pill.active{background:var(--brand);color:#fff;animation:pillPulse 2s ease-in-out infinite;box-shadow:inset 0 1px 3px rgba(0,0,0,.2), 0 0 0 2px rgba(255,255,255,.3)}
@keyframes pillPulse{0%,100%{opacity:1}50%{opacity:.85}}
@media (prefers-color-scheme: dark){
  body:not(.light-override) .wizard-pill{background:rgba(15,21,34,.6);color:rgba(231,236,245,.5);border-right-color:rgba(42,58,85,.5)}
  body:not(.light-override) .wizard-pill:hover:not([aria-disabled="true"]){background:rgba(26,34,51,.8);color:rgba(231,236,245,.9)}
  body:not(.light-override) .wizard-pill.completed{background:#2c67a2;color:#fff}
  body:not(.light-override) .wizard-pill.active{background:#2c67a2;color:#fff;box-shadow:inset 0 1px 3px rgba(0,0,0,.3), 0 0 0 2px rgba(44,103,162,.4)}
}
@media(max-width:719.98px){
  .wizard-pill-bar{flex-wrap:wrap;border-radius:12px}
  .wizard-pill{flex:1 1 calc(33.333% - 2px);min-width:80px;border-radius:8px;margin:1px;border-right:none}
  .wizard-pill:last-child{border-right:none}
  /* Hide summary on mobile except on last wizard step */
  .summary{display:none}
  body.wizard-last-step .summary{display:block;padding-bottom:80px}
}

/* Hamburger menu */
.hamburger-btn{
  position:absolute;top:0;right:0;background:transparent;border:none;cursor:pointer;padding:8px;
  display:flex;align-items:center;justify-content:center;width:40px;height:40px;
}
.help-btn{
  position:absolute;top:0;right:48px;background:transparent;border:none;cursor:pointer;padding:8px 6px;
  display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#fff;text-decoration:none;
}
.help-btn svg{display:block}
.help-btn:hover{background:rgba(255,255,255,.12);border-radius:8px}
@media (prefers-color-scheme: dark){
  body:not(.light-override) .help-btn:hover{background:rgba(255,255,255,.18)}
}
.hamburger-icon{
  display:block;width:24px;height:2px;background:#fff;position:relative;
}
.hamburger-icon::before,
.hamburger-icon::after{
  content:'';display:block;width:24px;height:2px;background:#fff;position:absolute;left:0;
}
.hamburger-icon::before{top:-7px}
.hamburger-icon::after{top:7px}
.hamburger-btn[aria-expanded="true"] .hamburger-icon{background:transparent}
.hamburger-btn[aria-expanded="true"] .hamburger-icon::before{transform:rotate(45deg);top:0}
.hamburger-btn[aria-expanded="true"] .hamburger-icon::after{transform:rotate(-45deg);top:0}

.settings-menu{
  position:fixed;top:0;right:0;bottom:0;width:280px;background:var(--card);
  box-shadow:-2px 0 8px rgba(0,0,0,.2);z-index:1000;transform:translateX(100%);transition:transform .3s ease;
}
.settings-menu:not([hidden]){transform:translateX(0)}
.menu-content{padding:20px}
.menu-content h3{margin:0 0 16px 0;font-size:18px;color:var(--ink)}
.menu-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);cursor:pointer}
.menu-item input[type="checkbox"]{width:20px;height:20px;cursor:pointer}
.menu-item span{font-size:15px;color:var(--ink)}
body.dark .settings-menu{background:#101826}
body.dark .menu-content h3{color:#e7ecf5}
body.dark .menu-item{border-bottom-color:#2a3a55}
body.dark .menu-item span{color:#e7ecf5}

/* Menu actions */
.menu-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
.menu-actions .btn{width:100%}
body.dark .menu-actions{border-top-color:#2a3a55}
.menu-item input[type="checkbox"]{width:20px;height:20px}

/* Layout */
.content{display:grid;grid-template-columns:1fr;gap:16px;padding:16px}
.summary{
  position:sticky;
  top:24px;
  align-self:start;
  max-height:calc(100vh - 40px);
  overflow:auto;
  z-index:10;
}

@media(min-width: 980px){
  .content{grid-template-columns:2fr 1fr}
  .summary{max-width:420px;}
}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  padding:16px;
  box-shadow:0 1px 2px rgba(10,20,40,.06);
}
.section h2{margin:0 0 16px 0;font-size:18px}
/* removed step-nav buttons */
.card.subtle{background:#fff;}
.headline{display:flex;align-items:center;justify-content:space-between;gap:12px}

/* Forms */
label{display:flex;flex-direction:column;gap:6px;font-size:14px}
input,select,button{font:inherit}
input,select{
  padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;outline:none;
}
input[type="checkbox"], input[type="radio"]{ width:22px; height:22px; }
input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in oklch, var(--brand) 25%, white)}
input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
body.dark input:focus-visible,body.dark select:focus-visible,body.dark button:focus-visible{outline:2px solid #7fb7e8}
.grid{display:grid;gap:12px}
.grid.two{grid-template-columns:1fr}
.grid.three{grid-template-columns:1fr}
@media(min-width:720px){
  .grid.two{grid-template-columns:1fr 1fr}
  .grid.three{grid-template-columns:repeat(3,1fr)}
}
.stack{display:flex;flex-direction:column;gap:12px}

.vehicle{position:relative}
.vehicle-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}

/* Summary */
.summary h2{margin-top:0}
.summary-details{margin-bottom:12px}
.summary-details summary{cursor:pointer;font-size:18px;font-weight:600;padding:8px 0;user-select:none;list-style:none;display:flex;align-items:center;justify-content:space-between}
.summary-details summary::-webkit-details-marker{display:none}
.summary-details summary::after{content:'▼';font-size:12px;transition:transform .2s;color:var(--muted)}
.summary-details[open] summary::after{transform:rotate(180deg)}
.summary-details .stack{margin-top:8px}
body.dark .summary-details summary::after{color:#9aa8bd}
.summary .kv{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #e9edf3}
.summary .kv.grand{font-size:18px;font-weight:700;border-bottom:none}
.summary .actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
/* Deductible Upsell */
.deductible-upsell{
  background:linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
  border:2px solid #38bdf8;border-radius:12px;padding:16px;margin-bottom:12px;
  animation:slideIn 0.3s ease-out;
  position:relative;
  z-index:20;
}
body.dark .deductible-upsell{
  background:linear-gradient(135deg, #1e3a5f 0%, #2d5a7b 100%);
  border-color:#38bdf8;
}
@keyframes slideIn{
  from{opacity:0;transform:translateY(-10px)}
  to{opacity:1;transform:translateY(0)}
}
.upsell-content{text-align:center}
.upsell-title{
  font-size:15px;font-weight:600;color:#0369a1;margin:0 0 8px;
  display:flex;align-items:center;justify-content:center;gap:6px;
}
body.dark .upsell-title{color:#7dd3fc}
.upsell-message{font-size:14px;color:var(--ink);margin:0 0 12px;line-height:1.5}
.upsell-message strong{color:#0369a1;font-weight:600}
body.dark .upsell-message strong{color:#7dd3fc}
.upsell-btn{width:100%;font-size:14px;padding:10px 16px;position:relative;z-index:25;touch-action:manipulation}
/* Mobile-specific upsell */
.mobile-upsell{
  display:none;
  position:fixed;
  left:8px;
  right:8px;
  bottom:72px;
  z-index:950;
  margin:0;
}
@media(max-width:719.98px){
  .mobile-upsell{display:block}
  .deductible-upsell:not(.mobile-upsell){display:none !important}
}
@media(min-width:720px){
  .mobile-upsell{display:none !important}
}
/* Save indicator */
.save-indicator{
  display:flex;align-items:center;gap:8px;padding:10px 12px;
  background:#f1f6fd;border:1px solid #d4e3f7;border-radius:8px;
  color:var(--muted);font-size:13px;margin-bottom:12px;width:100%;
}
@media (max-width: 719.98px){
  .save-indicator{ display:none; }
}
.save-indicator .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex-shrink:0}
.save-indicator .text{flex:1;line-height:1.4}
.save-indicator.saving .dot{background:var(--brand);animation:pulse 1s infinite}
.save-indicator.saving .text{color:var(--brand)}
.save-indicator.error .dot{background:var(--danger)}
.save-indicator.error .text{color:var(--danger)}
body.dark .save-indicator{background:#0f1522;border-color:#2a3a55}
@keyframes pulse{0%{opacity:.4}50%{opacity:1}100%{opacity:.4}}

.kv{display:flex;align-items:center;justify-content:space-between}
.total-line{border-top:1px dashed #e9edf3;margin-top:6px;padding-top:6px}

.btn{background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer}
.btn:hover{border-color:var(--brand)}
.btn:disabled{opacity:0.5;cursor:not-allowed;background:#f7f9fc;border-color:#e4e8ef;color:#9aa8bd}
.btn:disabled:hover{border-color:#e4e8ef}
.btn-primary{background:var(--brand);color:#fff;border-color:transparent}
.btn-primary:hover{background:var(--brand-600)}
.btn-primary:disabled{background:#c4d9e8;color:#fff;opacity:0.6}
.btn-primary:disabled:hover{background:#c4d9e8}
.btn-danger{background:#fff;color:var(--danger);border-color:#ffd2d2}
.btn-danger:hover{background:#fff4f4}

.warning{color:var(--danger);margin:8px 0 0}
.fine{color:var(--border);font-size:12px;margin:0;padding:0;}
.inline{display:flex;align-items:center;gap:8px;margin-top:8px}
.invalid{ outline: none !important; box-shadow: none !important; border-color: var(--border) !important; }

/* Toggle switch */
.toggle-switch{
  position:relative;display:inline-block;width:32px;height:16px;
}
.toggle-switch input{
  opacity:0;width:0;height:0;
}
.toggle-slider{
  position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:0.3s;border-radius:16px;
}
.toggle-slider:before{
  position:absolute;content:"";height:12px;width:12px;left:2px;bottom:2px;background-color:white;transition:0.3s;border-radius:50%;
}
.toggle-switch input:checked+.toggle-slider{background-color:var(--ok)}
.toggle-switch input:checked+.toggle-slider:before{transform:translateX(16px)}
body.dark .toggle-slider{background-color:#5b6779}
body.dark .toggle-slider:before{background-color:#0b1220}

/* Claims confirmation box */
.confirm-box{
  margin-top:16px;padding:16px;background:#fff9e6;border:2px solid #ffb347;border-radius:8px;
}
.confirm-label{
  display:flex;align-items:flex-start;gap:12px;font-size:15px;font-weight:500;color:#7a4a00;cursor:pointer;
}
.confirm-label input[type="checkbox"]{
  width:22px;height:22px;margin-top:2px;cursor:pointer;flex-shrink:0;
}
body.dark .confirm-box{background:#2a2412;border-color:#ffb347}
body.dark .confirm-label{color:#ffdb9e}

.company-only{display:none}
body.company .company-only{display:block}
.sig-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:720px){.sig-grid{grid-template-columns:repeat(5,1fr)}}

/* Breakdown */
details.breakdown{margin-top:8px}
summary{cursor:pointer}

/* Deductible card selector */
.deductible-cards-wrap{border:none;margin:16px 0 0;padding:0}
.deductible-cards-wrap legend{font-size:15px;font-weight:600;margin-bottom:12px;color:var(--ink)}
.deductible-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.ded-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border:2px solid var(--border);border-radius:12px;background:#fff;cursor:pointer;transition:all .25s ease}
.ded-card input[type="radio"]{position:absolute;opacity:0;pointer-events:none}
.ded-card .ded-badge{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--muted);text-transform:uppercase}
.ded-card .ded-amount{font-size:24px;font-weight:700;color:var(--ink)}
.ded-card .ded-impact{font-size:13px;color:var(--muted)}
.ded-card .ded-check{position:absolute;top:8px;right:8px;color:var(--brand);opacity:0;transition:opacity .25s}
.ded-card:hover{border-color:var(--brand);box-shadow:0 2px 8px rgba(0,105,167,.15)}
.ded-card input:checked ~ .ded-check{opacity:1}
.ded-card input:checked{background:color-mix(in oklch,var(--brand) 5%,white)}
.ded-card:has(input:checked){border-width:3px}
.ded-card[data-tier="good"] .ded-badge{color:#6b7280}
.ded-card[data-tier="good"]:has(input:checked){border-color:#6b7280;box-shadow:0 0 0 3px rgba(107,114,128,.2)}
.ded-card[data-tier="better"] .ded-badge{color:#2563eb}
.ded-card[data-tier="better"]:has(input:checked){border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.2)}
.ded-card[data-tier="best"] .ded-badge{color:#059669}
.ded-card[data-tier="best"]:has(input:checked){border-color:#059669;box-shadow:0 0 0 3px rgba(5,150,105,.2)}
@media(max-width:719.98px){
  .deductible-cards{grid-template-columns:1fr}
}
body.dark .deductible-cards-wrap legend{color:#e7ecf5}
body.dark .ded-card{background:#101826;border-color:#2a3a55}
body.dark .ded-card .ded-amount{color:#e7ecf5}
body.dark .ded-card:hover{border-color:#2c67a2}
body.dark .ded-card[data-tier="good"]:has(input:checked){border-color:#9ca3af;box-shadow:0 0 0 3px rgba(156,163,175,.25)}
body.dark .ded-card[data-tier="better"]:has(input:checked){border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.25)}
body.dark .ded-card[data-tier="best"]:has(input:checked){border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.25)}

/* Helpers */
.help{color:var(--muted);font-size:12px;margin:2px 0 0}

/* Vehicle total chip */
.veh-total-chip{background:#f1f6fd;color:#1d3b63;border:1px solid #d4e3f7;border-radius:999px;padding:4px 8px;font-size:12px;margin-left:auto;margin-right:8px}
body.dark .veh-total-chip{background:#0f1522;border-color:#2a3a55;color:#a7c4ef}


/* Compact mode */
body.compact .card{padding:10px}
body.compact .grid{gap:8px}
body.compact label{gap:4px;font-size:13px}
body.compact input, body.compact select{padding:8px 10px}
body.compact h2{font-size:16px}
body.compact .summary .kv{padding:6px 0}

/* Fieldset reset */
fieldset{border:none;margin:0;padding:0}
legend.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}

/* Mobile sticky action bar */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--border);box-shadow:0 -2px 8px rgba(0,0,0,.06);padding:8px 12px;z-index:900}
.mobile-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mobile-total{font-size:14px}
.mobile-actions{display:flex;gap:8px}
@media(min-width:720px){.mobile-bar{display:none}}
body.dark .mobile-bar{background:#101826;border-top-color:#2a3a55;box-shadow:0 -2px 8px rgba(0,0,0,.3)}

/* Print */
@media print{
  /* Reset and hide interactive elements */
  *{box-sizing:border-box;}
  .summary .actions,#addVehicleBtn,.hamburger-btn,.help-btn,
  .settings-menu,.mobile-bar,.btn,button,.vehicle button,
  .error-summary,.save-indicator,.wizard-pill-bar,.wizard-actions,
  .header-fine,.site-footer .card,.screen-only,.deductible-upsell{display:none !important;}

  .print-only{display:flex !important;}

  /* Page setup for 8.5x11" */
  @page{
    size:letter;
    margin:0.4in 0.4in 0.3in 0.4in;
  }

  body{
    background:white;
    color:#000;
    margin:0;
    padding:0;
    font-size:8.5px;
    line-height:1.3;
    font-family:Arial,sans-serif;
  }

  /* Compact header with both logos */
  .site-header{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    background:white;
    padding:8px 0;
    border-bottom:2px solid #000;
    margin-bottom:10px;
  }

  .site-header .brand{
    flex-direction:row;
    align-items:center;
    gap:12px;
    width:100%;
  }

  .site-header .logos{
    display:flex;
    align-items:center;
    gap:12px;
  }

  .site-header .logo{
    background:transparent !important;
    border:none !important;
    padding:0;
    display:flex;
    gap:12px;
    align-items:center;
  }

  .site-header .logo img{
    height:48px;
    width:auto;
  }

  .site-header .titles{
    flex:1;
  }

  .site-header .titles h1{
    font-size:15px;
    margin:0 0 2px 0;
    color:#000;
    font-weight:700;
  }

  .site-header .titles .subtitle{
    margin:0;
    font-size:9px;
    color:#000;
  }

  /* Single column layout */
  .content{
    display:block !important;
    padding:0;
    margin:0;
  }

  /* Hide all wizard sections and normal summary */
  .wizard-step,.summary{display:none !important;}

  /* Show print table */
  #printViewTable{display:block !important;}

  /* Card styling - not used but keep for compatibility */
  .card{
    background:white;
    border:none;
    box-shadow:none;
    padding:0;
    margin:0;
  }

  /* Convert summary to table format */
  .summary-table{
    width:100%;
    border-collapse:collapse;
    font-size:7.5px;
    margin:10px 0;
  }

  .summary-table th,
  .summary-table td{
    padding:3px 4px;
    text-align:left;
    border:1px solid #000;
    line-height:1.3;
  }

  .summary-table th{
    background:#e8e8e8;
    font-weight:700;
    color:#000;
    font-size:7.5px;
  }

  .summary-table .grand-total{
    font-weight:700;
    font-size:9px;
    background:#d8d8d8;
    color:#000;
  }

  /* Policy/Insured info as compact table */
  .info-table{
    width:100%;
    border-collapse:collapse;
    margin:0 0 10px 0;
    font-size:7.5px;
  }

  .info-table th{
    background:#e8e8e8;
    color:#000;
    font-weight:700;
    padding:3px 5px;
    text-align:left;
    border:1px solid #000;
    width:20%;
    font-size:7.5px;
  }

  .info-table td{
    padding:3px 5px;
    border:1px solid #000;
    font-size:7.5px;
  }

  /* Share section with QR code */
  .print-share-section{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:12px 0 10px 0;
    padding:8px;
    border:1px solid #000;
    background:#f5f5f5;
  }

  .share-info{
    flex:1;
  }

  .share-info p{
    margin:0 0 4px 0;
    font-size:7.5px;
    color:#000;
  }

  .share-info strong{
    font-weight:700;
  }

  .share-url{
    font-family:monospace;
    font-size:7px;
    word-break:break-all;
    color:#000;
  }

  .qr-container{
    text-align:center;
    margin-left:10px;
  }

  .qr-container img{
    width:100px;
    height:100px;
    border:1px solid #000;
    display:block;
  }

  .qr-label{
    margin:3px 0 0 0;
    font-size:6.5px;
    color:#000;
  }

  /* Print footer */
  .print-footer{
    display:block !important;
    text-align:center;
    font-size:7px;
    margin-top:10px;
    padding:5px 0 0 0;
    border-top:1px solid #000;
    color:#000;
    line-height:1.3;
  }

  .print-footer p{
    margin:0;
  }

  .print-footer strong{
    color:#000;
  }

  /* Hide collapse/expand markers */
  details summary{list-style:none;}
  details summary::marker,
  details summary::-webkit-details-marker{display:none;}
  details{display:block;}

  /* Typography */
  h1{font-size:16px;}
  h2{font-size:12px;}
  h3{font-size:10px;}
  p{margin:4px 0;}

  /* Hide inputs styling, show as text */
  input,select,textarea{
    border:none;
    background:transparent;
    font-size:8px;
    padding:0;
  }

  label{
    font-size:8px;
    font-weight:600;
  }

  /* Ensure no page breaks */
  *{page-break-inside:avoid;}
  .summary,.premium-breakdown,.print-footer{page-break-inside:avoid;}
}

/* Dark mode (header remains unchanged) */
body.dark{background:#0b1220;color:#e7ecf5}
body.dark .card{background:#101826;border-color:#1f2a3a;color:#e7ecf5}
body.dark input, body.dark select{background:#0f1522;color:#e7ecf5;border-color:#2a3a55}
body.dark input::placeholder{color:#9aa8bd}
body.dark .summary .kv{border-bottom-color:#223046}
body.dark .btn{background:#0f1522;color:#e7ecf5;border-color:#2a3a55}
body.dark .btn-primary{background:#2c67a2;color:#fff;border-color:#2c67a2}
body.dark .section[open] > summary{background:#0f1522}

/* Required indicator */
label.required > span::after{content:" *";color:var(--danger);margin-left:4px}

/* Date input with calendar trigger */
.date-input{ display:inline-flex; align-items:center; gap:6px; width:100%; }
.date-input input[type="date"]{ flex:1; }
.date-picker-trigger{
  border:1px solid var(--border); background:#fff; cursor:pointer;
  width:38px; height:38px; border-radius:8px; color:var(--muted);
  display:grid; place-items:center; flex-shrink:0;
}
.date-picker-trigger:hover{ background:#f1f4f9; border-color:var(--brand); }
body.dark .date-picker-trigger{ background:#0f1522; border-color:#2a3a55; }
body.dark .date-picker-trigger:hover{ background:#1a2233; border-color:#2c67a2; }

/* Hide the native calendar icon when we provide our own trigger */
input[type="date"].hide-native-picker{ -webkit-appearance:none; appearance:none; background-image:none; -moz-appearance:textfield; }
input[type="date"].hide-native-picker::-webkit-calendar-picker-indicator{ display:none; }
/* Remove extra date input UI artifacts on various browsers */
input[type="date"].hide-native-picker::-ms-expand{ display:none; }
input[type="date"].hide-native-picker::-webkit-clear-button{ display:none; }
input[type="date"].hide-native-picker::-webkit-inner-spin-button{ display:none; }
input[type="date"].hide-native-picker::-webkit-date-and-time-value{ text-align:left; }
@supports (-webkit-touch-callout: none){
  /* iOS Safari date still shows wheel; force text appearance */
  input[type="date"].hide-native-picker{ font-size:16px; }
}

/* Hide desktop actions on small screens; use mobile bar instead */
@media (max-width: 719.98px){
  .summary .actions{ display:none; }
  .content{ padding-bottom:80px; } /* space for mobile bar so content not obscured */
}

/* Settings menu close (X) */
.settings-menu .menu-content{ position:relative; }
.settings-menu .menu-close{
  position:absolute; top:8px; right:10px; background:transparent; border:none;
  color:var(--ink); font-size:22px; line-height:1; padding:4px; border-radius:6px; cursor:pointer;
}
.settings-menu .menu-close:hover{ background:#f1f4f9; }
body.dark .settings-menu .menu-close{ color:#e7ecf5; }
body.dark .settings-menu .menu-close:hover{ background:#1a2233; }

/* Error summary */
.error-summary{background:#fff3f3;border:1px solid #ffd2d2;color:#7a1f1f;border-radius:8px;padding:12px;margin-bottom:16px}
.error-summary ul{margin:8px 0 0;padding-left:20px}
body.dark .error-summary{background:#2a1212;border-color:#5a2323;color:#ffbdbd}

/* Ensure [hidden] truly hides */
[hidden]{display:none !important}

/* Custom modal overlays */
.modal-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease;
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-box{
  background:var(--card);border-radius:12px;padding:24px;max-width:400px;width:90%;
  box-shadow:0 4px 16px rgba(0,0,0,.3);animation:slideIn .2s ease;
}
@keyframes slideIn{from{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-message{margin:0 0 20px 0;font-size:15px;line-height:1.5;color:var(--ink)}
.modal-actions{display:flex;gap:12px;justify-content:flex-end}
.modal-btn{margin:0;min-width:80px}
.modal-cancel{background:#fff;border:1px solid var(--border);color:var(--ink)}
.modal-ok{background:var(--brand);color:#fff;border:none}
body.dark .modal-box{background:#101826;box-shadow:0 4px 16px rgba(0,0,0,.6)}
body.dark .modal-message{color:#e7ecf5}
body.dark .modal-cancel{background:#0f1522;color:#e7ecf5;border-color:#2a3a55}

/* Share modal sections */
.share-section{
  margin-bottom:16px;
  padding:12px;
  background:#f9f9f9;
  border:1px solid #e4e8ef;
  border-radius:8px;
}
.share-divider{
  border-top:1px solid #e4e8ef;
  padding-top:16px;
}

/* Dark mode for share sections */
body:not(.light-override) .share-section{
  background:#0f1522;
  border-color:#2a3a55;
}
body:not(.light-override) .share-divider{
  border-top-color:#2a3a55;
}
body.dark .share-section{
  background:#0f1522;
  border-color:#2a3a55;
}
body.dark .share-divider{
  border-top-color:#2a3a55;
}
