/* Fleet Integrity online onboarding forms */
.fi-onboarding-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.fi-onboarding-card{border:1px solid rgba(21,77,130,.14);border-radius:16px;background:var(--fi4-surface,var(--fi-surface,var(--panel,#fff)));color:var(--fi4-text,var(--fi-ink,var(--text,#10283e)));padding:18px;box-shadow:0 8px 26px rgba(6,26,48,.05)}.fi-onboarding-card h3{margin:0 0 6px;font-size:18px}.fi-onboarding-card p{margin:0;color:var(--muted,#66788a);line-height:1.45}.fi-onboarding-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fi-onboarding-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.fi-onboarding-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:12px;color:var(--muted,#66788a)}.fi-onboarding-status{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:#eef3f8;font-size:12px;font-weight:800;white-space:nowrap}.fi-onboarding-status.submitted,.fi-onboarding-status.ready{background:#fff1cc;color:#754d00}.fi-onboarding-status.completed{background:#def5e7;color:#166337}.fi-onboarding-status.draft{background:#eaf1ff;color:#174f9f}.fi-onboarding-intro{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,rgba(24,115,223,.08),rgba(6,26,48,.03));border:1px solid rgba(24,115,223,.12)}.fi-onboarding-intro strong{display:block}.fi-onboarding-intro small{display:block;margin-top:3px;color:var(--muted,#66788a)}
#fiOnboardingDialog{width:min(1050px,calc(100vw - 28px));max-width:1050px;height:min(900px,calc(100dvh - 28px));max-height:900px;padding:0;border:0;border-radius:18px;background:var(--fi4-surface,var(--fi-surface,var(--panel,#fff)));color:var(--fi4-text,var(--fi-ink,var(--text,#10283e)));box-shadow:0 24px 90px rgba(0,0,0,.28)}#fiOnboardingDialog::backdrop{background:rgba(2,12,23,.62);backdrop-filter:blur(3px)}.fi-form-shell{height:100%;display:flex;flex-direction:column}.fi-form-head{display:flex;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid rgba(21,77,130,.13);background:linear-gradient(180deg,rgba(6,26,48,.04),transparent)}.fi-form-head h2{margin:3px 0 4px;font-size:22px}.fi-form-head p{margin:0;color:var(--muted,#66788a)}.fi-form-scroll{overflow:auto;padding:18px 20px 28px;flex:1}.fi-form-note{padding:12px 14px;margin:0 0 16px;border-radius:12px;background:#eef6ff;border:1px solid #cfe5ff;color:#17466f;font-size:13px}.fi-form-section{margin:0 0 20px;border:1px solid rgba(21,77,130,.13);border-radius:14px;overflow:hidden}.fi-form-section>header{padding:11px 14px;background:#082846;color:#fff}.fi-form-section>header h3{margin:0;font-size:14px;letter-spacing:.02em}.fi-form-section>header p{margin:4px 0 0;font-size:12px;color:#cfe1ef}.fi-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.fi-form-field{display:flex;flex-direction:column;gap:7px;padding:12px 14px;border-bottom:1px solid rgba(21,77,130,.10);border-right:1px solid rgba(21,77,130,.10);min-width:0}.fi-form-field:nth-child(even){border-right:0}.fi-form-field.full,.fi-form-field[data-type="textarea"],.fi-form-field[data-type="assets"],.fi-form-field[data-type="checklist"],.fi-form-field[data-type="fixed"]{grid-column:1/-1;border-right:0}.fi-form-field>span{font-size:12px;font-weight:800;color:var(--text,#10283e)}.fi-required{color:#e5484d}.fi-form-field input,.fi-form-field select,.fi-form-field textarea{width:100%;box-sizing:border-box;min-height:42px;border:1px solid rgba(21,77,130,.20);border-radius:9px;padding:9px 10px;background:var(--input-bg,#fff);color:var(--text,#10283e);font:inherit}.fi-form-field textarea{min-height:86px;resize:vertical}.fi-form-field input:focus,.fi-form-field select:focus,.fi-form-field textarea:focus{outline:0;border-color:#1772df;box-shadow:0 0 0 3px rgba(23,114,223,.12)}.fi-fixed-value{padding:10px 12px;border-radius:9px;background:rgba(6,26,48,.04);font-size:13px;line-height:1.5;white-space:pre-wrap}.fi-yesno{display:grid;grid-template-columns:110px 1fr;gap:10px}.fi-radio-line{display:flex;gap:12px;align-items:center;min-height:42px}.fi-radio-line label,.fi-check-line label{display:inline-flex;align-items:center;gap:6px;font-size:13px}.fi-radio-line input,.fi-check-line input{width:auto;min-height:auto}.fi-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fi-check-line{display:flex;gap:8px;align-items:flex-start;padding:8px;border-radius:9px;background:rgba(6,26,48,.025)}.fi-assets{overflow:auto}.fi-assets table{width:100%;border-collapse:collapse;min-width:760px}.fi-assets th,.fi-assets td{padding:8px;border-bottom:1px solid rgba(21,77,130,.12);text-align:left;font-size:12px}.fi-assets input,.fi-assets select{min-height:36px}.fi-asset-actions{display:flex;gap:8px;margin-top:10px}.fi-owner-admin{background:rgba(255,184,0,.04)}.fi-owner-admin>span:after{content:' · Fleet Integrity';font-weight:600;color:#9a6b00}.fi-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 20px;border-top:1px solid rgba(21,77,130,.13);background:var(--fi4-surface,var(--fi-surface,var(--panel,#fff)))}.fi-form-actions-left,.fi-form-actions-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fi-form-actions .msg{font-size:12px;color:var(--muted,#66788a)}.fi-form-actions button{min-height:42px}.fi-form-errors{margin:0 0 16px;padding:11px 13px;border-radius:10px;background:#fff0f0;border:1px solid #f3c5c5;color:#8a2525;font-size:13px}.fi-client-onboarding{margin-bottom:18px}
@media(max-width:800px){.fi-onboarding-cards{grid-template-columns:1fr}.fi-onboarding-intro{align-items:flex-start;flex-direction:column}.fi-form-fields{grid-template-columns:1fr}.fi-form-field{grid-column:1!important;border-right:0}.fi-checklist{grid-template-columns:1fr}.fi-yesno{grid-template-columns:1fr}#fiOnboardingDialog{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}.fi-form-head{padding:14px 14px}.fi-form-head h2{font-size:19px}.fi-form-scroll{padding:14px}.fi-form-actions{padding:10px 12px;align-items:stretch;flex-direction:column}.fi-form-actions-left,.fi-form-actions-right{width:100%}.fi-form-actions button{flex:1}.fi-form-field input,.fi-form-field select,.fi-form-field textarea{font-size:16px}}.fi-contract-terms{padding:14px 16px;max-height:420px;overflow:auto;background:rgba(6,26,48,.018)}.fi-contract-terms article{padding:0 0 12px;margin:0 0 12px;border-bottom:1px solid rgba(21,77,130,.10)}.fi-contract-terms article:last-child{border-bottom:0;margin-bottom:0}.fi-contract-terms strong{display:block;margin-bottom:5px;font-size:13px}.fi-contract-terms p{margin:0 0 7px;color:var(--muted,#52677b);font-size:12.5px;line-height:1.55}

/* Onboarding-specific dark mode.
   These components are loaded dynamically and must not fall back to light #fff surfaces. */
html[data-theme="dark"] .fi-onboarding-card{
  background:#0d1a29!important;
  border-color:#203b58!important;
  color:#e7eef7!important;
  box-shadow:0 10px 28px rgba(0,0,0,.24)!important;
}
html[data-theme="dark"] .fi-onboarding-card h3{
  color:#f2f7fd!important;
}
html[data-theme="dark"] .fi-onboarding-card p,
html[data-theme="dark"] .fi-onboarding-meta{
  color:#91a3b7!important;
}
html[data-theme="dark"] .fi-onboarding-status{
  background:#18293b!important;
  color:#c5d4e3!important;
  border:1px solid #2a4058!important;
}
html[data-theme="dark"] .fi-onboarding-status.draft{
  background:#122b49!important;
  color:#8fc0ff!important;
  border-color:#244a73!important;
}
html[data-theme="dark"] .fi-onboarding-status.ready,
html[data-theme="dark"] .fi-onboarding-status.submitted{
  background:#3b2e17!important;
  color:#ffd17d!important;
  border-color:#60491f!important;
}
html[data-theme="dark"] .fi-onboarding-status.completed{
  background:#12372b!important;
  color:#76d9ad!important;
  border-color:#235b46!important;
}
html[data-theme="dark"] .fi-onboarding-intro{
  background:linear-gradient(135deg,rgba(24,115,223,.13),rgba(9,32,54,.76))!important;
  border-color:#1d4770!important;
  color:#e7eef7!important;
}
html[data-theme="dark"] .fi-onboarding-intro strong{
  color:#f2f7fd!important;
}
html[data-theme="dark"] .fi-onboarding-intro small{
  color:#91a3b7!important;
}
html[data-theme="dark"] #fiOnboardingDialog,
html[data-theme="dark"] .fi-form-actions{
  background:#0d1a29!important;
  color:#e7eef7!important;
  border-color:#203248!important;
}
html[data-theme="dark"] .fi-form-head{
  background:linear-gradient(180deg,rgba(24,115,223,.08),transparent)!important;
  border-color:#203248!important;
}
html[data-theme="dark"] .fi-form-head h2,
html[data-theme="dark"] .fi-form-field>span,
html[data-theme="dark"] .fi-form-section strong,
html[data-theme="dark"] .fi-contract-terms strong{
  color:#e7eef7!important;
}
html[data-theme="dark"] .fi-form-head p,
html[data-theme="dark"] .fi-form-actions .msg,
html[data-theme="dark"] .fi-contract-terms p{
  color:#91a3b7!important;
}
html[data-theme="dark"] .fi-form-note{
  background:#0d2843!important;
  border-color:#24527b!important;
  color:#bcdcff!important;
}
html[data-theme="dark"] .fi-form-section{
  background:#0b1725!important;
  border-color:#203248!important;
}
html[data-theme="dark"] .fi-form-section>header{
  background:#0a2b4a!important;
  color:#f2f7fd!important;
}
html[data-theme="dark"] .fi-form-field{
  border-color:#203248!important;
}
html[data-theme="dark"] .fi-fixed-value,
html[data-theme="dark"] .fi-check-line,
html[data-theme="dark"] .fi-contract-terms{
  background:#101f30!important;
  color:#d8e4f0!important;
  border-color:#203248!important;
}
html[data-theme="dark"] .fi-assets th{
  background:#101e2d!important;
  color:#9fb1c4!important;
}
html[data-theme="dark"] .fi-assets td{
  border-color:#203248!important;
}
html[data-theme="dark"] .fi-owner-admin{
  background:rgba(255,193,93,.055)!important;
}
html[data-theme="dark"] .fi-owner-admin>span:after{
  color:#ffd17d!important;
}
html[data-theme="dark"] .fi-form-errors{
  background:#351b22!important;
  border-color:#603039!important;
  color:#ffadb1!important;
}
@media(max-width:800px){
  .fi-onboarding-card{padding:16px!important}
  .fi-onboarding-card h3{font-size:17px!important;line-height:1.28}
  .fi-onboarding-card p{font-size:14px;line-height:1.5}
  .fi-onboarding-card-actions button{min-height:46px}
  .fi-onboarding-card-head{gap:10px}
  .fi-onboarding-cards{gap:14px}
  #onboardingForms{padding-bottom:calc(108px + env(safe-area-inset-bottom))!important}
}


/* 2026-09-23 client dark-mode/mobile hardening */
body.fi-v4-portal .fi-onboarding-card{
  background:var(--fi4-surface,var(--fi-surface,#fff))!important;
  color:var(--fi4-text,var(--fi-ink,#142033))!important;
  border-color:var(--fi4-line,var(--fi-line,#e2e8f0))!important;
  box-shadow:var(--fi4-shadow,0 8px 26px rgba(6,26,48,.08))!important;
}
body.fi-v4-portal .fi-onboarding-card h3{
  color:var(--fi4-text,var(--fi-ink,#142033))!important;
}
body.fi-v4-portal .fi-onboarding-card p,
body.fi-v4-portal .fi-onboarding-card .fi-onboarding-meta{
  color:var(--fi4-muted,var(--fi-muted,#6f8195))!important;
}
html[data-theme="dark"] body.fi-v4-portal .fi-onboarding-card{
  background:#0d1b2a!important;
  color:#f2f6fa!important;
  border-color:#20364b!important;
}
html[data-theme="dark"] body.fi-v4-portal .fi-onboarding-card h3{
  color:#f2f6fa!important;
}
html[data-theme="dark"] body.fi-v4-portal .fi-onboarding-card p,
html[data-theme="dark"] body.fi-v4-portal .fi-onboarding-card .fi-onboarding-meta{
  color:#9aadc1!important;
}
html[data-theme="dark"] body.fi-v4-portal .fi-onboarding-status.not_started{
  background:#18293b!important;
  color:#c5d4e3!important;
  border:1px solid #2a4058!important;
}
body.fi-v4-portal .fi-onboarding-card-actions .secondary{
  background:var(--fi4-surface2,var(--fi-surface-soft,#f8fafc))!important;
  color:var(--fi4-text,var(--fi-ink,#142033))!important;
  border:1px solid var(--fi4-line,var(--fi-line,#e2e8f0))!important;
}
@media(max-width:850px){
  body.fi-v4-portal #onboardingForms{
    padding-bottom:calc(132px + env(safe-area-inset-bottom))!important;
  }
  body.fi-v4-portal .fi-onboarding-cards{
    gap:12px!important;
    margin-top:14px!important;
  }
  body.fi-v4-portal .fi-onboarding-card{
    padding:16px!important;
    border-radius:16px!important;
  }
  body.fi-v4-portal .fi-onboarding-card-head{
    align-items:flex-start!important;
  }
  body.fi-v4-portal .fi-onboarding-card h3{
    font-size:17px!important;
    line-height:1.25!important;
    margin-bottom:7px!important;
  }
  body.fi-v4-portal .fi-onboarding-card p{
    font-size:13px!important;
    line-height:1.5!important;
  }
  body.fi-v4-portal .fi-onboarding-meta{
    margin-top:11px!important;
    gap:7px!important;
  }
  body.fi-v4-portal .fi-onboarding-card-actions{
    margin-top:13px!important;
  }
  body.fi-v4-portal .fi-onboarding-card-actions button{
    min-height:44px!important;
    padding:10px 14px!important;
  }
}


html[data-theme="dark"] .fi-onboarding-status.not_started{
  background:#18293b!important;
  color:#c5d4e3!important;
  border:1px solid #2a4058!important;
}
@media(max-width:850px){
  #onboardingForms{padding-bottom:calc(132px + env(safe-area-inset-bottom))!important}
}

.fi-onboarding-card-actions .fi-danger-button{
  color:#b42318!important;
  border-color:color-mix(in srgb,#b42318 38%,var(--fi4-line,var(--fi-line,#dbe5ef)))!important;
}
html[data-theme="dark"] .fi-onboarding-card-actions .fi-danger-button{
  color:#ff8f86!important;
  border-color:rgba(255,143,134,.38)!important;
}
