:root{
  --app-header-height: 74px;
  --app-progress-height: 4px;
  --base-color: #1f4db8;
  --base-dark: #173b8d;
  --primary-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --alt-font: 'Plus Jakarta Sans', sans-serif;
  --alt: 'Plus Jakarta Sans', sans-serif;
  --bg: #f7f7f7;
  --white: #ffffff;
  --black: #000000;
  --dark-gray: #232323;
  --medium-gray: #717580;
  --light-gray: #a8a8a8;
  --very-light-gray: #f7f7f7;
  --extra-light-gray: #f5f5f7;
  --charcoal-blue: #12203a;
  --slate-blue: #172947;
  --chrome-deep: #0d1830;
  --chrome-mid: #142543;
  --chrome-light: #f8fbff;
  --chrome-light-mid: #eef4ff;
  --green: #2ebb79;
  --green-light: #d5f4e6;
  --red: #dc3131;
  --light-red: #feedec;
  --orange: #ef991f;
  --amber: #f59e0b;
  --solitude-blue: #edf3ff;
  --selago: #eaedff;
  --white-ice: #d8f5ef;
  --cornflower-blue: #4b79d8;
  --jade: #00af6b;
  --golden-yellow: #fd961e;
  --transition-smooth: .38s cubic-bezier(.22,1,.36,1);
  --shadow-brand: 0 14px 34px rgba(31,77,184,.12);
  --shadow-brand-strong: 0 18px 44px rgba(31,77,184,.18);
}

@font-face {
  font-family: "Allura";
  src: url("fonts/Allura-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

*{box-sizing:border-box;margin:0;padding:0}

html {
  scroll-behavior: smooth;
}

html, body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  background: var(--very-light-gray);
  color: #000000;
}

body {
  font-family: var(--primary-font);
  font-size: 17px;
  line-height: 1.65;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Reserve space for the fixed topbar so page content isn't hidden */
body {
  padding-top: var(--app-header-height);
}

.app-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
}

/* HEADER */
header{
  background: var(--very-light-gray);
  padding: 16px 28px;
  min-height: var(--app-header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  position: relative;
  z-index: 2;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.brand {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px;
  text-decoration: none;
}

.logo-name{
  font-family: var(--alt);
  font-size: 28px;
  font-weight: 800;
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  letter-spacing: 0;
}

.logo-tag{
  margin-top: 0;
  font-family: "Allura", cursive;
  font-size: 20px;
  line-height: 1;
  color: rgba(18, 32, 58, 0.78);
  font-weight: 400;
  letter-spacing: 0;
}

.hdr-badge{display:none}

.hdr-right {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
  flex-shrink: 0;
}

.history-toggle-btn {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid rgba(18, 32, 58, 0.14);
  border-radius: 8px;
  background: #fff;
  color: var(--charcoal-blue);
  cursor: pointer;
  font-size: 16px;
  transition: background-color var(--transition-smooth), border-color var(--transition-smooth), transform var(--transition-smooth), box-shadow var(--transition-smooth);
}

.history-toggle-btn:hover {
  border-color: rgba(31, 77, 184, 0.34);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
}

.snav-history-toggle {
  width: 48px;
  height: auto;
  min-height: 50px;
  align-self: stretch;
  flex: 0 0 48px;
  border: none;
  border-right: 1px solid rgba(31,77,184,.08);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--charcoal-blue);
}

.snav-history-toggle:hover {
  background: rgba(31,77,184,.08);
  border-color: rgba(31,77,184,.08);
  transform: none;
  box-shadow: none;
}

header .switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
  flex: 0 0 60px;
}

header .switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

header .switch .slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background-color: #ccc;
  transition: .4s;
}

header .switch .slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: .4s;
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.24);
}

header .switch .toggle-icon {
  position: absolute;
  left: 4px;
  bottom: 4px;
  z-index: 1;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  color: #f59e0b;
  font-size: 13px;
  pointer-events: none;
  transition: .4s;
}

header .switch input:checked + .slider {
  background-color: #2196F3;
}

header .switch input:focus-visible + .slider {
  box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.28);
}

header .switch input:checked + .slider:before {
  transform: translateX(26px);
}

header .switch input:checked ~ .toggle-icon {
  color: #1e3a8a;
  transform: translateX(26px);
}

header .switch .slider.round {
  border-radius: 34px;
}

header .switch .slider.round:before {
  border-radius: 50%;
}

/* PROGRESS */
.prog-bar {
  background: #e5e7eb;
  height: 4px;
  position: relative;
  width: 100%;
}
.prog-fill {
  height: 4px;
  background: linear-gradient(90deg, var(--base-color), var(--cornflower-blue));
  transition: width .4s cubic-bezier(0.4,0,0.2,1);
  width: 0%;
  box-shadow: 0 0 0 8px rgba(41,70,243,0.1);
}

/* STEP NAV */
.snav {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--very-light-gray);
  border-bottom: 1px solid rgba(31,77,184,.08);
  padding: 0 16px;
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
  width: 100%;
}

.snav::-webkit-scrollbar{display: none}

.sbtn{
  flex-shrink: 0;
  padding: 15px 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--charcoal-blue);
  border: none;
  background: transparent;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  white-space: nowrap;
  font-family: var(--primary-font);
  transition: color var(--transition-smooth), background-color var(--transition-smooth), border-color var(--transition-smooth), transform var(--transition-smooth);
  letter-spacing: -0.2px;
  opacity: .72;
}

.sbtn-home{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  opacity: .92;
}

.sbtn-home-label{
  display: inline;
}

.sbtn.active{
  color: var(--charcoal-blue);
  border-bottom-color: var(--base-color);
  opacity: 1;
  background: transparent;
}

.sbtn.done{
  color: var(--charcoal-blue);
  opacity: .86;
}

.sbtn:hover {
  opacity: 1;
  background: transparent;
}

.sbtn.locked {
  opacity: .34;
  cursor: not-allowed;
}

.sbtn:disabled {
  pointer-events: none;
}

/* LAYOUT */
main{
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 28px 24px 56px;
  flex: 1 0 auto;
}

section { width: 100%; max-width: 100%; margin: 0; padding: 0; }

/* CARD */
.card{
  background: var(--white);
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.04);
  margin-bottom: 18px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  transition: border-color var(--transition-smooth), box-shadow var(--transition-smooth), transform var(--transition-smooth), background-color var(--transition-smooth);
}

.card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-brand);
}

.card-hdr{
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  background: var(--white);
}

.card-hdr h2{
  font-size: 20px;
  font-weight: 700;
  color: var(--charcoal-blue);
  letter-spacing: -.2px;
  font-family: var(--alt-font);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-self: center;
  justify-content: center;
  line-height: 1.2;
  text-align: center;
}

.card-hdr .sub{
  font-size: 14px;
  color: var(--medium-gray);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  margin-left: 0;
  line-height: 1.2;
}

.cicon{
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #eef4ff, #e5edf9);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
  color: var(--base-color);
}

.card-body{
  padding: 20px;
}

/* STEP COUNTER */
.step-counter{font-size:13px;color:var(--g400);font-weight:500;margin-left:auto}

/* FIELDS */
.field{margin-bottom: 16px; min-width: 0;}
.field:last-child{margin-bottom: 0}

.field>label{
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 15px;
  font-weight: 700;
  color: var(--charcoal-blue);
  margin-bottom: 7px;
  letter-spacing: -0.2px;
  gap: 10px;
}

#s1 .field:first-of-type > label{
  white-space: nowrap;
}

.tip-btn{
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #f8f8f8 0%, #dfe6f1 100%);
  border: 1px solid #7f9db9;
  border-radius: 6px;
  cursor: pointer;
  color: #23456f;
  font-size: 13px;
  padding: 0;
  line-height: 1;
  flex-shrink: 0;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.95), inset -1px -1px 0 rgba(0,0,0,.08);
  transition: background-color var(--transition-smooth), border-color var(--transition-smooth), color var(--transition-smooth), transform var(--transition-smooth), box-shadow var(--transition-smooth);
}

