  .tk{
    /* === Income Tax e-Portal palette === */
    --saffron:#FF9933;
    --green:#138808;
    --navy:#0B3B8C;
    --navy-fg:#0B3B8C;
    --navy-dark:#072766;
    --navy-deep:#041A4C;
    --blue:#1F4FB7;
    --blue-soft:#E8EFFB;
    --teal:#0E7C7B;
    --orange:#FF6B00;
    --orange-dark:#D95400;
    --gold:#FFB400;
    /* Semantic */
    --bg:#F4F6FB;
    --bg-2:#FFFFFF;
    --bg-card:#FFFFFF;
    --bg-input:#FFFFFF;
    --surface:#FFFFFF;
    --surface-2:#F8FAFD;
    --line:#D9DEE8;
    --line-soft:#E9ECF3;
    --border:#D9DEE8;
    --fg:#1A2233;
    --fg-dim:#384154;
    --fg-soft:#6B7587;
    --accent:#0B3B8C;
    --accent-2:#FF6B00;
    --danger:#C0392B;
    --ok:#0E8A4F;
    --warn:#D95400;
    --serif:-apple-system,"SF Pro Display","Inter",-apple-system,"SF Pro Text","Inter",system-ui,sans-serif;
    --sans:-apple-system,"SF Pro Text","Inter",-apple-system,"SF Pro Display","Inter",system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;
    --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Monaco,ui-monospace,Consolas,Menlo,monospace;
    --shadow-sm:0 1px 2px rgba(11,59,140,0.06);
    --shadow:0 4px 14px rgba(11,59,140,0.08);
    --shadow-lg:0 12px 36px rgba(11,59,140,0.12);
  }
  .tk *{box-sizing:border-box;margin:0;padding:0}
  .tk{scroll-behavior:smooth}
  .tk{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  .tk{min-height:100vh}
  .tk a{color:var(--navy-fg);text-decoration:none;transition:color .15s}
  .tk a:hover{color:var(--orange)}
  .tk button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
  .tk input,.tk select,.tk textarea{font-family:inherit;font-size:14px}
  .tk h1,.tk h2,.tk h3,.tk h4,.tk h5{color:var(--fg);font-weight:700;letter-spacing:-0.01em}

  /* Legacy decorative layers — neutralised under e-Portal theme */
  .tk .mesh-bg,.tk .grid-lines,.tk .noise{display:none !important}
  .tk #app{position:relative;z-index:1}
  .tk .container{max-width:1280px;margin:0 auto;padding:0 24px}

  /* ===== TRICOLOR + UTILITY BAR + HEADER ===== */
  .tk .tricolor{height:5px;display:flex;width:100%}
  .tk .tricolor span{flex:1}
  .tk .tricolor span:nth-child(1){background:var(--saffron)}
  .tk .tricolor span:nth-child(2){background:#fff;position:relative}
  .tk .tricolor span:nth-child(2)::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;border:1.3px solid var(--navy);transform:translate(-50%,-50%)}
  .tk .tricolor span:nth-child(3){background:var(--green)}
  .tk .utility-bar{background:#fff;border-bottom:1px solid var(--line);font-size:12px;color:var(--fg-dim)}
  .tk .utility-inner{display:flex;align-items:center;justify-content:space-between;height:32px;gap:14px;flex-wrap:wrap;max-width:1280px;margin:0 auto;padding:0 24px}
  .tk .utility-inner .left{font-weight:600}
  .tk .utility-inner .right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .tk .utility-inner .right a{color:var(--fg-dim);font-weight:500}
  .tk .utility-inner .sep{color:var(--line)}

  .tk nav.topbar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}
  .tk .nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;max-width:1280px;margin:0 auto;gap:18px}
  .tk .logo{display:flex;align-items:center;gap:12px;text-decoration:none}
  .tk .logo-mark{width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center;color:transparent;font-weight:900;font-size:20px;box-shadow:var(--shadow-sm);border:1px solid var(--line);position:relative;flex-shrink:0;overflow:hidden}
  .tk .logo-mark::before{content:none}
  /* Legacy inner bits hidden — logo now rendered as SVG background */
  .tk .logo-mark svg.ring,.tk .logo-mark .ar-letters,.tk .logo-mark .ar-dot{display:none}
  .tk .logo-mark::after{content:none}
  .tk .logo .wordmark{display:flex;flex-direction:column;line-height:1.15}
  .tk .logo .wordmark .brand-ar{font-family:var(--sans);font-weight:900;font-size:20px;color:var(--navy-fg);letter-spacing:-0.01em}
  .tk .logo .wordmark .tag{display:block;font-family:var(--sans);font-size:11px;color:var(--fg-soft);font-weight:600;letter-spacing:0.04em;margin-top:3px;text-transform:none}
  .tk .nav-links{display:flex;gap:6px;font-size:14px}
  .tk .nav-links a{padding:8px 14px;border-radius:6px;color:var(--fg-dim);font-weight:600;transition:all .15s}
  .tk .nav-links a:hover{background:var(--blue-soft);color:var(--navy-fg)}
  .tk .nav-links a.active{background:var(--navy);color:#fff}
  .tk .nav-cta{display:flex;align-items:center;gap:10px}

  /* ===== BUTTONS ===== */
  .tk .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:6px;font-size:13px;font-weight:700;letter-spacing:0.01em;transition:all .15s;border:1px solid transparent;white-space:nowrap;text-decoration:none}
  .tk .btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
  .tk .btn-primary{background:var(--orange);color:#fff}
  .tk .btn-primary:hover{background:var(--orange-dark);color:#fff}
  .tk .btn-ghost{background:#fff;color:var(--navy);border-color:var(--navy)}
  .tk .btn-ghost:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

  /* ===== HERO ===== */
  .tk .tools-hero{padding:48px 0 24px;text-align:center;background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 60%,var(--blue) 100%);color:#fff;margin-bottom:0;position:relative;overflow:hidden}
  .tk .tools-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(255,180,0,0.15),transparent 50%);pointer-events:none}
  .tk .tools-hero > *{position:relative;z-index:1}
  .tk .kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-weight:700;background:rgba(255,255,255,0.1);padding:6px 16px;border-radius:100px;border:1px solid rgba(255,255,255,0.18)}
  .tk .kicker::before,.tk .kicker::after{content:"";width:20px;height:1px;background:var(--gold);display:none}
  .tk .tools-hero h1{font-family:var(--sans);font-size:clamp(28px,4vw,46px);line-height:1.15;letter-spacing:-0.02em;color:#fff;font-weight:900;max-width:880px;margin:0 auto}
  .tk .tools-hero h1 em{color:var(--gold);font-style:normal}
  .tk .tools-hero .sub{font-size:15px;color:rgba(255,255,255,0.85);max-width:740px;margin:16px auto 0;line-height:1.6}

  /* Category tabs — pill row */
  .tk .cats{display:flex;gap:6px;justify-content:center;margin:32px auto 16px;flex-wrap:wrap;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff;width:fit-content;max-width:100%;min-width:0;box-shadow:var(--shadow-sm)}
  .tk .cats button{padding:9px 16px;border-radius:6px;font-size:12px;color:var(--fg-dim);font-weight:700;display:inline-flex;align-items:center;gap:8px;transition:all .15s;white-space:nowrap;letter-spacing:0.02em;text-transform:uppercase}
  .tk .cats button:hover{color:var(--navy-fg);background:var(--blue-soft)}
  .tk .cats button.active{background:var(--navy);color:#fff}

  /* Tool tabs (chip strip) — secondary navigation under each category */
  .tk .tabs{display:flex;gap:6px;justify-content:flex-start;margin:0 0 28px;flex-wrap:wrap;padding:0;min-width:0}
  .tk .tab{padding:8px 14px;border-radius:6px;font-size:12.5px;color:var(--fg-dim);font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all .15s;border:1px solid var(--line);background:#fff;text-transform:none;letter-spacing:0}
  .tk .tab:hover{color:var(--navy-fg);border-color:var(--navy);background:var(--blue-soft)}
  .tk .tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
  .tk .tab.active:hover{background:var(--navy-dark);color:#fff}
  .tk .tab .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:0.5}
  .tk .tab.active .dot{background:var(--gold);opacity:1}

  /* Panel card */
  .tk .panel{border:1px solid var(--line);border-radius:10px;background:#fff;padding:28px;margin-bottom:36px;position:relative;box-shadow:var(--shadow-sm)}
  .tk .panel::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--navy),var(--blue),var(--teal));border-radius:10px 10px 0 0}
  .tk .panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line-soft)}
  .tk .panel-head h2{font-family:var(--sans);font-size:clamp(22px,2.4vw,30px);line-height:1.2;letter-spacing:-0.01em;font-weight:900;color:var(--fg);max-width:680px}
  .tk .panel-head h2 em{color:var(--orange);font-style:normal}
  .tk .panel-meta{font-family:var(--sans);font-size:11px;color:var(--fg-soft);letter-spacing:0.06em;text-transform:uppercase;text-align:right;font-weight:600;line-height:1.5}
  /* ===== TAX-YEAR SELECTOR ===== */
  .tk .panel-head-right{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;justify-content:flex-end}
  .tk .year-select{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
  .tk .year-select label{font-family:var(--sans);font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-soft);font-weight:700;white-space:nowrap}
  .tk .year-select select{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--fg);background:var(--bg-input);border:1px solid var(--line);border-radius:4px;padding:7px 10px;cursor:pointer;transition:all .15s}
  .tk .year-select select:hover{border-color:var(--navy)}
  .tk .year-select select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(11,59,140,0.12)}
  .tk .year-act{font-family:var(--mono);font-size:9px;letter-spacing:0.06em;color:var(--fg-soft);text-transform:uppercase;white-space:nowrap}

  .tk .grid-2{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;position:relative}
  .tk .form-group{display:flex;flex-direction:column;gap:18px}
  .tk .field label{font-family:var(--sans);font-size:12px;letter-spacing:0.02em;text-transform:none;color:var(--fg);display:block;margin-bottom:6px;font-weight:700}
  .tk .field .hint{font-family:var(--sans);font-size:11.5px;color:var(--fg-soft);margin-top:6px;line-height:1.5}
  .tk .field input,.tk .field select,.tk .field textarea{width:100%;background:#fff;border:1px solid var(--line);color:var(--fg);padding:10px 12px;border-radius:4px;font-size:14px;font-family:var(--sans);transition:all .15s}
  .tk .field input:focus,.tk .field select:focus,.tk .field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(11,59,140,0.12)}
  .tk .field input::placeholder,.tk .field textarea::placeholder{color:var(--fg-soft)}
  .tk .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .tk .field-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
  .tk .seg-control{display:inline-flex;padding:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;gap:2px}
  .tk .seg-control button{padding:7px 14px;border-radius:4px;font-size:12px;font-family:var(--sans);color:var(--fg-dim);letter-spacing:0;text-transform:none;font-weight:600;transition:all .15s}
  .tk .seg-control button:hover{color:var(--navy-fg)}
  .tk .seg-control button.active{background:var(--navy);color:#fff}

  .tk .range-row{display:flex;align-items:center;gap:14px}
  .tk .range-row input[type="range"]{flex:1;-webkit-appearance:none;background:transparent;height:22px}
  .tk .range-row input[type="range"]::-webkit-slider-runnable-track{height:5px;background:linear-gradient(to right,var(--navy),var(--blue) var(--p,50%),var(--line) var(--p,50%));border-radius:3px}
  .tk .range-row input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--orange);border:2px solid #fff;border-radius:50%;margin-top:-7px;box-shadow:var(--shadow)}
  .tk .range-row input[type="range"]::-moz-range-track{height:5px;background:var(--line);border-radius:3px}
  .tk .range-row input[type="range"]::-moz-range-thumb{width:18px;height:18px;background:var(--orange);border:2px solid #fff;border-radius:50%;box-shadow:var(--shadow)}
  .tk .range-val{font-family:var(--sans);font-size:13px;color:var(--navy-fg);font-weight:700;min-width:100px;text-align:right}

  /* Result card — branded navy gradient with gold accent */
  .tk .result{background:linear-gradient(135deg,var(--navy-deep),var(--navy));border:1px solid var(--navy);border-radius:10px;padding:24px;position:relative;overflow:hidden;color:#fff;box-shadow:var(--shadow)}
  .tk .result::before{content:"";position:absolute;top:-30%;right:-15%;width:55%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,180,0,0.25),transparent 70%);pointer-events:none}
  .tk .result .label{font-family:var(--sans);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,180,0,0.95);font-weight:700}
  .tk .result .big{font-family:var(--sans);font-size:clamp(32px,4vw,52px);line-height:1.05;margin:8px 0 4px;letter-spacing:-0.02em;position:relative;z-index:1;color:#fff;font-weight:900}
  .tk .result .big .cur{font-family:var(--sans);font-size:0.42em;color:var(--gold);vertical-align:top;margin-right:6px;font-weight:700;line-height:1.4}
  .tk .result .sub{font-family:var(--sans);font-size:13px;color:rgba(255,255,255,0.8);letter-spacing:0;position:relative;z-index:1}

  .tk .breakdown{margin-top:20px;border-top:1px solid rgba(255,255,255,0.15);padding-top:16px;position:relative;z-index:1}
  .tk .bd-row{display:flex;justify-content:space-between;padding:8px 0;font-size:13px;border-bottom:1px dashed rgba(255,255,255,0.1);gap:12px}
  .tk .bd-row:last-child{border:none}
  .tk .bd-row .k{color:rgba(255,255,255,0.75)}
  .tk .bd-row .v{font-family:var(--sans);color:#fff;text-align:right;font-weight:600}
  .tk .bd-row.total{padding-top:12px;margin-top:6px;border-top:1px solid rgba(255,255,255,0.25);border-bottom:none}
  .tk .bd-row.total .k{font-family:var(--sans);font-size:15px;color:#fff;font-weight:700}
  .tk .bd-row.total .v{font-family:var(--sans);font-size:18px;color:var(--gold);font-weight:900}

  .tk .slabs{margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,0.15);position:relative;z-index:1}
  .tk .slab-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,0.1);font-size:13px}
  .tk .slab-row:last-child{border:none}
  .tk .slab-row .range{color:rgba(255,255,255,0.75);font-size:12.5px}
  .tk .slab-row .rate{font-family:var(--sans);font-size:12.5px;color:var(--gold);font-weight:700}
  .tk .slab-row .bar{grid-column:1/3;height:5px;background:rgba(255,255,255,0.12);border-radius:3px;overflow:hidden;position:relative;margin-top:4px}
  .tk .slab-row .bar .fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--orange));border-radius:3px;transition:width .5s ease}

  /* Comparison cards (regime, presumptive vs normal, etc.) */
  .tk .compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
  .tk .compare .cbox{padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
  .tk .compare .cbox.win{border-color:var(--orange);background:#FFF7EE;box-shadow:0 0 0 1px var(--orange) inset,var(--shadow)}
  .tk .compare .cbox .ck{font-size:11px;letter-spacing:0.06em;color:var(--fg-soft);text-transform:uppercase;font-weight:700}
  .tk .compare .cbox .cv{font-family:var(--sans);font-size:26px;margin-top:6px;font-weight:900;color:var(--navy-fg)}
  .tk .compare .cbox.win .cv{color:var(--orange)}
  .tk .compare .cbox .ch{font-size:12px;margin-top:4px;color:var(--fg-dim)}
  .tk .compare .win .ch{color:var(--ok);font-weight:700}

  /* Verdict callout box */
  .tk .verdict{margin-top:14px;padding:14px 16px;border-radius:6px;background:var(--blue-soft);border:1px solid var(--navy);border-left:4px solid var(--navy);font-size:13.5px;display:flex;gap:12px;align-items:flex-start;line-height:1.55;color:var(--fg)}
  .tk .verdict .ic{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:900;font-size:13px}
  .tk .verdict.warn{background:#FCE7E5;border-color:var(--danger);border-left-color:var(--danger);color:#7B1F1A}
  .tk .verdict.warn .ic{background:var(--danger)}
  .tk .verdict.ok{background:#E5F5EC;border-color:var(--ok);border-left-color:var(--ok);color:#0B5C36}
  .tk .verdict.ok .ic{background:var(--ok)}

  /* Compliance calendar */
  .tk .cal-grid{display:grid;grid-template-columns:240px 1fr;gap:24px}
  .tk .cal-sidebar{border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--surface-2);height:fit-content}
  .tk .cal-sidebar h5{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--fg-soft);margin-bottom:12px;font-weight:700}
  .tk .filter-list{display:flex;flex-direction:column;gap:3px;margin-bottom:20px}
  .tk .filter-list button{text-align:left;padding:9px 12px;border-radius:6px;font-size:13px;color:var(--fg-dim);display:flex;justify-content:space-between;align-items:center;transition:all .15s;font-weight:600}
  .tk .filter-list button:hover{background:var(--blue-soft);color:var(--navy-fg)}
  .tk .filter-list button.active{background:var(--navy);color:#fff}
  .tk .filter-list button .n{font-size:11px;opacity:0.85;font-weight:700}

  .tk .cal-month{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .tk .cal-card{border:1px solid var(--line);border-radius:8px;padding:16px;background:#fff;position:relative;overflow:hidden;transition:all .2s;cursor:pointer;border-top:3px solid var(--navy)}
  .tk .cal-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
  .tk .cal-card.urgent{border-color:var(--danger);border-top-color:var(--danger);background:#FFF6F5}
  .tk .cal-card.upcoming{border-top-color:var(--orange)}
  .tk .cal-card .date{font-family:var(--sans);font-size:28px;line-height:1;margin-bottom:4px;letter-spacing:-0.02em;font-weight:900;color:var(--navy-fg)}
  .tk .cal-card .date .mo{font-family:var(--sans);font-size:11px;color:var(--fg-soft);text-transform:uppercase;letter-spacing:0.08em;display:block;margin-bottom:2px;font-weight:700}
  .tk .cal-card .title{font-size:14px;font-weight:700;margin-top:10px;line-height:1.35;color:var(--fg)}
  .tk .cal-card .desc{font-size:12.5px;color:var(--fg-dim);margin-top:4px;line-height:1.5}
  .tk .cal-card .tags{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}
  .tk .cal-card .tag{font-size:10px;letter-spacing:0.06em;text-transform:uppercase;padding:3px 8px;border-radius:3px;border:1px solid var(--line);color:var(--fg-soft);font-weight:700;background:var(--surface-2)}
  .tk .cal-card .tag.urgent{border-color:var(--danger);color:var(--danger);background:#FCE7E5}
  .tk .cal-card .tag.gst{border-color:var(--teal);color:var(--teal);background:#E0F2F1}
  .tk .cal-card .tag.tds{border-color:var(--orange);color:var(--orange-dark);background:#FFF1E0}
  .tk .cal-card .tag.it{border-color:#7B1FA2;color:#7B1FA2;background:#F3E5F5}
  .tk .cal-card .tag.roc{border-color:var(--ok);color:var(--ok);background:#E5F5EC}
  .tk .cal-card .days{position:absolute;top:14px;right:14px;font-size:10.5px;letter-spacing:0.04em;color:var(--fg-soft);padding:3px 8px;border-radius:100px;background:var(--surface-2);border:1px solid var(--line);font-weight:700}
  .tk .cal-card.urgent .days{color:#fff;background:var(--danger);border-color:var(--danger)}

  .tk .subscribe{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:grid;grid-template-columns:1.4fr 1fr auto;gap:14px;align-items:end}
  .tk .subscribe h3{font-family:var(--sans);font-size:20px;grid-column:1/-1;margin-bottom:-6px;color:#fff;font-weight:900}
  .tk .subscribe .sub-d{grid-column:1/-1;color:rgba(255,255,255,0.85);font-size:13px;margin-bottom:6px}
  .tk .subscribe .field input{background:#fff;color:var(--fg)}
  .tk .subscribe .field label{color:rgba(255,255,255,0.85)}

  .tk .quick-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}
  .tk .quick{padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;align-items:center;gap:12px;transition:all .2s}
  .tk .quick:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--navy)}
  .tk .quick .qi{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;background:var(--blue-soft);color:var(--navy-fg);flex-shrink:0}
  .tk .quick .qk{font-size:11px;letter-spacing:0.06em;color:var(--fg-soft);text-transform:uppercase;font-weight:700}
  .tk .quick .qv{font-family:var(--sans);font-size:18px;margin-top:2px;font-weight:900;color:var(--fg)}

  /* Mini sub-tabs inside a tool */
  .tk .subtabs{display:inline-flex;gap:3px;padding:3px;border-radius:6px;border:1px solid var(--line);background:var(--surface-2);margin-bottom:20px;flex-wrap:wrap}
  .tk .subtabs button{padding:7px 14px;font-size:12px;font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--fg-dim);border-radius:4px;font-weight:600}
  .tk .subtabs button:hover{color:var(--navy-fg)}
  .tk .subtabs button.active{background:var(--navy);color:#fff}

  /* Generic table */
  .tk .tbl{width:100%;border-collapse:collapse;font-size:13px;margin-top:14px}
  .tk .tbl th{text-align:left;font-size:11px;letter-spacing:0.04em;text-transform:uppercase;color:var(--fg-soft);padding:10px 8px;border-bottom:2px solid var(--navy);font-weight:700;background:var(--surface-2)}
  .tk .tbl td{padding:10px 8px;border-bottom:1px solid var(--line-soft);font-size:13px}
  .tk .tbl tr:last-child td{border-bottom:none}
  .tk .tbl tr:hover td{background:var(--surface-2)}
  .tk .tbl td.r,.tk .tbl th.r{text-align:right}
  .tk .tbl-wrap{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}

  .tk .li-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft)}
  .tk .li-row input{padding:8px 10px;font-size:13px;border-radius:4px;background:#fff;border:1px solid var(--line);color:var(--fg)}
  .tk .li-row .x{background:#FCE7E5;color:var(--danger);width:28px;height:28px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;border:1px solid var(--danger)}

  /* Print receipt / invoice */
  .tk .print-doc{background:#fff;color:#111;padding:32px;border-radius:8px;font-family:Georgia,serif;margin-top:18px;border:1px solid #ccc;box-shadow:var(--shadow-sm)}
  .tk .print-doc h1,.tk .print-doc h2,.tk .print-doc h3{color:#111}
  .tk .print-doc .doc-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #111;padding-bottom:14px;margin-bottom:14px}
  .tk .print-doc table{width:100%;border-collapse:collapse;margin-top:14px;font-size:13px}
  .tk .print-doc th,.tk .print-doc td{padding:8px;border:1px solid #ccc;text-align:left}
  .tk .print-doc th{background:#f3f3f3}
  .tk .receipt{background:#fff;color:#111;border:1px solid #999;padding:20px;border-radius:6px;margin-bottom:14px;font-family:Georgia,serif}
  .tk .receipt h4{color:#111;margin-bottom:8px;border-bottom:1px solid #999;padding-bottom:6px}
  .tk .receipt p{font-size:13px;margin:4px 0;line-height:1.55;color:#111}
  .tk .stamp-box{float:right;width:80px;height:80px;border:1px dashed #999;display:flex;align-items:center;justify-content:center;font-size:9px;color:#999;text-align:center;padding:8px;font-family:sans-serif}

  /* Validator status */
  .tk .validator-status{display:flex;align-items:center;gap:14px;padding:18px 22px;border-radius:8px;margin-top:14px;font-size:14px;border:1px solid;font-weight:600}
  .tk .validator-status.ok{background:#E5F5EC;border-color:var(--ok);color:var(--ok)}
  .tk .validator-status.bad{background:#FCE7E5;border-color:var(--danger);color:var(--danger)}
  .tk .validator-status .vbig{font-size:22px;font-weight:900}

  /* HSN search results — rows of code · desc · GST */
  .tk .hsn-result{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:6px;margin-bottom:8px;background:#fff;transition:all .15s}
  .tk .hsn-result:hover{border-color:var(--navy);box-shadow:var(--shadow-sm)}
  .tk .hsn-result .code{font-family:var(--sans);font-size:14px;color:var(--navy-fg);font-weight:700}
  .tk .hsn-result .desc{font-size:13px;color:var(--fg-dim)}
  .tk .hsn-result .gst{font-family:var(--sans);font-size:12px;padding:4px 10px;border-radius:3px;background:var(--blue-soft);color:var(--navy-fg);font-weight:700}

  /* Footer */
  .tk footer{padding:36px 0;border-top:1px solid var(--line);margin-top:48px;background:var(--navy-deep);color:rgba(255,255,255,0.8)}
  .tk .foot-inner{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:0.02em;color:rgba(255,255,255,0.7);flex-wrap:wrap;gap:14px;max-width:1280px;margin:0 auto;padding:0 24px;font-weight:500}

  /* ===== PRINT / PDF EXPORT ===== */
  @page { size: A4; margin: 14mm 12mm 18mm 12mm; }
  .tk .print-header{display:none}
  .tk .print-footer{display:none}
  @media print{
    /* Hide all chrome */
    .tk .topbar,.tk .tools-hero,.tk .cats,.tk .tabs,.tk footer,.tk .utility-bar,.tk .tricolor,.tk .fa-badge,.tk .quick-action-bar,.tk .team-grid,.tk #principal,.tk .export-bar,.tk #sr-announce{display:none !important}
    /* Pure white canvas */
    .tk{background:#fff !important;color:#000 !important;font-family:Georgia,"Times New Roman",serif !important}
    .tk .mesh-bg,.tk .grid-lines,.tk .noise{display:none !important}
    .tk .container{max-width:none !important;padding:0 !important}
    .tk main{padding:0 !important}
    /* Panel reset */
    .tk .panel{border:none !important;padding:0 !important;background:#fff !important;box-shadow:none !important;margin:0 !important}
    .tk .panel::before{display:none !important}
    /* Print header — branded page header */
    .tk .print-header{display:block !important;border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:14px;display:flex !important;justify-content:space-between;align-items:flex-end}
    .tk .print-header h1{font-family:Georgia,serif !important;font-size:22px !important;color:#000 !important;margin:0 !important;letter-spacing:-0.01em}
    .tk .print-header .ph-meta{text-align:right;font-size:10.5px;color:#000;line-height:1.5}
    .tk .print-header .ph-meta strong{font-size:12px}
    /* Reveal panel-head as page subtitle */
    .tk .panel-head{display:block !important;background:none !important;border:none !important;padding:0 0 10px !important;margin-bottom:10px !important;border-bottom:1px solid #999 !important}
    .tk .panel-head h2{font-family:Georgia,serif !important;font-size:18px !important;color:#000 !important;margin:0 !important;font-weight:700;letter-spacing:0}
    .tk .panel-head h2 em{font-style:italic;color:#000 !important}
    .tk .panel-head .panel-meta{display:none !important}
    .tk .panel-head .year-select{display:block !important;text-align:left !important}
    .tk .panel-head .year-select label{font-family:Georgia,serif !important;font-size:10px !important;color:#000 !important}
    .tk .panel-head .year-select select{font-family:Georgia,serif !important;font-size:11px !important;color:#000 !important;background:none !important;border:none !important;padding:0 !important;font-weight:700 !important;-webkit-appearance:none;appearance:none}
    .tk .panel-head p{font-size:11px;color:#000;margin:4px 0 0;line-height:1.5}
    /* Form inputs as plain text */
    .tk .form-group{display:block !important;border:1px solid #000;padding:10px 12px;margin-bottom:12px;page-break-inside:avoid}
    .tk .form-group::before{content:"Inputs";display:block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px;color:#000}
    .tk .field{margin-bottom:5px !important;display:grid !important;grid-template-columns:1fr auto;gap:8px;align-items:baseline;border-bottom:1px dotted #999;padding-bottom:3px}
    .tk .field label{font-size:10.5px !important;font-family:Georgia,serif !important;color:#000 !important;text-transform:none !important;letter-spacing:0 !important;margin:0 !important;padding:0 !important}
    .tk .field input,.tk .field select,.tk .field textarea{font-size:11px !important;font-family:Georgia,serif !important;color:#000 !important;background:none !important;border:none !important;padding:0 !important;text-align:right !important;font-weight:600 !important;-webkit-appearance:none;width:auto !important}
    .tk .field input::placeholder{color:#666 !important}
    .tk .field .hint{display:none !important}
    .tk .seg-control{display:inline-flex;border:1px solid #000;border-radius:0;padding:0}
    .tk .seg-control button{font-size:9.5px !important;padding:2px 6px !important;background:none !important;color:#000 !important;border:0 !important;font-family:Georgia,serif !important;text-transform:none !important;letter-spacing:0 !important}
    .tk .seg-control button.active{background:#000 !important;color:#fff !important}
    .tk .range-row{padding:2px 0}
    .tk .range-row input[type=range]{display:none !important}
    .tk .range-val{font-family:Georgia,serif !important;font-size:11px !important;color:#000 !important}
    /* Result + breakdown — the key deliverable */
    .tk .result{background:#fff !important;color:#000 !important;border:2px solid #000 !important;padding:14px 18px !important;border-radius:0 !important;page-break-inside:avoid}
    .tk .result::before{display:none !important}
    .tk .result *{color:#000 !important;font-family:Georgia,serif !important}
    .tk .result .label{font-size:9.5px !important;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}
    .tk .result .big{font-size:36px !important;font-family:Georgia,serif !important;font-weight:700 !important;margin:6px 0 4px;color:#000 !important}
    .tk .result .big .cur{font-size:18px !important;color:#000 !important;font-weight:600 !important}
    .tk .result .sub{font-size:11px !important;color:#000 !important;font-style:italic}
    .tk .breakdown{margin-top:10px !important;border-top:1px solid #000 !important;padding-top:8px !important}
    .tk .bd-row{font-size:11px !important;padding:4px 0 !important;border-bottom:1px dotted #999 !important;color:#000 !important;display:flex;justify-content:space-between}
    .tk .bd-row .k{font-size:11px !important;color:#000 !important;font-family:Georgia,serif !important}
    .tk .bd-row .v{font-size:11px !important;color:#000 !important;font-weight:600;text-align:right}
    .tk .bd-row.total{border-top:1px solid #000 !important;padding-top:8px !important;margin-top:4px !important}
    .tk .bd-row.total .k{font-size:13px !important;font-weight:700 !important}
    .tk .bd-row.total .v{font-size:14px !important;font-weight:700 !important}
    /* Verdicts as boxed callouts */
    .tk .verdict{display:flex !important;border:1px solid #000 !important;padding:8px 12px !important;margin:8px 0 !important;font-size:10.5px !important;background:#fff !important;page-break-inside:avoid}
    .tk .verdict .ic{background:#000 !important;color:#fff !important;width:18px !important;height:18px !important;border-radius:50% !important;font-size:10px !important;margin-right:8px}
    .tk .verdict.warn{border-color:#000 !important;border-left:3px solid #000 !important}
    /* Tables */
    .tk table:not(.rpt-t):not(.rpt-dt),.tk .tbl{border:1px solid #000 !important;font-size:10.5px !important;page-break-inside:avoid;width:100%;margin:8px 0}
    .tk table:not(.rpt-t):not(.rpt-dt) th,.tk .tbl th{background:#000 !important;color:#fff !important;padding:4px 6px !important;font-family:Georgia,serif !important;font-size:10px !important;letter-spacing:0 !important;text-transform:none !important}
    .tk table:not(.rpt-t):not(.rpt-dt) td,.tk .tbl td{padding:4px 6px !important;border-bottom:1px solid #ccc !important;font-family:Georgia,serif !important;color:#000 !important}
    /* Calendar cards */
    .tk .cal-card,.tk .compliance-tile,.tk .li-row,.tk .quick{border:1px solid #000 !important;background:#fff !important;color:#000 !important;page-break-inside:avoid;margin-bottom:6px}
    .tk .cal-card *{color:#000 !important}
    /* Comparison cards */
    .tk .compare{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important}
    .tk .compare .cbox{border:1px solid #000 !important;background:#fff !important;padding:10px !important;page-break-inside:avoid}
    .tk .compare .cbox *{color:#000 !important;font-family:Georgia,serif !important}
    .tk .compare .cbox.win{border-width:2px !important}
    /* Print footer — branded page footer */
    .tk .print-footer{display:block !important;position:running(footer);border-top:1px solid #000;padding-top:6px;margin-top:14px;font-size:9.5px;color:#000;display:flex !important;justify-content:space-between;font-family:Georgia,serif}
    /* Print receipts / invoices preserved */
    .tk .print-doc,.tk .receipt{page-break-inside:avoid;box-shadow:none !important;border:1px solid #000 !important}
    /* Prevent page breaks inside critical blocks */
    .tk .panel,.tk .result,.tk .compare,.tk .bd-row.total,.tk .verdict,.tk table,.tk .tbl{page-break-inside:avoid}
    .tk h2,.tk h3{page-break-after:avoid}
    /* Disclaimer at bottom */
    .tk::after{content:"Computed on casaabdulrahim.in · General information only · Not professional advice.";display:block;font-size:9.5px;color:#000;font-style:italic;text-align:center;margin-top:14px;padding-top:8px;border-top:1px solid #000}
  }

  /* ================= BRANDED PDF REPORT =================
     Built on demand into a standalone document rather than restyling the live
     UI, so the PDF contains only the computation — no sliders, no nav, no
     blank leading page. Chrome prints with "Background graphics" OFF by
     default, so colour is carried by borders, text and inline SVG (all of
     which print) and never by background fills. */
  #finclar-report{display:none}
  @media print{
    body.printing-report{background:#fff !important}
    body.printing-report > *:not(#finclar-report){display:none !important}
    body.printing-report::after{content:none !important}
    body.printing-report #finclar-report{display:block !important}
    @page{size:A4;margin:14mm 14mm 20mm}
  }
  #finclar-report{
    font-family:"IBM Plex Sans",system-ui,Arial,sans-serif;color:#10213F;font-size:10pt;line-height:1.5;
    -webkit-print-color-adjust:exact;print-color-adjust:exact;position:relative;padding-left:9mm;
  }
  /* ledger-paper margin rule, as on the homepage */
  #finclar-report::before{content:"";position:fixed;top:0;bottom:0;left:3.5mm;width:0;border-left:0.6pt solid #E8B9A5}
  #finclar-report *{box-sizing:border-box}
  #finclar-report .rpt-head{display:flex;align-items:center;gap:10pt;padding-bottom:7pt;
    border-bottom:1.6pt solid #10213F;box-shadow:0 2.4pt 0 -1.6pt #fff,0 2.8pt 0 -1.2pt #1B6E7E;margin-bottom:9pt}
  #finclar-report .rpt-mark{width:34pt;height:34pt;flex:0 0 34pt}
  #finclar-report .rpt-brand{flex:1 1 auto}
  #finclar-report .rpt-brand .nm{font-family:Fraunces,Georgia,serif;font-size:22pt;font-weight:600;color:#10213F;letter-spacing:-0.02em;line-height:1}
  #finclar-report .rpt-brand .nm span{color:#1B6E7E}
  #finclar-report .rpt-brand .tl{font-family:"IBM Plex Mono",Consolas,monospace;font-size:7pt;letter-spacing:0.14em;text-transform:uppercase;color:#1B6E7E;margin-top:4pt}
  #finclar-report .rpt-issue{text-align:right;font-family:"IBM Plex Mono",Consolas,monospace;font-size:7.5pt;line-height:1.7;color:#3A4458;white-space:nowrap}
  #finclar-report .rpt-issue b{color:#1B6E7E;letter-spacing:0.1em;text-transform:uppercase;font-weight:500;font-size:6.8pt;margin-right:3pt}
  #finclar-report .rpt-title{font-family:Fraunces,Georgia,serif;font-size:23pt;font-weight:400;letter-spacing:-0.02em;line-height:1.1;margin:4pt 0 3pt;color:#10213F}
  #finclar-report .rpt-sub{font-family:Fraunces,Georgia,serif;font-size:10.5pt;color:#1B6E7E;font-style:italic;margin-bottom:10pt}
  #finclar-report .rpt-basis{display:flex;border:0.75pt solid #D9D2C3;border-radius:6pt;margin-bottom:12pt;overflow:hidden;background:#FBF9F4}
  #finclar-report .rpt-basis > div{flex:1 1 33%;padding:6pt 9pt;border-right:0.75pt solid #D9D2C3}
  #finclar-report .rpt-basis > div:last-child{border-right:0}
  #finclar-report .rpt-basis .bk{font-family:"IBM Plex Mono",Consolas,monospace;font-size:6.5pt;letter-spacing:0.14em;text-transform:uppercase;color:#5A6375}
  #finclar-report .rpt-basis .bv{font-size:9.5pt;font-weight:600;color:#10213F;margin-top:2pt}
  #finclar-report h3.rpt-sec{font-family:"IBM Plex Mono",Consolas,monospace;font-size:7.5pt;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:#1B6E7E;
    margin:10pt 0 4pt;padding-bottom:3pt;border-bottom:0.75pt solid #10213F;page-break-after:avoid}
  #finclar-report table.rpt-t{width:100%;border-collapse:collapse;margin-bottom:4pt}
  #finclar-report table.rpt-t td{padding:2.4pt 0;border-bottom:0.5pt solid #ECE6D8;vertical-align:top;font-size:9.8pt}
  #finclar-report table.rpt-t td.v{text-align:right;white-space:nowrap;padding-left:12pt;font-family:"IBM Plex Mono",Consolas,monospace;font-weight:500;font-variant-numeric:tabular-nums}
  /* accountant's double underline under totals */
  #finclar-report table.rpt-t tr.tot td{border-top:0.9pt solid #10213F;border-bottom:2.6pt double #10213F;
    font-weight:600;padding-top:5pt;padding-bottom:4pt;font-size:10.5pt}
  #finclar-report table.rpt-dt{width:100%;border-collapse:collapse;margin-bottom:5pt;font-size:8.5pt}
  #finclar-report table.rpt-dt th{text-align:left;padding:4pt 5pt;background:#10213F;color:#F6F3EC;font-family:"IBM Plex Mono",Consolas,monospace;
    font-weight:500;font-size:7pt;letter-spacing:0.08em;text-transform:uppercase}
  #finclar-report table.rpt-dt td{padding:3pt 5pt;border-bottom:0.5pt solid #ECE6D8;vertical-align:top}
  #finclar-report table.rpt-dt tr:nth-child(even) td{background:#FBF9F4}
  #finclar-report table.rpt-dt tr{page-break-inside:avoid}
  #finclar-report .rpt-trunc{font-size:7.5pt;color:#5A6375;font-style:italic;margin-bottom:6pt}
  #finclar-report .rpt-key{background:#10213F;color:#F6F3EC;border-radius:8pt;padding:9pt 14pt 10pt;margin:2pt 0 8pt;page-break-inside:avoid;
    background-image:repeating-linear-gradient(180deg,transparent 0 17pt,rgba(255,255,255,0.05) 17pt 17.6pt)}
  #finclar-report .rpt-key .kl{font-family:"IBM Plex Mono",Consolas,monospace;font-size:7pt;letter-spacing:0.14em;text-transform:uppercase;color:#8FCAD6}
  #finclar-report .rpt-key .kv{font-family:Fraunces,Georgia,serif;font-size:28pt;font-weight:400;letter-spacing:-0.02em;color:#FFFFFF;line-height:1.1;margin:3pt 0 2pt}
  #finclar-report .rpt-key .ks{font-size:8.5pt;color:#C3CCDC}
  #finclar-report .rpt-note{border-left:2pt solid #1B6E7E;padding:2pt 0 2pt 8pt;margin:4pt 0;font-size:8.8pt;color:#3A4458;page-break-inside:avoid}
  #finclar-report .rpt-note.warn{border-left-color:#B45309;color:#5C3406}
  #finclar-report .rpt-cmp{display:flex;gap:8pt;margin-bottom:6pt}
  #finclar-report .rpt-cmp > div{flex:1;border:0.75pt solid #D9D2C3;border-radius:6pt;padding:8pt 10pt;page-break-inside:avoid}
  #finclar-report .rpt-cmp > div.win{border:1.4pt solid #1B6E7E;background:#E3F1F3}
  #finclar-report .rpt-cmp .ck{font-family:"IBM Plex Mono",Consolas,monospace;font-size:7pt;letter-spacing:0.1em;text-transform:uppercase;color:#5A6375}
  #finclar-report .rpt-cmp .cv{font-family:Fraunces,Georgia,serif;font-size:15pt;color:#10213F;margin:2pt 0}
  #finclar-report .rpt-cmp .ch{font-size:8pt;color:#1B6E7E}
  #finclar-report .rpt-signoff{margin-top:10pt;padding:7pt 10pt;border:0.75pt solid #D9D2C3;border-radius:6pt;background:#FBF9F4;
    font-size:8.2pt;line-height:1.55;color:#3A4458;page-break-inside:avoid}
  #finclar-report .rpt-signoff b{color:#10213F}
  #finclar-report .rpt-disc{margin-top:5pt;font-family:"IBM Plex Mono",Consolas,monospace;font-size:7.2pt;letter-spacing:0.06em;text-transform:uppercase;color:#1B6E7E}
  /* Closing contact block (in flow). The per-page footer is drawn by the
     @page finclar-report margin boxes below, so it never overlaps content. */
  #finclar-report .rpt-foot{margin-top:12pt;border-top:0.75pt solid #10213F;padding-top:5pt;
    font-size:6.8pt;line-height:1.5;color:#5A6375;font-family:"IBM Plex Mono",Consolas,monospace;display:flex;justify-content:space-between;gap:12pt;page-break-inside:avoid}
  #finclar-report .rpt-foot > div:last-child{text-align:right;white-space:nowrap}
  #finclar-report{}
  @page finclar-report{
    size:A4;margin:14mm 14mm 18mm;
    @bottom-left{font:500 6.8pt "IBM Plex Mono",Consolas,monospace;color:#5A6375;border-top:0.75pt solid #10213F;vertical-align:top;padding-top:4pt}
    @bottom-center{font:500 6.8pt "IBM Plex Mono",Consolas,monospace;color:#5A6375;border-top:0.75pt solid #10213F;vertical-align:top;padding-top:4pt}
    @bottom-right{content:"Page " counter(page) " of " counter(pages);font:500 6.8pt "IBM Plex Mono",Consolas,monospace;color:#1B6E7E;border-top:0.75pt solid #10213F;vertical-align:top;padding-top:4pt}
  }
  #finclar-report .rpt-foot b{color:#10213F;font-family:Fraunces,Georgia,serif;font-size:8.5pt;font-weight:600}
  #finclar-report .rpt-qr{float:right;margin:0 0 8pt 12pt;text-align:center;width:76px}
  #finclar-report .rpt-qr canvas,#finclar-report .rpt-qr img{width:76px !important;height:76px !important}
  #finclar-report .rpt-qr .qc{font-family:"IBM Plex Mono",Consolas,monospace;font-size:6pt;color:#5A6375;margin-top:3pt;line-height:1.35}

  /* FA badge corner stamp */
  .tk .fa-badge{position:fixed;bottom:14px;right:14px;z-index:90;font-size:10px;letter-spacing:0.04em;color:#fff;background:var(--navy);border:1px solid var(--navy-dark);border-radius:4px;padding:5px 10px;pointer-events:none;font-weight:700;box-shadow:var(--shadow-sm)}
  .tk .sr-announce{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .tk .itc-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:13px;cursor:pointer}

  /* Team / Principal section */
  .tk .team-grid{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:24px 0 32px}
  .tk .team-card{background:#fff;border-radius:8px;padding:24px 20px;width:200px;border:1px solid var(--line);text-align:center;transition:all .2s}
  .tk .team-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--navy)}
  .tk .team-av{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--blue));display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:20px;font-weight:900;color:#fff;overflow:hidden;border:3px solid var(--blue-soft)}
  .tk .team-badge{display:inline-block;font-size:10px;color:var(--navy-fg);background:var(--blue-soft);font-weight:700;letter-spacing:0.06em;padding:3px 10px;border-radius:3px;margin-bottom:8px;text-transform:uppercase}
  .tk .team-name{font-weight:700;font-size:14px;line-height:1.3;margin-bottom:4px;color:var(--fg)}
  .tk .team-role{font-size:12px;color:var(--fg-dim);line-height:1.45}

  /* Responsive */
  @media (max-width:960px){
    .tk .grid-2,.tk .cal-grid,.tk .subscribe{grid-template-columns:1fr}
    .tk .cal-month{grid-template-columns:1fr 1fr}
    .tk .quick-row{grid-template-columns:1fr 1fr}
    .tk .nav-links{display:none}
    .tk .li-row{grid-template-columns:1fr 1fr;gap:6px}
    .tk .subtabs{overflow-x:auto;flex-wrap:nowrap}
    .tk .utility-inner{display:none}
  }
  @media (max-width:640px){
    .tk .container{padding:0 16px}
    .tk .tools-hero{padding:32px 0 18px}
    .tk .panel{padding:20px;border-radius:8px}
    .tk .cal-month,.tk .quick-row,.tk .field-row,.tk .field-row-3,.tk .compare{grid-template-columns:1fr}
    .tk .panel-head{flex-direction:column;align-items:flex-start;gap:12px}
    .tk .panel-head-right{width:100%;justify-content:flex-start;align-items:flex-start;gap:14px}
    .tk .year-select{align-items:flex-start}
    .tk .panel-meta{text-align:left}
    .tk .nav-inner{padding:10px 14px}
    .tk .logo .wordmark .tag{display:none}
  }

  /* Accessibility — keyboard focus */
  .tk :focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
  .tk .skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:200;font-weight:700;border-radius:0 0 6px 0}
  .tk .skip-link:focus{left:0}

  /* Toolkit boot splash — shown while React + Babel compile + mount.
     ReactDOM.render() into #app naturally replaces this on mount.
     We use opacity-after-300ms-delay so fast connections don't flash
     the splash; slow connections see clear loading messaging instead
     of a blank white page. */
  .tk-boot{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:60px 24px;text-align:center;opacity:0;animation:tkBootFade 0.35s ease-in 0.35s forwards}
  @keyframes tkBootFade{to{opacity:1}}
  .tk-boot-logo{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;font-family:var(--head);margin-bottom:18px;box-shadow:0 8px 24px rgba(11,59,140,0.18)}
  .tk-boot h2{font-family:var(--head);font-size:22px;color:var(--navy-deep);margin-bottom:8px;letter-spacing:-0.01em;font-weight:800}
  .tk-boot p{font-size:14px;color:var(--ink-2);line-height:1.55;max-width:480px;margin-bottom:18px}
  .tk-boot-spinner{width:36px;height:36px;border:3px solid var(--blue-soft);border-top-color:var(--orange);border-radius:50%;animation:tkBootSpin 0.9s linear infinite}
  @keyframes tkBootSpin{to{transform:rotate(360deg)}}
  .tk-boot-pulse{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:11.5px;color:var(--muted);font-weight:600;letter-spacing:0.04em}
  .tk-boot-pulse::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success);animation:tkBootPulse 1.4s infinite}
  @keyframes tkBootPulse{0%,100%{opacity:1}50%{opacity:0.3}}
  @media (prefers-reduced-motion: reduce){
    .tk-boot{opacity:1;animation:none}
    .tk-boot-spinner,.tk-boot-pulse::before{animation:none}
  }

  /* Respect prefers-reduced-motion (WCAG 2.1 AA) */
  @media (prefers-reduced-motion: reduce){
    .tk *,.tk *::before,.tk *::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}
    .tk .panel:hover,.tk .cal-card:hover,.tk .btn:hover,.tk .tool-card:hover,.tk .subscribe button:hover{transform:none !important}
  }

  /* =====================================================================
     Ledger & Ink reskin (Sep 2026): matches the homepage and site.css.
     Token-level overrides first, so all 165 tools follow.
     ===================================================================== */
  .tk{
    --saffron:#1B6E7E;--green:#1D6B3A;
    --navy:#0B2E6B;--navy-fg:#0B2E6B;--navy-dark:#10213F;--navy-deep:#0A1830;
    --blue:#173A7A;--blue-soft:#E3F1F3;--teal:#1B6E7E;
    --orange:#1B6E7E;--orange-dark:#155E6C;--gold:#8FCAD6;
    --bg:#F6F3EC;--bg-2:#EDE8DC;--bg-card:#FFFFFF;--bg-input:#FBF9F4;--surface:#FFFFFF;--surface-2:#FBF9F4;
    --line:#D9D2C3;--line-soft:#ECE6D8;--border:#D9D2C3;
    --fg:#10213F;--fg-dim:#3A4458;--fg-soft:#5A6375;--accent:#1B6E7E;
    --danger:#A0421C;--ok:#1D6B3A;--warn:#8A4B0B;
    --serif:Fraunces,Georgia,"Times New Roman",serif;
    --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
    --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
    --shadow-sm:0 1px 2px rgba(16,33,63,0.05);--shadow:0 10px 30px -18px rgba(16,33,63,0.35);--shadow-lg:0 30px 60px -30px rgba(16,33,63,0.35);
  }
  .tk{background:var(--bg);color:var(--fg);font-family:var(--sans)}
  .tk h1,.tk h2,.tk h3{font-family:var(--serif);font-weight:500;letter-spacing:-0.02em}
  .tk ::selection{background:#1B6E7E;color:#fff}
  .tk nav.topbar{background:var(--bg);box-shadow:none}
  .tk .logo-mark{width:42px;height:42px;border:0;box-shadow:none;border-radius:12px}
  .tk .logo .wordmark .brand-ar{font-family:var(--serif);font-weight:600;font-size:24px;letter-spacing:-0.02em;color:var(--fg)}
  .tk .logo .wordmark .brand-ar::after{content:".";color:var(--teal)}
  .tk .nav-links a{font-weight:500}
  .tk .nav-links a.active{background:var(--fg);color:var(--bg)}
  .tk .btn{border-radius:999px;font-weight:500;font-size:14px;padding:10px 18px}
  .tk .btn-primary{background:var(--navy-dark);color:#F6F3EC}
  .tk .btn-primary:hover{background:var(--navy);color:#fff}
  .tk .btn-ghost{background:transparent;color:var(--fg);border-color:var(--fg)}
  .tk .btn-ghost:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
  .tk .tools-hero{text-align:left;padding:64px 32px 44px;border-radius:0 0 28px 28px;background:var(--navy-deep);
    background-image:repeating-linear-gradient(180deg,transparent 0 55px,rgba(255,255,255,0.05) 55px 56px)}
  .tk .tools-hero::before{background:linear-gradient(90deg,transparent 0 47px,rgba(232,185,165,0.35) 47px 48px,transparent 48px)}
  .tk .kicker{background:transparent;border:1px solid rgba(143,202,214,0.35);color:#8FCAD6;font-family:var(--mono);font-weight:500;border-radius:999px}
  .tk .container>p.kicker{color:var(--teal);border-color:rgba(27,110,126,0.35)}
  .tk .tools-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,64px);letter-spacing:-0.03em;margin:0;max-width:900px}
  .tk .tools-hero h1 em{color:#8FCAD6;font-style:italic}
  .tk .tools-hero .sub{margin:18px 0 0;color:#C3CCDC;max-width:820px;font-size:15px}
  .tk .cats,.tk .tab,.tk .panel,.tk .quick,.tk .tbl-wrap,.tk .cal-card{border-radius:14px}
  .tk .cats{background:var(--bg-card);box-shadow:none}
  .tk .cats button{font-family:var(--mono);font-weight:500;letter-spacing:.06em;border-radius:999px}
  .tk .cats button>span{opacity:.75!important}
  .tk .cats button.active,.tk .tab.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}
  .tk .tab{border-radius:999px;font-weight:500;background:var(--bg-card)}
  .tk .tab.active:hover{background:var(--navy);color:#fff}
  .tk .tab.active .dot{background:#5FB8C9}
  .tk .panel{border-radius:20px;background:var(--bg-card);box-shadow:0 30px 60px -40px rgba(16,33,63,0.35)}
  .tk .panel::before{height:3px;background:linear-gradient(90deg,var(--teal),#5FB8C9);border-radius:20px 20px 0 0}
  .tk .panel-head h2{font-family:var(--serif);font-weight:500;letter-spacing:-0.02em}
  .tk .panel-head h2 em{color:var(--teal);font-style:italic}
  .tk .field input,.tk .field select,.tk .field textarea{border-radius:12px}
  .tk .field input:focus,.tk .field select:focus,.tk .field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(31,122,140,0.15)}
  .tk .result{background:var(--navy-dark);border-color:var(--navy-dark);border-radius:18px;
    background-image:repeating-linear-gradient(180deg,transparent 0 43px,rgba(255,255,255,0.04) 43px 44px)}
  .tk .result::before{background:radial-gradient(circle,rgba(95,184,201,0.22),transparent 70%)}
  .tk .result .label{color:#8FCAD6;font-family:var(--mono);font-weight:500}
  .tk .result .big{font-family:var(--serif);font-weight:400;letter-spacing:-0.03em}
  .tk .result .big .cur{color:#8FCAD6;font-family:var(--serif)}
  .tk .bd-row.total .v{color:#8FCAD6;font-family:var(--serif);font-weight:500}
  .tk .slab-row .rate{color:#8FCAD6}
  .tk .slab-row .bar .fill{background:linear-gradient(90deg,#1B6E7E,#5FB8C9)}
  .tk .range-row input[type="range"]::-webkit-slider-thumb{background:var(--teal)}
  .tk .range-row input[type="range"]::-moz-range-thumb{background:var(--teal)}
  .tk .range-row input[type="range"]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--teal) var(--p,50%),var(--line) var(--p,50%))}
  .tk .verdict{border-radius:12px}
  .tk .utility-bar{background:var(--navy);color:#DCE4F2;border:0;font-family:var(--mono)}
  .tk .utility-bar a{color:#fff}
  .tk .tricolor{display:none}

/* Transfer ledger and finite comparison motion; all figures stay readable. */
.tk .vda-panel .grid-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.tk .vda-ledger-head,.tk .vda-trade-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.tk .vda-trade{min-width:0;margin:16px 0;padding:16px;border:1px solid var(--line-soft);border-radius:14px;background:var(--bg-raised,var(--bg));color:var(--fg)}
.tk .vda-trade legend{font:600 13px/1.5 var(--sans);padding:0 8px;color:var(--fg)}
.tk .vda-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin-bottom:12px;font:500 12px/1.5 var(--sans);color:var(--fg-dim)}
.tk .vda-field input{width:100%;min-width:0;border:1px solid var(--line-soft);border-radius:8px;padding:11px 12px;background:var(--bg-input,var(--bg));color:var(--fg);font:400 14px/1.4 var(--sans)}
.tk .vda-field input:focus-visible,.tk .vda-review summary:focus-visible{outline:3px solid var(--accent,#1f7a8c);outline-offset:3px}
.tk .vda-trade-top .vda-field{flex:1;margin:0}.tk .vda-trade .btn{min-height:44px}
.tk .vda-trade-note{padding:10px 12px;border-left:3px solid #1f7a8c;background:var(--bg);font-size:12px;line-height:1.6;color:var(--fg)}
.tk .vda-trade-note.loss{border-color:#ac5f35}
.tk .vda-review{padding:14px;border:1px solid var(--line-soft);border-radius:12px;margin:16px 0;font-size:13px;line-height:1.7;color:var(--fg-dim)}
.tk .vda-review summary{font-weight:600;cursor:pointer;color:var(--fg)}
.tk .vda-review p{margin:12px 0}
.tk .vda-summary>p{font-size:13px;line-height:1.6;margin:12px 0}
.tk .vda-credit{display:grid;gap:8px;border-top:1px solid currentColor;margin-top:16px;padding-top:16px;font-size:13px}.tk .vda-credit b{font:600 24px var(--mono)}.tk .vda-credit small{font-size:12px;line-height:1.6}
.tk .vda-flow{border:1px solid var(--line-soft);border-radius:14px;padding:20px;margin:18px 0;background:var(--bg);color:var(--fg)}
.tk .vda-flow h3{font:500 18px/1.3 var(--sans);margin:0 0 20px}.tk .vda-flow ol{list-style:none;margin:0;padding:0;counter-reset:flow}
.tk .vda-flow li{display:grid;grid-template-columns:1fr auto;gap:8px;margin:16px 0;font-size:12px}.tk .vda-flow li>span:before{counter-increment:flow;content:counter(flow) " · ";color:var(--fg-soft)}
.tk .vda-flow b{font-family:var(--mono)}.tk .vda-flow p{font-size:12px;line-height:1.6;color:var(--fg-dim);margin:16px 0 0}
.tk .vda-meter{grid-column:1/-1;height:8px;overflow:hidden;border-radius:9px;background:var(--line-soft)}
.tk .vda-meter i{display:block;width:100%;height:100%;background:#1f7a8c;transform-origin:left;transition:transform .25s ease}
.tk .vda-meter .loss{background:#ad714c}.tk .vda-meter .tax{background:#476ca0}.tk .vda-meter .cess{background:#76939a}
@media(max-width:600px){.tk .vda-trade .field-row{display:grid;grid-template-columns:1fr}.tk .vda-flow{padding:16px}.tk .vda-panel .grid-2col{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tk .vda-meter i{transition:none!important}}
@media print{.tk .vda-meter{display:none}.tk .vda-trade{break-inside:avoid}}

/* Finite input feedback: no timers, autoplay or offscreen animation work. */
.tk .holding-period{margin:18px 0;padding:20px;border:1px solid var(--line-soft);border-radius:14px;background:var(--bg);color:var(--fg)}
.tk .holding-period h3{margin:0 0 12px;font:600 17px/1.4 var(--sans)}
.tk .holding-period .holding-status{display:inline-block;padding:5px 10px;border-radius:20px;background:var(--bg-raised);border:1px solid var(--line-soft);font:600 12px/1.5 var(--sans)}
.tk .holding-track{position:relative;height:9px;margin:25px 0;background:var(--line-soft);border-radius:10px}
.tk .holding-track .holding-fill{position:absolute;inset:0;border-radius:10px;background:var(--accent,#1B6E7E);transform-origin:left;transition:transform .24s ease-out}
.tk .holding-track .holding-cutoff{position:absolute;top:-6px;width:2px;height:21px;background:var(--fg)}
.tk .holding-track .holding-sale{position:absolute;top:-3px;width:15px;height:15px;border:3px solid var(--bg);border-radius:50%;background:var(--fg);transform:translateX(-50%);transition:left .24s ease-out}
.tk .holding-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.tk .holding-dates li{display:grid;gap:5px;font:400 12px/1.5 var(--sans)}
.tk .holding-dates strong{font:600 13px/1.5 var(--mono)}
.tk .holding-period p{font:400 12px/1.7 var(--sans);margin:14px 0 0;color:var(--fg-dim)}
@media(max-width:600px){.tk .holding-period{padding:16px}.tk .holding-dates{grid-template-columns:1fr}.tk .holding-dates li{grid-template-columns:1fr auto;align-items:baseline}}
@media(prefers-reduced-motion:reduce){.tk .holding-track .holding-fill,.tk .holding-track .holding-sale{transition:none!important}}
@media print{.tk .holding-track{display:none}.tk .holding-period{break-inside:avoid}}

.tk .indexation-flow{margin:18px 0;padding:20px;background:var(--bg);border:1px solid var(--line-soft);border-radius:14px;color:var(--fg)}
.tk .indexation-flow h3{margin:0 0 14px;font:600 17px/1.4 var(--sans)}
.tk .indexation-flow .indexation-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.tk .indexation-flow li{font:400 12px/1.5 var(--sans);display:grid;gap:7px}
.tk .indexation-flow .indexation-value{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tk .indexation-flow strong{font:600 14px/1.5 var(--mono)}
.tk .indexation-flow .indexation-track{height:7px;border-radius:8px;background:var(--line-soft);overflow:hidden}
.tk .indexation-flow .indexation-track i{display:block;height:100%;width:100%;background:var(--accent,#1B6E7E);transform-origin:left;transition:transform .24s ease-out}
.tk .indexation-flow .indexation-original i{background:#526b86}
.tk .indexation-flow p{font:400 12px/1.7 var(--sans);color:var(--fg-dim);margin:14px 0 0}
.tk .indexation-flow .indexation-formula{border-top:1px solid var(--line-soft);padding-top:14px;font-family:var(--mono);overflow-wrap:anywhere}
@media(max-width:600px){.tk .indexation-flow{padding:16px}}
@media(prefers-reduced-motion:reduce){.tk .indexation-flow .indexation-track i{transition:none!important}}
@media print{.tk .indexation-flow{break-inside:avoid}.tk .indexation-track{display:none}}

.tk .tool-finder{margin:28px 0 20px;border:1px solid var(--line);border-radius:18px;background:var(--bg-card);color:var(--fg);overflow:hidden}
.tk .tool-finder-toggle{width:100%;min-height:76px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;color:inherit}
.tk .tool-finder-current{min-width:0;display:grid;gap:6px}
.tk .tool-finder-current small{font:500 10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-soft)}
.tk .tool-finder-current strong{font:600 17px/1.4 var(--sans)}
.tk .tool-finder-action{display:flex;align-items:center;gap:12px;font:600 12px/1.4 var(--sans);color:var(--accent);flex-shrink:0}
.tk .tool-finder-chevron{width:18px;height:18px;transition:transform .2s ease-out}
.tk .tool-finder-toggle[aria-expanded=true] .tool-finder-chevron{transform:rotate(180deg)}
.tk .tool-finder-body{padding:4px 22px 22px;border-top:1px solid var(--line-soft)}
.tk .tool-finder-body[hidden]{display:none}
.tk .tool-finder-search{margin:18px 0 14px}
.tk .tool-finder-search label{display:block;font:600 12px/1.6 var(--sans);margin-bottom:7px}
.tk .tool-finder-search-row{display:flex;gap:10px;align-items:center}
.tk .tool-finder-search input{min-width:0;flex:1;min-height:46px;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);padding:12px 14px;font:400 14px/1.4 var(--sans)}
.tk .tool-finder-clear{min-height:44px;padding:10px;color:var(--accent);font:600 12px var(--sans);text-decoration:underline}
.tk .tool-finder .cats{margin:0;padding:0;border:0;background:transparent;justify-content:flex-start;width:100%;gap:6px}
.tk .tool-finder .cats button{min-height:44px;padding:9px 12px;text-transform:none;letter-spacing:0;font:500 12px var(--sans);white-space:normal}
.tk .tool-finder .cats button{position:relative}
.tk .tool-finder .cats button::after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease-out;pointer-events:none}
.tk .tool-finder .cats button[aria-pressed=true]::after{transform:scaleX(1)}
.tk .tool-finder-count{font:400 12px/1.5 var(--sans);color:var(--fg-soft);margin:16px 0 10px}
.tk .tool-finder-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:360px;overflow:auto;overscroll-behavior:contain;padding:3px}
.tk .tool-finder-result{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;min-height:68px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:10px;background:var(--bg);color:var(--fg);font:500 13px/1.45 var(--sans)}
.tk .tool-finder-result span:first-child{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
.tk .tool-finder-result small{font:400 10px/1.4 var(--mono);color:var(--fg-soft)}
.tk .tool-finder-result[aria-current=true]{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}
.tk .tool-finder-result .tool-finder-arrow{color:var(--accent);font-size:18px;transition:transform .18s ease-out}
.tk .tool-finder-result:hover .tool-finder-arrow,.tk .tool-finder-result:focus-visible .tool-finder-arrow{transform:translateX(3px)}
.tk .tool-finder button:focus-visible,.tk .tool-finder input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tk .tool-finder-empty{margin:0;padding:18px 0;font:400 14px/1.7 var(--sans)}
.tk .active-calculator{scroll-margin-top:24px;outline:none}
.tk .active-calculator:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:18px}
@media(max-width:900px){.tk .tool-finder-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.tk .tool-finder-toggle{padding:16px;align-items:flex-start}.tk .tool-finder-current strong{font-size:15px}.tk .tool-finder-action{max-width:90px;font-size:11px}.tk .tool-finder-body{padding:4px 16px 16px}.tk .tool-finder-results{grid-template-columns:1fr;max-height:320px}.tk .tool-finder .cats button{padding:9px 10px}}
@media(prefers-reduced-motion:reduce){.tk .tool-finder-chevron,.tk .tool-finder-result .tool-finder-arrow{transition:none!important;transform:none!important}}
@media print{.tk .tool-finder{display:none!important}.tk .active-calculator{outline:0!important}}
@media(prefers-reduced-motion:reduce){.tk .tool-finder .cats button::after{transition:none!important}}

.tk .tools-hero.toolkit-entry{padding:36px 32px 28px}
.tk .toolkit-entry .sub{max-width:72ch}
.tk .toolkit-entry-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.tk .toolkit-entry-actions a{display:inline-flex;align-items:center;gap:18px;min-height:46px;padding:10px 18px;border:1px solid #8FCAD6;border-radius:8px;color:#FFF;font-size:14px;text-decoration:none}
.tk .toolkit-entry-actions a:first-child{background:#8FCAD6;color:#10213F}
.tk .toolkit-entry-actions a:focus-visible,.tk .toolkit-overview summary:focus-visible{outline:3px solid #fff;outline-offset:4px}
.tk .toolkit-entry-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .18s ease-out}
.tk .toolkit-entry-actions a:hover svg,.tk .toolkit-entry-actions a:focus-visible svg{transform:translateX(4px)}
.tk .toolkit-overview{margin-top:22px;border-top:1px solid #53637C;max-width:820px}
.tk .toolkit-overview summary{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;color:#DCE4F2;font-size:14px;list-style:none}
.tk .toolkit-overview summary::-webkit-details-marker{display:none}
.tk .toolkit-overview summary::after{content:'+';font:20px/1 var(--mono);color:#8FCAD6;transition:transform .2s ease-out}
.tk .toolkit-overview[open] summary::after{transform:rotate(45deg)}
.tk .toolkit-overview p{font-size:14px;line-height:1.65;color:#C3CCDC;margin:0 0 12px}
@media(max-width:600px){.tk .tools-hero.toolkit-entry{padding:28px 20px 20px}.tk .toolkit-entry h1{font-size:34px}.tk .toolkit-entry-actions{gap:10px;margin-top:20px}.tk .toolkit-entry-actions a{font-size:13px;padding:10px 12px;gap:10px}}
@media(prefers-reduced-motion:reduce){.tk .toolkit-entry-actions svg,.tk .toolkit-overview summary::after{transition:none}}

.tk .tool-loading{min-height:360px;padding:32px;display:flex;align-items:flex-start;gap:20px}
.tk .tool-loading h2{margin:0 0 12px;font:500 28px/1.2 var(--serif)}
.tk .tool-loading p{margin:0 0 16px;max-width:40ch}
.tk .tool-loading svg{flex:none;width:52px;height:64px;stroke:var(--accent,#1B6E7E);fill:none;stroke-width:2}
.tk .tool-loading .load-line{stroke-dasharray:32;stroke-dashoffset:0;animation:tool-line-in .65s ease-out 1}
.tk .tool-loading button{min-height:44px;padding:10px 20px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;cursor:pointer}
.tk .tool-loading button:focus-visible{outline:3px solid var(--accent,#1B6E7E);outline-offset:3px}
@keyframes tool-line-in{from{stroke-dashoffset:32}to{stroke-dashoffset:0}}
@media(max-width:600px){.tk .tool-loading{padding:24px 18px;gap:14px}.tk .tool-loading h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.tk .tool-loading .load-line{animation:none}}

.tk .tool-loading[data-motion-paused="true"] .load-line{animation-play-state:paused}

.tk .rent-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 28px}
.tk .rent-route span{position:relative;padding:12px 8px 16px;font:500 12px/1.5 var(--sans);border-bottom:3px solid var(--line-soft);color:var(--fg-dim)}
.tk .rent-route span::after{content:'';position:absolute;bottom:-3px;left:0;width:100%;height:3px;background:var(--accent,#1B6E7E);transform:scaleX(0);transform-origin:left;transition:transform .2s ease-out}
.tk .rent-route .active{color:var(--fg)}.tk .rent-route .active::after{transform:scaleX(1)}
.tk .rent-limits .indexation-value{align-items:baseline}
@media(max-width:600px){.tk .rent-route{gap:5px}.tk .rent-route span{padding:8px 3px 12px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.tk .rent-route span::after,.tk .rent-limits .indexation-track i{transition:none!important}}
@media print{.tk .rent-route{display:none}.tk .rent-limits{break-inside:avoid}.tk .rent-limits .indexation-track{display:none}}

/* Input-driven feedback: finite underline only; no delayed values or background loop. */
.tk .property-scope-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 24px}
.tk .property-scope-route>span{position:relative;display:flex;align-items:center;gap:9px;padding:12px 8px;border-bottom:2px solid var(--line-soft);font-size:13px;color:var(--fg-dim)}
.tk .property-scope-route b{font:500 11px var(--mono);color:var(--fg-soft)}
.tk .property-scope-route .is-checked{border-color:var(--teal,#1B6E7E)}
.tk .property-scope-route .scope-current::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--teal,#1B6E7E);transform-origin:left;animation:property-scope-line .24s ease-out both}
.tk .property-tds-result{padding:22px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-2);margin-bottom:14px}
.tk .property-tds-result.needs-review{border-color:var(--fg-dim)}
.tk .property-result-label{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim)}
.tk .property-result-value{font-size:clamp(25px,4vw,32px);font-weight:700;line-height:1.2;margin:10px 0;color:var(--fg)}
.tk .property-tds-result p,.tk .property-scope-note{font-size:13px;line-height:1.65;color:var(--fg-dim);margin:12px 0}
.tk .property-tds-result a{text-decoration:underline;text-underline-offset:3px;font-size:14px}
.tk .property-tds-result a:focus-visible{outline:2px solid var(--teal,#1B6E7E);outline-offset:4px}
@keyframes property-scope-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:600px){.tk .property-scope-route{grid-template-columns:1fr;gap:4px}.tk .property-scope-route>span{padding:9px 6px}.tk .property-tds-result{padding:18px}}
@media(prefers-reduced-motion:reduce){.tk .property-scope-route .scope-current::after{animation:none}}
@media print{.tk .property-scope-route .scope-current::after{animation:none}.tk .property-tds-result{break-inside:avoid}}

.tk .property-tds-panel .seg-control button{min-height:44px}

.tk .property-tds-panel .verdict a{text-decoration:underline;text-underline-offset:3px}

/* Short input-driven transitions explain the selected full-property value. */
.tk .property-value-flow{margin:18px 0 22px;padding:20px;border:1px solid var(--line-soft);border-radius:14px}
.tk .property-value-flow h3{margin:0 0 18px;font-size:16px;color:var(--fg)}
.tk .property-value-row{margin-bottom:16px}
.tk .property-value-row>div:first-child,.tk .property-value-flow li{display:flex;justify-content:space-between;gap:12px;font-size:13px;line-height:1.6}
.tk .property-value-flow strong{color:var(--fg);text-align:right;font-variant-numeric:tabular-nums}
.tk .property-value-track{height:7px;background:var(--line-soft);border-radius:5px;overflow:hidden;margin-top:7px}
.tk .property-value-track i{display:block;height:100%;background:var(--teal,#1B6E7E);border-radius:5px;transition:width .28s ease-out}
.tk .property-value-flow ol{padding:0;margin:20px 0 0;list-style:none;counter-reset:property-step}
.tk .property-value-flow li{padding:10px 0;border-top:1px solid var(--line-soft);counter-increment:property-step}
.tk .property-value-flow li>span::before{content:counter(property-step) ". ";font-family:var(--mono);color:var(--fg-dim)}
.tk .property-value-flow p{font-size:12px;line-height:1.6;color:var(--fg-dim);margin:12px 0 0}
.tk .property-tds-panel input[type=date]{min-height:44px;background:var(--bg-input);color:var(--fg);border:1px solid var(--line-soft);border-radius:8px;padding:10px;width:100%;box-sizing:border-box}
@media(max-width:600px){.tk .property-value-flow{padding:16px}.tk .property-value-flow li{display:block}.tk .property-value-flow li strong{display:block;text-align:left;margin-top:3px}}
@media(prefers-reduced-motion:reduce){.tk .property-value-track i{transition:none}}
@media print{.tk .property-value-track i{transition:none}.tk .property-value-flow{break-inside:avoid}}

.tk .property-allocation{padding:20px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2);margin-bottom:14px}
.tk .property-allocation h3{font-size:16px;margin:0 0 10px;color:var(--fg)}
.tk .property-allocation p{font-size:12px;line-height:1.65;color:var(--fg-dim);margin:10px 0}
.tk .property-allocation details{border-top:1px solid var(--line-soft);padding:8px 0}
.tk .property-allocation summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-size:13px;font-weight:600;cursor:pointer;list-style:none;color:var(--fg)}
.tk .property-allocation summary::-webkit-details-marker{display:none}
.tk .property-allocation summary:focus-visible{outline:2px solid var(--teal,#1B6E7E);outline-offset:3px}
.tk .allocation-arrow{transition:transform .2s ease-out}
.tk .property-allocation details[open] .allocation-arrow{transform:rotate(90deg)}
.tk .allocation-track{height:9px;display:flex;gap:2px;margin:8px 0 14px;overflow:hidden;border-radius:5px}
.tk .allocation-track i{background:var(--teal,#1B6E7E);transition:width .24s ease-out;flex-shrink:1}
.tk .allocation-track i:nth-child(even){background:var(--fg-dim)}
.tk .property-allocation ol{list-style:none;margin:0;padding:0}
.tk .property-allocation li,.tk .allocation-total{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.6;padding:7px 0;color:var(--fg-dim)}
.tk .property-allocation strong{color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap}
.tk .allocation-total{border-top:1px solid var(--line-soft)}
@media(max-width:600px){.tk .property-allocation{padding:16px}.tk .allocation-total{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.tk .allocation-arrow,.tk .allocation-track i{transition:none}}
@media print{.tk .property-allocation details::details-content{content-visibility:visible}.tk .allocation-arrow{display:none}.tk .allocation-track i{transition:none}.tk .property-allocation li{break-inside:avoid}}

.tk .pan-guide .grid-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}.tk .pan-guide .field{margin:16px 0}
.tk .pan-guide .pan-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:24px 0}
.tk .pan-route li{padding:18px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2);display:grid;gap:6px}
.tk .pan-route b{font:500 12px var(--mono);color:var(--fg-dim)}
.tk .pan-route strong{font-size:16px}.tk .pan-route span{font-size:13px;color:var(--fg-dim)}
.tk .pan-guide select,.tk .pan-guide input[type=number]{width:100%;min-height:44px;padding:12px;border:1px solid var(--line-soft);border-radius:9px;background:var(--surface-2);color:var(--fg);font:inherit}
.tk .pan-next,.tk .pan-comparison{padding:20px;margin:16px 0;border:1px solid var(--line-soft);border-left:3px solid var(--teal,#1b6e7e);border-radius:12px;background:var(--surface-2)}
.tk .pan-guide h3{font-size:18px;margin:0 0 10px}.tk .pan-guide p{font-size:14px;line-height:1.65}.tk .pan-guide a{text-decoration:underline;text-underline-offset:3px}
.tk .pan-portal{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;min-height:44px;background:var(--navy,#10213d);color:#fff!important;border-radius:9px;font-size:14px}
.tk .pan-portal span,.tk .pan-help summary span{display:inline-block;transition:transform .18s ease-out}.tk .pan-portal:hover span,.tk .pan-portal:focus-visible span{transform:translateX(4px)}
.tk .pan-guide :is(a,summary,select,input):focus-visible{outline:3px solid var(--teal,#1b6e7e);outline-offset:3px}
.tk .pan-help{border-top:1px solid var(--line-soft);margin-top:20px;padding-top:8px}.tk .pan-help summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600;line-height:1.5}.tk .pan-help[open] summary span{transform:rotate(90deg)}
.tk .pan-rate-row{margin:16px 0}.tk .pan-rate-row>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px}.tk .pan-track{display:block;height:8px;margin-top:8px;background:var(--line-soft);border-radius:8px;overflow:hidden}.tk .pan-track i{display:block;width:100%;height:100%;background:var(--teal,#1b6e7e);transform-origin:left;transition:transform .24s ease-out}
@media(max-width:800px){.tk .pan-guide .grid-2col{grid-template-columns:1fr;gap:24px}}
@media(max-width:600px){.tk .pan-guide .pan-route{grid-template-columns:1fr;gap:8px}.tk .pan-route li{grid-template-columns:24px 1fr;padding:14px}.tk .pan-route span{grid-column:2}.tk .pan-next,.tk .pan-comparison{padding:16px}.tk .pan-portal{width:100%}}
@media(prefers-reduced-motion:reduce){.tk .pan-track i,.tk .pan-portal span,.tk .pan-help summary span{transition:none!important}}
@media print{.tk .pan-help>*{display:block!important}.tk .pan-route{break-inside:avoid}.tk .pan-portal{background:none;color:#000!important}.tk .pan-help summary span{display:none}}

.tk .epf-tool .grid-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.tk .epf-tool .epf-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:24px 0}
.tk .epf-path li{padding:16px;border:1px solid var(--line-soft);border-radius:12px;display:grid;gap:6px;background:var(--surface-2)}.tk .epf-path b{font:500 12px var(--mono);color:var(--fg-dim)}.tk .epf-path strong{font-size:16px}.tk .epf-path span{font-size:13px;color:var(--fg-dim)}
.tk .epf-tool .field{margin:16px 0}.tk .epf-tool select,.tk .epf-tool input{width:100%;min-height:44px;padding:12px;border:1px solid var(--line-soft);border-radius:9px;background:var(--surface-2);color:var(--fg);font:inherit}.tk .epf-tool input[aria-invalid=true]{border-color:var(--warn)}
.tk .epf-tool p{font-size:14px;line-height:1.65}.tk .epf-tool .field p{font-size:12px;color:var(--fg-dim);margin:7px 0}.tk .epf-tool .result .big{font-size:clamp(26px,4vw,40px)}.tk .epf-tool .result .sub{line-height:1.6}.tk .epf-tool .bd-row{gap:16px;flex-wrap:wrap}.tk .epf-tool .bd-row .v{white-space:normal;text-align:right}
.tk .epf-split{padding:20px;margin:16px 0;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2)}.tk .epf-split h3{font-size:18px;margin:0 0 16px}.tk .epf-track{height:12px;background:#ae710e;border-radius:6px;overflow:hidden}.tk .epf-track i{display:block;height:100%;width:100%;background:#256678;transform-origin:left;transition:transform .24s ease-out}
.tk .epf-legend{display:flex;justify-content:space-between;gap:16px;margin-top:16px;flex-wrap:wrap}.tk .epf-legend span{font-size:13px}.tk .epf-legend b{display:block;font-size:18px;margin-top:6px}.tk .epf-legend i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#256678}.tk .epf-legend span+span i{background:#ae710e}
.tk .epf-help{margin:24px 0 16px;border-top:1px solid var(--line-soft)}.tk .epf-help summary{cursor:pointer;min-height:44px;padding:14px 0;font-weight:600;line-height:1.5}.tk .epf-help summary span{display:inline-block;margin-right:8px;transition:transform .18s ease-out}.tk .epf-help[open] summary span{transform:rotate(90deg)}.tk .epf-tool :is(input,select,summary,a):focus-visible{outline:3px solid #256678;outline-offset:3px}
@media(max-width:800px){.tk .epf-tool .grid-2col{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.tk .epf-tool .epf-path{grid-template-columns:1fr;gap:8px}.tk .epf-path li{grid-template-columns:24px 1fr;padding:12px}.tk .epf-path span{grid-column:2}.tk .epf-split{padding:16px}}
@media(prefers-reduced-motion:reduce){.tk .epf-track i,.tk .epf-help summary span{transition:none!important}}
@media print{.tk .epf-help>*{display:block!important}.tk .epf-help summary span{display:none}.tk .epf-split{break-inside:avoid}}

.tk .gst-delay .grid-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.tk .gst-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.tk .gst-lanes>div{padding:18px;background:var(--surface-2);border:1px solid var(--line-soft);border-left:3px solid #256678;border-radius:10px}.tk .gst-lanes b,.tk .gst-lanes span{display:block}.tk .gst-lanes b{font-size:16px;margin-bottom:8px}.tk .gst-lanes span{font-size:13px;line-height:1.6;color:var(--fg-dim)}
.tk .gst-delay .field{margin:16px 0}.tk .gst-delay select,.tk .gst-delay input{width:100%;min-height:44px;padding:12px;border:1px solid var(--line-soft);border-radius:9px;background:var(--surface-2);color:var(--fg);font:inherit}.tk .gst-delay input[aria-invalid=true]{border-color:var(--warn)}.tk .gst-delay p{font-size:14px;line-height:1.65}.tk .gst-delay .field p{font-size:12px;color:var(--fg-dim);margin:7px 0}.tk .gst-delay .result .big{font-size:clamp(26px,4vw,40px)}.tk .gst-delay .result .sub{line-height:1.6}.tk .gst-delay .bd-row{gap:16px;flex-wrap:wrap}.tk .gst-delay .bd-row .v{white-space:normal}
.tk .gst-cap{padding:20px;border:1px solid var(--line-soft);background:var(--surface-2);border-radius:12px;margin:16px 0}.tk .gst-cap h3{font-size:18px;margin:0 0 16px}.tk .gst-track{height:10px;border-radius:8px;overflow:hidden;background:var(--line-soft)}.tk .gst-track i{display:block;width:100%;height:100%;background:#256678;transform-origin:left;transition:transform .24s ease-out}
.tk .gst-interest{border-top:1px solid var(--line-soft);margin:24px 0}.tk .gst-interest summary{cursor:pointer;padding:14px 0;min-height:44px;font-weight:600;line-height:1.5}.tk .gst-interest summary span{display:inline-block;margin-right:8px;transition:transform .18s ease-out}.tk .gst-interest[open] summary span{transform:rotate(90deg)}.tk .gst-delay :is(input,select,summary,a):focus-visible{outline:3px solid #256678;outline-offset:3px}
@media(max-width:800px){.tk .gst-delay .grid-2col,.tk .gst-lanes{grid-template-columns:1fr;gap:16px}}
@media(prefers-reduced-motion:reduce){.tk .gst-track i,.tk .gst-interest summary span{transition:none!important}}
@media print{.tk .gst-interest>*{display:block!important}.tk .gst-interest summary span{display:none}.tk .gst-cap{break-inside:avoid}}

.tk .ecommerce-tool .grid-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.tk .eco-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:24px 0}.tk .eco-path li{padding:16px;border:1px solid var(--line-soft);border-radius:12px;display:grid;gap:6px;background:var(--surface-2)}.tk .eco-path b{font:500 12px var(--mono);color:var(--fg-dim)}.tk .eco-path strong{font-size:16px}.tk .eco-path span{font-size:13px;color:var(--fg-dim)}
.tk .ecommerce-tool .field{margin:16px 0}.tk .ecommerce-tool select,.tk .ecommerce-tool input{width:100%;min-height:44px;padding:12px;border:1px solid var(--line-soft);border-radius:9px;background:var(--surface-2);color:var(--fg);font:inherit}.tk .ecommerce-tool input[aria-invalid=true]{border-color:var(--warn)}.tk .ecommerce-tool p{font-size:14px;line-height:1.65}.tk .ecommerce-tool .field p,.tk .ecommerce-tool #eco-input-help{font-size:12px;color:var(--fg-dim)}.tk .ecommerce-tool .result .big{font-size:clamp(26px,4vw,40px)}.tk .ecommerce-tool .result .sub{line-height:1.6}.tk .ecommerce-tool .bd-row{gap:16px;flex-wrap:wrap}.tk .ecommerce-tool .bd-row .v{white-space:normal;text-align:right}
.tk .eco-progress{padding:20px;margin:16px 0;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2)}.tk .eco-progress h3{font-size:18px;margin:0 0 16px}.tk .eco-track{height:10px;border-radius:5px;background:var(--line-soft);overflow:hidden}.tk .eco-track i{display:block;height:100%;width:100%;background:#256678;transform-origin:left;transition:transform .24s ease-out}.tk .eco-progress p{margin-bottom:0}
.tk .eco-help{margin:24px 0 16px;border-top:1px solid var(--line-soft)}.tk .eco-help p{margin:12px 0}.tk .eco-help summary::marker{content:""}.tk .eco-help summary::-webkit-details-marker{display:none}.tk .eco-help summary{list-style:none;cursor:pointer;min-height:44px;padding:14px 0;font-weight:600;line-height:1.5}.tk .eco-help summary span{display:inline-block;margin-right:8px;transition:transform .18s ease-out}.tk .eco-help[open] summary span{transform:rotate(90deg)}.tk .ecommerce-tool :is(input,select,summary,a):focus-visible{outline:3px solid #256678;outline-offset:3px}
@media(max-width:800px){.tk .ecommerce-tool .grid-2col{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.tk .eco-path{grid-template-columns:1fr;gap:8px}.tk .eco-path li{grid-template-columns:24px 1fr;padding:12px}.tk .eco-path span{grid-column:2}.tk .eco-progress{padding:16px}}
@media(prefers-reduced-motion:reduce){.tk .eco-track i,.tk .eco-help summary span{transition:none!important}}
@media print{.tk .eco-help>*{display:block!important}.tk .eco-help summary span{display:none}.tk .eco-progress{break-inside:avoid}}
.tk .ecommerce-tool a{text-decoration:underline;text-underline-offset:3px}

/* Toolkit presentation layer: Ledger & Ink palette for page chrome and app
   surfaces. Calculator components, behavior, and generated styles stay intact. */
.tk {
  --paper: #F6F3EC;
  --paper-2: #EDE8DC;
  --card: #FFFFFF;
  --ink: #10213F;
  --ink-deep: #0A1830;
  --navy: #0B2E6B;
  --navy-dark: #0A1830;
  --navy-deep: #0A1830;
  --navy-fg: #10213F;
  --blue: #173A7A;
  --blue-soft: #E3F1F3;
  --teal: #1B6E7E;
  --teal-2: #5FB8C9;
  --teal-soft: #E3F1F3;
  --orange: #1B6E7E;
  --orange-dark: #155E6C;
  --gold: #8FCAD6;
  --bg: #F6F3EC;
  --bg-2: #EDE8DC;
  --bg-card: #FFFFFF;
  --bg-input: #FBF9F4;
  --surface: #FFFFFF;
  --surface-2: #FBF9F4;
  --line: #D9D2C3;
  --line-soft: #ECE6D8;
  --border: #D9D2C3;
  --fg: #10213F;
  --fg-dim: #3A4458;
  --fg-soft: #5A6375;
  --accent: #1B6E7E;
  --accent-2: #5FB8C9;
  --danger: #A0421C;
  --ok: #1D6B3A;
  --warn: #8A4B0B;
  --serif: Fraunces, Georgia, "Times New Roman", serif;
  --sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  --shadow-sm: 0 1px 2px rgba(16, 33, 63, .05);
  --shadow: 0 10px 30px -18px rgba(16, 33, 63, .35);
  --shadow-lg: 0 30px 60px -30px rgba(16, 33, 63, .35);
  min-height: 100vh;
  overflow-x: clip;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.55;
}

.tk :where(button, input, select, textarea) { font-family: var(--sans); }
.tk :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 3px;
}
.tk ::selection { background: var(--teal); color: #fff; }

/* Site masthead */
.tk .tricolor { display: none; }
.tk .utility-bar {
  background: var(--navy);
  border: 0;
  color: #DCE4F2;
  font-family: var(--mono);
}
.tk .utility-bar a,
.tk .utility-inner .right a { color: #fff; }
.tk nav.topbar {
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  box-shadow: none;
}
.tk .nav-inner { max-width: 1440px; padding: 14px 5.55%; }
.tk .logo-mark {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 12px;
  box-shadow: none;
}
.tk .logo .wordmark .brand-ar {
  color: var(--ink);
  font: 600 24px/1 var(--serif);
  letter-spacing: -.02em;
}
.tk .logo .wordmark .brand-ar::after { content: "."; color: var(--teal); }
.tk .logo .wordmark .tag { color: var(--fg-soft); }
.tk .nav-links a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  color: var(--fg-dim);
  font-weight: 500;
}
.tk .nav-links a:hover { background: var(--surface-2); color: var(--ink); }
.tk .nav-links a.active { background: var(--ink); color: var(--paper); }
.tk .nav-cta > button {
  width: 42px;
  min-height: 42px;
  padding: 0 !important;
  border: 1px solid var(--line) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--ink) !important;
}
.tk .btn { border-radius: 999px; font-weight: 500; font-size: 14px; }
.tk .btn-primary { background: var(--teal); color: #fff; }
.tk .btn-primary:hover { background: #155E6C; color: #fff; }
.tk .btn-ghost { background: transparent; color: var(--ink); border-color: var(--line); }
.tk .btn-ghost:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* Entry hero and tool browser */
.tk .container { max-width: 1440px; padding-right: 5.55%; padding-left: 5.55%; }
.tk .tools-hero {
  margin-bottom: 0;
  padding: clamp(42px, 6vw, 76px) clamp(22px, 5vw, 64px) 44px;
  border-radius: 0 0 22px 22px;
  background: var(--navy-deep);
  background-image: repeating-linear-gradient(180deg, transparent 0 55px, rgba(255,255,255,.045) 55px 56px);
  color: #F6F3EC;
}
.tk .tools-hero::before {
  background: linear-gradient(90deg, transparent 0 47px, rgba(232,185,165,.24) 47px 48px, transparent 48px);
}
.tk .tools-hero .kicker {
  border-color: rgba(143,202,214,.36);
  border-radius: 999px;
  background: transparent;
  color: #A7DCE4;
  font-family: var(--mono);
  font-weight: 500;
  letter-spacing: .08em;
}
.tk .tools-hero h1 {
  max-width: 900px;
  font: 400 clamp(36px, 5vw, 64px)/1.05 var(--serif);
  letter-spacing: -.03em;
}
.tk .tools-hero h1 em { color: #8FCAD6; font-style: italic; }
.tk .tools-hero .sub { max-width: 72ch; color: #D4DCE7; }
.tk .toolkit-entry-actions a { border-radius: 999px; border-color: #8FCAD6; }
.tk .toolkit-entry-actions a:first-child { background: #8FCAD6; color: #0A1830; }
.tk .toolkit-overview { border-color: rgba(220,228,242,.24); }
.tk .toolkit-overview summary { color: #E7EAF0; }
.tk .toolkit-overview p { color: #D4DCE7; }
.tk .tk-boot { color: var(--ink); }
.tk .tk-boot-logo { background: var(--navy); }
.tk .tk-boot h2 { color: var(--ink); }

.tk .tool-finder {
  border-color: var(--line);
  border-radius: 16px;
  background: var(--card);
  box-shadow: var(--shadow-sm);
}
.tk .tool-finder-toggle { min-height: 72px; }
.tk .tool-finder-toggle:hover { background: var(--surface-2); }
.tk .tool-finder-current small,
.tk .tool-finder-count { color: var(--fg-soft); }
.tk .tool-finder-action,
.tk .tool-finder-result .tool-finder-arrow { color: var(--teal); }
.tk .tool-finder-search input,
.tk .tool-finder-result { border-color: var(--line); background: var(--surface-2); color: var(--ink); }
.tk .tool-finder .cats { background: transparent; }
.tk .tool-finder .cats button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--card);
  color: var(--fg-dim);
}
.tk .tool-finder .cats button[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.tk .tool-finder-result[aria-current="true"] { border-color: var(--teal); }

/* Calculator workspace */
.tk .cats {
  justify-content: flex-start;
  width: 100%;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--card);
  box-shadow: none;
}
.tk .cats button,
.tk .tabs .tab {
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--fg-dim);
  font: 500 13px/1.35 var(--sans);
  letter-spacing: 0;
  text-transform: none;
}
.tk .cats button:hover,
.tk .tabs .tab:hover { background: var(--surface-2); color: var(--ink); }
.tk .cats button.active,
.tk .tabs .tab.active { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.tk .cats button.active > span { color: inherit; opacity: .8 !important; }
.tk .tabs { gap: 8px; margin-bottom: 22px; }
.tk .tabs .tab { border-color: var(--line); background: var(--card); }
.tk .tabs .tab.active { border-color: var(--ink); }
.tk .tab .dot { color: var(--teal); }
.tk .tab.active .dot { background: var(--teal-2); }
.tk .panel {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--card);
  box-shadow: 0 24px 54px -40px rgba(16,33,63,.45);
}
.tk .panel::before { height: 3px; background: linear-gradient(90deg, var(--teal), var(--teal-2)); }
.tk .panel-head h2 { color: var(--ink); font: 500 clamp(24px,2.4vw,34px)/1.15 var(--serif); }
.tk .panel-head h2 em { color: var(--teal); font-style: italic; }
.tk .panel-meta,
.tk .year-select label,
.tk .year-act { color: var(--fg-soft); }
.tk .year-select select {
  min-height: 44px;
  border-color: var(--line);
  border-radius: 10px;
  background: var(--bg-input);
  color: var(--ink);
}
.tk .field label { color: var(--ink); font-size: 13px; }
.tk .field .hint { color: var(--fg-soft); }
.tk .field input,
.tk .field select,
.tk .field textarea {
  min-height: 44px;
  border-color: var(--line);
  border-radius: 10px;
  background: var(--bg-input);
  color: var(--ink);
}
.tk .field input:focus,
.tk .field select:focus,
.tk .field textarea:focus,
.tk .year-select select:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent);
}
.tk .field input::placeholder,
.tk .field textarea::placeholder { color: var(--fg-soft); opacity: 1; }
.tk .result {
  border-color: var(--navy-deep);
  border-radius: 18px;
  background: var(--navy-deep);
  background-image: repeating-linear-gradient(180deg, transparent 0 43px, rgba(255,255,255,.04) 43px 44px);
}
.tk .result .label,
.tk .result .big .cur,
.tk .bd-row.total .v,
.tk .slab-row .rate { color: #A7DCE4; }
.tk .result .big { font-family: var(--serif); font-weight: 400; }
.tk .result .sub { color: #D4DCE7; }
.tk .result :where(h1, h2, h3, h4, h5, h6) { color: #F6F3EC; }
.tk .quick,
.tk .quick-action-bar,
.tk .export-bar {
  border-color: var(--line);
  border-radius: 14px;
  background: var(--surface-2);
}
.tk .quick-action-bar button,
.tk .export-bar button { border-radius: 999px; }
.tk .verdict { border-radius: 12px; }
.tk footer { background: var(--navy-deep); color: #DCE4F2; }
.tk footer a { color: #F6F3EC; }

/* Keep the full navigation at wide desktop sizes, then give the WhatsApp
   action room before the secondary links start competing for space. */
@media (max-width: 1360px) {
  .tk .nav-inner { gap: 10px; padding-right: 24px; padding-left: 24px; }
  .tk .nav-links { gap: 0; font-size: 13px; }
  .tk .nav-links a { padding-right: 8px; padding-left: 8px; }
}
@media (max-width: 1080px) {
  .tk .nav-links { display: none; }
}

@media (max-width: 900px) {
  .tk .nav-inner { padding-right: 24px; padding-left: 24px; }
  .tk .nav-links { display: none; }
}
@media (max-width: 600px) {
  .tk .fa-badge { position: static; display: table; margin: 12px auto; }
  .tk .utility-inner { height: auto; min-height: 32px; padding: 6px 16px; gap: 4px; }
  .tk .utility-inner .right { gap: 8px; font-size: 11px; }
  .tk .utility-inner .right a[href^="mailto:"] { display: none; }
  .tk .nav-inner { gap: 8px; padding: 10px 16px; }
  .tk .logo-mark { width: 38px; height: 38px; }
  .tk .logo .wordmark .brand-ar { font-size: 21px; }
  .tk .logo .wordmark .tag { display: none; }
  .tk .nav-cta { gap: 6px !important; }
  .tk .nav-cta .btn-ghost { display: none; }
  .tk .nav-cta .btn-primary { min-height: 40px; padding: 8px 12px; font-size: 12px; }
  .tk .container { padding-right: 16px; padding-left: 16px; }
  .tk .tools-hero.toolkit-entry { padding: 28px 20px 22px; border-radius: 0 0 18px 18px; }
  .tk .toolkit-entry h1 { font-size: clamp(32px, 9vw, 40px); }
  .tk .cats { padding: 7px; gap: 4px; }
  .tk .cats button { min-height: 42px; padding: 8px 11px; }
  .tk .panel { padding: 18px; border-radius: 16px; }
  .tk .panel-head { gap: 14px; }
  .tk .panel-head-right { gap: 10px; }
  .tk .year-select { align-items: flex-start; }
}
@media (max-width: 380px) {
  .tk .nav-inner { flex-wrap: wrap; }
  .tk .nav-cta { margin-left: auto; }
  .tk .nav-cta .btn-primary { display: inline-flex; white-space: nowrap; }
  .tk .tool-finder-results { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .tk *,
  .tk *::before,
  .tk *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
@media print {
  .tk { background: #fff !important; color: #000 !important; }
  .tk .topbar,
  .tk .tools-hero,
  .tk .cats,
  .tk .tabs,
  .tk footer,
  .tk .utility-bar,
  .tk .tricolor,
  .tk .quick-action-bar,
  .tk .export-bar { display: none !important; }
  .tk .panel { border: 0 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; }
  .tk .panel::before { display: none !important; }
}

.tk .result .breakdown h3 { color: #F6F3EC !important; }

/* Site theme for the calculators. Loaded last, so these values win over the finclar palettes. */
.tk {
  --navy: #13254a; --navy-fg: #13254a; --navy-dark: #0c1a36; --navy-deep: #0c1a36;
  --blue: #1f3a6d; --blue-soft: #f1ebdd; --teal: #1e5b5a;
  --orange: #8a6a2e; --orange-dark: #6e5221; --gold: #b8924f; --saffron: #b8924f; --green: #1e5b5a;
  --accent: #13254a; --accent-2: #8a6a2e;
  --bg: transparent; --bg-2: #ffffff; --bg-card: #ffffff; --bg-input: #ffffff;
  --surface: #ffffff; --surface-2: #faf8f3;
  --line: #e4dccb; --line-soft: #efe9dc; --border: #e4dccb;
  --fg: #1c2230; --fg-dim: #3f4656; --fg-soft: #626978; --ink-2: #3f4656; --muted: #626978;
  --ok: #1d6b47; --success: #1d6b47; --warn: #8a5a12; --danger: #a33a2c;
  --serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --head: var(--serif);
  --sans: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --shadow-sm: 0 1px 2px rgba(19, 37, 74, 0.06);
  --shadow: 0 6px 20px rgba(19, 37, 74, 0.08);
  --shadow-lg: 0 18px 40px rgba(19, 37, 74, 0.12);
}
.tk { min-height: 0; overflow-x: visible; background: transparent; font-size: 16px; }
.tk .container { max-width: none; padding: 0; }
.tk main { padding: 0; }
.tk .fa-badge { display: none; }
.tk .panel { border-radius: 16px; box-shadow: var(--shadow); }
.tk .panel-head h2 { font-family: var(--serif); font-weight: 600; color: var(--navy); }
.tk .btn-primary { background: var(--navy); border-color: var(--navy); color: #fff; }
.tk .btn-primary:hover { background: #1f3a6d; color: #fff; }
