/* IAM Toolkit pages (hub + tools). Uses the site's theme variables. */
.tk-hero{padding:var(--spacing-3xl,3.2rem) 0 var(--spacing-2xl,2.2rem);border-bottom:1px solid var(--border-color);
  background:linear-gradient(135deg,var(--surface-color),var(--card-bg))}
.tk-kicker{font-family:'JetBrains Mono',monospace;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#00ff88;font-size:.82rem}
.tk-kicker a{color:inherit;text-decoration:none}
.tk-title{font-size:clamp(2rem,4.6vw,3rem);font-weight:800;margin:.45rem 0}
.tk-sub{max-width:760px;color:var(--text-secondary,#cbd5e1);font-size:1.05rem;line-height:1.6;margin:0}
.tk-private{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.45rem .8rem;border:1px solid rgba(0,255,136,.3);border-radius:999px;
  font-size:.85rem;color:#9ff5cf;background:rgba(0,255,136,.06)}
.tk-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.1rem}
.tk-card{display:flex;flex-direction:column;gap:.55rem;text-decoration:none;color:#F2F4F7;background:var(--card-bg);border:1px solid var(--border-color);
  border-radius:14px;padding:1.25rem 1.3rem;transition:transform .2s,border-color .2s}
.tk-card:hover,.tk-card:focus-visible{transform:translateY(-3px);border-color:#00ff88;outline:none}
.tk-card .ico{font-size:1.6rem}
.tk-card h2{font-size:1.2rem;margin:0}
.tk-card p{margin:0;color:var(--text-secondary,#cbd5e1);font-size:.93rem;line-height:1.55}
.tk-card .tags{margin-top:auto;padding-top:.5rem;font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#4CC3FF}
.tk-soon{opacity:.6;border-style:dashed}
.tk-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:1.3rem 1.4rem}
.tk-row{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:1.2rem;align-items:start}
@media (max-width:900px){.tk-row{grid-template-columns:1fr}}
.tk-field{display:flex;flex-direction:column;gap:.35rem;margin:.6rem 0;font-size:.92rem;color:var(--text-secondary,#cbd5e1)}
.tk-field input,.tk-field select,.tk-field textarea,.tk-select{background:#0D1B2A;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:#E6EDF3;
  padding:.6rem .7rem;font:inherit;font-size:.95rem;width:100%;box-sizing:border-box}
.tk-field textarea{font-family:'JetBrains Mono',monospace;font-size:.85rem;min-height:120px;resize:vertical}
.tk-field input:focus,.tk-field select:focus,.tk-field textarea:focus{outline:none;border-color:#00ff88}
.tk-check{display:flex;gap:.55rem;align-items:flex-start;margin:.55rem 0;font-size:.92rem;color:#dbe4ee;cursor:pointer}
.tk-check input{margin-top:.2rem;accent-color:#00ff88}
.tk-btns{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}
.tk-btn{background:#00ff88;color:#0A0C0F;border:0;border-radius:10px;padding:.55rem 1rem;font-weight:700;cursor:pointer;font-size:.92rem}
.tk-btn.alt{background:transparent;color:#dbe4ee;border:1px solid rgba(255,255,255,.2)}
.tk-btn.alt:hover{border-color:#00ff88;color:#00ff88}
.tk-btn[aria-pressed=true]{outline:2px solid #00ff88;outline-offset:1px}
.tk-btn:disabled{opacity:.45;cursor:default}
.tk-code{background:#070B10;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;overflow:auto;max-height:640px;margin:0;
  font:13px/1.55 'JetBrains Mono',monospace;color:#d6e2ee;white-space:pre}
.tk-muted{color:var(--text-secondary,#94a3b8);font-size:.9rem}
.tk-note{font-size:.88rem;color:var(--text-secondary,#94a3b8);line-height:1.55}
.tk-note b{color:#dbe4ee}
.tk-body{display:grid;grid-template-columns:1fr 300px;gap:2rem;margin-top:2rem}
@media (max-width:900px){.tk-body{grid-template-columns:1fr}}
.tk-side .box{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1rem 1.1rem;margin-bottom:1rem}
.tk-side h3{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary,#94a3b8);margin:0 0 .6rem}
.tk-side ul{list-style:none;margin:0;padding:0}.tk-side li{margin:.35rem 0}
.tk-side a{color:#00ff88;text-decoration:none}
.tk-share{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
/* password */
.pw-out{display:flex;gap:.5rem}
.pw-out input{flex:1;font:600 1.05rem 'JetBrains Mono',monospace;background:#070B10;border:1px solid rgba(0,255,136,.35);border-radius:10px;color:#fff;padding:.75rem .8rem;min-width:0}
.pw-meter{height:8px;border-radius:99px;background:rgba(255,255,255,.08);margin:.8rem 0 .4rem;position:relative;overflow:hidden}
.pw-meter::after{content:"";position:absolute;inset:0;width:var(--pct,0%);border-radius:99px;background:#ef4444;transition:width .3s}
.pw-meter.fair::after{background:#f59e0b}.pw-meter.strong::after{background:#22c55e}.pw-meter.excellent::after{background:#00ff88}
.pw-breach{margin-top:.5rem;font-size:.9rem}.pw-breach.ok{color:#86efac}.pw-breach.bad{color:#fca5a5}
input[type=range]{accent-color:#00ff88;width:100%}
/* jwt */
.jwt-err{color:#fca5a5;font-size:.9rem;min-height:1.2em}
.jwt-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width:760px){.jwt-cols{grid-template-columns:1fr}}
.jwt-find{list-style:none;padding:0;margin:0}
.jwt-find li{padding:.55rem .7rem;border-radius:10px;margin:.4rem 0;background:#0D1B2A;border-left:4px solid #64748b;font-size:.92rem}
.jwt-find b{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;margin-right:.4rem}
.jwt-find .sev-high{border-color:#ef4444}.jwt-find .sev-high b{color:#fca5a5}
.jwt-find .sev-medium{border-color:#f59e0b}.jwt-find .sev-medium b{color:#fcd34d}
.jwt-find .sev-low{border-color:#4CC3FF}.jwt-find .sev-low b{color:#7dd3fc}
.jwt-find .sev-ok{border-color:#00ff88}.jwt-find .sev-ok b{color:#86efac}
.jwt-vres.ok{color:#86efac}.jwt-vres.bad{color:#fca5a5}
/* mfa */
.mfa-qr{background:#fff;border-radius:12px;padding:8px;width:220px;max-width:100%}
.mfa-qr svg{display:block;width:100%;height:auto}
.mfa-secret{font:600 .95rem 'JetBrains Mono',monospace;letter-spacing:.06em;color:#dbe4ee;word-break:break-all}
.mfa-now{font:700 1.8rem 'JetBrains Mono',monospace;letter-spacing:.2em;color:#00ff88;filter:blur(6px);transition:filter .2s}
.mfa-show-code .mfa-now{filter:none}
.mfa-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.08);position:relative;overflow:hidden;margin:.4rem 0}
.mfa-bar::after{content:"";position:absolute;inset:0;width:var(--pct,100%);background:#4CC3FF;transition:width 1s linear}
.mfa-result.ok{color:#86efac}.mfa-result.bad{color:#fca5a5}
.pk-log{list-style:none;padding:0;margin:.6rem 0 0;font-size:.9rem}
.pk-log li{padding:.5rem .7rem;border-radius:10px;background:#0D1B2A;margin:.35rem 0;border-left:3px solid #4CC3FF}
.pk-log li.ok{border-color:#00ff88}.pk-log li.bad{border-color:#ef4444}
/* phase 2 */
.pi-verdict{padding:.8rem 1rem;border-radius:10px;margin:1rem 0;border-left:4px solid #64748b;background:#0D1B2A}
.pi-verdict.bad{border-color:#ef4444}.pi-verdict.warn{border-color:#f59e0b}.pi-verdict.ok{border-color:#00ff88}
.pi-reply{white-space:pre-wrap;max-height:260px}
#pi-out h3{font-size:.95rem;margin:.9rem 0 .4rem}
.pc-overall{padding:.8rem 1rem;border-radius:10px;margin:1rem 0;background:#0D1B2A;border-left:5px solid #64748b}
.pc-overall b{font-family:'JetBrains Mono',monospace;margin-right:.4rem}
.pc-overall.sev-critical{border-color:#dc2626}.pc-overall.sev-high{border-color:#ef4444}.pc-overall.sev-medium{border-color:#f59e0b}.pc-overall.sev-low{border-color:#00ff88}
.jwt-find .sev-critical{border-color:#dc2626;background:#1a0d12}.jwt-find .sev-critical b{color:#f87171}
.jwt-find .sev-unknown{border-color:#64748b}
.jwt-find code{font-size:.85rem;color:#e2e8f0}
.ca-cov{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.3rem .8rem}
.ca-cov li{font-size:.93rem}.ca-cov li.gap{color:#fcd34d}
.ca-pol{margin-bottom:1rem}.ca-pol p{margin:.5rem 0}
.ca-head{display:flex;justify-content:space-between;gap:1rem;align-items:center}
.ca-state{font:700 .72rem 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .5rem;border-radius:6px;background:#1e293b}
.ca-on{color:#86efac}.ca-reportonly{color:#fcd34d}.ca-off{color:#94a3b8}
.nhi-q{margin-bottom:1rem;border:1px solid var(--border-color)}
.nhi-q legend{font-weight:600;padding:0 .3rem;line-height:1.5}
.nhi-top{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
.nhi-ring{--pct:0;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(#00ff88 calc(var(--pct)*1%),rgba(255,255,255,.08) 0);position:relative}
.nhi-ring::before{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--card-bg,#0f172a)}
.nhi-ring span{position:relative;font:800 1.7rem Inter,sans-serif}
.nhi-areas{list-style:none;padding:0;margin:0}
.nhi-areas li{display:grid;grid-template-columns:110px 1fr 44px;gap:.6rem;align-items:center;margin:.45rem 0;font-size:.92rem}
.nhi-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.nhi-bar i{display:block;height:100%;background:#4CC3FF}
.nhi-actions li{margin:.5rem 0}.nhi-actions a{color:#00ff88}
