
/* ═══════════════════════════════════════════════════════════════
   NEWS PRO + GENESIS CONFLICT RESETS — surgical high-specificity
   Every rule here directly counteracts a specific rule found in
   news-pro/custom.css or genesis/style.css
═══════════════════════════════════════════════════════════════ */

/* 1. HEADINGS
   News Pro custom.css applies on `.content h2`:
     background-image: radial-gradient(...);  ← MUST KILL
     color:white !important;                  ← MUST KILL
     text-align:center;                       ← MUST KILL
     padding:10px;                            ← MUST KILL
     box-shadow: ...;                         ← MUST KILL
     text-transform:capitalize;               ← MUST KILL

   Strategy: only use !important on the 6 properties News Pro forcibly sets.
   Leave font-size / font-family / margin / font-weight / line-height
   WITHOUT !important so the calculator's own design rules (e.g.
   `#sn-calc-root .hero h1 { font-size:30px; }`) can override naturally on
   higher specificity. The previous version forced font-size:inherit
   !important which beat every design rule and made every heading look
   like body text. */
#sn-calc-root h1, #sn-calc-root h2, #sn-calc-root h3, #sn-calc-root h4,
#sn-calc-root h5, #sn-calc-root h6,
.content #sn-calc-root h1, .content #sn-calc-root h2,
.content #sn-calc-root h3, .content #sn-calc-root h4 {
  /* — Killing News Pro's forced styling (these MUST be !important) — */
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  text-align: left !important;
  border: none !important;
  border-radius: 0 !important;
  clear: none !important;
  /* — Resets that the calculator's design rules can override naturally — */
  color: inherit;
  padding: 0;
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}

/* 2. PARAGRAPHS
   News Pro / Genesis adds margin-bottom to all `.content p`. Reset that
   one property forcibly; let everything else (font-size, color, line-height,
   margin) be set by the calculator's own design rules. */
#sn-calc-root p,
.content #sn-calc-root p {
  /* Letting design rules win these naturally */
  margin: 0;
  padding: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

/* 3. LINKS — News Pro custom.css rule:
   .content p a:link { display:block; float:left; min-width:150px;
   padding:1em 2em; border:1px solid; position:relative; z-index:1; }
   This has specificity 0,2,1 — we need at least 0,2,1 or higher */
#sn-calc-root a,
#sn-calc-root a:link,
#sn-calc-root a:visited,
#sn-calc-root a:hover,
#sn-calc-root a:focus,
#sn-calc-root p a,
#sn-calc-root p a:link,
#sn-calc-root p a:visited,
#sn-calc-root p a:hover,
.content #sn-calc-root a,
.content #sn-calc-root a:link,
.content #sn-calc-root p a:link {
  color: inherit !important;
  text-decoration: none !important;
  display: inline !important;
  float: none !important;
  min-width: unset !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  position: static !important;
  z-index: auto !important;
  transition: none !important;
  box-shadow: none !important;
  transform: none !important;
  -webkit-backface-visibility: visible !important;
}
#sn-calc-root a::before,
#sn-calc-root a::after,
#sn-calc-root p a:link::before,
#sn-calc-root p a:link::after,
.content #sn-calc-root p a:link::before,
.content #sn-calc-root p a:link::after {
  display: none !important;
  content: none !important;
}

/* 4. BUTTONS — News Pro:
   input[type=button],input[type=reset],input[type=submit]
   { background-color:#c7efff; width:auto!important; border-radius:10px; padding:18px; border-color:skyblue; }
   Our buttons must completely override this */
#sn-calc-root button,
#sn-calc-root input[type="button"],
#sn-calc-root input[type="submit"],
#sn-calc-root input[type="reset"],
.content #sn-calc-root button,
.content #sn-calc-root input[type="button"],
.content #sn-calc-root input[type="submit"],
.entry-content #sn-calc-root button {
  -webkit-appearance: none !important;
  appearance: none !important;
  font-family: inherit !important;
  font-size: inherit !important;
  cursor: pointer !important;
  line-height: normal !important;
  text-transform: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
  display: inline-block !important;
  float: none !important;
  min-width: unset !important;
  text-decoration: none !important;
  letter-spacing: normal !important;
  vertical-align: baseline !important;
}

/* 5. INPUTS / SELECT / TEXTAREA
   News Pro: input[type="search"] { font-size:16px; border-radius:6px; background:#f1f4ff; display:block; }
   Genesis normalise resets font, margin etc
   NOTE: radio/checkbox are intentionally excluded here and handled separately below */
#sn-calc-root input[type="text"],
#sn-calc-root input[type="number"],
#sn-calc-root input[type="date"],
#sn-calc-root input[type="search"],
#sn-calc-root select,
#sn-calc-root textarea,
.content #sn-calc-root input[type="text"],
.content #sn-calc-root input[type="number"],
.content #sn-calc-root input[type="date"],
.content #sn-calc-root input[type="search"],
.content #sn-calc-root select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 14px !important;
  line-height: normal !important;
  color: #0F172A !important;
  background-color: #f8fffe !important;
  background-image: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  float: none !important;
}

/* FIX #2: select needs a custom chevron arrow since appearance:none removes the native one */
#sn-calc-root select,
.content #sn-calc-root select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235b6472' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 13px center !important;
  padding-right: 36px !important;
}

/* FIX #3: Restore native appearance for radio/checkbox — must NOT inherit
   the block-level, colored-background, appearance:none rules above */
#sn-calc-root input[type="radio"],
#sn-calc-root input[type="checkbox"],
.content #sn-calc-root input[type="radio"],
.content #sn-calc-root input[type="checkbox"] {
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
  appearance: auto !important;
  width: auto !important;
  height: auto !important;
  background-color: transparent !important;
  background-image: none !important;
  border: revert !important;
  padding: 0 !important;
  display: inline-block !important;
  float: none !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* 6. STRONG */
#sn-calc-root strong { color: inherit !important; }

/* 7. IMG — News Pro adds borders to .content img */
#sn-calc-root img {
  border: none !important; padding: 0 !important; margin: 0 !important;
  border-radius: 0 !important; border-style: none !important;
  outline: none !important; width: auto !important; height: auto !important;
}

/* 8. TABLE */
#sn-calc-root table { border-collapse: collapse !important; border-spacing: 0 !important; }

