:root{
    --brand-navy:#1003a8;
    --brand-yellow:#FFE600;
    --ink:#0E1B2E;
    --muted:#6b7280;
    --bg:#F5F7FA;
    --border:#e5e7eb;
  }
  body{ background:var(--bg); color:#2A2F3A; }
  .banner{ background:var(--brand-navy); color:#fff; border-radius:1rem; }
  .btn-brand{ background:var(--brand-navy); color:#fff; }
  .btn-brand:hover{ filter:brightness(0.95); color:#fff; }
  .btn-cta{ background:var(--brand-yellow); color:var(--ink); font-weight:700; }
  .btn-cta:hover{ background:#E6D200; color:var(--ink); }
  .card-lite{ border:1px solid var(--border); border-radius:1rem; box-shadow:0 1px 2px rgba(0,0,0,.04); background:#fff; }
  .section-title{ color:var(--ink); font-weight:700; }
  .form-control, .form-select{ border-radius:.6rem; border-color:#d1d5db; }
  .form-control::placeholder{ color:#9ca3af; }
  .step-chip{
    display:inline-grid; place-content:center; width:24px; height:24px;
    border-radius:9999px; font-size:12px; font-weight:700;
  }
  
  /* Circular checkbox across the app */
  .round-check{
    -webkit-appearance:none; appearance:none; width:20px; height:20px;
    border:2px solid #9CA3AF; border-radius:9999px; display:inline-grid;
    place-content:center; background:#fff; cursor:pointer; transition:all .15s;
  }
  .round-check:checked{ background:var(--brand-navy); border-color:var(--brand-navy); }
  .round-check::before{ content:""; width:10px; height:10px; border-radius:9999px; background:#fff; transform:scale(0); transition:transform .15s; }
  .round-check:checked::before{ transform:scale(1); }
  .round-check:disabled{ opacity:.5; cursor:not-allowed; }
  
  /* Weeks */
  .week-chip{
    position:relative; border:1px solid var(--border); border-radius:.75rem;
    padding:.5rem .75rem; background:#f8fafc; min-width:160px; text-align:left;
  }
  .week-chip.active{ background:#fff; border-color:var(--ink); }
  .week-chip.selected{ border-color:var(--brand-navy); background:#eef2ff; color:var(--ink); }
  
  .chips-scroll{ overflow:auto; white-space:nowrap; }
  .chips-scroll > *{ margin-right:.5rem; }
  .chips-scroll::-webkit-scrollbar{ height:8px; }
  .chips-scroll::-webkit-scrollbar-thumb{ background:#d1d5db; border-radius:999px; }
  
  .th-sub{ display:block; font-size:.75rem; color:#6b7280; line-height:1.1; }
  
  .helpbar{
    border:1px dashed #c7cff5; background:#f7f9ff; color:#0E1B2E;
    border-radius:12px; padding:.75rem 1rem;
  }
  .float-help{ position:fixed; right:16px; bottom:16px; z-index:1029; }
  
  /* Simple vertical stack helper for BS4 */
  .vstack-16 > * + * { margin-top: 1rem; }
  
  /* Tour anchor (always measurable) */
  #addons-anchor-wrap { position: relative; }
  #addons-tour-anchor {
    position:absolute; top:8px; left:8px; width:1px; height:1px; opacity:0; pointer-events:none;
  }
  