/* FAN TEMP V6 - loaded after the global final theme so modal stays readable. */
body .fanTempHomeModal .fanTempHomeCard{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #d7e0ea!important;
  box-shadow:0 28px 90px rgba(15,23,42,.26)!important;
}
body .fanTempHomeModal .fanHomeHead h3{
  color:#0f172a!important;
}
body .fanTempHomeModal .fanHomeKicker{
  color:#0891b2!important;
}
body .fanTempHomeModal .fanHomeSub{
  color:#475569!important;
  font-weight:650!important;
}
body .fanTempHomeModal .fanHomeField label{
  color:#334155!important;
  font-weight:900!important;
}
body .fanTempHomeModal .fanHomeField select,
body .fanTempHomeModal .fanHomeField input,
body .fanTempHomeModal .fanHomeReadonly{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  box-shadow:none!important;
}
body .fanTempHomeModal .fanHomeField select:focus,
body .fanTempHomeModal .fanHomeField input:focus{
  border-color:#0ea5e9!important;
  outline:2px solid rgba(14,165,233,.15)!important;
  outline-offset:0!important;
}
body .fanTempHomeModal .fanHomeReadonly{
  color:#1e293b!important;
}
body .fanTempHomeModal .fanHomeStatus{
  color:#475569!important;
  font-weight:900!important;
}
body .fanTempHomeModal .fanHomeStatus.ok{
  color:#047857!important;
}
body .fanTempHomeModal .fanHomeStatus.bad{
  color:#be123c!important;
}
body .fanTempHomeModal .fanHomeFoundBox{
  background:#f0f9ff!important;
  border:1px solid #bae6fd!important;
}
body .fanTempHomeModal .fanHomeFoundBox strong{
  color:#0f172a!important;
  font-weight:900!important;
}
body .fanTempHomeModal .fanHomeFoundBox span{
  color:#334155!important;
  font-weight:700!important;
}
body .fanTempHomeModal .fanHomeCurrentBox{
  background:#ecfdf5!important;
  border:1px solid #a7f3d0!important;
}
body .fanTempHomeModal .fanHomeCurrentLabel{
  color:#334155!important;
  font-weight:1000!important;
}
body .fanTempHomeModal .fanHomeCurrentValue{
  color:#047857!important;
  text-shadow:none!important;
}
body .fanTempHomeModal .fanHomeCurrentEmpty{
  color:#475569!important;
  font-weight:700!important;
}
body .fanTempHomeModal .fanHomeNote{
  color:#475569!important;
  font-weight:650!important;
}
body .fanTempHomeModal .fanHomeClose{
  background:#475569!important;
  color:#ffffff!important;
  border-color:#475569!important;
}
body .fanTempHomeModal .fanHomePrimary{
  background:#0284c7!important;
  border-color:#0284c7!important;
  color:#ffffff!important;
}
body .fanTempHomeModal .fanHomeSuccess{
  background:#059669!important;
  border-color:#059669!important;
  color:#ffffff!important;
}
body .fanTempHomeModal .btn:disabled{
  background:#cbd5e1!important;
  border-color:#cbd5e1!important;
  color:#64748b!important;
  opacity:1!important;
}

/* V8: BIN picker is locked until make + ECU/model are selected; no filename/side box is rendered. */
body .fanTempHomeModal .fanHomeBinRow{display:block!important;width:100%!important}
body .fanTempHomeModal .fanHomeBinRow #fanHomeChooseBin{width:100%!important;display:block!important}