/* 9. LISTS */
#sn-calc-root ul, #sn-calc-root ol {
  margin: 0 !important; padding: 0 !important; list-style: none !important;
}

/* 10. HR */
#sn-calc-root hr {
  border: none !important;
  border-top: 1px solid #eef1f6 !important;
  margin: 0 !important;
}

/* 11. DETAILS/SUMMARY */
#sn-calc-root details, #sn-calc-root summary { display: revert !important; }

/* 12. LABEL — News Pro watupro rules affect label display/float */
#sn-calc-root label {
  display: inline-flex !important;
  float: none !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  /* Let design rules override these naturally */
  margin: 0;
  padding: 0;
  font-size: inherit;
  color: inherit;
}

/* FIX #4: .reserv-radio-opt is a <label> styled as a full pill button — needs display:flex not inline-flex */
#sn-calc-root label.reserv-radio-opt,
.content #sn-calc-root label.reserv-radio-opt {
  display: flex !important;
}

/* 13. SECTION / ARTICLE / MAIN — Genesis may constrain these */
#sn-calc-root section,
#sn-calc-root article,
#sn-calc-root main,
#sn-calc-root header,
#sn-calc-root footer {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  background: none !important;
}


  #sn-calc-root{
    --green:#1D9E75;--green-dark:#0F6E56;--green-deep:#085041;
    --green-light:#EAF3DE;--green-mid:#C0DD97;--green-text:#27500A;--green-tint:#F2F9E8;
    --blue:#1D6BE6;--blue-dark:#185FA5;--blue-light:#E6F1FB;--blue-mid:#B5D4F4;
    --amber-light:#FAEEDA;--amber-mid:#FAC775;--amber-dark:#633806;--amber:#BA7517;
    --red-light:#FCEBEB;--red:#A32D2D;--red-mid:#F7C1C1;
    --purple-light:#EDE4FB;--purple:#6B46C1;
    --text:#0F172A;--text-muted:#5b6472;--text-hint:#94a3b8;
    --bg:#f0faf6;--surface:#ffffff;--border:#e5e7eb;--border-soft:#eef1f6;
    --radius:10px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;
    --shadow-sm:0 1px 2px rgba(15,23,42,.06);
    --shadow:0 1px 3px rgba(15,23,42,.07),0 4px 16px rgba(29,158,117,.08);
    --shadow-lg:0 8px 32px rgba(15,23,42,.1),0 2px 6px rgba(29,158,117,.1);
    --ease:cubic-bezier(.4,0,.2,1);
  }
  #sn-calc-root *{box-sizing:border-box;margin:0;padding:0;}
  #sn-calc-root{scroll-behavior:smooth;}
  /* FIX #6: removed min-height:100vh — prevents the widget from forcing full viewport height when embedded in a WP page */
  #sn-calc-root{font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
  #sn-calc-root :focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px;}
  #sn-calc-root .num{font-family:'JetBrains Mono',monospace;font-feature-settings:"tnum" 1;}

  /* HEADER */
  #sn-calc-root .site-header{background:var(--green);padding:14px 0;box-shadow:0 2px 12px rgba(29,158,117,.3);}
  #sn-calc-root .site-header .inner{max-width:880px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:12px;}
  #sn-calc-root .logo{font-family:'Baloo 2',sans-serif;font-size:22px;font-weight:700;color:#fff;text-decoration:none;letter-spacing:-.01em;}
  #sn-calc-root .logo span{background:rgba(255,255,255,.22);border-radius:6px;padding:0 8px;margin-left:4px;font-size:13px;vertical-align:middle;font-weight:600;}
  #sn-calc-root .tagline{font-size:12px;color:rgba(255,255,255,.78);margin-left:auto;}
  @media(max-width:480px){#sn-calc-root .tagline{display:none;}}

  /* HERO — FIX #1: was leaking as unscoped .hero at bottom of file (blue gradient).
     Now fully scoped to #sn-calc-root and using the correct green gradient. */
  #sn-calc-root .hero{background:linear-gradient(135deg,#085041 0%,#0F6E56 40%,#1D9E75 75%,#2bbf8e 100%)!important;padding:36px 20px 44px;text-align:center;position:relative;overflow:hidden;z-index:1;}
  #sn-calc-root .hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top right,rgba(255,255,255,.12),transparent 50%);pointer-events:none;z-index:0;}
  #sn-calc-root .hero h1{font-family:'Baloo 2',sans-serif;font-size:30px;text-align: center !important;font-weight:700;color:#fff !important;margin-bottom:8px;letter-spacing:-.02em;line-height:1.15;position:relative;z-index:2;display:block !important;visibility:visible !important;opacity:1 !important;}
  #sn-calc-root .hero p{font-size:14px;color:rgba(255,255,255,.85) !important;max-width:560px;margin:0 auto;line-height:1.55;position:relative;z-index:2;}
  #sn-calc-root .status-banner{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);padding:6px 14px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;color:#fff;margin-bottom:14px;position:relative;z-index:2;}
  #sn-calc-root .status-banner .dot{width:8px;height:8px;border-radius:50%;background:#FAC775;box-shadow:0 0 0 3px rgba(250,199,117,.3);animation:pulse 2s ease-in-out infinite;}
  @keyframes pulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.15);opacity:.75;}}

  /* MAIN */
  #sn-calc-root .main{max-width:880px;margin:20px auto 40px;padding:0 16px;position:relative;}
  #sn-calc-root .card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--border-soft);}

  /* SECTION HEADERS */
  #sn-calc-root .sec-head{display:flex;align-items:center;gap:12px;padding:18px 22px 14px;border-bottom:1px solid var(--border-soft);}
  #sn-calc-root .step-badge{background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);color:#fff;font-family:'Baloo 2',sans-serif;font-size:13px;font-weight:700;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(29,158,117,.3);}
  #sn-calc-root .sec-head h2{font-family:'Baloo 2',sans-serif;font-size:17px;font-weight:600;color:var(--text);letter-spacing:-.01em;}
  #sn-calc-root .sec-head p{font-size:12.5px;color:var(--text-muted);margin-top:2px;}
  #sn-calc-root .sec-body{padding:20px 22px;}

  /* EXAM SEARCH + GRID */
  #sn-calc-root .exam-search-wrap{position:relative;margin-bottom:12px;}
  #sn-calc-root .exam-search-wrap input{width:100%;padding:11px 14px 11px 40px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:inherit;background:#f8fffe;color:var(--text);transition:all .18s var(--ease);}
  #sn-calc-root .exam-search-wrap input:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px rgba(29,158,117,.1);}
  #sn-calc-root .exam-search-wrap .si{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:15px;color:var(--text-hint);pointer-events:none;}

  #sn-calc-root .cat-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}
  #sn-calc-root .cat-pill{font-size:12px;font-weight:600;padding:6px 12px;border-radius:var(--radius-pill);border:1.5px solid var(--border);background:#f8fffe;color:var(--text-muted);cursor:pointer;transition:all .15s var(--ease);font-family:inherit;}
  #sn-calc-root .cat-pill:hover{border-color:var(--green);color:var(--green-dark);}
  #sn-calc-root .cat-pill.active{background:var(--green);border-color:var(--green);color:#fff;}

  #sn-calc-root .exam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:9px;max-height:280px;overflow-y:auto;padding:2px;}
  #sn-calc-root .exam-grid::-webkit-scrollbar{width:8px;background:#eef1f6;border-radius:8px;}
  #sn-calc-root .exam-grid::-webkit-scrollbar-track{background:#eef1f6;border-radius:8px;margin:2px;}
  #sn-calc-root .exam-grid::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:8px;border:2px solid #eef1f6;}
  #sn-calc-root .exam-grid::-webkit-scrollbar-thumb:hover{background:#1D9E75;}
  #sn-calc-root .exam-grid{scrollbar-width:thin;scrollbar-color:#94a3b8 #eef1f6;}
  #sn-calc-root .echip{padding:11px 8px 9px;border-radius:var(--radius);border:1.5px solid var(--border);background:#f8fffe;cursor:pointer;text-align:center;transition:all .17s var(--ease);font-family:inherit;}
  #sn-calc-root .echip:hover{border-color:var(--green);background:var(--green-light);transform:translateY(-1px);}
  #sn-calc-root .echip.active{border-color:var(--green);background:var(--green-light);box-shadow:0 0 0 3px rgba(29,158,117,.14);transform:translateY(-1px);}
  #sn-calc-root .echip .ei{font-size:20px;display:block;margin-bottom:4px;line-height:1;}
  #sn-calc-root .echip .el{font-size:11.5px;font-weight:600;color:var(--text-muted);line-height:1.3;}
  #sn-calc-root .echip.active .el{color:var(--green-dark);}
  #sn-calc-root .echip .ea{font-size:10px;color:var(--text-hint);margin-top:2px;font-family:'JetBrains Mono',monospace;font-weight:600;}
  #sn-calc-root .echip.active .ea{color:var(--green);}
  #sn-calc-root .no-exam{padding:24px;text-align:center;font-size:13px;color:var(--text-muted);grid-column:1/-1;}

  /* FIELDS */
  #sn-calc-root .field-grid{display:grid;gap:14px;}
  #sn-calc-root .field-grid.col2{grid-template-columns:1fr 1fr;}
  #sn-calc-root .field-grid.col3{grid-template-columns:1fr 1fr 1fr;}
  @media(max-width:580px){#sn-calc-root .field-grid.col2,
#sn-calc-root .field-grid.col3{grid-template-columns:1fr;}}
  #sn-calc-root .flrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:8px;}
  #sn-calc-root .flrow label{font-size:11.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;}
  #sn-calc-root .hbtn{font-size:11px;background:var(--green-light);color:var(--green-text);border:none;padding:3px 10px;border-radius:var(--radius-pill);cursor:pointer;font-weight:600;font-family:inherit;transition:background .15s;white-space:nowrap;}
  #sn-calc-root .hbtn:hover{background:var(--green-mid);}
  #sn-calc-root input[type=text],
#sn-calc-root input[type=number],
#sn-calc-root input[type=date],
#sn-calc-root select{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:inherit;background:#f8fffe;color:var(--text);transition:all .18s var(--ease);}
  #sn-calc-root input:focus,
#sn-calc-root select:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px rgba(29,158,117,.1);}

  /* LIVE AGE DISPLAY */
  #sn-calc-root .age-live{background:var(--green-tint);border:1px solid var(--green-mid);border-radius:var(--radius);padding:10px 12px;margin-top:8px;display:none;font-size:13px;color:var(--green-text);}
  #sn-calc-root .age-live strong{color:var(--green-dark);font-weight:700;}
  #sn-calc-root .age-live.show{display:block;animation:slideDown .25s var(--ease);}
  @keyframes slideDown{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}

  /* HELPER BOX */
  #sn-calc-root .hbox{background:var(--green-light);border:1px solid var(--green-mid);border-radius:var(--radius);padding:12px 14px;margin-top:8px;display:none;animation:slideDown .25s var(--ease);}
  #sn-calc-root .hbox.open{display:block;}
  #sn-calc-root .hbox .ht{font-size:12.5px;font-weight:700;color:var(--green-text);margin-bottom:8px;font-family:'Baloo 2',sans-serif;}
  #sn-calc-root .hi{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--green-mid);gap:8px;}
  #sn-calc-root .hi:last-child{border-bottom:none;}
  #sn-calc-root .hi .hl{font-size:12px;color:#173404;}
  #sn-calc-root .hi .hv{font-size:12px;color:var(--green-text);font-weight:600;}
  #sn-calc-root .tip{font-size:12px;color:var(--text-muted);line-height:1.65;margin-top:6px;}
  #sn-calc-root .tip strong{color:var(--green-dark);}
  #sn-calc-root .hbox .tip{color:#173404;}

  /* CATEGORY SECTIONS */
  #sn-calc-root .sub-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;}
  #sn-calc-root .reserv-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:var(--green-tint);padding:4px;border-radius:var(--radius);border:1.5px solid var(--border);margin-bottom:14px;}
  #sn-calc-root .reserv-opt{padding:9px 6px;text-align:center;border-radius:7px;cursor:pointer;transition:all .15s var(--ease);border:none;background:transparent;font-family:inherit;color:var(--text-muted);font-size:12px;font-weight:600;}
  #sn-calc-root .reserv-opt:hover{background:rgba(255,255,255,.6);}
  #sn-calc-root .reserv-opt.active{background:#fff;color:var(--green-dark);box-shadow:var(--shadow-sm);font-weight:700;}
  @media(max-width:560px){#sn-calc-root .reserv-grid{grid-template-columns:repeat(3,1fr);}}

  #sn-calc-root .addl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:8px;}
  #sn-calc-root .addl-opt{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--radius);border:1.5px solid var(--border);background:#f8fffe;cursor:pointer;transition:all .15s var(--ease);position:relative;}
  #sn-calc-root .addl-opt:hover{border-color:var(--green);background:var(--green-tint);}
  #sn-calc-root .addl-opt.active{border-color:var(--green);background:var(--green-light);}
  #sn-calc-root .addl-opt input[type=checkbox]{width:15px;height:15px;margin-top:1px;accent-color:var(--green);flex-shrink:0;}
  #sn-calc-root .addl-opt-text{flex:1;}
  #sn-calc-root .addl-opt .aon{font-size:12.5px;font-weight:600;color:var(--text);display:block;}
  #sn-calc-root .addl-opt.active .aon{color:var(--green-dark);}
  #sn-calc-root .addl-opt .aodesc{font-size:10.5px;color:var(--text-hint);margin-top:2px;display:block;}

  /* RESERVATION RADIO BUTTONS */
  #sn-calc-root .reserv-radio-group{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;}
  #sn-calc-root .reserv-radio-opt{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;padding:8px 14px;border-radius:var(--radius-pill);border:1.5px solid var(--border);background:#f8fffe;transition:all .15s var(--ease);}
  #sn-calc-root .reserv-radio-opt:hover{border-color:var(--green);background:var(--green-tint);}
  #sn-calc-root .reserv-radio-opt input[type=radio]{accent-color:var(--green);width:15px;height:15px;cursor:pointer;}
  #sn-calc-root .reserv-radio-opt:has(input:checked){border-color:var(--green);background:var(--green-light);color:var(--green-dark);}

  /* ADDITIONAL RELAXATIONS SELECT */
  #sn-calc-root .addl-select{width:100%;padding:11px 36px 11px 13px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:inherit;background:#f8fffe;color:var(--text);transition:all .18s var(--ease);cursor:pointer;}
  #sn-calc-root .addl-select:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px rgba(29,158,117,.1);}

  /* DIVIDER */
  #sn-calc-root .divider{border:none;border-top:1px solid var(--border-soft);margin:0;}

  /* CHIP TAGS */
  #sn-calc-root .chip-tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:4px 11px;border-radius:var(--radius-pill);margin-right:6px;margin-top:4px;}
  #sn-calc-root .chip-tag.green{background:var(--green-light);color:var(--green-text);}
  #sn-calc-root .chip-tag.blue{background:var(--blue-light);color:var(--blue-dark);}
  #sn-calc-root .chip-tag.amber{background:var(--amber-light);color:var(--amber-dark);}
  #sn-calc-root .chip-tag.red{background:var(--red-light);color:var(--red);}
  #sn-calc-root .chip-tag.purple{background:var(--purple-light);color:var(--purple);}

  /* CALCULATE BUTTON */
  #sn-calc-root .calc-section{padding:18px 22px;background:linear-gradient(180deg,#f8fffe 0%,#f0faf6 100%);border-top:1px solid var(--border-soft);}
  #sn-calc-root .calc-btn{width:100%;padding:15px;border-radius:var(--radius);border:none;font-size:16px;font-weight:700;font-family:'Baloo 2',sans-serif;cursor:pointer;background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);color:#fff;letter-spacing:.3px;transition:all .2s var(--ease);box-shadow:0 4px 14px rgba(29,158,117,.3);}
  #sn-calc-root .calc-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(29,158,117,.4);}
  #sn-calc-root .calc-btn:active{transform:translateY(0);}

  /* DISCOVER BUTTON */
  #sn-calc-root .discover-btn{background:linear-gradient(135deg,#0F6E56 0%,#1D9E75 50%,#2bbf8e 100%);padding:0;overflow:hidden;position:relative;}
  #sn-calc-root .discover-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.07) 50%,rgba(255,255,255,0) 100%);transform:translateX(-100%);transition:transform .5s var(--ease);}
  #sn-calc-root .discover-btn:hover::before{transform:translateX(100%);}
  #sn-calc-root .discover-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(29,158,117,.45);}
  #sn-calc-root .discover-btn-inner{display:flex;align-items:center;gap:14px;padding:14px 22px;width:100%;}
  #sn-calc-root .discover-btn-icon{font-size:24px;line-height:1;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));}
  #sn-calc-root .discover-btn-text{flex:1;text-align:left;}
  #sn-calc-root .discover-btn-title{display:block;font-size:16px;font-weight:700;font-family:'Baloo 2',sans-serif;color:#fff;letter-spacing:.2px;line-height:1.2;}
  #sn-calc-root .discover-btn-sub{display:block;font-size:11px;color:rgba(255,255,255,.72);font-family:'Inter Tight',sans-serif;font-weight:500;margin-top:2px;letter-spacing:.1px;}
  #sn-calc-root .discover-btn-arrow{font-size:20px;color:rgba(255,255,255,.7);font-weight:700;transition:transform .2s var(--ease);flex-shrink:0;}
  #sn-calc-root .discover-btn:hover .discover-btn-arrow{transform:translateX(4px);color:#fff;}

  /* RESULT */
  #sn-calc-root .result-section{padding:22px;display:none;}
  #sn-calc-root .result-section.show{display:block;animation:fadeUp .4s var(--ease);}
  @keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

  #sn-calc-root .result-banner{border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:18px;display:flex;align-items:center;gap:14px;}
  #sn-calc-root .result-banner.eligible{background:linear-gradient(135deg,var(--green-light) 0%,#f5faec 100%);border:1.5px solid var(--green-mid);}
  #sn-calc-root .result-banner.ineligible{background:linear-gradient(135deg,var(--red-light) 0%,#fdf0f0 100%);border:1.5px solid var(--red-mid);}
  #sn-calc-root .result-icon{font-size:32px;flex-shrink:0;line-height:1;}
  #sn-calc-root .result-title{font-family:'Baloo 2',sans-serif;font-size:19px;font-weight:700;letter-spacing:-.01em;}
  #sn-calc-root .result-banner.eligible .result-title{color:var(--green-dark);}
  #sn-calc-root .result-banner.ineligible .result-title{color:var(--red);}
  #sn-calc-root .result-sub{font-size:13px;margin-top:3px;line-height:1.5;}
  #sn-calc-root .result-banner.eligible .result-sub{color:var(--green-dark);opacity:.9;}
  #sn-calc-root .result-banner.ineligible .result-sub{color:var(--red);opacity:.9;}

  /* CARDS */
  #sn-calc-root .r-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px;}
  #sn-calc-root .r-card{background:#f8fffe;border:1.5px solid var(--border);border-radius:var(--radius);padding:13px;text-align:center;transition:transform .15s;}
  #sn-calc-root .r-card:hover{transform:translateY(-1px);}
  #sn-calc-root .r-card.highlight{background:linear-gradient(135deg,var(--green-light) 0%,#f5faec 100%);border-color:var(--green-mid);}
  #sn-calc-root .r-card.danger{background:var(--red-light);border-color:var(--red-mid);}
  #sn-calc-root .r-card.info{background:var(--blue-light);border-color:var(--blue-mid);}
  #sn-calc-root .r-card.warn{background:linear-gradient(135deg,var(--amber-light) 0%,#fcf5e5 100%);border-color:var(--amber-mid);}
  #sn-calc-root .rc-label{font-size:10.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.45px;margin-bottom:6px;}
  #sn-calc-root .rc-val{font-size:18px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--text);letter-spacing:-.02em;}
  #sn-calc-root .r-card.highlight .rc-val{color:var(--green);}
  #sn-calc-root .r-card.danger .rc-val{color:var(--red);}
  #sn-calc-root .r-card.info .rc-val{color:var(--blue-dark);}
  #sn-calc-root .r-card.warn .rc-val{color:var(--amber);}
  #sn-calc-root .rc-sub{font-size:10px;color:var(--text-hint);margin-top:3px;font-weight:500;}

  /* BAR */
  #sn-calc-root .bar-section{background:#f8fffe;border:1.5px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px;}
  #sn-calc-root .bar-title{font-size:12.5px;color:var(--text-muted);margin-bottom:10px;font-weight:500;}
  #sn-calc-root .bar-track{height:12px;border-radius:6px;background:var(--border);overflow:hidden;position:relative;}
  #sn-calc-root .bar-fill{height:100%;border-radius:6px;transition:width .6s cubic-bezier(.4,0,.2,1);background:linear-gradient(90deg,var(--green) 0%,#2bbf8e 100%);}
  #sn-calc-root .bar-fill.over{background:linear-gradient(90deg,var(--red) 0%,#c94848 100%);}
  #sn-calc-root .bar-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-hint);margin-top:6px;font-family:'JetBrains Mono',monospace;font-weight:500;}
  #sn-calc-root .bar-labels .you{color:var(--green-dark);font-weight:700;}
  #sn-calc-root .bar-labels .you.over{color:var(--red);}

  /* KEY DATES */
  #sn-calc-root .key-dates{background:var(--blue-light);border:1.5px solid var(--blue-mid);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px;}
  #sn-calc-root .key-dates h3{font-family:'Baloo 2',sans-serif;font-size:13px;font-weight:700;color:var(--blue-dark);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;}
  #sn-calc-root .kd-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px dashed var(--blue-mid);gap:8px;}
  #sn-calc-root .kd-row:last-child{border-bottom:none;}
  #sn-calc-root .kd-row .kdl{color:var(--blue-dark);flex:1;}
  #sn-calc-root .kd-row .kdv{color:var(--text);font-family:'JetBrains Mono',monospace;font-weight:700;}

  /* DETAIL NOTE */
  #sn-calc-root .detail-note{background:#f8fffe;border:1px solid var(--border);border-radius:var(--radius);padding:13px 16px;font-size:13px;color:var(--text-muted);line-height:1.65;margin-bottom:12px;}
  #sn-calc-root .detail-note strong{color:var(--text);}

  /* TAGS ROW */
  #sn-calc-root .tags-row{margin-bottom:16px;}

  /* ACTIONS */
  #sn-calc-root .actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;}
  #sn-calc-root .act-btn{padding:11px 14px;border-radius:var(--radius);border:1.5px solid var(--border);background:#fff;color:var(--text);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .18s var(--ease);display:flex;align-items:center;justify-content:center;gap:6px;}
  #sn-calc-root .act-btn:hover{border-color:var(--green);color:var(--green-dark);background:var(--green-tint);}
  #sn-calc-root .act-btn.primary{border-color:var(--green);background:var(--green);color:#fff;}
  #sn-calc-root .act-btn.primary:hover{background:var(--green-dark);}
  #sn-calc-root .act-btn span.ico{font-size:14px;}

  /* RELAXATION REFERENCE */
  #sn-calc-root .ref-section{border-top:1px solid var(--border-soft);padding-top:18px;margin-top:18px;}
  #sn-calc-root .ref-title{font-family:'Baloo 2',sans-serif;font-size:14px;font-weight:700;color:var(--text);margin-bottom:10px;letter-spacing:-.01em;}
  #sn-calc-root .relax-ref{background:#f8fffe;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;overflow-x:auto;}
  #sn-calc-root .relax-ref table{width:100%;border-collapse:collapse;min-width:420px;}
  #sn-calc-root .relax-ref th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:9px 13px;background:var(--green-light);color:var(--green-text);text-align:left;border-bottom:1px solid var(--green-mid);}
  #sn-calc-root .relax-ref td{font-size:12px;padding:8px 13px;border-bottom:1px solid var(--border);color:var(--text);}
  #sn-calc-root .relax-ref tr:last-child td{border-bottom:none;}
  #sn-calc-root .relax-ref .cat-col{color:var(--text-muted);}
  #sn-calc-root .relax-ref .relax-col{font-weight:700;color:var(--green-dark);font-family:'JetBrains Mono',monospace;}
  #sn-calc-root .note-col{font-size:11px;color:var(--text-hint);}

  /* FAQ */
  #sn-calc-root .faq-section{max-width:880px;margin:0 auto;padding:24px 16px 8px;}
  #sn-calc-root .faq-section h2{font-family:'Baloo 2',sans-serif;font-size:22px;font-weight:700;color:var(--text);margin-bottom:4px;letter-spacing:-.01em;}
  #sn-calc-root .faq-section > p{font-size:13px;color:var(--text-muted);margin-bottom:16px;}
  #sn-calc-root .faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;overflow:hidden;transition:border-color .18s;}
  #sn-calc-root .faq-item[open]{border-color:var(--green-mid);box-shadow:var(--shadow-sm);}
  #sn-calc-root .faq-item summary{padding:14px 16px;cursor:pointer;font-size:14px;font-weight:600;color:var(--text);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;}
  #sn-calc-root .faq-item summary::-webkit-details-marker{display:none;}
  #sn-calc-root .faq-item summary::after{content:'+';font-family:'Baloo 2',sans-serif;font-size:22px;font-weight:700;color:var(--green);transition:transform .2s;line-height:1;flex-shrink:0;}
  #sn-calc-root .faq-item[open] summary::after{transform:rotate(45deg);}
  #sn-calc-root .faq-item summary:hover{background:var(--green-tint);}
  #sn-calc-root .faq-body{padding:0 16px 14px;font-size:13.5px;color:#474747;line-height:2.5;}
  #sn-calc-root .faq-body strong{color:var(--text);}

  /* FOOTER */
  #sn-calc-root .site-footer{text-align:center;padding:24px 20px;font-size:14.5px;color:#000000;line-height:1.6;}
  #sn-calc-root .site-footer a{color:var(--green-dark);text-decoration:none;font-weight:600;}
  #sn-calc-root .site-footer a:hover{text-decoration:underline;}

  /* TOAST */
  #sn-calc-root .toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--text);color:#fff;padding:10px 18px;border-radius:var(--radius-pill);font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);z-index:100;opacity:0;transition:all .3s var(--ease);pointer-events:none;}
  #sn-calc-root .toast.show{transform:translateX(-50%) translateY(0);opacity:1;}

  /* MODE TABS */
  #sn-calc-root .mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--green-tint);border-bottom:1px solid var(--border-soft);}
  #sn-calc-root .mode-tab{padding:14px 16px;border:none;background:transparent;font-family:'Baloo 2',sans-serif;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .18s var(--ease);border-bottom:3px solid transparent;display:flex;align-items:center;justify-content:center;gap:6px;}
  #sn-calc-root .mode-tab:hover{color:var(--green-dark);background:rgba(255,255,255,.4);}
  #sn-calc-root .mode-tab.active{background:#fff;color:var(--green-dark);border-bottom-color:var(--green);}
  #sn-calc-root .mode-tab .mt-ico{font-size:16px;}
  #sn-calc-root .mode-tab .mt-sub{font-size:13.5px;font-weight:500;color:var(--text-hint);display:block;margin-top:2px;font-family:inherit;}
  #sn-calc-root .mode-tab.active .mt-sub{color:var(--text-muted);}
  #sn-calc-root .mt-stack{display:flex;flex-direction:column;align-items:center;line-height:1.2; font-size:18px}
  @media(max-width:480px){#sn-calc-root .mode-tab .mt-sub{display:none;}}

  /* Hide sections per mode */
  #sn-calc-root.mode-discover .mode-single-only{display:none !important;}
  #sn-calc-root.mode-single .mode-discover-only{display:none !important;}

  /* ATTEMPTS INPUT */
  #sn-calc-root .attempts-section{margin-top:16px;padding:14px 16px;background:var(--blue-light);border:1.5px solid var(--blue-mid);border-radius:var(--radius);display:none;}
  #sn-calc-root .attempts-section.show{display:block;animation:slideDown .25s var(--ease);}
  #sn-calc-root .attempts-section .at-title{font-family:'Baloo 2',sans-serif;font-size:13px;font-weight:700;color:var(--blue-dark);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;}
  #sn-calc-root .attempts-section .at-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
  #sn-calc-root .attempts-section input{max-width:90px;}
  #sn-calc-root .attempts-section .at-limit{font-size:12.5px;color:var(--blue-dark);font-weight:600;font-family:'JetBrains Mono',monospace;}
  #sn-calc-root .attempts-section .at-note{font-size:11.5px;color:var(--text-muted);line-height:1.5;}

  /* DISCOVER RESULTS */
  #sn-calc-root .discover-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
  #sn-calc-root .ds-card{background:#f8fffe;border:1.5px solid var(--border);border-radius:var(--radius);padding:14px;text-align:center;}
  #sn-calc-root .ds-card.elig{background:linear-gradient(135deg,var(--green-light) 0%,#f5faec 100%);border-color:var(--green-mid);}
  #sn-calc-root .ds-card.upc{background:linear-gradient(135deg,var(--amber-light) 0%,#fcf5e5 100%);border-color:var(--amber-mid);}
  #sn-calc-root .ds-card.over{background:var(--red-light);border-color:var(--red-mid);}
  #sn-calc-root .ds-label{font-size:10.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
  #sn-calc-root .ds-val{font-size:26px;font-weight:700;font-family:'Baloo 2',sans-serif;line-height:1;letter-spacing:-.02em;}
  #sn-calc-root .ds-card.elig .ds-val{color:var(--green);}
  #sn-calc-root .ds-card.upc .ds-val{color:var(--amber);}
  #sn-calc-root .ds-card.over .ds-val{color:var(--red);}
  #sn-calc-root .ds-sub{font-size:10px;color:var(--text-hint);margin-top:4px;}
  @media(max-width:480px){
    #sn-calc-root .discover-summary{grid-template-columns:1fr;}
    #sn-calc-root .ds-card{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:12px 14px;}
    #sn-calc-root .ds-label{margin-bottom:0;}
    #sn-calc-root .ds-val{font-size:22px;}
  }

  /* FILTER PILLS */
  #sn-calc-root .disc-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}
  #sn-calc-root .disc-pill{font-size:12px;font-weight:600;padding:6px 12px;border-radius:var(--radius-pill);border:1.5px solid var(--border);background:#f8fffe;color:var(--text-muted);cursor:pointer;transition:all .15s var(--ease);font-family:inherit;}
  #sn-calc-root .disc-pill:hover{border-color:var(--green);color:var(--green-dark);}
  #sn-calc-root .disc-pill.active{background:var(--green);border-color:var(--green);color:#fff;}

  /* DISCOVER EXAM LIST */
  #sn-calc-root .disc-group{margin-bottom:14px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
  #sn-calc-root .disc-grouphd{padding:10px 14px;background:var(--green-tint);border-bottom:1px solid var(--border);font-family:'Baloo 2',sans-serif;font-size:13px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;display:flex;justify-content:space-between;gap:8px;}
  #sn-calc-root .disc-grouphd .gh-count{color:var(--text-muted);font-weight:600;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0;text-transform:none;}
  #sn-calc-root .disc-row{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:10px 14px;border-bottom:1px solid var(--border-soft);align-items:center;}
  #sn-calc-root .disc-row:last-child{border-bottom:none;}
  #sn-calc-root .disc-row:hover{background:#fafbff;}
  #sn-calc-root .dr-name{font-size:13.5px;font-weight:600;color:var(--text);line-height:1.3;}
  #sn-calc-root .dr-ico{display:inline-block;width:18px;text-align:center;margin-right:4px;}
  #sn-calc-root .dr-meta{font-size:11px;color:var(--text-muted);margin-top:2px;font-family:'JetBrains Mono',monospace;font-weight:500;}
  #sn-calc-root .dr-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;white-space:nowrap;}
  #sn-calc-root .dr-status.elig{color:var(--green-dark);}
  #sn-calc-root .dr-status.upc{color:var(--amber-dark);}
  #sn-calc-root .dr-status.over{color:var(--red);}
  #sn-calc-root .dr-status .ds-ico{font-size:14px;}
  #sn-calc-root .dr-bar{grid-column:1/-1;margin-top:4px;}
  #sn-calc-root .dr-bar-track{height:5px;background:var(--border-soft);border-radius:3px;overflow:hidden;}
  #sn-calc-root .dr-bar-fill{height:100%;background:linear-gradient(90deg,var(--green) 0%,#2bbf8e 100%);border-radius:3px;transition:width .4s var(--ease);}
  #sn-calc-root .dr-bar-fill.upc{background:linear-gradient(90deg,var(--amber) 0%,#e4a139 100%);}

  /* TIMELINE CHART */
  #sn-calc-root .runway-chart{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:16px;}
  #sn-calc-root .runway-chart h3{font-family:'Baloo 2',sans-serif;font-size:14px;font-weight:700;color:var(--text);margin-bottom:2px;}
  #sn-calc-root .runway-chart .rc-sub{font-size:11.5px;color:var(--text-muted);margin-bottom:14px;}
  #sn-calc-root .rchart-wrap{width:100%;overflow-x:auto;}
  #sn-calc-root .rchart-svg{width:100%;max-width:100%;height:auto;display:block;min-width:420px;}
  #sn-calc-root .rchart-bar{transition:opacity .2s;}
  #sn-calc-root .rchart-bar:hover{opacity:.78;cursor:pointer;}
  #sn-calc-root .rchart-label{font-size:11px;fill:var(--text);font-family:'Inter Tight',sans-serif;font-weight:500;}
  #sn-calc-root .rchart-yrs{font-size:10px;fill:#fff;font-family:'JetBrains Mono',monospace;font-weight:700;}
  #sn-calc-root .rchart-axis{stroke:var(--border);stroke-width:1;}
  #sn-calc-root .rchart-gridline{stroke:var(--border-soft);stroke-width:1;stroke-dasharray:3 3;}
  #sn-calc-root .rchart-tick{font-size:10px;fill:var(--text-muted);font-family:'JetBrains Mono',monospace;}

  /* Empty state */
  #sn-calc-root .disc-empty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:14px;}
  #sn-calc-root .disc-empty .de-ico{font-size:36px;margin-bottom:8px;display:block;}

  /* RESPONSIVE */
  @media(max-width:600px){
    #sn-calc-root .hero{padding:28px 16px 40px;}
    #sn-calc-root .hero h1{font-size:22px;}
    #sn-calc-root .hero p{font-size:13px;}
    #sn-calc-root .exam-grid{grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:7px;}
    #sn-calc-root .echip .ei{font-size:17px;}
    #sn-calc-root .echip .el{font-size:10.5px;}
    #sn-calc-root .sec-head{padding:16px 16px 12px;}
    #sn-calc-root .sec-body{padding:16px;}
    #sn-calc-root .calc-section{padding:14px 16px;}
    #sn-calc-root .result-section{padding:18px 16px;}
    #sn-calc-root .r-grid{grid-template-columns:1fr 1fr;}
    #sn-calc-root .rc-val{font-size:16px;}
    #sn-calc-root .result-title{font-size:17px;}
  }

  /* PRINT */
  @media print{
    #sn-calc-root{background:#fff;}
    #sn-calc-root .site-header,
#sn-calc-root .status-banner,
#sn-calc-root .calc-section,
#sn-calc-root .actions,
#sn-calc-root .faq-section,
#sn-calc-root .site-footer,
#sn-calc-root .sec-head .step-badge,
#sn-calc-root .hbtn,
#sn-calc-root .hero::before,
#sn-calc-root .exam-search-wrap,
#sn-calc-root .cat-pills{display:none !important;}
    #sn-calc-root .hero{padding:16px;background:#fff;color:var(--text);}
    #sn-calc-root .hero h1{color:var(--text);font-size:22px;}
    #sn-calc-root .hero p{color:var(--text-muted);}
    #sn-calc-root .main{margin:0;padding:0;max-width:100%;}
    #sn-calc-root .card{box-shadow:none;border:1px solid #ccc;border-radius:0;}
    #sn-calc-root .result-section{display:block !important;}
    #sn-calc-root .r-card,
#sn-calc-root .key-dates,
#sn-calc-root .bar-section,
#sn-calc-root .detail-note{break-inside:avoid;}
  }


/* ═══════════════════════════════════════════════════════════════
   BUTTON DESIGN OVERRIDES
   These rules come AFTER the generic button reset above
   and use button.classname selectors to match or beat the reset's
   specificity (.content #sn-calc-root button = 0,2,1).
   Using both high-specificity selectors + !important = guaranteed win.
═══════════════════════════════════════════════════════════════ */

/* CALCULATE + DISCOVER BUTTON */
#sn-calc-root button.calc-btn,
.content #sn-calc-root button.calc-btn,
.entry-content #sn-calc-root button.calc-btn {
  display: block !important;
  width: 100% !important;
  padding: 15px !important;
  border-radius: 10px !important;
  border: none !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  font-family: 'Baloo 2', sans-serif !important;
  background: linear-gradient(135deg, #1D9E75 0%, #0F6E56 100%) !important;
  background-color: #1D9E75 !important;
  color: #fff !important;
  letter-spacing: .3px !important;
  box-shadow: 0 4px 14px rgba(29,158,117,.3) !important;
  cursor: pointer !important;
  float: none !important;
  min-width: unset !important;
  text-decoration: none !important;
  vertical-align: baseline !important;
  position: relative !important;
  overflow: hidden !important;
}

/* DISCOVER BUTTON (dark green variant) */
#sn-calc-root button.discover-btn,
.content #sn-calc-root button.discover-btn,
.entry-content #sn-calc-root button.discover-btn {
  background: linear-gradient(135deg, #0F6E56 0%, #1D9E75 50%, #2bbf8e 100%) !important;
  background-color: #0F6E56 !important;
  padding: 0 !important;
}

/* MODE TABS */
#sn-calc-root button.mode-tab,
.content #sn-calc-root button.mode-tab,
.entry-content #sn-calc-root button.mode-tab {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px 16px !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  background: transparent !important;
  background-color: transparent !important;
  font-family: 'Baloo 2', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #5b6472 !important;
  width: 100% !important;
  float: none !important;
  min-width: unset !important;
  cursor: pointer !important;
  letter-spacing: normal !important;
  vertical-align: baseline !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

#sn-calc-root button.mode-tab.active,
.content #sn-calc-root button.mode-tab.active,
.entry-content #sn-calc-root button.mode-tab.active {
  background: #fff !important;
  background-color: #fff !important;
  color: #0F6E56 !important;
  border-bottom: 3px solid #1D9E75 !important;
}

/* HELPER BUTTONS (Why needed? / Where to find?) */
#sn-calc-root button.hbtn,
.content #sn-calc-root button.hbtn,
.entry-content #sn-calc-root button.hbtn {
  display: inline-block !important;
  float: none !important;
  min-width: unset !important;
  font-size: 11px !important;
  background: #EAF3DE !important;
  background-color: #EAF3DE !important;
  color: #27500A !important;
  border: none !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  cursor: pointer !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  letter-spacing: normal !important;
  vertical-align: baseline !important;
}

/* CATEGORY / RESERVATION OPTION BUTTONS */
#sn-calc-root button.reserv-opt,
.content #sn-calc-root button.reserv-opt,
.entry-content #sn-calc-root button.reserv-opt {
  display: block !important;
  width: 100% !important;
  float: none !important;
  min-width: unset !important;
  padding: 9px 6px !important;
  text-align: center !important;
  border-radius: 7px !important;
  border: none !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #5b6472 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  letter-spacing: normal !important;
  vertical-align: baseline !important;
}