.tip-btn:hover {
  color: #173b8d;
  background: linear-gradient(180deg, #ffffff 0%, #e6eef9 100%);
  border-color: #5f86b3;
  transform: translateY(-1px);
}

.tip-box{
  display: block;
  position: relative;
  background: linear-gradient(180deg, #f6f6f6 0%, #ececec 100%);
  border: 1px solid #6f7d8c;
  border-radius: 8px;
  padding: 28px 14px 14px;
  font-size: 13px;
  color: #24384f;
  margin-bottom: 8px;
  line-height: 1.6;
  font-weight: 500;
  box-shadow: 4px 4px 0 rgba(15,23,42,.18);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  border-width: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: max-height .34s cubic-bezier(.22,1,.36,1), opacity .22s ease, transform .28s ease, margin .28s ease, padding .28s ease, border-width .2s ease;
}

.tip-box.show{
  max-height: 1200px;
  opacity: 1;
  margin-top: 2px;
  margin-bottom: 8px;
  padding-top: 28px;
  padding-bottom: 14px;
  border-width: 1px;
  transform: translateY(0);
  pointer-events: auto;
}

.tip-box::before{
  content: "Information";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 24px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  background: linear-gradient(90deg, #1d4f9a 0%, #326ebd 100%);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  border-radius: 7px 7px 0 0;
}

.inp-wrap{position:relative;margin-bottom:0}

input[type=number].field-error,
select.field-error{
  border-color:#dc3131;
  box-shadow:0 0 0 3px rgba(220,49,49,.13);
  background:#fffafa;
}

.field-error-tip{
  display:block;
  margin-top:5px;
  font-size:11.5px;
  font-weight:600;
  color:#dc3131;
  letter-spacing:.1px;
  line-height:1.4;
  padding-left:2px;
}

.inp-pfx{
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  font-weight: 700;
  color: var(--medium-gray);
  pointer-events: none;
  letter-spacing: -0.2px;
}

input[type=number],select{
  width: 100%;
  min-height: 52px;
  padding: 13px 14px 13px 36px;
  border: 1.5px solid #d7dfeb;
  border-radius: 10px;
  background: #fcfdff;
  font-size: 16px;
  font-weight: 600;
  font-family: var(--primary-font);
  color: var(--charcoal-blue);
  outline: none;
  transition: border-color var(--transition-smooth), box-shadow var(--transition-smooth), background-color var(--transition-smooth);
  -webkit-appearance: none;
  appearance: none;
}

input:focus,select:focus{
  border-color: var(--base-color);
  box-shadow: 0 0 0 4px rgba(31,77,184,0.12);
  background: var(--white);
}

select{
  padding-left: 14px;
  cursor: pointer;
}

.no-pfx{padding-left: 14px!important}

/* MONTH GRID */
.mo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.mo-lbl{font-size:12px;color:var(--medium-gray);font-weight:600;margin-bottom:5px;display:block;text-transform:uppercase;letter-spacing:.3px}
.mo-lbl{font-size:13px;color:var(--medium-gray);font-weight:600;margin-bottom:6px;display:block;text-transform:uppercase;letter-spacing:.3px}

#s1 .field:first-of-type{
  max-width: 344px;
  margin: 0 auto;
}

#s1 .field:first-of-type .mo-grid,
#s1 .divider + .mo-grid{
  grid-template-columns: 1fr !important;
  max-width: 100%;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* CALC FIELD */
.calc-f{background:var(--very-light-gray);border:1.5px solid #e5e7eb;border-radius:10px;padding:12px 14px;font-family:'Courier New',monospace;font-size:15px;font-weight:700;color:var(--charcoal-blue)}
.calc-lbl{font-size:13px;color:var(--medium-gray);margin-bottom:6px;display:block;font-weight:600;text-transform:uppercase;letter-spacing:.3px}

/* TOGGLE */
.tog-row{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;background:var(--very-light-gray);border-radius:10px;border:1.5px solid #e5e7eb;margin-bottom:16px;gap:12px}
.tog-lbl{font-size:15px;font-weight:700;color:var(--charcoal-blue);letter-spacing:-.2px}
.toggle{position:relative;width:48px;height:26px;flex-shrink:0}
.toggle input{opacity:0;width:0;height:0}
.tog-sl{position:absolute;inset:0;background:#d1d5db;border-radius:26px;cursor:pointer;transition:.3s cubic-bezier(.4,0,.2,1)}
.tog-sl:before{content:'';position:absolute;width:20px;height:20px;left:3px;top:3px;background:var(--white);border-radius:50%;transition:.3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px rgba(0,0,0,.1)}
.toggle input:checked+.tog-sl{background:var(--base-color)}
.toggle input:checked+.tog-sl:before{transform:translateX(22px)}

/* MORE FIELDS TOGGLE */
.more-btn{width:100%;padding:13px;background:var(--very-light-gray);border:1.5px dashed #e5e7eb;border-radius:10px;font-size:14px;font-weight:600;color:var(--medium-gray);cursor:pointer;font-family:var(--primary-font);margin-top:8px;transition:background-color var(--transition-smooth),border-color var(--transition-smooth),color var(--transition-smooth),transform var(--transition-smooth),box-shadow var(--transition-smooth);display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.more-btn:hover{background:var(--solitude-blue);border-color:var(--base-color);color:var(--base-color)}
.more-fields{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px 20px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  pointer-events: none;
  transition: max-height .34s cubic-bezier(.22,1,.36,1), opacity .24s ease, margin-top .28s ease;
}

.more-fields.open{
  max-height: var(--more-open-height, 900px);
  opacity: 1;
  margin-top: 10px;
  pointer-events: auto;
}

/* DIVIDER */
.divider{height:1px;background:#f0f0f0;margin:16px 0}

/* BUTTONS */
.btn{width:100%;padding:15px 18px;border:none;border-radius:10px;font-size:16px;font-weight:700;font-family:var(--primary-font);cursor:pointer;transition:background-color var(--transition-smooth),border-color var(--transition-smooth),color var(--transition-smooth),transform var(--transition-smooth),box-shadow var(--transition-smooth);letter-spacing:-.2px}
.btn-navy{background:linear-gradient(135deg,#183d8f,var(--base-color) 55%,var(--cornflower-blue));color:var(--white);box-shadow:0 4px 12px rgba(31,77,184,.2)}
.btn-navy:hover{background:linear-gradient(135deg,var(--base-dark),var(--base-color));transform:translateY(-3px);box-shadow:var(--shadow-brand-strong)}
.btn-navy:active{transform:scale(.98)}
.btn-blue{background:var(--base-color);color:var(--white);margin-top:14px;box-shadow:0 4px 12px rgba(31,77,184,.2)}
.btn-blue:hover{background:var(--base-dark);transform:translateY(-3px);box-shadow:var(--shadow-brand)}
.btn-blue.is-busy,
.btn-blue.is-busy:hover{
  background: var(--base-dark);
  color: var(--white);
  transform: none;
  box-shadow: 0 4px 12px rgba(31,77,184,.2);
  cursor: wait;
}

.btn-blue.is-success,
.btn-blue.is-success:hover{
  background: #0f8a54;
  color: var(--white);
  transform: none;
  box-shadow: 0 4px 12px rgba(15,138,84,.22);
}

.btn-blue .btn-spin{
  display:inline-block;
  width:14px;
  height:14px;
  border:2px solid rgba(255,255,255,.28);
  border-top-color:#ffffff;
  border-radius:50%;
  animation: spin .8s linear infinite;
  vertical-align:-2px;
}
.btn-ghost{background:var(--white);color:var(--base-color);border:1.5px solid #e5e7eb;font-size:15px;margin-top:10px}
.btn-ghost:hover{background:var(--very-light-gray);border-color:var(--base-color);transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,23,42,.08)}

/* PRIVACY */
.privacy{display:flex;align-items:center;justify-content:center;gap:8px;padding:0;margin-top:14px;font-size:13px;color:rgba(53,80,111,.78);font-weight:500;border:none;background:none}

.step-alert{
  margin-bottom:16px;
  padding:12px 14px;
  border-radius:12px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  font-size:12px;
  font-weight:600;
}

.toast-stack{
  position: fixed;
  top: 108px;
  right: 18px;
  z-index: 1200;
  display: flex;
  flex-direction: column;
  gap: 12px;
  pointer-events: none;
}

.step-toast{
  min-width: 280px;
  max-width: min(360px, calc(100vw - 28px));
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: linear-gradient(180deg, #fff7f7 0%, #ffe8e8 100%);
  color: #7f1d1d;
  border: 1px solid #ef9a9a;
  border-left: 4px solid #dc3131;
  border-radius: 12px;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16);
  pointer-events: auto;
  animation: toastSlideIn .34s cubic-bezier(.22,1,.36,1);
}

.toast-close {
  margin-left: auto;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  transition: background .2s ease, color .2s ease;
}

.toast-close:hover {
  background: rgba(0,0,0,.08);
}

.toast-close i {
  font-size: 12px;
}

.step-toast.ok{
  background: linear-gradient(180deg, #f0fff7 0%, #dcfce7 100%);
  color: #14532d;
  border-color: #86efac;
  border-left-color: #2ebb79;
}

.step-toast.fade-out{
  animation: toastSlideOut .24s ease forwards;
}

.step-toast-icon{
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: #dc3131;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 6px 14px rgba(220,49,49,.24);
}

.step-toast.ok .step-toast-icon{
  background: #2ebb79;
  box-shadow: 0 6px 14px rgba(46,187,121,.24);
}

.step-toast-text{
  font-size: 13px;
  font-weight: 600;
  line-height: 1.55;
}

@keyframes toastSlideIn{
  from{opacity:0;transform:translateX(26px)}
  to{opacity:1;transform:translateX(0)}
}

@keyframes toastSlideOut{
  from{opacity:1;transform:translateX(0)}
  to{opacity:0;transform:translateX(24px)}
}

/* STEP SECTION */
.ssec{
  display: none;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0;
}
.ssec.active{
  display: block;
  animation: fadeIn .4s ease;
}

#s1{
  max-width: 420px;
  margin: 0 auto;
}

#s3 {
  max-width: 1100px;
}

#s2 {
  max-width: 1320px;
}

#s1 .card-body,
#s3 .card-body {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px 24px;
}

#s1 .card-body{
  row-gap: 8px;
}

#s1 .tog-row,
#s1 .field:first-of-type,
#s1 .divider,
#s1 .mo-grid,
#s3 .field:first-of-type {
  grid-column: 1 / -1;
}

#s1 .divider{
  max-width: 344px;
  width: 100%;
  margin: 4px auto 10px;
}

#s1 .field:first-of-type{
  margin-bottom: 0;
}

#s2 {
  display: none;
}

#s2.active {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  align-items: start;
}

#s2 .card {
  margin-bottom: 0;
}

#s2 .card:nth-of-type(2) .card-body {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px 20px;
}

#s2 .card-hdr{
  grid-template-columns: auto minmax(0, 1fr) auto;
}

#s2 .card-hdr h2{
  text-align: center;
}

#s2 .card-hdr .step-counter{
  margin-left: auto;
}

#s2 .more-btn,
#s2 #moreFields {
  grid-column: 1 / -1;
}

#s2 .more-btn {
  width: auto;
  min-width: 320px;
  justify-self: center;
}

#s2 .card:nth-of-type(2) .field,
#s2 #moreFields .field {
  margin-bottom: 0;
}

#s2 #moreFields .divider {
  grid-column: 1 / -1;
  margin: 2px 0 0;
}

.action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: center;
}

#s1 .action-row,
#s2 .action-row,
#s3 .action-row,
#results .action-row {
  grid-column: 1 / -1;
}

.action-row .btn {
  width: auto;
  min-width: 180px;
  margin-top: 0;
}

#s1 > .btn,
#s3 > .btn {
  width: auto;
  min-width: 220px;
}

#s1 > .btn {
  margin-top: 2px;
}

#s3 > .btn + .btn {
  margin-left: 0;
}

