*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#172033;font:14px Segoe UI,Arial,sans-serif}header{background:#10233f;color:#fff;padding:22px 5vw;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;opacity:.75}h1{margin:5px 0;font-size:27px}header p{margin:0;opacity:.72}.badge{border:1px solid #ffffff44;border-radius:20px;padding:7px 13px}main{max-width:1080px;margin:auto;padding:16px}.card{background:#fff;border:1px solid #dfe5ee;border-radius:12px;padding:18px;margin-bottom:14px;box-shadow:0 5px 18px #10233f08}h2{font-size:17px;margin:0 0 14px}h3{font-size:13px;margin:18px 0 8px}.choice-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:15px}.choice-grid button,.segmented button{padding:11px;border:1px solid #ccd5e2;background:#fff;border-radius:8px;font-weight:700;cursor:pointer}.choice-grid button.active,.segmented button.active{background:#1455d9;color:#fff;border-color:#1455d9}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px}label{font-size:11px;font-weight:700;color:#475467}select,input{width:100%;margin-top:5px;padding:10px;border:1px solid #ccd5e2;border-radius:7px;background:#fff}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.toggle-head{display:flex;justify-content:space-between;align-items:center}.toggle-head p{margin:-8px 0 0;color:#667085;font-size:11px}.light{background:#eef3fb;color:#174a9c;border:0;border-radius:7px;padding:9px 12px}.hidden{display:none}.checks{display:flex;flex-wrap:wrap;gap:17px;margin-top:13px}.checks input{width:auto;margin:0 5px 0 0}.addon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.addon-grid label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;border:1px solid #e1e6ee;border-radius:7px;padding:9px}.addon-grid label>input[type=checkbox]{width:auto;margin:0}.addon-grid input[type=number]{margin:0}.calculate{width:100%;padding:13px;background:#1455d9;color:#fff;border:0;border-radius:8px;font-weight:800;font-size:15px;cursor:pointer}.message{margin:12px 0;padding:10px;border-radius:7px;background:#eef5ff;color:#174a9c}.message.error{background:#fff0f0;color:#9d2020}.results{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.results>div{background:#f7f9fc;border:1px solid #e3e8ef;border-radius:8px;padding:12px}.results span{font-size:10px;color:#667085}.results b{display:block;font-size:18px;margin-top:4px}.results .total{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;background:#edf5ff;border-color:#b8d2ff}.results .total b{font-size:25px}pre{white-space:pre-wrap;background:#0e1625;color:#dce5f2;padding:12px;border-radius:7px}@media(max-width:750px){.choice-grid{grid-template-columns:repeat(2,1fr)}.grid,.results,.addon-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.grid,.results,.addon-grid{grid-template-columns:1fr}.results .total{grid-column:auto}header{display:block}.badge{display:inline-block;margin-top:10px}}