#sn-calc-root button.reserv-opt.active,
.content #sn-calc-root button.reserv-opt.active,
.entry-content #sn-calc-root button.reserv-opt.active {
  background: #fff !important;
  background-color: #fff !important;
  color: #0F6E56 !important;
  font-weight: 700 !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.06) !important;
}

/* ACTION BUTTONS (Share, Copy, Print, Reset) */
#sn-calc-root button.act-btn,
.content #sn-calc-root button.act-btn,
.entry-content #sn-calc-root button.act-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 11px 14px !important;
  border-radius: 10px !important;
  border: 1.5px solid #e5e7eb !important;
  background: #fff !important;
  background-color: #fff !important;
  color: #0F172A !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  float: none !important;
  min-width: unset !important;
  width: auto !important;
  letter-spacing: normal !important;
  vertical-align: baseline !important;
}

#sn-calc-root button.act-btn.primary,
.content #sn-calc-root button.act-btn.primary,
.entry-content #sn-calc-root button.act-btn.primary {
  border-color: #1D9E75 !important;
  background: #1D9E75 !important;
  background-color: #1D9E75 !important;
  color: #fff !important;
}

/* EXAM CHIP BUTTONS */
#sn-calc-root button.echip,
.content #sn-calc-root button.echip,
.entry-content #sn-calc-root button.echip {
  display: block !important;
  width: 100% !important;
  float: none !important;
  min-width: unset !important;
  padding: 11px 8px 9px !important;
  border-radius: 10px !important;
  border: 1.5px solid #e5e7eb !important;
  background: #f8fffe !important;
  background-color: #f8fffe !important;
  color: inherit !important;
  cursor: pointer !important;
  text-align: center !important;
  letter-spacing: normal !important;
  vertical-align: baseline !important;
}

