/**
 * iAS Paycheck Calculator — front-end styles.
 *
 * Everything is scoped under .iaspc-root and the specificity is raised on
 * purpose so theme styles do not leak in. Brand colours are custom properties;
 * Settings > Paycheck Calculator overrides them with an inline block.
 *
 * @package IAS_Paycheck_Calculator
 */

.iaspc-root {
  all:initial;
  display:block;
  box-sizing:border-box;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:transparent;
  container-type:inline-size;

  /* ---- BRAND (edit these 5 lines to match iAS style guide) ---- */
  --iaspc-brand:#00955D;        /* iAS logo green  */
  --iaspc-brand-dark:#00754A;   /* green, hover    */
  --iaspc-brand-ink:#24214F;    /* iAS logo navy   */
  --iaspc-brand-ink-2:#322E6B;  /* navy, lighter   */
  --iaspc-brand-soft:#E8F4EE;   /* green tint      */

  /* ---- Chart palette (validated for color-vision deficiency) ---- */
  --iaspc-c-net:#0E9C68;
  --iaspc-c-fed:#D97706;
  --iaspc-c-fica:#3A6FD6;
  --iaspc-c-state:#C2334D;
  --iaspc-c-ded:#9B5DE5;

  /* ---- Neutrals ---- */
  --iaspc-ink:#1D1B33;
  --iaspc-ink-2:#4E4C6A;
  --iaspc-ink-3:#7C7A95;
  --iaspc-line:#DEDDE7;
  --iaspc-line-2:#EFEEF4;
  --iaspc-surface:#FFFFFF;
  --iaspc-surface-2:#F7F7FA;
  --iaspc-radius:10px;
  --iaspc-shadow:0 1px 2px rgba(36,33,79,.06),0 8px 24px rgba(36,33,79,.08);

  color:var(--iaspc-ink);
}.iaspc-root *, .iaspc-root *::before, .iaspc-root *::after {box-sizing:border-box;}.iaspc-root p, .iaspc-root h1, .iaspc-root h2, .iaspc-root h3, .iaspc-root h4, .iaspc-root ul, .iaspc-root ol, .iaspc-root li, .iaspc-root figure, .iaspc-root table {margin:0;padding:0;}.iaspc-root li {list-style:none;}.iaspc-root button {font:inherit;color:inherit;}.iaspc-root /* ---------- Layout ---------- */
.iaspc-wrap {
  background:var(--iaspc-surface);
  border:1px solid var(--iaspc-line);
  border-radius:14px;
  box-shadow:var(--iaspc-shadow);
  overflow:hidden;
}.iaspc-root .iaspc-header {
  padding:22px 26px 20px;
  background:linear-gradient(135deg,#1C1A3E 0%,var(--iaspc-brand-ink) 55%,var(--iaspc-brand-ink-2) 100%);
  border-bottom:3px solid var(--iaspc-brand);
  color:#fff;
}.iaspc-root .iaspc-eyebrow {color:inherit;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;opacity:.78;margin-bottom:6px;
}.iaspc-root .iaspc-title {font-size:24px;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:inherit;background:transparent;}.iaspc-root .iaspc-sub {color:inherit;font-size:14px;opacity:.85;margin-top:6px;max-width:62ch;}.iaspc-root .iaspc-body {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);}@container (max-width: 860px) {
.iaspc-root .iaspc-body {grid-template-columns:1fr;}
}
@media (max-width: 860px) {
.iaspc-root .iaspc-body {grid-template-columns:1fr;}
}
.iaspc-root .iaspc-inputs {padding:22px 26px 26px;border-right:1px solid var(--iaspc-line);min-width:0;}.iaspc-root .iaspc-results {padding:22px 26px 26px;background:var(--iaspc-surface-2);min-width:0;}@container (max-width: 860px) {
.iaspc-root .iaspc-inputs {border-right:0;border-bottom:1px solid var(--iaspc-line);}
}
@media (max-width: 860px) {
.iaspc-root .iaspc-inputs {border-right:0;border-bottom:1px solid var(--iaspc-line);}
}
.iaspc-root /* ---------- Form primitives ---------- */
.iaspc-group {margin-bottom:20px;}.iaspc-root .iaspc-group:last-child {margin-bottom:0;}.iaspc-root .iaspc-legend {
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--iaspc-ink-3);margin-bottom:10px;
  display:flex;align-items:center;gap:8px;
}.iaspc-root .iaspc-legend::after {content:"";flex:1;height:1px;background:var(--iaspc-line-2);}.iaspc-root .iaspc-field {margin-bottom:12px;}.iaspc-root .iaspc-field:last-child {margin-bottom:0;}.iaspc-root .iaspc-label {
  display:block;font-size:13px;font-weight:600;color:var(--iaspc-ink-2);margin-bottom:5px;
}.iaspc-root .iaspc-label .iaspc-hint {font-weight:400;color:var(--iaspc-ink-3);}.iaspc-root .iaspc-row {display:grid;gap:10px;}.iaspc-root .iaspc-row-2 {grid-template-columns:1fr 1fr;}.iaspc-root .iaspc-row-3 {grid-template-columns:1fr 1fr 1fr;}@media (max-width: 520px) {
.iaspc-root .iaspc-row-2, .iaspc-root .iaspc-row-3 {grid-template-columns:1fr;}
}
.iaspc-root .iaspc-input, .iaspc-root .iaspc-select {
  width:100%;display:block;
  padding:9px 11px;
  font-size:15px;font-family:inherit;color:var(--iaspc-ink);
  background:var(--iaspc-surface);
  border:1px solid var(--iaspc-line);
  border-radius:var(--iaspc-radius);
  outline:none;
  transition:border-color .12s ease, box-shadow .12s ease;
  -webkit-appearance:none;appearance:none;
  height:40px;
}.iaspc-root .iaspc-select {
  padding-right:34px;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%237C7A95' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
}.iaspc-root .iaspc-input:focus, .iaspc-root .iaspc-select:focus {
  border-color:var(--iaspc-brand);
  box-shadow:0 0 0 3px rgba(0,149,93,.20);
}.iaspc-root .iaspc-input::-webkit-outer-spin-button, .iaspc-root .iaspc-input::-webkit-inner-spin-button {-webkit-appearance:none;margin:0;}.iaspc-root .iaspc-input[type=number] {-moz-appearance:textfield;}.iaspc-root .iaspc-money {position:relative;}.iaspc-root .iaspc-money .iaspc-input {padding-left:26px;}.iaspc-root .iaspc-money::before {
  content:"$";position:absolute;left:11px;top:50%;transform:translateY(-50%);
  font-size:15px;color:var(--iaspc-ink-3);pointer-events:none;z-index:1;
}.iaspc-root .iaspc-pct {position:relative;}.iaspc-root .iaspc-pct .iaspc-input {padding-right:28px;}.iaspc-root .iaspc-pct::after {
  content:"%";position:absolute;right:11px;top:50%;transform:translateY(-50%);
  font-size:15px;color:var(--iaspc-ink-3);pointer-events:none;
}.iaspc-root /* Segmented control */
.iaspc-seg {
  display:inline-flex;background:var(--iaspc-surface-2);
  border:1px solid var(--iaspc-line);border-radius:var(--iaspc-radius);padding:3px;gap:3px;width:100%;
}.iaspc-root .iaspc-seg button {
  flex:1;border:0;background:transparent;cursor:pointer;
  padding:7px 10px;border-radius:7px;
  font-size:13px;font-weight:600;color:var(--iaspc-ink-2);
  transition:background .12s ease,color .12s ease,box-shadow .12s ease;
  white-space:nowrap;
}.iaspc-root .iaspc-seg button[aria-pressed="true"] {
  background:var(--iaspc-surface);color:var(--iaspc-brand-ink);
  box-shadow:0 1px 2px rgba(36,33,79,.12);
}.iaspc-root .iaspc-seg button:focus-visible {outline:2px solid var(--iaspc-brand);outline-offset:1px;}.iaspc-root /* Toggle-style checkbox rows */
.iaspc-check {
  display:flex;align-items:center;gap:9px;
  font-size:13.5px;color:var(--iaspc-ink-2);cursor:pointer;padding:3px 0;
}.iaspc-root .iaspc-check input {
  width:16px;height:16px;accent-color:var(--iaspc-brand);margin:0;flex:0 0 auto;cursor:pointer;
}.iaspc-root /* Disclosure */
.iaspc-disclose {border-top:1px solid var(--iaspc-line-2);}.iaspc-root .iaspc-disclose > summary {
  cursor:pointer;list-style:none;padding:11px 0;
  font-size:13px;font-weight:600;color:var(--iaspc-brand-ink);
  display:flex;align-items:center;gap:7px;
}.iaspc-root .iaspc-disclose > summary::-webkit-details-marker {display:none;}.iaspc-root .iaspc-disclose > summary::before {
  content:"";width:0;height:0;flex:0 0 auto;
  border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;
  transition:transform .15s ease;
}.iaspc-root .iaspc-disclose[open] > summary::before {transform:rotate(90deg);}.iaspc-root .iaspc-disclose > div {padding:0 0 14px;}.iaspc-root .iaspc-disclose > summary:focus-visible {outline:2px solid var(--iaspc-brand);outline-offset:2px;border-radius:4px;}