#results {
  display: none;
  max-width: 1480px;
  margin: 0 auto;
  padding: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .46s ease, transform .46s cubic-bezier(.22,1,.36,1);
}

#results.is-open {
  opacity: 1;
  transform: translateY(0);
}

@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* LOADING */
.loading {
  display: none;
  text-align: center;
  padding: 60px 20px;
  max-width: 800px;
  margin: 0 auto;
}
.spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #e5e7eb;
  border-top-color: var(--base-color);
  border-radius: 50%;
  animation: spin .8s linear infinite;
  margin: 0 auto 20px;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* RESULTS */
/* VERDICT CARD */
.verdict{grid-column:1/-1;width:100vw;border-radius:0;padding:52px 48px;margin-top:-28px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);color:var(--white);box-shadow:none;position:relative;overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat;min-height:500px;display:flex;flex-direction:column;justify-content:flex-end}
.verdict::before{content:"";position:absolute;inset:0;z-index:0}
.verdict.good{background-image:url("images/good.jpg")}
.verdict.good::before{background:linear-gradient(135deg,rgba(19,78,54,.72),rgba(16,185,129,.52))}
.verdict.warn{background-image:url("images/caution.jpg")}
.verdict.warn::before{background:linear-gradient(135deg,rgba(154,52,18,.74),rgba(245,158,11,.54))}
.verdict.bad{background-image:url("images/danger.jpg")}
.verdict.bad::before{background:linear-gradient(135deg,rgba(127,29,29,.76),rgba(239,68,68,.56))}
.verdict > *{position:relative;z-index:1;text-align:center}
.verdict-icon{font-size:52px;margin-bottom:18px}
.verdict-title{font-size:46px;font-weight:800;letter-spacing:-.05em;margin-bottom:14px;font-family:var(--alt-font);line-height:1.02}
.verdict-body{font-size:22px;opacity:.98;line-height:1.8;max-width:1120px;margin:0 auto}

/* KPI GRID */
.score-card{grid-column:1/-1;background:var(--white);border-radius:24px;padding:0;margin-bottom:0;color:var(--charcoal-blue);box-shadow:0 22px 44px rgba(15,23,42,.14);overflow:hidden}
.summary-top{position:relative;background-image:url("images/analytics.jpg");background-position:center;background-size:cover;background-repeat:no-repeat;padding:30px 32px;color:var(--white)}
.summary-top::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,24,48,.84),rgba(20,37,67,.66));z-index:0}
.summary-top > *{position:relative;z-index:1}
.score-ttl{font-size:13px;color:rgba(255,255,255,.75);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:18px}
.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px}
.kpi-lbl{font-size:13px;color:rgba(255,255,255,.78);margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.24em}
.kpi-val{font-size:32px;font-weight:800;font-family:var(--alt-font);letter-spacing:-.04em;line-height:1.05}
.kpi-val.neg{color:#fca5a5}
.summary-breakeven{padding:20px 30px 16px;background:#ffffff;color:var(--charcoal-blue);border-top:1px solid #e5edf8}
.summary-breakeven-head{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:6px;text-align:left;width:100%}
.summary-breakeven-head h2{font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--charcoal-blue);font-family:var(--alt-font);margin:0}
.summary-breakeven-body{padding-top:0}

#results .card{
  margin-bottom: 0;
  border-radius: 22px;
  box-shadow: 0 18px 34px rgba(15,23,42,.08);
  align-self: start;
}

#results .card-hdr{
  padding: 22px 24px;
  border-bottom: none;
}

#results .card-hdr h2{
  font-size: 24px;
}

#results .card-body{
  padding: 24px;
}

#resultHealth { grid-column: 1 / -1; order: 1; }
#resultBench { grid-column: 1 / span 6; order: 2; align-self: stretch; display: flex; flex-direction: column; }
#resultCosts { grid-column: 7 / span 6; order: 3; }
#resultActions { grid-column: 1 / -1; order: 4; }
#vatWarn { grid-column: 1 / -1; order: 5; }
#resultTax { grid-column: 1 / -1; order: 6; }
#resultChecklist { grid-column: 1 / -1; order: 7; }
.disclaimer { grid-column: 1 / -1; order: 8; }
#results .action-row { grid-column: 1 / -1; order: 9; }

/* TRAFFIC LIGHTS */
.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 24px 24px}
.health-sec{border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;background:var(--white);align-self:start}
.tl-item{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e5e7eb}
.tl-item:last-child{border-bottom:none}
.tl-left{flex:1;min-width:0}
.tl-metric{font-size:16px;font-weight:700;color:var(--charcoal-blue);letter-spacing:-.2px}
.tl-value{font-size:14px;font-family:var(--primary-font);color:var(--medium-gray);font-weight:600}
.tl-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;margin-left:10px;flex-shrink:0}
.tl-badge i{font-size:12px}
.tl-green{background:var(--green-light);color:var(--green)}
.tl-amber{background:#fef3c7;color:var(--orange)}
.tl-red{background:var(--light-red);color:var(--red)}

/* SECTION LABEL */
.sec-lbl{font-size:12px;font-weight:700;color:var(--medium-gray);letter-spacing:.18em;text-transform:uppercase;padding:16px 18px 10px;border-bottom:1px solid #e5e7eb;background:var(--white)}

/* BENCHMARKS */
.bench-item{margin-bottom:16px}
.bench-hdr{display:flex;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:3px}
.bench-name{font-size:16px;font-weight:700;color:var(--charcoal-blue);letter-spacing:-.2px}
.bench-vals{font-size:13px;font-family:var(--primary-font);color:var(--medium-gray);font-weight:600;white-space:normal}
.bench-fill-art{display:none}
.bar-track{height:12px;background:#e5e7eb;border-radius:6px;position:relative;overflow:hidden}
.bar-you{height:12px;border-radius:6px;transition:width .9s cubic-bezier(.4,0,.2,1);background:var(--base-color)}
.bar-pos{background:var(--base-color)}
.bar-neg{background:var(--red)}
.bar-marker{position:absolute;top:-2px;width:3px;height:16px;background:var(--charcoal-blue);border-radius:2px;opacity:.5}
.bar-legend{display:flex;gap:16px;margin-top:10px;flex-wrap:wrap}
.leg{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--medium-gray)}
.leg-dot{width:10px;height:10px;border-radius:50%}

@media(min-width: 981px){
  .bench-fill-art{
    display:block;
    min-height:156px;
    flex: 1 1 auto;
    margin:4px 24px 24px;
    border-radius:18px;
    background:
      linear-gradient(135deg, rgba(16,24,40,.14), rgba(24,61,143,.08)),
      url("images/uk_flag.jpg") center center / cover no-repeat;
  }
}

/* COST BARS */
.cost-item{margin-bottom:12px}
.cost-hdr{display:flex;justify-content:space-between;margin-bottom:6px}
.cost-name{font-size:16px;font-weight:600;color:var(--charcoal-blue)}
.cost-val{font-size:15px;font-family:var(--alt-font);color:var(--base-color);font-weight:700}
.cost-track{height:10px;background:#e5e7eb;border-radius:5px;overflow:hidden}
.cost-fill{height:10px;border-radius:5px;background:linear-gradient(90deg,var(--base-color),var(--cornflower-blue));transition:width .8s cubic-bezier(.4,0,.2,1)}

/* BREAKEVEN */
.be-box{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;background:linear-gradient(135deg,#f4f8ff 0%, #ecf3ff 100%);border-radius:18px;padding:20px 24px;margin:0 0 8px;border:1px solid #c8d9fb;text-align:left}
.be-lbl{font-size:13px;font-weight:700;color:var(--base-color);text-transform:uppercase;letter-spacing:.18em}
.be-val{font-size:32px;font-weight:800;font-family:var(--alt-font);color:var(--base-color);letter-spacing:-.04em}
.be-sub{font-size:13px;color:var(--medium-gray);margin-top:6px}
.be-detail{font-size:14px;color:var(--charcoal-blue);line-height:1.75;padding:2px 0 0;margin-top:0;text-align:left}

#resultBreakeven.is-empty .be-box{
  background: #f8fafc;
  border-style: dashed;
  border-color: #d7dfeb;
}

#resultBreakeven.is-empty .be-val{
  font-size: 20px;
  color: var(--medium-gray);
}

@media(max-width: 600px) {
  .be-box{
    flex-direction: column;
    align-items: flex-start;
    margin: 0 0 18px;
    width: 100%;
    text-align: left;
  }
}

/* VAT WARNING */
.vat-warn{display:none;padding:6px 0 0;margin:0 auto;background:none;border:none;align-self:start;justify-self:center;text-align:center}
.vat-warn p:first-child{display:flex;align-items:center;justify-content:center;gap:10px;font-size:18px;font-weight:800;color:var(--orange);margin-bottom:8px;letter-spacing:.01em;text-align:center}
.vat-warn p:first-child i{font-size:20px}
.vat-warn p:last-child{max-width:860px;margin:0 auto;font-size:14px;color:rgba(35,56,79,.78);line-height:1.85;text-align:center}

/* ACTIONS */
.act-item{display:flex;gap:14px;padding:16px 18px;border-bottom:1px solid #e5e7eb;align-items:flex-start}
.act-item:last-child{border-bottom:none}
.act-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}
.dot-red{background:var(--red)}
.dot-amber{background:var(--orange)}
.dot-green{background:var(--green)}
.act-text{font-size:15px;color:var(--charcoal-blue);line-height:1.75}
.act-text strong{color:var(--base-color);font-weight:700}

/* TAX */
.tax-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 24px 24px}
.tax-sec{border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;background:var(--white);align-self:start}
.tax-sec-ttl{padding:14px 18px;font-size:12px;font-weight:700;color:var(--white);letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(135deg,var(--base-color),var(--cornflower-blue))}
.tax-row{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid #f0f0f0;gap:10px;background:var(--white)}
.tax-row:last-child{border-bottom:none}
.tx-lbl{font-size:15px;color:var(--charcoal-blue);flex:1;font-weight:500}
.tx-v{font-size:15px;font-family:var(--alt-font);font-weight:700;color:var(--base-color);white-space:nowrap}
.tv-g{color:var(--green)}.tv-r{color:var(--red)}.tv-a{color:var(--orange)}

/* CHECKLIST */
.checklist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cl-sec{border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;background:var(--white)}
.cl-sec:last-child{border-bottom:none}
.cl-sec-last{border-bottom:none}
.cl-ttl{display:flex;align-items:center;gap:10px;padding:13px 18px;font-size:15px;font-weight:700;letter-spacing:-.2px}
.cl-ttl i{font-size:11px}
.cl-ttl.red{color:var(--white);background:linear-gradient(135deg,var(--red),#ef4444)}
.cl-ttl.amber{color:var(--white);background:linear-gradient(135deg,var(--orange),#f59e0b)}
.cl-ttl.green{color:var(--white);background:linear-gradient(135deg,var(--green),#10b981)}
.ck-item{display:flex;gap:12px;padding:14px 18px;cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:flex-start;transition:background .2s}
.ck-item:last-child{border-bottom:none}
.ck-item:hover{background:var(--solitude-blue)}
.ck-item input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--base-color);cursor:pointer;flex-shrink:0;border:none;background:none;padding:0}
.ck-txt{font-size:15px;color:var(--charcoal-blue);line-height:1.75;font-weight:500}
.ck-lead{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-top:2px;flex-shrink:0;color:var(--medium-gray);font-size:13px}
.ck-lead.red{color:var(--red)}
.ck-lead.amber{color:var(--orange)}
.ck-lead.green{color:var(--green)}

#resultChecklist .card-hdr{
  border-bottom: none;
  padding-bottom: 14px;
}

#resultChecklist .checklist-grid{
  padding: 0 20px 22px;
}

.disclaimer{display:flex;align-items:flex-start;justify-content:center;gap:10px;padding:4px 0 0;margin-top:4px;font-size:13px;color:rgba(53,80,111,.78);line-height:1.9;text-align:left;background:none;border:none;max-width:980px;justify-self:center}
.disclaimer i{margin-top:4px;color:var(--base-color);flex-shrink:0}

.inline-status{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.inline-status i{font-size:13px}
.inline-status.good{color:var(--green)}
.inline-status.bad{color:var(--red)}

footer {
  padding: 48px 80px;
  background: linear-gradient(180deg, var(--chrome-mid) 0%, var(--chrome-deep) 100%);
  color: var(--white);
  max-width: none;
  margin-top: auto;
  border-top: 1px solid rgba(15, 23, 42, 0.14);
}

.footer-content {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  max-width: 1440px;
  margin: 0 auto;
}

.footer-brand h5 {
  margin-bottom: 12px;
  font-family: var(--alt-font);
  font-size: 24px;
  font-weight: 800;
}

.footer-brand p {
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.75);
}

.footer-credo {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.26);
}

.footer-credo p {
  color: rgba(255, 255, 255, 0.92);
  font-size: 14px;
  line-height: 1.8;
}

.footer-links p {
  font-size: 13px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.82);
}

.footer-links strong {
  color: var(--white);
}

.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.social-links a {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  transition: color var(--transition-smooth), transform var(--transition-smooth), background-color var(--transition-smooth), border-color var(--transition-smooth);
}

.social-links a:hover {
  color: var(--white);
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.28);
  transform: translateY(-2px);
}

/* RESPONSIVE LAYOUT */
@media(max-width: 980px) {
  main {
    padding: 22px 20px 48px;
  }

  #results {
    grid-template-columns: 1fr;
  }

  #resultBreakeven,
  #resultHealth,
  #resultBench,
  #resultCosts,
  #resultActions,
  #resultTax,
  #vatWarn {
    grid-column: 1 / -1;
  }

  #s2.active {
    grid-template-columns: 1fr;
  }

  .checklist-grid {
    grid-template-columns: 1fr;
  }

  .health-grid {
    grid-template-columns: 1fr;
    padding: 0 20px 22px;
  }

  .summary-breakeven{
    padding: 18px 18px 16px;
  }

  .summary-breakeven-head h2{
    font-size: 21px;
  }

  .tax-grid {
    grid-template-columns: 1fr;
    padding: 0 20px 22px;
  }
}