/* V9 mobile: native mobile access + high contrast dark modal matching TRDecoder theme. */
@media (max-width: 760px) {
  body .fanTempHomeModal{
    padding:0!important;
    align-items:flex-end!important;
    background:rgba(2,6,23,.78)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
  body .fanTempHomeModal .fanTempHomeCard{
    width:100%!important;
    max-width:none!important;
    max-height:94dvh!important;
    margin:0!important;
    border-radius:22px 22px 0 0!important;
    border:1px solid #1e3a5f!important;
    border-bottom:0!important;
    background:linear-gradient(180deg,#0b1628 0%,#08111f 100%)!important;
    color:#f8fafc!important;
    box-shadow:0 -18px 55px rgba(0,0,0,.45)!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:max(14px,env(safe-area-inset-bottom))!important;
  }
  body .fanTempHomeModal .fanHomeHead{
    position:sticky!important;
    top:0!important;
    z-index:4!important;
    padding:18px 16px 12px!important;
    background:rgba(11,22,40,.96)!important;
    border-bottom:1px solid rgba(148,163,184,.14)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  body .fanTempHomeModal .fanHomeHead h3{color:#f8fafc!important;font-size:24px!important;line-height:1.1!important;margin:5px 0 4px!important}
  body .fanTempHomeModal .fanHomeKicker{color:#38bdf8!important;font-size:10px!important;letter-spacing:.13em!important}
  body .fanTempHomeModal .fanHomeSub{color:#cbd5e1!important;font-size:12px!important;line-height:1.45!important;font-weight:700!important}
  body .fanTempHomeModal .fanHomeClose{
    flex:0 0 42px!important;width:42px!important;height:42px!important;border-radius:12px!important;
    background:#18263a!important;color:#fff!important;border:1px solid #334155!important;font-size:25px!important;
  }
  body .fanTempHomeModal .fanHomeBody{padding:14px 16px 18px!important}
  body .fanTempHomeModal .fanHomeGrid{display:grid!important;grid-template-columns:1fr!important;gap:13px!important}
  body .fanTempHomeModal .fanHomeField{gap:6px!important}
  body .fanTempHomeModal .fanHomeField label{color:#cbd5e1!important;font-size:10px!important;font-weight:900!important;letter-spacing:.09em!important}
  body .fanTempHomeModal .fanHomeField select,
  body .fanTempHomeModal .fanHomeField input,
  body .fanTempHomeModal .fanHomeReadonly{
    min-height:50px!important;
    border-radius:12px!important;
    background:#0f1d31!important;
    color:#f8fafc!important;
    border:1px solid #334a67!important;
    padding:12px 13px!important;
    font-size:16px!important;
    font-weight:800!important;
    -webkit-text-fill-color:#f8fafc!important;
  }
  body .fanTempHomeModal .fanHomeField select:disabled,
  body .fanTempHomeModal .fanHomeField input:disabled{
    opacity:1!important;background:#101827!important;color:#7f92aa!important;-webkit-text-fill-color:#7f92aa!important;border-color:#25364d!important;
  }
  body .fanTempHomeModal .fanHomeBinRow{display:block!important;width:100%!important}
  body .fanTempHomeModal .fanHomeBinRow #fanHomeChooseBin,
  body .fanTempHomeModal .fanHomeActions .btn{
    width:100%!important;min-height:50px!important;border-radius:12px!important;font-size:14px!important;font-weight:950!important;
  }
  body .fanTempHomeModal .fanHomePrimary{background:#0284c7!important;border-color:#0ea5e9!important;color:#fff!important}
  body .fanTempHomeModal .fanHomeSuccess{background:#059669!important;border-color:#10b981!important;color:#fff!important}
  body .fanTempHomeModal .btn:disabled{background:#263449!important;border-color:#334155!important;color:#8495aa!important;opacity:1!important}
  body .fanTempHomeModal .fanHomeStatus{color:#cbd5e1!important;font-size:12px!important;line-height:1.4!important;margin-top:10px!important}
  body .fanTempHomeModal .fanHomeStatus.ok{color:#6ee7b7!important}
  body .fanTempHomeModal .fanHomeStatus.bad{color:#fda4af!important}
  body .fanTempHomeModal .fanHomeFoundBox{
    margin-top:8px!important;padding:13px 14px!important;border-radius:13px!important;
    background:#0c2437!important;border:1px solid #174d6d!important;
  }
  body .fanTempHomeModal .fanHomeFoundBox strong{color:#f0f9ff!important;font-size:13px!important}
  body .fanTempHomeModal .fanHomeFoundBox span{color:#b6c7d9!important;font-size:11px!important}
  body .fanTempHomeModal .fanHomeCurrentBox{
    margin-top:10px!important;padding:16px!important;border-radius:14px!important;background:#0b2d27!important;border:1px solid #166b59!important;
  }
  body .fanTempHomeModal .fanHomeCurrentLabel{color:#b7eadc!important}
  body .fanTempHomeModal .fanHomeCurrentValue{color:#5eead4!important;font-size:28px!important}
  body .fanTempHomeModal .fanHomeCurrentEmpty{color:#b6c7d9!important}
  body .fanTempHomeModal .fanHomeNote{color:#9fb0c3!important;font-size:10px!important;line-height:1.45!important;margin-top:11px!important}
}

/* V10 FINAL MOBILE CONTRAST OVERRIDES */
@media (max-width:760px){
  html body .fanTempHomeModal .fanHomeBody{
    background:#0b1628!important;
    color:#f8fafc!important;
  }
  html body .fanTempHomeModal .fanHomeField label,
  html body .fanTempHomeModal .fanHomeStatus,
  html body .fanTempHomeModal .fanHomeNote{
    opacity:1!important;
  }
  html body .fanTempHomeModal #fanHomeBrand,
  html body .fanTempHomeModal #fanHomeEcu,
  html body .fanTempHomeModal #fanHomeTemp{
    -webkit-appearance:none!important;
    appearance:none!important;
    background-color:#13243b!important;
    background-image:none!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    border:1px solid #49617e!important;
    box-shadow:0 0 0 1px rgba(255,255,255,.02) inset!important;
    opacity:1!important;
  }
  html body .fanTempHomeModal #fanHomeBrand:disabled,
  html body .fanTempHomeModal #fanHomeEcu:disabled,
  html body .fanTempHomeModal #fanHomeTemp:disabled{
    background-color:#162239!important;
    color:#c7d2e2!important;
    -webkit-text-fill-color:#c7d2e2!important;
    border-color:#3b4e68!important;
    opacity:1!important;
  }
  html body .fanTempHomeModal #fanHomeBrand option,
  html body .fanTempHomeModal #fanHomeEcu option{
    background:#13243b!important;
    color:#ffffff!important;
  }
  html body .fanTempHomeModal #fanHomeChooseBin{
    background:#0b74d1!important;
    border-color:#3aa5ff!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    opacity:1!important;
  }
  html body .fanTempHomeModal #fanHomeChooseBin:disabled{
    background:#26374d!important;
    border-color:#41556e!important;
    color:#aebdd0!important;
    -webkit-text-fill-color:#aebdd0!important;
  }
  html body .fanTempHomeModal #fanHomeApply{
    background:#087f5b!important;
    border-color:#21b384!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    opacity:1!important;
  }
  html body .fanTempHomeModal #fanHomeApply:disabled{
    background:#334155!important;
    border-color:#475569!important;
    color:#cbd5e1!important;
    -webkit-text-fill-color:#cbd5e1!important;
  }
  html body .fanTempHomeModal #fanHomeStatus{color:#e2e8f0!important}
  html body .fanTempHomeModal #fanHomeStatus.ok{color:#86efac!important}
  html body .fanTempHomeModal #fanHomeStatus.bad{color:#fda4af!important}
  html body .fanTempHomeModal .fanHomeFoundBox{
    background:#102a43!important;
    border-color:#2a5b7d!important;
  }
  html body .fanTempHomeModal .fanHomeFoundBox strong{color:#ffffff!important}
  html body .fanTempHomeModal .fanHomeFoundBox span{color:#d3dfec!important}
  html body .fanTempHomeModal .fanHomeCurrentBox{
    background:#0d322b!important;
    border-color:#26836e!important;
  }
  html body .fanTempHomeModal .fanHomeCurrentLabel{color:#d1fae5!important}
  html body .fanTempHomeModal .fanHomeCurrentValue{color:#7fffd4!important}
  html body .fanTempHomeModal .fanHomeCurrentEmpty{color:#d8e4ef!important}
}


/* V17 per-slot temperature editor: LOW/HI points are independently editable. */
body .fanTempHomeModal .fanHomeTempsField{grid-column:1/-1!important}
body .fanTempHomeModal .fanHomeTempEditor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
body .fanTempHomeModal .fanHomeTempRow{display:grid;grid-template-columns:minmax(72px,.55fr) minmax(150px,1fr);align-items:center;gap:12px;padding:10px 12px;border:1px solid #d9e3ef;border-radius:12px;background:#f8fafc}
body .fanTempHomeModal .fanHomeTempRow>label{margin:0!important;color:#0f172a!important;font-weight:950!important;font-size:12px!important;letter-spacing:.03em!important}
body .fanTempHomeModal .fanHomeTempControl{display:flex;align-items:center;gap:8px}
body .fanTempHomeModal .fanHomeTempInput{width:100%!important;min-height:42px!important;padding:8px 10px!important;border:1px solid #b7c6d8!important;border-radius:9px!important;background:#fff!important;color:#0f172a!important;font-size:16px!important;font-weight:900!important;-webkit-text-fill-color:#0f172a!important}
body .fanTempHomeModal .fanHomeTempControl>span{color:#475569!important;font-weight:900!important}
body .fanTempHomeModal .fanHomeTempEmpty{grid-column:1/-1;padding:12px;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;background:#f8fafc;font-weight:700}
body .fanTempHomeModal .fanHomeCurrentRows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;text-align:left}
body .fanTempHomeModal .fanHomeCurrentRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:10px;background:rgba(255,255,255,.72);border:1px solid rgba(5,150,105,.12)}
body .fanTempHomeModal .fanHomeCurrentRow span{color:#334155!important;font-size:11px!important;font-weight:900!important}
body .fanTempHomeModal .fanHomeCurrentRow b{color:#047857!important;font-size:14px!important;font-weight:1000!important}
@media(max-width:760px){
  html body .fanTempHomeModal .fanHomeTempEditor,
  html body .fanTempHomeModal .fanHomeCurrentRows{grid-template-columns:1fr!important}
  html body .fanTempHomeModal .fanHomeTempRow{grid-template-columns:84px 1fr!important;background:#10243a!important;border-color:#334a67!important;padding:10px!important}
  html body .fanTempHomeModal .fanHomeTempRow>label{color:#f8fafc!important;font-size:11px!important}
  html body .fanTempHomeModal .fanHomeTempInput{background:#13243b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#49617e!important;min-height:46px!important}
  html body .fanTempHomeModal .fanHomeTempControl>span{color:#dbeafe!important}
  html body .fanTempHomeModal .fanHomeTempEmpty{background:#10243a!important;border-color:#334a67!important;color:#cbd5e1!important}
  html body .fanTempHomeModal .fanHomeCurrentRow{background:#12372f!important;border-color:#236b5a!important}
  html body .fanTempHomeModal .fanHomeCurrentRow span{color:#d1fae5!important}
  html body .fanTempHomeModal .fanHomeCurrentRow b{color:#7fffd4!important}
}

/* V19 iOS MOBILE TEMP VALUE VISIBILITY FIX
   iOS may repaint number inputs with a light native field while retaining
   the previous white -webkit-text-fill-color. Force the six FAN temperature
   editors to a coherent light field with dark text on mobile only. */
@media (max-width:760px){
  html body .fanTempHomeModal input.fanHomeTempInput,
  html body .fanTempHomeModal .fanHomeTempControl input[type="number"]{
    -webkit-appearance:none!important;
    appearance:none!important;
    background:#ffffff!important;
    background-color:#ffffff!important;
    color:#0f172a!important;
    -webkit-text-fill-color:#0f172a!important;
    caret-color:#0f172a!important;
    border:1px solid #94a3b8!important;
    opacity:1!important;
    font-weight:900!important;
    box-shadow:none!important;
  }
  html body .fanTempHomeModal input.fanHomeTempInput:focus,
  html body .fanTempHomeModal .fanHomeTempControl input[type="number"]:focus{
    background:#ffffff!important;
    color:#020617!important;
    -webkit-text-fill-color:#020617!important;
    border-color:#38bdf8!important;
    outline:2px solid rgba(56,189,248,.22)!important;
  }
}