.iaspc-root /* ---------- Results panel ---------- */
.iaspc-hero {
  background:var(--iaspc-surface);
  border:1px solid var(--iaspc-line);
  border-radius:12px;padding:18px 20px;margin-bottom:16px;
}.iaspc-root .iaspc-hero-label {
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--iaspc-ink-3);margin-bottom:4px;
}.iaspc-root .iaspc-hero-value {
  background:transparent;
  font-size:42px;font-weight:700;letter-spacing:-.025em;line-height:1.05;
  color:var(--iaspc-brand-ink);font-variant-numeric:tabular-nums;
}@media (max-width:520px) {
.iaspc-root .iaspc-hero-value {font-size:34px;}
}
.iaspc-root .iaspc-hero-meta {font-size:13px;color:var(--iaspc-ink-2);margin-top:6px;}.iaspc-root .iaspc-tiles {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;}
@container (max-width:600px){.iaspc-root .iaspc-tiles{grid-template-columns:1fr 1fr;}.iaspc-root .iaspc-tiles > :nth-child(3){grid-column:1/-1;}}
@media (max-width:600px){.iaspc-root .iaspc-tiles{grid-template-columns:1fr 1fr;}.iaspc-root .iaspc-tiles > :nth-child(3){grid-column:1/-1;}}
.iaspc-root .iaspc-tile {
  background:var(--iaspc-surface);border:1px solid var(--iaspc-line);
  border-radius:10px;padding:11px 12px;min-width:0;
}.iaspc-root .iaspc-tile-label {
  font-size:11px;font-weight:600;color:var(--iaspc-ink-3);
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}.iaspc-root .iaspc-tile-value {
  font-size:18px;font-weight:700;color:var(--iaspc-ink);
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;
}.iaspc-root .iaspc-tile-sub {font-size:11.5px;color:var(--iaspc-ink-3);margin-top:1px;font-variant-numeric:tabular-nums;}.iaspc-root /* ---------- Proportion bar ---------- */
.iaspc-viz {margin-bottom:18px;}.iaspc-root .iaspc-viz-title {
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--iaspc-ink-3);margin-bottom:9px;
}.iaspc-root .iaspc-bar {
  display:flex;width:100%;height:26px;border-radius:6px;overflow:hidden;
  background:var(--iaspc-line-2);gap:2px;
}.iaspc-root .iaspc-bar span {
  display:block;height:100%;min-width:0;
  transition:width .28s cubic-bezier(.4,0,.2,1);
}.iaspc-root .iaspc-bar span:first-child {border-radius:6px 0 0 6px;}.iaspc-root .iaspc-bar span:last-child {border-radius:0 6px 6px 0;}.iaspc-root .iaspc-legendlist {
  display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:11px;
}.iaspc-root .iaspc-legendlist li {
  display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--iaspc-ink-2);
  font-variant-numeric:tabular-nums;
}.iaspc-root .iaspc-dot {width:9px;height:9px;border-radius:2.5px;flex:0 0 auto;}.iaspc-root .iaspc-legendlist b {color:var(--iaspc-ink);font-weight:600;}.iaspc-root /* ---------- Breakdown table ---------- */
.iaspc-table {width:100%;border-collapse:collapse;font-size:14px;}.iaspc-root .iaspc-table caption {
  text-align:left;font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--iaspc-ink-3);padding-bottom:9px;
}.iaspc-root .iaspc-table th {
  background:transparent;text-align:right;font-size:11px;font-weight:600;color:var(--iaspc-ink-3);
  text-transform:uppercase;letter-spacing:.05em;
  padding:0 0 7px;border-bottom:1px solid var(--iaspc-line);
}.iaspc-root .iaspc-table th:first-child {text-align:left;}.iaspc-root .iaspc-table td {
  background:transparent;padding:8px 0;border-bottom:1px solid var(--iaspc-line-2);
  text-align:right;font-variant-numeric:tabular-nums;color:var(--iaspc-ink);
}.iaspc-root .iaspc-table td:first-child {text-align:left;color:var(--iaspc-ink-2);}.iaspc-root .iaspc-table .iaspc-pctcol {color:var(--iaspc-ink-3);font-size:13px;width:4.5em;}.iaspc-root .iaspc-table .iaspc-amtcol {width:7.5em;font-weight:500;}.iaspc-root .iaspc-tr-head td {
  font-weight:700;color:var(--iaspc-ink);padding-top:13px;
}.iaspc-root .iaspc-tr-head td:first-child {color:var(--iaspc-ink);}.iaspc-root .iaspc-tr-sub td:first-child {padding-left:16px;font-size:13px;color:var(--iaspc-ink-3);}.iaspc-root .iaspc-tr-sub td {font-size:13px;color:var(--iaspc-ink-2);}.iaspc-root .iaspc-tr-total td {
  font-weight:700;font-size:15.5px;color:var(--iaspc-brand-ink);
  border-bottom:0;border-top:2px solid var(--iaspc-brand-ink);padding-top:11px;
}.iaspc-root .iaspc-tr-total td:first-child {color:var(--iaspc-brand-ink);}.iaspc-root .iaspc-swatch {
  display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:7px;vertical-align:middle;
}.iaspc-root /* ---------- CTA ---------- */
.iaspc-cta {
  margin-top:20px;padding:18px 20px;border-radius:12px;
  background:var(--iaspc-brand-soft);
  border:1px solid rgba(0,149,93,.28);
  display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:space-between;
}.iaspc-root .iaspc-cta-text {min-width:0;flex:1 1 240px;}.iaspc-root .iaspc-cta-text strong {display:block;font-size:15px;color:var(--iaspc-brand-ink);margin-bottom:2px;}.iaspc-root .iaspc-cta-text span {font-size:13px;color:var(--iaspc-ink-2);}.iaspc-root .iaspc-btn {
  display:inline-block;text-decoration:none;white-space:nowrap;
  background:var(--iaspc-brand);color:#fff;font-size:14px;font-weight:600;
  padding:11px 20px;border-radius:8px;border:0;cursor:pointer;
  transition:background .12s ease,transform .08s ease;
}.iaspc-root .iaspc-btn:hover {background:var(--iaspc-brand-dark);color:#fff;}.iaspc-root .iaspc-btn:active {transform:translateY(1px);}.iaspc-root .iaspc-btn:focus-visible {outline:2px solid var(--iaspc-brand-ink);outline-offset:2px;}.iaspc-root .iaspc-btn-ghost {
  background:transparent;color:var(--iaspc-brand-ink);
  border:1px solid var(--iaspc-line);padding:7px 13px;font-size:12.5px;border-radius:7px;
}.iaspc-root .iaspc-btn-ghost:hover {background:var(--iaspc-surface);color:var(--iaspc-brand-ink);}.iaspc-root /* ---------- Footer / notes ---------- */
.iaspc-foot {
  padding:14px 26px 18px;border-top:1px solid var(--iaspc-line);
  background:var(--iaspc-surface);
  font-size:11.5px;line-height:1.55;color:var(--iaspc-ink-3);
}.iaspc-root .iaspc-foot strong {color:var(--iaspc-ink-2);font-weight:600;}.iaspc-root .iaspc-foot p + p {margin-top:6px;}.iaspc-root .iaspc-note {
  font-size:12px;color:var(--iaspc-ink-2);background:var(--iaspc-brand-soft);
  border-radius:8px;padding:9px 11px;margin-top:10px;
  border-left:3px solid var(--iaspc-brand);
}.iaspc-root .iaspc-toolbar {
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  margin-bottom:14px;flex-wrap:wrap;
}
.iaspc-root .iaspc-toolbar .iaspc-seg {width:auto;flex:1 1 auto;min-width:0;}
.iaspc-root .iaspc-toolbar .iaspc-btn-ghost {flex:0 0 auto;}
.iaspc-root .iaspc-toolbar .iaspc-seg button {padding:7px 12px;}.iaspc-root .iaspc-sr {
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}.iaspc-root .iaspc-dedrow {display:grid;grid-template-columns:minmax(0,1fr) 92px 74px;gap:8px;align-items:center;margin-bottom:8px;}@media (max-width:400px) {
.iaspc-root .iaspc-dedrow {grid-template-columns:1fr 84px;}.iaspc-root .iaspc-dedrow .iaspc-label {grid-column:1/-1;}
}
.iaspc-root .iaspc-dedrow .iaspc-label {margin-bottom:0;font-size:13px;font-weight:500;color:var(--iaspc-ink-2);}.iaspc-root .iaspc-dedrow .iaspc-seg {padding:2px;}.iaspc-root .iaspc-dedrow .iaspc-seg button {padding:5px 4px;font-size:11.5px;}.iaspc-root .iaspc-dedrow .iaspc-input {height:36px;font-size:14px;}