@media(max-width: 1240px) and (min-width: 981px) {
  .health-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .health-sec:last-child {
    grid-column: 1 / -1;
  }

  .checklist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tax-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width: 768px) {
  :root {
    --app-header-height: 70px;
  }

  main {
    padding: 16px 16px 50px;
  }

  header {
    padding: 14px 16px;
    flex-direction: row;
    align-items: center;
  }

  .hdr-right {
    gap: 12px;
  }

  .logo-name {
    font-size: 28px;
  }

  .footer-content {
    grid-template-columns: 1fr 1fr;
  }

  .snav {
    padding: 0 12px;
  }

  .sbtn {
    padding: 12px 12px;
    font-size: 12px;
  }

  .sbtn-home {
    gap: 6px;
  }

  .sbtn-home-label{
    display: none;
  }

  .sbtn-home{
    padding-inline: 14px;
  }

  .card-body {
    padding: 16px;
  }

  #s1 .card-body,
  #s3 .card-body,
  #s2 .card:nth-of-type(2) .card-body,
  #s2 #moreFields {
    grid-template-columns: 1fr;
  }

  .action-row {
    flex-direction: column;
    align-items: stretch;
  }

  .action-row .btn,
  #s1 > .btn,
  #s3 > .btn,
  #results > .btn {
    width: 100%;
    min-width: 0;
  }

  .card-hdr {
    padding: 14px 16px;
  }

  .card-hdr{
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  input[type=number],
  select {
    padding: 11px 12px 11px 28px;
    font-size: 14px;
  }

  .btn {
    padding: 13px 12px;
    font-size: 14px;
  }

  .verdict {
    padding: 20px;
    min-height: 260px;
    margin-top: -16px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  .verdict-title {
    font-size: 26px;
  }

  .verdict-body {
    font-size: 16px;
    line-height: 1.7;
  }

  .summary-top {
    padding: 24px 24px;
  }

  .score-ttl {
    font-size: 12px;
    margin-bottom: 14px;
  }

  .kpi-val {
    font-size: 27px;
  }

  #results .card-hdr h2 {
    font-size: 21px;
  }

  .tl-metric,
  .bench-name,
  .cost-name,
  .act-text,
  .tx-lbl,
  .ck-txt {
    font-size: 14px;
  }

  .tl-value,
  .bench-vals,
  .cost-val,
  .tx-v,
  .be-detail {
    font-size: 13px;
  }

  .be-val {
    font-size: 28px;
  }

  .kpi-grid {
    grid-template-columns: 1fr 1fr;
  }

  .mo-grid {
    grid-template-columns: 1fr 1fr;
  }

  #s1 .field:first-of-type .mo-grid,
  #s1 .divider + .mo-grid{
    grid-template-columns: 1fr 1fr;
  }

  .toast-stack{
    top: 96px;
    right: 14px;
  }
}

@media(max-width: 600px) {
  :root {
    --app-header-height: 64px;
  }

  main {
    padding: 14px 12px 40px;
  }

  header {
    padding: 12px 14px;
    flex-direction: row;
    align-items: center;
  }

  .logo-name {
    font-size: 28px;
  }

  .logo-tag {
    font-size: 20px;
  }

  .hdr-right {
    gap: 10px;
  }

  .snav {
    padding: 0 10px;
  }

  footer {
    padding: 32px 20px;
  }

  .footer-content {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .toast-stack{
    top: 88px;
    right: 10px;
    left: 10px;
  }

  .step-toast{
    min-width: 0;
    max-width: none;
  }

  .card {
    border-radius: 12px;
    margin-bottom: 12px;
  }

  .sbtn-home{
    padding-inline: 12px;
  }

  .card-hdr {
    padding: 12px 14px;
  }

  .card-hdr{
    grid-template-columns: auto minmax(0, 1fr);
  }

  .step-counter{
    grid-column: 1 / -1;
    justify-self: center;
    margin-left: 0;
    margin-top: 4px;
  }

  .field > label {
    font-size: 12px;
  }

  .btn {
    padding: 12px 14px;
    font-size: 13px;
  }

  .verdict-title {
    font-size: 22px;
  }

  .verdict-body {
    font-size: 15px;
  }

  .kpi-val {
    font-size: 23px;
  }

  #results .card-hdr h2 {
    font-size: 19px;
  }

  .tl-metric,
  .bench-name,
  .cost-name,
  .act-text,
  .tx-lbl,
  .ck-txt {
    font-size: 13px;
  }

  .tl-value,
  .bench-vals,
  .cost-val,
  .tx-v,
  .be-detail {
    font-size: 12px;
  }

  .be-val {
    font-size: 24px;
  }

  .verdict {
    min-height: 240px;
    padding: 18px 18px 20px;
    margin-top: -14px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  .summary-top {
    padding: 20px 18px;
  }

  #s1 .field:first-of-type .mo-grid,
  #s1 .divider + .mo-grid{
    grid-template-columns: 1fr;
  }
}