/* CAT PILLS (All / UPSC / SSC etc filter buttons) */
#sn-calc-root button.cat-pill,
.content #sn-calc-root button.cat-pill,
.entry-content #sn-calc-root button.cat-pill {
  display: inline-block !important;
  float: none !important;
  min-width: unset !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  border: 1.5px solid #e5e7eb !important;
  background: #f8fffe !important;
  background-color: #f8fffe !important;
  color: #5b6472 !important;
  cursor: pointer !important;
  letter-spacing: normal !important;
  vertical-align: baseline !important;
}

#sn-calc-root button.cat-pill.active,
.content #sn-calc-root button.cat-pill.active,
.entry-content #sn-calc-root button.cat-pill.active {
  background: #1D9E75 !important;
  background-color: #1D9E75 !important;
  border-color: #1D9E75 !important;
  color: #fff !important;
}

/* DISC PILL BUTTONS */
#sn-calc-root button.disc-pill,
.content #sn-calc-root button.disc-pill,
.entry-content #sn-calc-root button.disc-pill {
  display: inline-block !important;
  float: none !important;
  min-width: unset !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  border: 1.5px solid #e5e7eb !important;
  background: #f8fffe !important;
  background-color: #f8fffe !important;
  color: #5b6472 !important;
  cursor: pointer !important;
  letter-spacing: normal !important;
  vertical-align: baseline !important;
}

#sn-calc-root button.disc-pill.active,
.content #sn-calc-root button.disc-pill.active,
.entry-content #sn-calc-root button.disc-pill.active {
  background: #1D9E75 !important;
  background-color: #1D9E75 !important;
  border-color: #1D9E75 !important;
  color: #fff !important;
}