/* Compact Vehicle / Liability + Optional Add-on columns */
.liability-grid,
.addon-grid-easy{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:7px !important;
}
.input-card,
.addon-card{
  padding:7px 8px !important;
  border-radius:8px !important;
}
.input-card-title{
  font-size:11px !important;
  margin-bottom:5px !important;
}
.input-card label,
.addon-card>label:last-child{
  font-size:10px !important;
}
.input-card input[type=number],
.addon-card input[type=number]{
  height:31px !important;
  margin-top:3px !important;
  font-size:12px !important;
}
.input-card small{
  font-size:9px !important;
  margin-top:3px !important;
}
.addon-head{
  min-height:28px !important;
  gap:5px !important;
}
.addon-check{
  font-size:10px !important;
  gap:5px !important;
}
.addon-check input{
  width:14px !important;
  height:14px !important;
}
.addon-tag{
  font-size:8px !important;
  padding:2px 5px !important;
}
.section-subtitle{
  font-size:14px !important;
}
.liability-help{
  font-size:10px !important;
  margin-bottom:7px !important;
}
@media(max-width:1100px){
  .liability-grid,
  .addon-grid-easy{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media(max-width:800px){
  .liability-grid,
  .addon-grid-easy{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:520px){
  .liability-grid,
  .addon-grid-easy{grid-template-columns:1fr !important}
}


/* Extra compact card layout */
.liability-grid,
.addon-grid-easy{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:5px !important;
}
.input-card,
.addon-card{
  padding:5px 6px !important;
  border-radius:6px !important;
}
.input-card-title{
  font-size:10px !important;
  margin-bottom:3px !important;
}
.input-card label,
.addon-card>label:last-child{
  font-size:9px !important;
}
.input-card input[type=number],
.addon-card input[type=number]{
  height:27px !important;
  margin-top:2px !important;
  padding:3px 5px !important;
  font-size:11px !important;
}
.input-card small{
  font-size:8px !important;
  margin-top:2px !important;
}
.addon-head{
  min-height:24px !important;
  gap:3px !important;
}
.addon-check{
  font-size:9px !important;
  gap:4px !important;
}
.addon-check input{
  width:12px !important;
  height:12px !important;
}
.addon-tag{
  font-size:7px !important;
  padding:1px 4px !important;
}
.section-subtitle{
  font-size:13px !important;
  margin-bottom:2px !important;
}
.liability-help{
  font-size:9px !important;
  margin-bottom:5px !important;
}
@media(max-width:1150px){
  .liability-grid,.addon-grid-easy{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
}
@media(max-width:900px){
  .liability-grid,.addon-grid-easy{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media(max-width:650px){
  .liability-grid,.addon-grid-easy{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:430px){
  .liability-grid,.addon-grid-easy{grid-template-columns:1fr !important}
}


/* Clear, high-visibility text */
body{
  color:#172b4d !important;
}
.section-subtitle{
  color:#082b55 !important;
  font-weight:800 !important;
  letter-spacing:.1px;
}
.liability-help{
  color:#475467 !important;
  font-weight:600 !important;
}
.input-card-title,
.addon-check span{
  color:#102a43 !important;
  font-weight:800 !important;
  text-shadow:none !important;
}
.input-card label,
.addon-card>label:last-child,
.checkline span{
  color:#344054 !important;
  font-weight:700 !important;
}
.input-card small{
  color:#667085 !important;
  font-weight:500 !important;
}
.addon-tag{
  color:#174a7c !important;
  font-weight:800 !important;
  background:#e8f1fb !important;
}
.input-card input,
.addon-card input[type=number],
select,
input[type=text],
input[type=date]{
  color:#172b4d !important;
  font-weight:600 !important;
}
.input-card input::placeholder,
.addon-card input::placeholder{
  color:#98a2b3 !important;
  opacity:1 !important;
}

#addonBox{display:block !important}.addon-toggle{display:none !important}

/* Non-Electrical title matches Optional Add-on text size */
.input-card-title{
  font-size:9px !important;
  font-weight:800 !important;
  color:#102a43 !important;
}



.tp-hide

.tp-disabled{
  opacity:.55 !important;
}
.tp-disabled input,
.tp-disabled select,
.tp-disabled button{
  cursor:not-allowed !important;
}

/* TP Only: visible but completely disabled */
.tp-disabled{
  opacity:.45 !important;
  filter:grayscale(.35);
}
.tp-disabled-section{
  opacity:.45 !important;
  filter:grayscale(.35);
  user-select:none !important;
}
.tp-disabled-section input,
.tp-disabled-section select,
.tp-disabled-section button,
.tp-disabled-section textarea{
  cursor:not-allowed !important;
}

/* Policy selector must always remain clickable */
.segmented,
.segmented [data-policy]{
  pointer-events:auto !important;
  position:relative;
  z-index:20;
}
.segmented [data-policy]:disabled{
  opacity:1 !important;
  cursor:pointer !important;
}

.segmented{
  position:relative !important;
  z-index:9999 !important;
  pointer-events:auto !important;
}
.segmented button{
  position:relative !important;
  z-index:10000 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}

.towing-option{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}
.towing-option .inline-premium{
  width:82px !important;
  height:28px !important;
  margin:0 !important;
  padding:3px 6px !important;
}

.policy-disabled{
  opacity:.45 !important;
  filter:grayscale(.5) !important;
  cursor:not-allowed !important;
}


/* =========================================================
   FINAL INDEX PAGE TYPOGRAPHY / ALIGNMENT
   Keep the calculator compact, but use one consistent text hierarchy.
   ========================================================= */
body{
  font-size:14px !important;
  line-height:1.4 !important;
  color:#172033 !important;
}
header{
  min-height:54px !important;
  height:54px !important;
  padding:10px 5vw !important;
}
header h1{
  font-size:20px !important;
  line-height:1.1 !important;
  margin:0 !important;
}
.card{
  padding:18px !important;
}
.card h2{
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  color:#0b2b52 !important;
  margin:0 0 13px !important;
}
.choice-grid button,
.segmented button{
  font-size:13px !important;
  line-height:1.2 !important;
  min-height:42px !important;
}
.grid > label,
.checks > label{
  font-size:12px !important;
  line-height:1.25 !important;
  color:#344054 !important;
  font-weight:700 !important;
}
.grid input,
.grid select{
  font-size:13px !important;
  line-height:1.2 !important;
  min-height:38px !important;
}
.checks{
  font-size:12px !important;
  line-height:1.25 !important;
}
.checks label{
  font-size:12px !important;
}
.liability-grid,
.addon-grid-easy{
  align-items:stretch !important;
}
.input-card,
.addon-card{
  min-height:96px !important;
  padding:9px !important;
}
.input-card-title,
.addon-check,
.addon-check span{
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
}
.input-card label,
.addon-card > label:last-child{
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
}
.input-card input[type=number],
.addon-card input[type=number]{
  height:34px !important;
  min-height:34px !important;
  padding:7px 8px !important;
  font-size:13px !important;
  line-height:1.2 !important;
}
.input-card small,
.addon-card small{
  font-size:10px !important;
  line-height:1.3 !important;
}
.addon-tag{
  font-size:9px !important;
  line-height:1.1 !important;
}
.addon-summary{
  font-size:12px !important;
  line-height:1.25 !important;
}
.mini-btn{
  font-size:12px !important;
}
.action-row .calculate{
  font-size:15px !important;
  line-height:1.2 !important;
  min-height:48px !important;
}
.results > div{
  min-height:76px !important;
  padding:12px !important;
}
.results span{
  font-size:11px !important;
  line-height:1.2 !important;
}
.results b{
  font-size:18px !important;
  line-height:1.2 !important;
}
.results .total b{
  font-size:25px !important;
}
.admin-rate-link{
  font-size:12px !important;
  line-height:1.2 !important;
}
@media(max-width:900px){
  .card{padding:15px !important}
}


/* Match Vehicle / Liability column text with Optional Add-on Premium */
.liability-grid .input-card-title,
.addon-grid-easy .addon-check,
.addon-grid-easy .addon-check span{
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
}

.liability-grid .input-card label,
.addon-grid-easy .addon-card > label:last-child{
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
}

.liability-grid .input-card input[type=number],
.addon-grid-easy .addon-card input[type=number]{
  height:34px !important;
  min-height:34px !important;
  padding:7px 8px !important;
  font-size:13px !important;
  line-height:1.2 !important;
}

.liability-grid .input-card{
  min-height:96px !important;
  padding:9px !important;
}


/* Detailed premium break-up */
.premium-breakdown{
  margin-top:18px;
  border:1px solid #b8cbe4;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.breakdown-title{
  background:#123f8f;
  color:#fff;
  font-size:16px;
  font-weight:800;
  padding:10px 12px;
  letter-spacing:.1px;
}
.breakdown-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:10px;
  padding:10px;
  align-items:start;
}
.breakdown-card{
  border:1px solid #d5dfeb;
  border-radius:7px;
  overflow:hidden;
  background:#fff;
}
.breakdown-card h3{
  margin:0;
  padding:9px 10px;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  color:#123f8f;
  background:#f3f7fc;
  border-bottom:1px solid #d9e3ee;
}
.od-card h3{color:#16763a;background:#eff8f1}
.tp-card h3,.pa-mini h3{color:#123f8f;background:#f0f5fd}
.ll-mini h3{color:#b95b10;background:#fff7ed}
.cng-card h3{color:#4b24a8;background:#f7f3ff}
.addon-card-breakdown h3{color:#4b24a8;background:#f7f3ff}
.bd-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:6px 9px;
  border-bottom:1px solid #edf1f5;
  font-size:11px;
  line-height:1.2;
}
.bd-row:last-child{border-bottom:0}
.bd-row span{color:#344054}
.bd-row b{color:#172033;text-align:right;white-space:nowrap}
.bd-row b.bd-text{white-space:normal}
.breakdown-total{
  display:flex;
  justify-content:space-between;
  padding:8px 9px;
  background:#eef7f1;
  color:#16763a;
  font-size:11px;
  font-weight:800;
}
.tp-card>.breakdown-total{background:#eef4ff;color:#123f8f}
.cng-card .breakdown-total,.addon-card-breakdown .breakdown-total{background:#f2edff;color:#4b24a8}
.pa-mini,.ll-mini{margin:10px}
.pa-mini{border-color:#d5dfeb}
.ll-mini{border-color:#efcfae}
.breakdown-summary{
  margin:0 10px 10px;
  border:1px solid #b8cbe4;
  border-radius:7px;
  overflow:hidden;
}
.breakdown-summary h3{
  margin:0;
  padding:9px 10px;
  font-size:12px !important;
  color:#123f8f;
  background:#f3f7fc;
  border-bottom:1px solid #d9e3ee;
}
.summary-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
}
.summary-columns>div:first-child{border-right:1px solid #d9e3ee}
.bd-grand,.bd-gst,.bd-final{
  display:flex;
  justify-content:space-between;
  padding:9px 10px;
  font-size:11px;
  font-weight:800;
}
.bd-grand{background:#eff8f1;color:#16763a}
.bd-gst{background:#fff1f1;color:#c62828}
.bd-final{background:#eef5ff;color:#123f8f;font-size:14px}
.bd-final b{font-size:16px}
.breakdown-note{
  margin:0 10px 12px;
  padding:8px 10px;
  border:1px solid #e2e8f0;
  border-radius:6px;
  color:#667085;
  background:#fafcff;
  font-size:10px;
}
@media(max-width:1000px){
  .breakdown-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .breakdown-grid,.summary-columns{grid-template-columns:1fr}
  .summary-columns>div:first-child{border-right:0;border-bottom:1px solid #d9e3ee}
}


/* Vehicle registration number: Indian RC style segmented input */
.registration-field{min-width:0}
.registration-boxes{display:grid;grid-template-columns:0.78fr 0.78fr 1.15fr 1.28fr;gap:5px;margin-top:5px}
.registration-boxes .reg-part{margin-top:0;text-align:center;font-weight:800;letter-spacing:.5px;text-transform:uppercase;height:40px;padding:8px 6px}
.registration-boxes .reg-state,.registration-boxes .reg-rto{min-width:0}
.registration-boxes .reg-series{min-width:0}
.registration-boxes .reg-number{min-width:0}
.registration-boxes .reg-part:focus{border-color:#1455d9;outline:2px solid #1455d933}
@media(max-width:750px){.registration-boxes{grid-template-columns:.8fr .8fr 1.12fr 1.25fr;gap:4px}}

/* Optional OD covers displayed as individual boxes */
.od-cover-boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.od-cover-box{border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:12px 14px;min-height:54px;display:flex;align-items:center;box-sizing:border-box;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.od-cover-box label{display:flex;align-items:center;gap:8px;width:100%;font-weight:600;cursor:pointer;margin:0}
.od-cover-box input[type=checkbox]{margin:0;flex:0 0 auto}
.od-cover-box .towing-option{display:flex!important;align-items:center!important;gap:7px!important;width:100%}
.od-cover-box .inline-premium{margin-left:auto;width:82px!important;height:30px!important;box-sizing:border-box}
@media(max-width:760px){.od-cover-boxes{grid-template-columns:1fr}}

/* Match Geographical Extension, Towing and IMT-23 boxes to the Add-ons & Liabilities cards */
.od-cover-boxes{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:5px !important;
  align-items:stretch !important;
}
.od-cover-box{
  min-height:96px !important;
  height:96px !important;
  padding:9px !important;
  border:1px solid #cbd5e1 !important;
  border-radius:8px !important;
  background:#fff !important;
  display:flex !important;
  align-items:flex-start !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
}
.od-cover-box label{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  color:#172b4d !important;
}
.od-cover-box input[type=checkbox]{
  width:14px !important;
  height:14px !important;
  margin:0 !important;
  flex:0 0 auto !important;
}
.od-cover-box .towing-option{
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  align-items:center !important;
  gap:6px !important;
}
.od-cover-box .towing-option .inline-premium{
  grid-column:1 / -1 !important;
  width:100% !important;
  height:34px !important;
  min-height:34px !important;
  margin:0 !important;
  padding:7px 8px !important;
  font-size:13px !important;
  box-sizing:border-box !important;
}
@media(max-width:1150px){
  .od-cover-boxes{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
}
@media(max-width:900px){
  .od-cover-boxes{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media(max-width:650px){
  .od-cover-boxes{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:430px){
  .od-cover-boxes{grid-template-columns:1fr !important}
}


/* Final OD cover layout: Geographical Extension + IMT-23 share one box;
   Towing and Include Trailer occupy matching boxes. */
.od-cover-boxes{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
.od-cover-box{
  min-height:96px !important;
  height:96px !important;
  padding:12px 14px !important;
}
.combined-covers-box{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:14px !important;
}
.combined-covers-box label{
  min-height:22px !important;
}
.trailer-box{
  border:1px solid #cbd5e1 !important;
  border-radius:10px !important;
  background:#fff !important;
  padding:12px 14px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  box-sizing:border-box !important;
}
.trailer-box label{font-size:11px !important}
.trailer-box input[type=number]{
  width:100% !important;
  height:34px !important;
  margin-top:7px !important;
  box-sizing:border-box !important;
}
@media(max-width:900px){.od-cover-boxes{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media(max-width:650px){.od-cover-boxes{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media(max-width:430px){.od-cover-boxes{grid-template-columns:1fr !important}}

/* Final: OD cover boxes match the PA Cover / Paid Drivers card height and proportions. */
.od-cover-boxes .od-cover-box{
  min-height:114px !important;
  height:114px !important;
  padding:11px 10px !important;
  border-radius:8px !important;
  box-sizing:border-box !important;
}
.od-cover-boxes .combined-covers-box{
  justify-content:center !important;
  gap:12px !important;
}
.od-cover-boxes .trailer-box{
  padding:11px 10px !important;
}

/* Final sizing: OD cover boxes use exactly the same column width, height and gap as the PA/LL cards. */
.od-cover-boxes{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:7px !important;
}
.od-cover-boxes .od-cover-box{
  width:100% !important;
  min-width:0 !important;
  min-height:96px !important;
  height:96px !important;
  box-sizing:border-box !important;
}

/* TP Only: keep Trailer and Employees boxes visible but fully disabled. */
.od-cover-box.tp-disabled,
.input-card.tp-disabled{
  opacity:.52 !important;
  filter:grayscale(.35) !important;
  cursor:not-allowed !important;
}
.od-cover-box.tp-disabled input,
.input-card.tp-disabled input{
  cursor:not-allowed !important;
}

/* Disabled controls: make the complete option visibly unavailable. */
label:has(> input:disabled),
label:has(> select:disabled),
label:has(> textarea:disabled),
.input-card:has(input:disabled),
.input-card:has(select:disabled),
.od-cover-box:has(> label > input:disabled),
.od-cover-box:has(> label > select:disabled){
  opacity:.42 !important;
  filter:grayscale(1) !important;
  color:#8a8f98 !important;
  background:#eceff3 !important;
  border-color:#d3d7dd !important;
  cursor:not-allowed !important;
}

label:has(> input:disabled) *,
label:has(> select:disabled) *,
label:has(> textarea:disabled) *,
.input-card:has(input:disabled) *,
.input-card:has(select:disabled) *,
.od-cover-box:has(> label > input:disabled) *,
.od-cover-box:has(> label > select:disabled) *{
  color:#8a8f98 !important;
  border-color:#d3d7dd !important;
  cursor:not-allowed !important;
}

/* Disabled fields themselves. */
input:disabled,
select:disabled,
textarea:disabled,
button:disabled{
  opacity:.55 !important;
  background:#e6e9ed !important;
  color:#8a8f98 !important;
  border-color:#cfd4da !important;
  cursor:not-allowed !important;
}

input[type="checkbox"]:disabled{
  accent-color:#aeb4bc !important;
}

/* Disabled options remain fully visible: disable interaction without fading or hiding. */
.tp-disabled,
.tp-disabled-section,
.od-cover-box.tp-disabled,
.input-card.tp-disabled,
label:has(> input:disabled),
label:has(> select:disabled),
label:has(> textarea:disabled),
.input-card:has(input:disabled),
.input-card:has(select:disabled),
.od-cover-box:has(> label > input:disabled),
.od-cover-box:has(> label > select:disabled),
.policy-disabled{
  opacity:1 !important;
  filter:none !important;
  visibility:visible !important;
}

/* Keep disabled text/box clearly visible while showing its disabled state. */
label:has(> input:disabled),
label:has(> select:disabled),
label:has(> textarea:disabled),
.input-card:has(input:disabled),
.input-card:has(select:disabled),
.od-cover-box:has(> label > input:disabled),
.od-cover-box:has(> label > select:disabled),
.policy-disabled{
  color:#737983 !important;
  background:#eef0f3 !important;
  border-color:#c9ced5 !important;
}

.tp-disabled-section{
  color:inherit !important;
  background:inherit !important;
}


/* Final option visibility rules:
   - Every option/box stays fully visible whether selected or not.
   - Disabled controls remain visible and clearly greyed.
   - For the combined Geographical Extension + IMT-23 box, disable styling applies
     only to the disabled option label; the shared box itself stays normal.
*/
.combined-covers-box:has(input:disabled){
  opacity:1 !important;
  filter:none !important;
  visibility:visible !important;
  color:inherit !important;
  background:#fff !important;
  border-color:#cbd5e1 !important;
}
.combined-covers-box label{
  opacity:1 !important;
  filter:none !important;
  visibility:visible !important;
}
.combined-covers-box label:has(> input:disabled){
  color:#737983 !important;
  background:#eef0f3 !important;
  border-color:#c9ced5 !important;
  opacity:1 !important;
  filter:none !important;
  cursor:not-allowed !important;
}
.combined-covers-box label:has(> input:disabled) span{
  color:#737983 !important;
}
.combined-covers-box label:not(:has(> input:disabled)){
  color:#102a43 !important;
  background:transparent !important;
}

/* Employees (LL): the card stays fully visible whenever the feature is applicable.
   Only the feature-level disabled state (OD Only / non-Private-Car) greys the card.
   A disabled employee-count input by itself must NOT fade the whole card. */
#employeesLLCard{
  opacity:1 !important;
  filter:none !important;
  visibility:visible !important;
}
#employeesLLCard.tp-disabled{
  opacity:1 !important;
  filter:none !important;
  visibility:visible !important;
  background:#eef0f3 !important;
  border-color:#c9ced5 !important;
  color:#737983 !important;
}
#employeesLLCard.tp-disabled .input-card-title,
#employeesLLCard.tp-disabled label{
  color:#737983 !important;
}

/* Include Trailer: keep the entire box fully visible in every state.
   Only the disabled checkbox/field is greyed; never fade the shared box. */
#trailerBox,
#trailerBox.tp-disabled,
#trailerBox:has(input:disabled){
  opacity:1 !important;
  filter:none !important;
  visibility:visible !important;
  background:#fff !important;
  border-color:#cbd5e1 !important;
  color:inherit !important;
}
#trailerBox .checkline{
  opacity:1 !important;
  filter:none !important;
  visibility:visible !important;
}
#trailerBox .checkline:has(> input:disabled){
  color:#737983 !important;
  cursor:not-allowed !important;
}
#trailerBox .checkline:has(> input:disabled) span{
  color:#737983 !important;
}
#trailerBox label:has(> input:disabled){
  background:transparent !important;
  border-color:transparent !important;
}

/* Employees (LL) — Private Car: keep the card in normal styling whether
   the option is selected or not. Only the checkbox/input control itself may
   be disabled. The card is grey only when the feature itself is unavailable. */
#employeesLLCard.employees-applicable{
  opacity:1 !important;
  filter:none !important;
  visibility:visible !important;
  background:#fff !important;
  border-color:#cbd5e1 !important;
  color:#102a43 !important;
}
#employeesLLCard.employees-applicable .input-card-title,
#employeesLLCard.employees-applicable label{
  color:#102a43 !important;
}
#employeesLLCard.employees-applicable:has(#includeEmployeesLL:disabled){
  background:#fff !important;
  border-color:#cbd5e1 !important;
}
#employeesLLCard.employees-applicable:has(#employees:disabled){
  background:#fff !important;
  border-color:#cbd5e1 !important;
}

/* Geographical Extension + IMT-23: keep the same outer location, but split the
   shared cover area into two equal visible parts. Each part can be disabled
   independently without fading the other part or the outer area. */
.od-cover-boxes .combined-covers-box{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  grid-template-rows:1fr !important;
  gap:0 !important;
  align-items:stretch !important;
  padding:0 !important;
  overflow:hidden !important;
}
.od-cover-boxes .combined-covers-box label{
  width:100% !important;
  min-height:0 !important;
  height:100% !important;
  margin:0 !important;
  padding:10px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#102a43 !important;
  opacity:1 !important;
  filter:none !important;
}
.od-cover-boxes .combined-covers-box label + label{
  border-left:1px solid #cbd5e1 !important;
}
.od-cover-boxes .combined-covers-box label:has(> input:disabled){
  background:#eef0f3 !important;
  color:#737983 !important;
  opacity:1 !important;
  filter:none !important;
  cursor:not-allowed !important;
}
.od-cover-boxes .combined-covers-box label:has(> input:disabled) span{
  color:#737983 !important;
}
.od-cover-boxes .combined-covers-box label:has(> input:disabled) input{
  cursor:not-allowed !important;
}

/* Geographical Extension + IMT-23: two separate horizontal boxes in the same original slot. */
.od-cover-boxes .geo-imt23-pair{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  min-width:0 !important;
  min-height:114px !important;
}
.od-cover-boxes .geo-imt23-pair > .od-cover-box{
  min-width:0 !important;
  min-height:114px !important;
  height:100% !important;
  box-sizing:border-box !important;
}
.od-cover-boxes .geo-imt23-pair > .od-cover-box > label{
  display:flex !important;
  align-items:center !important;
  min-height:100% !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
}
.od-cover-boxes .geo-imt23-pair .geo-cover-box{
  border:1px solid #cbd5e1 !important;
  background:#fff !important;
}
.od-cover-boxes .geo-imt23-pair .imt23-cover-box{
  border:1px solid #cbd5e1 !important;
  background:#fff !important;
}
.od-cover-boxes .geo-imt23-pair .od-cover-box:has(input:disabled){
  background:#eef0f3 !important;
  border-color:#cbd5e1 !important;
  opacity:1 !important;
  filter:none !important;
}
.od-cover-boxes .geo-imt23-pair .od-cover-box:has(input:disabled) label,
.od-cover-boxes .geo-imt23-pair .od-cover-box:has(input:disabled) span{
  color:#737983 !important;
}
@media(max-width:760px){
  .od-cover-boxes .geo-imt23-pair{grid-template-columns:1fr 1fr !important;gap:8px !important}
}

/* Geographical Extension + IMT-23: vertical separate boxes, same original location. */
.od-cover-boxes .geo-imt23-pair{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:1fr 1fr !important;
  gap:8px !important;
  min-width:0 !important;
  min-height:114px !important;
}
.od-cover-boxes .geo-imt23-pair > .od-cover-box{
  min-width:0 !important;
  min-height:0 !important;
  height:100% !important;
  box-sizing:border-box !important;
}
.od-cover-boxes .geo-imt23-pair > .od-cover-box > label{
  min-height:100% !important;
  height:100% !important;
  width:100% !important;
  box-sizing:border-box !important;
}
@media(max-width:760px){
  .od-cover-boxes .geo-imt23-pair{
    grid-template-columns:1fr !important;
    grid-template-rows:1fr 1fr !important;
    gap:8px !important;
  }
}

/* Geo / IMT-23 vertical pair: keep each box exactly the same column width as
   the Towing and Trailer boxes beside it. */
.od-cover-boxes .geo-imt23-pair{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  justify-self:stretch !important;
  box-sizing:border-box !important;
}
.od-cover-boxes .geo-imt23-pair > .od-cover-box{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  justify-self:stretch !important;
  box-sizing:border-box !important;
}

/* Final alignment: Geographical Extension and IMT-23 are vertical, separate boxes,
   and the pair occupies exactly one OD-cover grid column like Towing/Trailer. */
.od-cover-boxes .geo-imt23-pair{
  width:100% !important;
  min-width:0 !important;
  height:96px !important;
  min-height:96px !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:1fr 1fr !important;
  gap:7px !important;
  box-sizing:border-box !important;
}
.od-cover-boxes .geo-imt23-pair > .od-cover-box{
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  padding:9px !important;
  box-sizing:border-box !important;
}
.od-cover-boxes .geo-imt23-pair > .od-cover-box > label{
  width:100% !important;
  min-height:0 !important;
  height:100% !important;
  box-sizing:border-box !important;
}


/* Hide any legacy/global workspace bar injected before the calculator header.
   The calculator keeps its own single application header. */
body > div:first-child:not(.card) {
  display: none !important;
}


.ithub-brand{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:none;opacity:.9;margin-bottom:3px;color:inherit}

/* InsuranceToolHub home branding - larger */
.ithub-brand{
  display:inline-block;
  font-size:16px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.15px;
  color:#fff;
  text-decoration:none;
  margin-bottom:4px;
  cursor:pointer;
}
.ithub-brand:hover{color:#dbeafe;text-decoration:underline}
header .ithub-brand{
  position:absolute;
  left:5vw;
  top:50%;
  transform:translateY(-50%);
}
@media(max-width:650px){
  header .ithub-brand{left:16px;font-size:14px}
}

/* FINAL: keep InsuranceToolHub inside the calculator header */
body > header{position:relative!important;min-height:55px;display:flex;align-items:center;justify-content:center}
body > header > .ithub-brand{
 position:absolute!important;left:max(18px,5vw)!important;top:50%!important;right:auto!important;bottom:auto!important;
 transform:translateY(-50%)!important;margin:0!important;z-index:10;display:inline-flex!important;align-items:center;
 font-size:15px!important;line-height:1!important;font-weight:800!important;color:#fff!important;text-decoration:none!important;white-space:nowrap
}
body > header > .ithub-brand:hover{color:#dbeafe!important;text-decoration:underline!important}
body > header > div{margin:0 auto;text-align:center}
@media(max-width:700px){
 body > header{justify-content:flex-start;padding-left:16px;padding-right:100px}
 body > header > .ithub-brand{position:static!important;transform:none!important;margin-right:14px!important;font-size:13px!important}
 body > header > div{margin:0;text-align:left}
}

/* FINAL: Rate Admin belongs to the calculator header */
body > header .admin-rate-link{
  position:absolute !important;
  right:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:20;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:8px;
  white-space:nowrap;
}
@media(max-width:700px){
  body > header .admin-rate-link{
    right:12px !important;
    min-height:31px;
    padding:6px 9px;
    font-size:11px;
  }
}

/* FINAL: white calculator header */
body > header{
  background:#ffffff !important;
  color:#102a43 !important;
  border-bottom:1px solid #d9e2ec !important;
  box-shadow:0 1px 5px rgba(16,42,67,.06);
}
body > header h1,
body > header .eyebrow{
  color:#102a43 !important;
}
body > header > .ithub-brand{
  color:#155eef !important;
}
body > header > .ithub-brand:hover{
  color:#0b4acb !important;
}
body > header .admin-rate-link{
  background:#ffffff !important;
  color:#102a43 !important;
  border-color:#b8c7d9 !important;
}
body > header .admin-rate-link:hover{
  background:#f4f7fb !important;
}

/* Unified InsuranceToolHub header brand */

.ithub-unified-home{
  display:inline-flex!important;
  align-items:center!important;
  color:#17212b!important;
  text-decoration:none!important;
  font-family:inherit!important;
  font-size:16px!important;
  line-height:1.1!important;
  font-weight:750!important;
  letter-spacing:-.25px!important;
  white-space:nowrap!important;
}
.ithub-unified-home:hover{
  color:#155eef!important;
  text-decoration:none!important;
}

body > header > .ithub-unified-home{
  position:absolute!important;
  left:68px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  z-index:20!important;
}
body > header{
  background:#fff!important;
}


/* InsuranceToolHub unified global header */
.ithub-global-header{
  height:66px!important;
  min-height:66px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border-bottom:1px solid #dfe5e9!important;
  display:flex!important;
  align-items:center!important;
  position:relative!important;
  width:100%!important;
  padding:0 68px!important;
  margin:0!important;
  color:#17212b!important;
}
.ithub-global-home{
  display:inline-flex!important;
  align-items:center!important;
  height:100%!important;
  color:#17212b!important;
  text-decoration:none!important;
  font-family:inherit!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:750!important;
  letter-spacing:-.25px!important;
  white-space:nowrap!important;
}
.ithub-global-home:hover{color:#155eef!important;text-decoration:none!important}
.ithub-global-title{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  font-size:18px!important;
  line-height:1.1!important;
  font-weight:750!important;
  white-space:nowrap!important;
  color:#17212b!important;
}
.ithub-global-action{
  margin-left:auto!important;
  display:inline-flex!important;
  align-items:center!important;
}
@media(max-width:700px){
  .ithub-global-header{height:60px!important;min-height:60px!important;padding:0 16px!important}
  .ithub-global-home{font-size:14px!important}
  .ithub-global-title{font-size:15px!important}
}

/* Reset legacy header-brand positioning */
body > header > .ithub-brand,
body > header > .ithub-unified-home{position:static!important;transform:none!important;left:auto!important;top:auto!important}

/* Commission & Cut-Pay shortcut in Customer & Vehicle */
.commission-tool-card{
  border:1px solid #cbdaf2;
  border-radius:9px;
  background:linear-gradient(135deg,#f7fbff,#eef5ff);
  padding:10px 11px;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  text-align:center;
}
.commission-tool-title{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:800;color:#17365d}
.commission-tool-icon{width:22px;height:22px;border-radius:6px;background:#dbeafe;color:#1455d9;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}
.commission-tool-text{font-size:9px;line-height:1.3;color:#667085;font-weight:600}
.commission-tool-link{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:2px;text-decoration:none;color:#1455d9;font-size:10px;font-weight:800}
.commission-tool-link:hover{text-decoration:underline}
@media(max-width:750px){.commission-tool-card{min-height:0}}


/* ================================================================
   MOBILE RESPONSIVE FIX — desktop layout intentionally unchanged
   ================================================================ */
@media (max-width: 650px) {
  html, body { max-width:100%; overflow-x:hidden !important; }
  .container, main, .card, .section, .form-section { max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; }
  .grid, .results, .addon-grid, .liability-grid, .addon-grid-easy { grid-template-columns:minmax(0,1fr) !important; min-width:0 !important; }
  .grid > *, .results > *, .addon-grid > *, .liability-grid > *, .addon-grid-easy > * { min-width:0 !important; max-width:100% !important; box-sizing:border-box !important; }
  .registration-boxes { grid-template-columns:.8fr .8fr 1.1fr 1.25fr !important; min-width:0 !important; }
  .od-cover-boxes { grid-template-columns:minmax(0,1fr) !important; gap:10px !important; width:100% !important; }
  .od-cover-boxes .od-cover-box,
  .od-cover-boxes .geo-imt23-pair,
  .od-cover-boxes .trailer-box { width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; }
  .od-cover-boxes .geo-imt23-pair { grid-template-columns:minmax(0,1fr) !important; grid-template-rows:auto auto !important; height:auto !important; min-height:0 !important; }
  .od-cover-boxes .od-cover-box { height:auto !important; min-height:76px !important; }
  .input-card, .addon-card { width:100% !important; max-width:100% !important; min-width:0 !important; overflow:hidden !important; }
  .input-card input, .input-card select, .addon-card input, .addon-card select { max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; }
}

@media (max-width:430px) {
  .registration-boxes { grid-template-columns:1fr 1fr !important; }
  .registration-boxes .reg-part:nth-child(3), .registration-boxes .reg-part:nth-child(4) { min-width:0 !important; }
  .od-cover-box label { white-space:normal !important; overflow-wrap:anywhere !important; }
}