@media print{
  header,.upgrade-banner,.snav,.btn,.btn-ghost,.btn-blue,footer,.more-btn{display:none!important}
  body{background:var(--white)}
  .card{box-shadow:none;border:1px solid #ddd}
}

/* ── AI STYLES ── */
.ai-why-btn{
  display:inline-flex;align-items:center;gap:5px;
  background:none;border:1.5px solid rgba(37,99,235,.3);
  color:var(--blue);font-size:11px;font-weight:600;
  padding:3px 9px;border-radius:20px;cursor:pointer;
  font-family:'DM Sans',sans-serif;transition:all .2s;
  margin-left:8px;white-space:nowrap;
}
.ai-why-btn:hover{background:var(--blue-l);border-color:var(--blue)}
.ai-why-btn .ai-icon{font-size:12px}
.ai-why-btn.loading{opacity:.6;pointer-events:none}

.ai-panel{
  display:none;
  background:linear-gradient(135deg,#EFF6FF 0%,#F0F9FF 100%);
  border-top:1px solid rgba(37,99,235,.12);
  padding:14px 16px;
  animation:fadeSlide .25s ease;
}
.ai-panel.open{display:block}
@keyframes fadeSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

.ai-panel-inner{display:flex;gap:10px;align-items:flex-start}
.ai-avatar{
  width:28px;height:28px;border-radius:50%;
  background:var(--blue);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;flex-shrink:0;margin-top:1px;
}
.ai-content{flex:1;min-width:0}
.ai-label{font-size:10px;font-weight:700;color:var(--blue);letter-spacing:.6px;text-transform:uppercase;margin-bottom:6px}
.ai-section{margin-bottom:10px}
.ai-section:last-child{margin-bottom:0}
.ai-section-ttl{font-size:11px;font-weight:700;color:var(--navy);margin-bottom:3px;display:flex;align-items:center;gap:5px}
.ai-section-body{font-size:12.5px;color:var(--g600);line-height:1.65}
.ai-spinner{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--g400);padding:4px 0}
.ai-spinner-dot{width:6px;height:6px;border-radius:50%;background:var(--blue);animation:bounce .9s infinite}
.ai-spinner-dot:nth-child(2){animation-delay:.15s}
.ai-spinner-dot:nth-child(3){animation-delay:.3s}
@keyframes bounce{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}

/* VERDICT AI */
.verdict-ai{
  margin-top:22px;
  background:none;
  border:none;
  border-radius:0;
  padding:0;
  backdrop-filter:none;
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.verdict-ai-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:16px 28px;
  --angle: 0deg;
  border-radius:999px;
  border:3px solid transparent;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    conic-gradient(
      from var(--angle, 0deg),
      transparent,
      #22d3ee 6%,
      #38bdf8 9%,
      #3b82f6 12%,
      #2563eb 15%,
      #1d4ed8 18%,
      transparent 22%
    ) border-box;
  color:var(--base-color);
  -webkit-text-fill-color: var(--base-color);
  font:600 20px/1 var(--primary-font);
  cursor:pointer;
  transition:background-color var(--transition-smooth),border-color var(--transition-smooth),transform var(--transition-smooth),box-shadow var(--transition-smooth),color var(--transition-smooth);
  appearance:none;
  -webkit-appearance:none;
  box-shadow: 0 16px 34px rgba(24, 61, 143, 0.12);
  -webkit-tap-highlight-color: transparent;
}
.verdict-ai-trigger:hover{
  background:
    linear-gradient(#f8fbff, #f8fbff) padding-box,
    conic-gradient(
      from var(--angle, 0deg),
      transparent,
      #22d3ee 6%,
      #38bdf8 9%,
      #3b82f6 12%,
      #2563eb 15%,
      #1d4ed8 18%,
      transparent 22%
    ) border-box;
  color:var(--base-dark);
  -webkit-text-fill-color: var(--base-dark);
  transform:translateY(-1px)
}
.verdict-ai-trigger:focus,
.verdict-ai-trigger:focus-visible,
.verdict-ai-trigger:active{
  outline:none;
  color:var(--base-color);
  -webkit-text-fill-color: var(--base-color);
}
.verdict-ai-trigger.is-hidden{display:none}
.verdict-ai-trigger.is-busy,
.verdict-ai-trigger.is-busy:hover{
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    conic-gradient(
      from var(--angle, 0deg),
      transparent,
      #22d3ee 6%,
      #38bdf8 9%,
      #3b82f6 12%,
      #2563eb 15%,
      #1d4ed8 18%,
      transparent 22%
    ) border-box;
  color:var(--base-color);
  -webkit-text-fill-color: var(--base-color);
  transform:none;
  cursor:wait;
}
.verdict-ai-trigger .btn-spin{
  display:inline-block;
  width:14px;
  height:14px;
  border:2px solid rgba(31,77,184,.22);
  border-top-color:var(--base-color);
  border-radius:50%;
  animation: spin .8s linear infinite;
  vertical-align:-2px;
}
.verdict-ai-loading{display:none;align-items:center;justify-content:center;gap:8px;font-size:15px;opacity:.92;text-align:center;margin-top:12px}
.verdict-ai-content{display:block;max-height:0;opacity:0;overflow:hidden;transform:translateY(-10px);transition:max-height .55s cubic-bezier(.22,1,.36,1),opacity .3s ease,transform .3s ease;pointer-events:none}
.verdict-ai-content.ready{opacity:1;transform:translateY(0);pointer-events:auto}
.verdict-ai-row{
  margin-bottom:14px;
  padding:14px 16px 15px;
  font-size:16px;
  line-height:1.75;
  text-align:left;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
}
.verdict-ai-row:last-child{margin-bottom:0}
.verdict-ai-ttl{
  font-weight:800;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.92;
  text-align:left;
}
.verdict-ai-ttl i{font-size:13px;opacity:.95}
.verdict-ai-body{
  font-size:15px;
  line-height:1.8;
  color:rgba(255,255,255,.96);
}
.verdict-ai-steps{
  margin:2px 0 0;
  padding-left:0;
  list-style:none;
  display:grid;
  gap:9px;
}
.verdict-ai-steps li{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:flex-start;
}
.verdict-ai-steps li::before{
  content:"\f00c";
  font-family:"Font Awesome 6 Free";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.16);
  font-size:11px;
  font-weight:900;
  line-height:1;
  margin-top:2px;
}
.verdict-ai-steps li span{
  font-size:15px;
  line-height:1.8;
  color:rgba(255,255,255,.96);
}

/* ─── DARK MODE ─── */
[data-theme="dark"] {
  color-scheme: dark;
}

[data-theme="dark"] body {
  background: #0f172a;
  color: #e2e8f0;
}

[data-theme="dark"] header {
  background: linear-gradient(135deg, #0b162c 0%, #13233f 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .history-toggle-btn {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  color: var(--white);
}

[data-theme="dark"] .history-toggle-btn:hover {
  border-color: rgba(255, 255, 255, 0.34);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

[data-theme="dark"] .hdr-user-chip {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.16);
}

[data-theme="dark"] .hdr-user-avatar {
  background: #94a3b8;
  color: #0f172a;
}

[data-theme="dark"] .hdr-user-kicker {
  color: rgba(255, 255, 255, 0.62);
}

[data-theme="dark"] .hdr-user-name {
  color: var(--white);
}

[data-theme="dark"] .snav-history-toggle {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.1);
  color: #cbd5e1;
  box-shadow: none;
}

[data-theme="dark"] .snav-history-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

[data-theme="dark"] .hdr-badge {
  background: rgba(255, 255, 255, 0.94);
  border-color: rgba(255, 255, 255, 0.18);
  color: var(--charcoal-blue);
}

[data-theme="dark"] header .switch input:checked + .slider {
  background-color: #258df4;
}

[data-theme="dark"] .logo-name {
  background: linear-gradient(135deg, #60a5fa, #c084fc);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

[data-theme="dark"] .logo-tag {
  color: rgba(255, 255, 255, 0.82);
}

[data-theme="dark"] .history-sidebar {
  background: linear-gradient(135deg, #0b162c 0%, #13233f 100%);
  border-right-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .history-sidebar-hdr {
  border-bottom-color: rgba(255, 255, 255, 0.1);
  color: #e2e8f0;
}

[data-theme="dark"] .history-item:hover {
  background: rgba(96, 165, 250, 0.14);
  color: #93c5fd;
}

[data-theme="dark"] .history-item-num {
  background: rgba(96, 165, 250, 0.14);
  color: #93c5fd;
}

[data-theme="dark"] .history-item-label {
  color: #e2e8f0;
}

[data-theme="dark"] .account-sidebar {
  background: linear-gradient(135deg, #0b162c 0%, #13233f 100%);
  border-left-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .account-sidebar-head {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .account-avatar {
  background: #94a3b8;
  color: #0f172a;
}

[data-theme="dark"] .account-kicker {
  color: rgba(255, 255, 255, 0.62);
}

[data-theme="dark"] .account-name,
[data-theme="dark"] .account-nav a {
  color: var(--white);
}

[data-theme="dark"] .account-nav a:hover,
[data-theme="dark"] .account-logout:hover {
  background: rgba(96, 165, 250, 0.14);
  color: #93c5fd;
}

[data-theme="dark"] .account-theme-row {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.1);
  color: var(--white);
}

[data-theme="dark"] .account-theme-row > span i,
[data-theme="dark"] .account-nav i {
  color: #93c5fd;
}

[data-theme="dark"] .account-logout,
[data-theme="dark"] .account-logout i {
  color: #f87171;
}

[data-theme="dark"] .account-sidebar .switch input:checked + .slider {
  background-color: #258df4;
}

[data-theme="dark"] .prog-bar {
  background: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .snav {
  background: linear-gradient(135deg, #0b162c 0%, #13233f 100%);
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .sbtn {
  color: #cbd5e1;
}

[data-theme="dark"] .sbtn.active {
  color: #60a5fa;
  border-bottom-color: #60a5fa;
}

[data-theme="dark"] .sbtn.done {
  color: #34d399;
}

[data-theme="dark"] main {
  background: #0f172a;
}

[data-theme="dark"] .card {
  background: #1e293b;
  border-color: rgba(255, 255, 255, 0.1);
  color: #e2e8f0;
}

[data-theme="dark"] .card-hdr {
  border-bottom-color: rgba(255, 255, 255, 0.1);
  background: #1e293b;
}

[data-theme="dark"] .card-hdr h2 {
  color: #f1f5f9;
}

[data-theme="dark"] .cicon {
  background: linear-gradient(135deg, rgba(96, 165, 250, 0.2), rgba(96, 165, 250, 0.1));
}

[data-theme="dark"] input[type=number],
[data-theme="dark"] select {
  background: linear-gradient(135deg, #1e293b, #1a1f2e);
  border-color: rgba(96, 165, 250, 0.3);
  color: #e2e8f0;
}

[data-theme="dark"] input[type=number]:focus,
[data-theme="dark"] select:focus {
  background: #0f172a;
  border-color: #60a5fa;
  box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.1);
}

[data-theme="dark"] .inp-pfx {
  color: #94a3b8;
}

[data-theme="dark"] label {
  color: #f1f5f9;
}

[data-theme="dark"] .tip-box {
  background: linear-gradient(180deg, #233247 0%, #1e293b 100%);
  border-color: rgba(148, 163, 184, 0.5);
  color: #dbeafe;
  box-shadow: 4px 4px 0 rgba(0,0,0,.28);
}

[data-theme="dark"] .tip-box::before{
  background: linear-gradient(90deg, #1d4f9a 0%, #2e69ba 100%);
}

[data-theme="dark"] .tip-btn {
  background: linear-gradient(180deg, #334155 0%, #1e293b 100%);
  border-color: rgba(148, 163, 184, 0.55);
  color: #dbeafe;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.06), inset -1px -1px 0 rgba(0,0,0,.22);
}

[data-theme="dark"] .tip-btn:hover {
  background: linear-gradient(180deg, #3a4a62 0%, #223146 100%);
  border-color: #60a5fa;
  color: #ffffff;
}

[data-theme="dark"] .calc-f {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
  color: #e2e8f0;
}

[data-theme="dark"] .calc-lbl,
[data-theme="dark"] .mo-lbl {
  color: #cbd5e1;
}

[data-theme="dark"] .tog-row {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .tog-lbl {
  color: #f1f5f9;
}

[data-theme="dark"] .tog-sl {
  background: #334155;
}

[data-theme="dark"] .tog-sl:before {
  background: #e2e8f0;
}

[data-theme="dark"] .toggle input:checked + .tog-sl {
  background: #60a5fa;
}

[data-theme="dark"] .btn {
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .btn-navy {
  background: linear-gradient(135deg, #1e3a8a, #1e40af);
  box-shadow: 0 4px 12px rgba(96, 165, 250, 0.2);
}

[data-theme="dark"] .btn-navy:hover {
  background: linear-gradient(135deg, #1e40af, #2563eb);
  box-shadow: 0 8px 24px rgba(96, 165, 250, 0.3);
}

[data-theme="dark"] .btn-ghost {
  background: rgba(255, 255, 255, 0.05);
  color: #60a5fa;
  border-color: #60a5fa;
}

[data-theme="dark"] .btn-ghost:hover {
  background: rgba(96, 165, 250, 0.1);
}

[data-theme="dark"] .more-btn {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.2);
  color: #cbd5e1;
}

[data-theme="dark"] .more-btn:hover {
  background: rgba(96, 165, 250, 0.1);
  border-color: #60a5fa;
  color: #60a5fa;
}

[data-theme="dark"] .divider {
  background-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .privacy {
  background: none;
  border: none;
  color: rgba(203, 213, 225, 0.78);
}

[data-theme="dark"] .step-toast{
  background: linear-gradient(180deg, #341b1b 0%, #241414 100%);
  border-color: rgba(248, 113, 113, 0.35);
  border-left-color: #f87171;
  color: #fecaca;
}

[data-theme="dark"] .step-toast.ok{
  background: linear-gradient(180deg, #123323 0%, #10251d 100%);
  border-color: rgba(74, 222, 128, 0.35);
  border-left-color: #2ebb79;
  color: #bbf7d0;
}

[data-theme="dark"] .ssec {
  animation: fadeIn .4s ease;
}

[data-theme="dark"] .verdict {
  border: 1px solid rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .score-card {
  background: #172132;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .summary-breakeven{
  background: #172132;
  border-top-color: rgba(255,255,255,.1);
}

[data-theme="dark"] .summary-breakeven-head h2{
  color: #f1f5f9;
}

[data-theme="dark"] .be-box {
  background: rgba(96, 165, 250, 0.1);
  border-color: rgba(96, 165, 250, 0.24);
}

[data-theme="dark"] .be-lbl,
[data-theme="dark"] .be-val {
  color: #60a5fa;
}

[data-theme="dark"] .be-sub,
[data-theme="dark"] .be-detail {
  color: #cbd5e1;
}

[data-theme="dark"] .kpi-lbl {
  color: #cbd5e1;
}

[data-theme="dark"] .kpi-val {
  color: #60a5fa;
}

[data-theme="dark"] .kpi-val.neg {
  color: #fca5a5;
}

[data-theme="dark"] .tl-item {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .health-sec {
  border-color: rgba(255, 255, 255, 0.1);
  background: #172132;
}

[data-theme="dark"] .tl-metric {
  color: #f1f5f9;
}

[data-theme="dark"] .tl-value {
  color: #cbd5e1;
}

[data-theme="dark"] .bench-name,
[data-theme="dark"] .cost-name,
[data-theme="dark"] .tx-lbl {
  color: #f1f5f9;
}

[data-theme="dark"] .bench-vals,
[data-theme="dark"] .leg,
[data-theme="dark"] .sec-lbl {
  color: #cbd5e1;
}

[data-theme="dark"] .tl-green {
  background: rgba(52, 211, 153, 0.2);
  color: #6ee7b7;
}

[data-theme="dark"] .tl-amber {
  background: rgba(251, 146, 60, 0.2);
  color: #fb923c;
}

[data-theme="dark"] .tl-red {
  background: rgba(248, 113, 113, 0.2);
  color: #fca5a5;
}

[data-theme="dark"] .sec-lbl {
  background: #1e293b;
  border-bottom-color: rgba(255, 255, 255, 0.1);
  color: #cbd5e1;
}

[data-theme="dark"] .bar-track {
  background: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .bar-marker {
  background: #cbd5e1;
}

[data-theme="dark"] .be-box {
  background: rgba(96, 165, 250, 0.1);
  border-color: rgba(96, 165, 250, 0.3);
}

[data-theme="dark"] .be-lbl,
[data-theme="dark"] .be-val {
  color: #60a5fa;
}

[data-theme="dark"] .be-sub {
  color: #cbd5e1;
}

[data-theme="dark"] #resultBreakeven.is-empty .be-box {
  background: rgba(15, 23, 42, 0.72);
  border-style: dashed;
  border-color: rgba(148, 163, 184, 0.32);
}

[data-theme="dark"] #resultBreakeven.is-empty .be-val {
  color: #e2e8f0;
}

[data-theme="dark"] .verdict-ai{
  background:none;
  border-color:transparent;
}

[data-theme="dark"] .verdict-ai-trigger{
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    conic-gradient(
      from var(--angle, 0deg),
      transparent,
      #22d3ee 6%,
      #38bdf8 9%,
      #3b82f6 12%,
      #2563eb 15%,
      #1d4ed8 18%,
      transparent 22%
    ) border-box;
  color:var(--base-color);
  -webkit-text-fill-color: var(--base-color);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24);
}

[data-theme="dark"] .verdict-ai-trigger:hover{
  background:
    linear-gradient(#f8fbff, #f8fbff) padding-box,
    conic-gradient(
      from var(--angle, 0deg),
      transparent,
      #22d3ee 6%,
      #38bdf8 9%,
      #3b82f6 12%,
      #2563eb 15%,
      #1d4ed8 18%,
      transparent 22%
    ) border-box;
  color:var(--base-dark);
  -webkit-text-fill-color: var(--base-dark);
}

[data-theme="dark"] .verdict-ai-trigger:focus,
[data-theme="dark"] .verdict-ai-trigger:focus-visible,
[data-theme="dark"] .verdict-ai-trigger:active{
  color:var(--base-color);
  -webkit-text-fill-color: var(--base-color);
}

[data-theme="dark"] .verdict-ai-trigger.is-busy,
[data-theme="dark"] .verdict-ai-trigger.is-busy:hover{
  color:var(--base-color);
  -webkit-text-fill-color: var(--base-color);
}

[data-theme="dark"] .verdict-ai-trigger .btn-spin{
  border-color: rgba(31,77,184,.22);
  border-top-color: var(--base-color);
}

[data-theme="dark"] .verdict-ai-row{
  background:rgba(15,23,42,.24);
  border-color:rgba(255,255,255,.1);
}

[data-theme="dark"] .be-detail {
  color: #e2e8f0;
}

[data-theme="dark"] .vat-warn {
  background: none;
  border: none;
}

[data-theme="dark"] .vat-warn p:first-child {
  color: #fb923c;
}

[data-theme="dark"] .vat-warn p:last-child {
  color: rgba(203, 213, 225, 0.82);
}

[data-theme="dark"] .act-item {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .act-text {
  color: #e2e8f0;
}

[data-theme="dark"] .act-text strong {
  color: #60a5fa;
}

[data-theme="dark"] .tax-sec {
  border-color: rgba(255, 255, 255, 0.1);
  background: #172132;
}

[data-theme="dark"] .tax-sec-ttl {
  background: linear-gradient(135deg, #1e3a8a, #1e40af);
  color: #f1f5f9;
}

[data-theme="dark"] .tax-row {
  background: #172132;
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .tx-lbl {
  color: #e2e8f0;
}

[data-theme="dark"] .tx-v {
  color: #60a5fa;
}

[data-theme="dark"] .cl-sec {
  border-color: rgba(255, 255, 255, 0.1);
  background: #172132;
}

[data-theme="dark"] .cl-ttl {
  color: #f1f5f9;
}

[data-theme="dark"] .cl-ttl.red {
  background: linear-gradient(135deg, rgba(220, 49, 49, 0.3), rgba(220, 49, 49, 0.2));
  color: #fca5a5;
}

[data-theme="dark"] .cl-ttl.amber {
  background: linear-gradient(135deg, rgba(251, 146, 60, 0.3), rgba(251, 146, 60, 0.2));
  color: #fb923c;
}

[data-theme="dark"] .cl-ttl.green {
  background: linear-gradient(135deg, rgba(52, 211, 153, 0.3), rgba(52, 211, 153, 0.2));
  color: #6ee7b7;
}

[data-theme="dark"] .ck-item {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .ck-item:hover {
  background: rgba(96, 165, 250, 0.1);
}

[data-theme="dark"] .ck-txt {
  color: #e2e8f0;
}

[data-theme="dark"] .ck-lead {
  color: #94a3b8;
}

[data-theme="dark"] .ck-lead.red {
  color: #fca5a5;
}

[data-theme="dark"] .ck-lead.amber {
  color: #fdba74;
}

[data-theme="dark"] .ck-lead.green {
  color: #86efac;
}

[data-theme="dark"] .disclaimer {
  background: none;
  border: none;
  color: rgba(203, 213, 225, 0.78);
}

[data-theme="dark"] .inline-status.good {
  color: #86efac;
}

[data-theme="dark"] .inline-status.bad {
  color: #fca5a5;
}

[data-theme="dark"] footer {
  background: linear-gradient(180deg, #13233f 0%, #0b162c 100%);
  border-top-color: rgba(15, 23, 42, 0.14);
  color: #cbd5e1;
}

[data-theme="dark"] .footer-credo {
  border-top-color: rgba(255, 255, 255, 0.26);
}

[data-theme="dark"] .loading {
  color: #cbd5e1;
}

[data-theme="dark"] .spinner {
  border-color: rgba(255, 255, 255, 0.1);
  border-top-color: #60a5fa;
}

[data-theme="dark"] .ai-panel {
  background: linear-gradient(135deg, rgba(30, 58, 138, 0.5), rgba(30, 64, 175, 0.3));
  border-top: 1px solid rgba(96, 165, 250, 0.2);
}

[data-theme="dark"] .ai-avatar {
  background: #1e3a8a;
}

[data-theme="dark"] .ai-content {
  color: #cbd5e1;
}

[data-theme="dark"] .ai-label {
  color: #60a5fa;
}

[data-theme="dark"] .ai-section-ttl {
  color: #f1f5f9;
}

[data-theme="dark"] .ai-section-body {
  color: #cbd5e1;
}

[data-theme="dark"] input[type=number].field-error,
[data-theme="dark"] select.field-error{
  border-color:#f87171;
  box-shadow:0 0 0 3px rgba(248,113,113,.15);
  background:#1e1a1a;
}

[data-theme="dark"] .field-error-tip{
  color:#f87171;
}

/* ── AUTH CONTROLS IN HEADER ─────────────────────────────────────── */
#authControls { display: flex; align-items: center; gap: 8px; }

.hdr-user-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 5px 12px 5px 6px;
  border: 1.5px solid rgba(18, 32, 58, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
  cursor: pointer;
  font-family: var(--primary-font);
  text-align: left;
  transition: border-color var(--transition-smooth), transform var(--transition-smooth), box-shadow var(--transition-smooth);
}

.hdr-user-chip:hover {
  border-color: rgba(31, 77, 184, 0.32);
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.1);
}

.hdr-user-avatar {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  border-radius: 50%;
  background: #a3a3a3;
  color: #f5f5f5;
  font-size: 17px;
}

.hdr-user-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.05;
}

.hdr-user-kicker {
  font-size: 10px;
  font-weight: 700;
  color: rgba(18, 32, 58, 0.58);
  white-space: nowrap;
}

.hdr-user-name {
  max-width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 800;
  color: var(--charcoal-blue);
}

.hdr-upgrade-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  padding: 0 16px;
  overflow: hidden;
  background: linear-gradient(135deg, #b7791f 0%, #f6c453 42%, #d97706 72%, #92400e 100%);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 12px 24px rgba(217, 119, 6, 0.24), inset 0 1px 0 rgba(255,255,255,.35);
  transition: transform .42s cubic-bezier(.22,1,.36,1), box-shadow .42s cubic-bezier(.22,1,.36,1), filter .42s cubic-bezier(.22,1,.36,1);
  will-change: transform, box-shadow, filter;
}

.hdr-upgrade-btn::before {
  content: "";
  position: absolute;
  top: -60%;
  left: -45%;
  width: 38%;
  height: 220%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.8), transparent);
  transform: rotate(24deg);
  animation: upgradeShine 2.8s ease-in-out infinite;
}

.hdr-upgrade-btn::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 50%, rgba(255, 236, 180, 0.52), transparent 62%);
  opacity: 0;
  transition: opacity .42s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}

.hdr-upgrade-btn i,
.hdr-upgrade-btn span {
  position: relative;
  z-index: 1;
}

.hdr-upgrade-btn:hover {
  transform: translateY(-2px) scale(1.025);
  box-shadow: 0 16px 30px rgba(217, 119, 6, 0.32), inset 0 1px 0 rgba(255,255,255,.42);
  filter: saturate(1.08);
}

.hdr-upgrade-btn:hover::after {
  opacity: 1;
}

@keyframes upgradeShine {
  0%, 42% { left: -55%; opacity: 0; }
  52% { opacity: 1; }
  76%, 100% { left: 120%; opacity: 0; }
}

.hdr-logout-btn {
  background: none;
  border: 1.5px solid var(--border);
  border-radius: 7px;
  padding: 5px 9px;
  color: var(--g400);
  cursor: pointer;
  font-size: 13px;
  transition: color .15s, border-color .15s;
}
.hdr-logout-btn:hover { color: var(--red, #ef4444); border-color: var(--red, #ef4444); }

/* ── UPGRADE BANNER ──────────────────────────────────────────────── */
.upgrade-banner {
  background: linear-gradient(135deg, #1d4ed8, #6d28d9);
  color: #fff;
  padding: 10px 16px;
  position: relative;
  z-index: 1;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.upgrade-banner-inner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.upgrade-banner-icon { font-size: 16px; flex-shrink: 0; }

.upgrade-banner-copy {
  flex: 1;
  font-size: 13px;
  line-height: 1.5;
  min-width: 200px;
}

.upgrade-banner-cta {
  padding: 6px 14px;
  background: rgba(255,255,255,.2);
  border: 1px solid rgba(255,255,255,.4);
  color: #fff;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s;
}
.upgrade-banner-cta:hover { background: rgba(255,255,255,.3); }

.upgrade-banner-close {
  background: none;
  border: none;
  color: rgba(255,255,255,.7);
  cursor: pointer;
  font-size: 14px;
  padding: 4px 6px;
  flex-shrink: 0;
}
.upgrade-banner-close:hover { color: #fff; }

/* ── APP LAYOUT WITH SIDEBAR ─────────────────────────────────────── */
.app-layout {
  display: flex;
  min-height: calc(100vh - 56px);
  max-width: 100vw;
  overflow-x: hidden;
}

.app-layout > main {
  flex: 1;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}

.history-sidebar {
  width: min(360px, calc(100vw - 36px));
  max-width: 360px;
  flex-shrink: 0;
  border-right: 1px solid rgba(31,77,184,.08);
  background: var(--very-light-gray);
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1100;
  height: 100vh;
  overflow-y: auto;
  transform: translateX(-105%);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22);
  transition: transform .26s ease;
}

.history-sidebar.is-open {
  transform: translateX(0);
}

.history-backdrop {
  position: fixed;
  inset: 0;
  display: block;
  background: rgba(15, 23, 42, 0.38);
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
  z-index: 1090;
}

.history-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.account-sidebar {
  width: min(340px, calc(100vw - 28px));
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1100;
  height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--bg);
  border-left: 1px solid rgba(31,77,184,.08);
  box-shadow: -22px 0 42px rgba(15, 23, 42, 0.2);
  transform: translateX(105%);
  transition: transform .28s cubic-bezier(.22, 1, .36, 1);
}

.account-sidebar.is-open {
  transform: translateX(0);
}

.account-backdrop {
  position: fixed;
  inset: 0;
  display: block;
  background: rgba(15, 23, 42, 0.38);
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
  z-index: 1090;
}

.account-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.account-sidebar-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 22px 18px 18px;
  border-bottom: 1px solid rgba(31,77,184,.08);
}

.account-avatar {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 46px;
  border-radius: 50%;
  background: #a3a3a3;
  color: #f5f5f5;
  font-size: 22px;
}

.account-kicker {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: rgba(18, 32, 58, 0.58);
}

.account-name {
  margin-top: 2px;
  font-size: 16px;
  font-weight: 800;
  color: var(--charcoal-blue);
}

.account-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
}

.account-theme-row {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 12px;
  margin-bottom: 4px;
  border: 1px solid rgba(31,77,184,.08);
  border-radius: 8px;
  background: rgba(255,255,255,.7);
  color: var(--charcoal-blue);
  font-size: 14px;
  font-weight: 800;
}

.account-theme-row > span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.account-theme-row > span i {
  width: 18px;
  text-align: center;
  color: var(--base-color);
}

.account-sidebar .switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
  flex: 0 0 60px;
}

.account-sidebar .switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.account-sidebar .switch .slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background-color: #ccc;
  transition: .4s;
}

.account-sidebar .switch .slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: .4s;
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.24);
}

.account-sidebar .switch .toggle-icon {
  position: absolute;
  left: 4px;
  bottom: 4px;
  z-index: 1;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  color: #f59e0b;
  font-size: 13px;
  pointer-events: none;
  transition: .4s;
}

.account-sidebar .switch input:checked + .slider {
  background-color: #2196F3;
}

.account-sidebar .switch input:checked + .slider:before {
  transform: translateX(26px);
}

.account-sidebar .switch input:checked ~ .toggle-icon {
  color: #1e3a8a;
  transform: translateX(26px);
}

.account-sidebar .switch .slider.round {
  border-radius: 34px;
}

.account-sidebar .switch .slider.round:before {
  border-radius: 50%;
}

.account-nav a,
.account-logout {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--charcoal-blue);
  font-family: var(--primary-font);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.account-nav a:hover,
.account-logout:hover {
  background: #eef4ff;
  color: var(--charcoal-blue);
}

.account-nav i,
.account-logout i {
  width: 18px;
  text-align: center;
  color: var(--base-color);
}

.account-logout {
  margin: auto 12px 14px;
  color: var(--red);
}

.account-logout i {
  color: var(--red);
}

@media (max-width: 768px) {
  .history-sidebar {
    width: min(84vw, 300px);
  }
}

.history-sidebar-hdr {
  min-height: 88px;
  padding: 22px;
  font-size: 16px;
  font-weight: 800;
  color: var(--charcoal-blue);
  text-transform: none;
  letter-spacing: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(31,77,184,.08);
  gap: 14px;
}

.history-plan-note {
  font-size: 12px;
  color: var(--g400);
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}

.history-list {
  flex: 1;
  overflow-y: auto;
  padding: 12px;
  display: grid;
  align-content: start;
  gap: 8px;
}

.history-empty {
  font-size: 13px;
  color: var(--g400);
  text-align: center;
  padding: 18px;
  line-height: 1.6;
}

.history-item {
  min-height: 62px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 8px;
  margin: 0;
  cursor: pointer;
  transition: background .12s;
}
.history-item:hover { background: #eef4ff; }

.history-item-num {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #eef4ff;
  border: 0;
  font-size: 12px;
  font-weight: 800;
  color: var(--base-color);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.history-item-info {
  flex: 1;
  min-width: 0;
}

.history-item-label {
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--text);
}

.history-item-date {
  font-size: 12px;
  color: var(--g400);
  margin-top: 3px;
  font-weight: 700;
}

.history-item-del {
  background: none;
  border: none;
  color: var(--g300, #d1d5db);
  cursor: pointer;
  font-size: 11px;
  padding: 3px;
  border-radius: 4px;
  flex-shrink: 0;
  transition: color .12s;
}
.history-item-edit {
  background: none;
  border: none;
  color: var(--g300, #9ca3af);
  cursor: pointer;
  font-size: 11px;
  padding: 3px;
  border-radius: 4px;
  flex-shrink: 0;
  transition: color .12s;
}
.history-item-edit:hover {
  color: var(--charcoal-blue);
}
.history-item-input {
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid rgba(31,77,184,.16);
  border-radius: 8px;
  font-size: 13px;
  color: var(--text);
  background: var(--bg);
}
.history-item-del:hover { color: var(--red, #ef4444); }

/* ── PRO BADGE ───────────────────────────────────────────────────── */
/* Dashboard-matched history drawer */
.history-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15,23,42,.34);
  opacity: 0;
  pointer-events: none;
  transition: .22s;
  z-index: 1090;
}

.history-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.history-sidebar {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: min(360px, calc(100vw - 36px));
  max-width: 360px;
  height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--panel, var(--very-light-gray));
  border-right: 0;
  z-index: 1100;
  box-shadow: 0 24px 60px rgba(15,23,42,.22);
  transform: translateX(-105%);
  transition: transform .26s ease;
  overflow: hidden;
}

.history-sidebar.is-open {
  transform: translateX(0);
}

.history-sidebar-hdr {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 22px;
  border-bottom: 1px solid var(--line, var(--border));
  color: var(--ink, var(--charcoal-blue));
  font-size: 16px;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0;
}

.history-plan-note {
  color: var(--muted, var(--g400));
  font-size: 12px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}

.history-list {
  flex: 1;
  padding: 12px;
  overflow: auto;
  display: grid;
  align-content: start;
  gap: 8px;
}

.history-empty {
  padding: 18px;
  color: var(--muted, var(--g400));
  text-align: center;
  font-size: 13px;
  line-height: 1.6;
}

.history-item {
  min-height: 62px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 8px;
  margin: 0;
  cursor: pointer;
  transition: background .12s;
}

.history-item:hover {
  background: #eef4ff;
}

.history-item-num {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #eef4ff;
  color: var(--base, var(--base-color));
  font-size: 12px;
  font-weight: 800;
  flex-shrink: 0;
}

.history-item-info {
  min-width: 0;
}

.history-item-label {
  color: var(--ink, var(--text));
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.history-item-date {
  margin-top: 3px;
  color: var(--muted, var(--g400));
  font-size: 12px;
  font-weight: 700;
}

.history-item-del {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--g300, #d1d5db);
  cursor: pointer;
  font-size: 12px;
  transition: color .12s, background .12s;
}

.history-item-del:hover {
  background: rgba(239,68,68,.08);
  color: var(--red, #ef4444);
}

[data-theme="dark"] .history-sidebar {
  background: #111c32;
  border-right-color: rgba(255,255,255,.1);
}

[data-theme="dark"] .history-sidebar-hdr {
  border-bottom-color: rgba(255,255,255,.1);
  color: #e2e8f0;
}

[data-theme="dark"] .history-item:hover {
  background: rgba(96,165,250,.14);
  color: #93c5fd;
}

[data-theme="dark"] .history-item-num {
  background: rgba(96,165,250,.14);
  color: #93c5fd;
}

[data-theme="dark"] .history-item-label {
  color: #e2e8f0;
}

[data-theme="dark"] .history-plan-note,
[data-theme="dark"] .history-item-date,
[data-theme="dark"] .history-empty {
  color: #94a3b8;
}

.pro-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #fff;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  margin-left: auto;
}

/* ── BUSINESS HEALTH SCORE ───────────────────────────────────────── */
.health-score-card { overflow: hidden; }

.health-score-body {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 24px;
  padding: 16px;
  align-items: start;
}

@media (max-width: 600px) {
  .health-score-body { grid-template-columns: 1fr; }
}

.health-score-dial-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.health-score-svg { width: 120px; }

.health-score-number {
  font-size: 32px;
  font-weight: 800;
  margin-top: -18px;
  line-height: 1;
}

.health-score-label {
  font-size: 13px;
  font-weight: 600;
  margin-top: 4px;
}

.hs-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.hs-name { font-size: 12px; width: 120px; flex-shrink: 0; color: var(--g600); }

.hs-bar-track {
  flex: 1;
  height: 6px;
  background: var(--bg);
  border-radius: 3px;
  overflow: hidden;
}

.hs-bar-fill {
  height: 100%;
  border-radius: 3px;
  transition: width .8s ease;
}

.hs-val { font-size: 12px; font-weight: 700; width: 28px; text-align: right; }

/* ── WHAT-IF TOOL ────────────────────────────────────────────────── */
.what-if-body { padding: 16px; }

.what-if-desc {
  font-size: 13px;
  color: var(--g600);
  margin-bottom: 20px;
}

.wi-slider-row { margin-bottom: 18px; }

.wi-slider-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.wi-slider-label { font-size: 13px; font-weight: 600; color: var(--text); }

.wi-slider-value {
  font-size: 13px;
  font-weight: 700;
  min-width: 48px;
  text-align: right;
}

.wi-slider {
  width: 100%;
  accent-color: #2563eb;
  cursor: pointer;
}

.wi-results-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

@media (max-width: 480px) { .wi-results-grid { grid-template-columns: 1fr; } }

.wi-result-item {
  background: var(--bg);
  border-radius: 10px;
  padding: 12px 14px;
}

.wi-result-label {
  font-size: 11px;
  color: var(--g400);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .4px;
  margin-bottom: 4px;
}

.wi-result-val {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 2px;
}

/* ── NO-PRINT (What-If excluded from PDF) ────────────────────────── */
@media print { .no-print { display: none !important; } }

/* Exact dashboard history drawer treatment for the app page. */
.history-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15,23,42,.34);
  opacity: 0;
  pointer-events: none;
  transition: .22s;
  z-index: 1090;
}

.history-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.history-sidebar {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: min(360px, calc(100vw - 36px));
  max-width: none;
  height: auto;
  display: flex;
  flex-direction: column;
  background: var(--panel, var(--very-light-gray));
  border-right: 0;
  z-index: 1100;
  box-shadow: 0 24px 60px rgba(15,23,42,.22);
  transform: translateX(-105%);
  transition: transform .26s ease;
  overflow: hidden;
}

.history-sidebar.is-open {
  transform: translateX(0);
}

.history-sidebar-hdr {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 22px;
  border-bottom: 1px solid var(--line, var(--border));
  color: var(--ink, var(--charcoal-blue));
  font-size: 16px;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0;
}

.history-plan-note {
  color: var(--muted, var(--g400));
  font-size: 12px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}

.history-list {
  flex: 1;
  padding: 12px;
  overflow: auto;
  display: grid;
  align-content: start;
  gap: 8px;
}

.history-empty {
  padding: 18px;
  color: var(--muted, var(--g400));
  text-align: center;
  font-size: 13px;
  line-height: 1.6;
}

.history-item {
  position: relative;
  min-height: 62px;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 8px;
  margin: 0;
  cursor: pointer;
  transition: background .12s;
}

.history-item:hover {
  background: #eef4ff;
}

.history-item-num {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #eef4ff;
  color: var(--base, var(--base-color));
  font-size: 12px;
  font-weight: 800;
  flex-shrink: 0;
}

.history-item-info {
  min-width: 0;
}

.history-item-label {
  color: var(--ink, var(--text));
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.history-item-date {
  margin-top: 3px;
  color: var(--muted, var(--g400));
  font-size: 12px;
  font-weight: 700;
}

.history-item-del {
  position: absolute;
  right: 8px;
  top: 50%;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--g300, #d1d5db);
  cursor: pointer;
  font-size: 12px;
  opacity: 0;
  transition: color .12s, background .12s, opacity .12s;
}

.history-item:hover .history-item-del,
.history-item-del:focus-visible {
  opacity: 1;
}

.history-item-del:hover {
  background: rgba(239,68,68,.08);
  color: var(--red, #ef4444);
}

[data-theme="dark"] .history-sidebar {
  background: #111c32;
  border-right-color: rgba(255,255,255,.1);
}

[data-theme="dark"] .history-sidebar-hdr {
  border-bottom-color: rgba(255,255,255,.1);
  color: #e2e8f0;
}

[data-theme="dark"] .history-item:hover {
  background: rgba(96,165,250,.14);
  color: #93c5fd;
}

[data-theme="dark"] .history-item-num {
  background: rgba(96,165,250,.14);
  color: #93c5fd;
}

[data-theme="dark"] .history-item-label {
  color: #e2e8f0;
}

[data-theme="dark"] .history-plan-note,
[data-theme="dark"] .history-item-date,
[data-theme="dark"] .history-empty {
  color: #94a3b8;
}
