:root{--ink:#1E293B;--teal:#0D9488;--tealdk:#0F766E;--orange:#EA580C;--pale:#F1F5F9;--grey:#64748B;
    --green:#15803D;--greenbg:#F0FDF4;--amber:#B45309;--amberbg:#FFFBEB;--red:#B91C1C;--redbg:#FEF2F2}
  *{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:#F1F5F9;color:var(--ink)}
  .display{font-family:'Space Grotesk',Inter,sans-serif}.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
  header{background:#0F172A;color:#fff;padding:16px 20px}
  header .wrap{max-width:1060px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:8px}
  .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.25em;color:#5EEAD4}
  h1{margin:2px 0 0;font-size:26px}h1 .air{color:#2DD4BF}h1 small{color:#94A3B8;font-weight:500;font-size:15px}
  main{max-width:1440px;margin:0 auto;padding:20px;display:grid;gap:18px;grid-template-columns:400px 1fr}
  @media(max-width:860px){main{grid-template-columns:1fr}}
  .panel{background:#fff;border:1px solid #E2E8F0;border-radius:12px}
  .panel.dark{background:#0F172A;color:#E2E8F0;border-color:#0F172A}
  .panel .hd{padding:12px 16px;border-bottom:1px solid #E2E8F0;display:flex;justify-content:space-between;align-items:center}
  .dark .hd{border-color:#1E293B}
  .cap{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.25em;color:var(--grey)}
  .dark .cap{color:#5EEAD4}
  button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid #CBD5E1;background:#fff;padding:7px 12px;font-weight:600;color:var(--ink)}
  button.primary{background:var(--teal);border-color:var(--teal);color:#fff}
  button.hot{background:var(--orange);border-color:var(--orange);color:#fff}
  button:disabled{opacity:.45;cursor:default}
  .draft{padding:11px 16px;border-bottom:1px solid #F1F5F9;display:flex;justify-content:space-between;gap:10px;align-items:center}
  .draft:last-child{border-bottom:0}
  .draft b{font-size:13.5px;display:block}
  .draft small{color:var(--grey);font-size:11.5px}
  .board{border:4px double;border-radius:14px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
  .board .v{font-family:'Space Grotesk';font-weight:700;font-size:26px}
  .board .s{font-family:'Space Grotesk';font-weight:700;font-size:34px;text-align:right}
  .board .s small{font-size:15px;color:var(--grey)}
  .CLEARED{border-color:#22C55E;background:var(--greenbg)}.CLEARED .v{color:var(--green)}
  .HOLD{border-color:#F59E0B;background:var(--amberbg)}.HOLD .v{color:#B45309}
  .GROUNDED{border-color:#EF4444;background:var(--redbg)}.GROUNDED .v{color:var(--red)}
  .chip{font-family:'IBM Plex Mono',monospace;font-size:9.5px;padding:2px 6px;border-radius:5px;border:1px solid;white-space:nowrap}
  .c-pass{background:#D1FAE5;color:#065F46;border-color:#6EE7B7}
  .c-warn{background:#FEF3C7;color:#92400E;border-color:#FCD34D}
  .c-fail{background:#FEE2E2;color:#991B1B;border-color:#FCA5A5}
  .c-info{background:#F1F5F9;color:#475569;border-color:#CBD5E1}
  .c-unverified{background:#EDE9FE;color:#5B21B6;border-color:#C4B5FD}
  .cat{border-top:1px solid #F1F5F9}
  .cat>.row{padding:10px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
  .cat>.row:hover{background:#F8FAFC}
  .dot{width:9px;height:9px;border-radius:50%}
  .find{padding:9px 16px 9px 34px;background:#F8FAFC;border-top:1px solid #F1F5F9;display:flex;gap:10px;font-size:13px}
  .find .code{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:#94A3B8;width:60px;flex:none;padding-top:2px}
  .find .fx{color:var(--tealdk);font-weight:600}
  .muted{color:var(--grey);font-size:12px}
  textarea,input{font:inherit;width:100%;border:1px solid #334155;background:#1E293B;color:#E2E8F0;border-radius:8px;padding:8px 10px;font-size:13px}
  textarea{font-family:'IBM Plex Mono',monospace;font-size:11.5px}
  label{display:block;font-size:10px;letter-spacing:.15em;color:#5EEAD4;font-family:'IBM Plex Mono',monospace;margin:10px 0 4px}
  .tabbtn{background:transparent;border:0;color:#94A3B8;font-weight:700;padding:6px 10px;border-radius:6px}
  .tabbtn.on{background:#1E293B;color:#fff}
  .plan{display:flex;gap:10px;background:#1E293B;border-radius:8px;padding:9px 11px;margin-bottom:8px;font-size:13px}
  .p1{color:#FCA5A5}.p2{color:#FCD34D}.p3{color:#94A3B8}
  .quote{background:#1E293B;border:1px solid #334155;border-radius:8px;padding:12px;margin:10px 0}
  .spin{display:inline-block;width:14px;height:14px;border:2px solid #5EEAD4;border-top-color:transparent;border-radius:50%;animation:r .8s linear infinite;vertical-align:-2px}
  @keyframes r{to{transform:rotate(360deg)}}
  .verifybtn{font-size:11.5px;padding:4px 9px;margin-left:8px;border-color:#7C3AED;color:#5B21B6;background:#F5F3FF}
  .rtab{border:1px solid #CBD5E1;background:#fff;color:var(--grey);font-weight:700;font-size:12.5px;padding:7px 14px;border-radius:99px;flex:none;transition:background .12s,color .12s,border-color .12s}
  .rtab:hover{background:#F1F5F9;color:var(--ink);border-color:#94A3B8}
  .rtab.on{background:var(--ink);border-color:var(--ink);color:#fff}
  .rtab.on:hover{background:#0F172A}
  .lrow{display:flex;align-items:center;gap:10px;padding:8px 16px;border-top:1px solid #F1F5F9;font-size:12.5px}
  .lrow .u{font-family:'IBM Plex Mono',monospace;font-size:11px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sarow{display:flex;gap:12px;padding:7px 16px;border-top:1px solid #F1F5F9;font-size:12.5px;align-items:baseline}

  /* v0.4.2 · sprint review */
  .grades{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px;align-items:center}
  .grade{font-size:10.5px;padding:2px 8px;border-radius:99px;border:1px solid #CBD5E1;background:#fff;color:#64748B;font-weight:600}
  .grade:hover{border-color:#94A3B8;color:#1E293B}
  .grade.on.g-correct{background:#D1FAE5;border-color:#6EE7B7;color:#065F46}
  .grade.on.g-false_positive,.grade.on.g-should_have_flagged{background:#FEE2E2;border-color:#FCA5A5;color:#991B1B}
  .grade.on.g-severity_wrong{background:#FEF3C7;border-color:#FCD34D;color:#92400E}
  .grade.on.g-accept_risk{background:#E2E8F0;border-color:#94A3B8;color:#334155}
  .revcard{margin:12px 16px;padding:12px 14px;border:1px solid #99F6E4;background:#F0FDFA;border-radius:10px;font-size:13px}
  .revgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:8px}
  .revcard .rl{display:block;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;color:#0F766E;margin:8px 0 3px}
  .revcard select,.revcard input,.revcard textarea{font:inherit;width:100%;border:1px solid #CBD5E1;background:#fff;color:#1E293B;border-radius:7px;padding:6px 8px;font-size:12.5px;font-family:inherit}
  .revcard .savebtn{background:#0D9488;border-color:#0D9488;color:#fff;font-size:12px;padding:6px 14px}
  .xbtn{background:transparent;border-color:#334155;color:#CBD5E1;font-size:11px;padding:3px 9px}
  .xbtn:hover{border-color:#5EEAD4;color:#5EEAD4}

  /* v0.4.3 · post-send chain, insights, list audit */
  .chain{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap}
  .stage{flex:1;min-width:120px;border:2px solid;border-radius:10px;padding:10px 12px}
  .arrow{align-self:center;color:#94A3B8;font-size:18px}
  .insights{margin:12px 16px;padding:10px 12px;border:1px solid #C4B5FD;background:#F5F3FF;border-radius:10px;font-size:13px}
  .ins{display:flex;gap:10px;padding:5px 0;border-top:1px solid #EDE9FE}
  .ins:first-of-type{border-top:0}
  .ins .code{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:#7C3AED;width:64px;flex:none;padding-top:2px}
  .seggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
  .seg{border:1px solid #E2E8F0;border-radius:10px;padding:10px 12px;background:#F8FAFC}
  .snap{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid #E2E8F0;margin-bottom:6px;cursor:pointer;font-size:13px}
  .snap:hover{background:#F8FAFC}
  .mt{width:100%;border-collapse:collapse;font-size:12.5px;margin-bottom:12px}
  .mt th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;color:#64748B;padding:6px 8px;border-bottom:1px solid #E2E8F0}
  .mt td{padding:6px 8px;border-bottom:1px solid #F1F5F9}

  /* v0.5.0 · write-back */
  .fixbtn{font-size:11px;padding:3px 10px;border-radius:99px;background:#0D9488;border-color:#0D9488;color:#fff;font-weight:700;margin:6px 6px 0 0}
  .fixpanel{margin:0 16px 10px 84px;padding:12px 14px;border:1px solid #99F6E4;border-left:4px solid #0D9488;background:#F0FDFA;border-radius:10px;font-size:13px}
  .fixpanel .rl{display:block;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;color:#0F766E;margin:8px 0 3px}
  .fixpanel input,.fixpanel select,.fixpanel textarea{font:inherit;width:100%;border:1px solid #CBD5E1;background:#fff;color:#1E293B;border-radius:7px;padding:6px 8px;font-size:12.5px}
  .fixpanel textarea{font-family:'IBM Plex Mono',monospace;font-size:11.5px}
  .fixpanel .savebtn{background:#0D9488;border-color:#0D9488;color:#fff;font-size:12px;padding:6px 14px}
  .fixpanel button:disabled{opacity:.5}
  .altrow{display:flex;gap:10px;align-items:center;margin:6px 0}
  .altrow img{width:56px;height:40px;object-fit:cover;border-radius:6px;background:#E2E8F0;flex:none}
  .diffcard{margin-top:10px;padding:10px 12px;background:#fff;border:1px solid #E2E8F0;border-radius:8px}
  .dl{font-family:'IBM Plex Mono',monospace;font-size:11px;white-space:pre-wrap;word-break:break-all;padding:1px 6px;border-radius:3px;display:flex;gap:8px}
  .dl span{width:10px;flex:none;color:#94A3B8}
  .d-{background:#FEE2E2;color:#7F1D1D}.d\+{background:#D1FAE5;color:#064E3B}.de{color:#94A3B8;font-style:italic}.d\={color:#475569}
  .fixstatus{margin:10px 16px;padding:10px 12px;border-radius:8px;font-size:13px}
  .fixstatus.ok{background:#D1FAE5;border:1px solid #6EE7B7;color:#065F46}
  .fixstatus.bad{background:#FEE2E2;border:1px solid #FCA5A5;color:#991B1B}

/* v0.8.0 */
.emailcard{padding:10px 14px;display:grid;gap:4px}
.ec-row{display:flex;gap:10px;align-items:baseline;font-size:12.5px;line-height:1.45}
.ec-k{flex:none;width:76px;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.12em;color:#64748B;text-transform:uppercase}
.ec-v{min-width:0;overflow-wrap:anywhere;color:#0F172A}
.observed{margin-top:4px;font-family:"IBM Plex Mono",monospace;font-size:11.5px;background:#F8FAFC;border:1px solid #E2E8F0;border-left:3px solid #0F766E;border-radius:6px;padding:5px 8px;color:#0F172A;overflow-wrap:anywhere}

.why{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:12px;align-items:center}
.why>.mono{flex-basis:100%}
.whyitem{display:inline-flex;align-items:center;padding:2px 8px 2px 4px;border-radius:6px;border:1px solid transparent;background:rgba(255,255,255,.55)}
.whyitem.w-fail{border-color:#FCA5A5;color:#991B1B}.whyitem.w-warn{border-color:#FCD34D;color:#92400E}.whyitem.w-unv{border-color:#C4B5FD;color:#5B21B6}

.ec-changed{background:#ECFDF5;border-radius:6px;padding:2px 6px;margin:0 -6px}
.ec-changed .ec-v::after{content:" · updated";font-family:"IBM Plex Mono",monospace;font-size:10px;color:#0F766E}
/* v0.12.5 — layout fixes */
main > section{min-width:0}                    /* grid children default to min-width:auto, which let long mono lines force a horizontal scroll */
main, header .wrap{padding-left:20px;padding-right:20px}
header{padding:16px 0}
@media(max-width:860px){main, header .wrap{padding-left:12px;padding-right:12px}}
.board, .revcard, .fixstatus, .insights, .find, .emailcard{min-width:0;overflow-wrap:anywhere}
.revcard input[type="checkbox"]{width:auto;margin:0;accent-color:#0F766E}
.revcard label{color:#0F172A}
.revcard .cal-rule{display:flex;gap:8px;align-items:center;font-size:12.5px;margin-top:6px;color:#0F172A;flex-wrap:wrap}
.revcard .cal-rule input[type="text"]{max-width:240px;width:auto;flex:1}

/* v0.12.6 — funnel strip */
.funnel{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;padding:2px 0 4px}
.fstage{min-width:0}
.fbar{height:6px;border-radius:99px;background:#F1F5F9;overflow:hidden;margin-top:6px}.fbar>div{height:100%;border-radius:99px}
.heat td{padding:0;border:1px solid #E2E8F0;text-align:center;vertical-align:middle;height:44px;font-size:12px}
.heat th{padding:6px 4px;border:1px solid #E2E8F0;font-size:10.5px;color:#64748B;font-weight:600}
.heat .thin{opacity:.55}

/* v0.12.7 — wider layout, no inner scroll on the heatmap */
header .wrap, main{max-width:1320px}
main{grid-template-columns:360px minmax(0,1fr)}
@media(max-width:1100px){main{grid-template-columns:320px minmax(0,1fr)}}
@media(max-width:860px){main{grid-template-columns:1fr}}
.heat{min-width:0 !important;table-layout:fixed}
.heat td{height:40px;font-size:11px;padding:2px 1px}
.heat td>div:first-child{font-size:12.5px !important}
.heat td>div:last-child{font-size:9px !important}
.heat th{font-size:10px;padding:5px 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.chip.c-not_applicable{background:#F1F5F9;color:#64748B;border-color:#CBD5E1}
/* v0.16.3 — login: two columns on wide screens, stacked on narrow */
.loginwrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;max-width:860px;width:100%;align-items:start}
.logincol-b{align-self:center}
@media(max-width:760px){.loginwrap{grid-template-columns:1fr;gap:16px;max-width:400px}}

/* ── v0.31.0 · Home v4 ── */
.h4-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.h4-head h1{margin:0;font-family:'Space Grotesk',sans-serif;font-size:30px;letter-spacing:-.02em;color:var(--ink)}
.h4-tag{font-size:16px;color:#334155}.h4-meta{color:var(--grey);font-size:13px;margin-top:2px}
.h4-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.h4-tools{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.h4-banner{background:#EEF4FB;border-radius:10px;padding:7px 12px;font-size:12.5px;color:#334155;display:flex;gap:8px;align-items:center}
.h4-banner i{width:15px;height:15px;border-radius:50%;background:#1D4ED8;color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center;font-style:normal;flex:none}
.h4-banner.h4-warn{background:#FEF2F2;color:#991B1B}.h4-banner a{color:inherit;text-decoration:underline}
.h4-tabs{display:flex;gap:2px;border-bottom:1px solid #E2E8F0;margin:12px 0 14px;overflow-x:auto}
.h4-tabs button{border:0;background:transparent;border-radius:0;padding:9px 16px;color:#334155;font-size:13.5px;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px;font-weight:500}
.h4-tabs button.on{color:#0F766E;font-weight:700;border-bottom-color:#0F766E}
.h4-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.h4-kpi{border-radius:12px;padding:14px 14px 12px;display:grid;grid-template-columns:1fr 16px;gap:10px;align-items:start;cursor:pointer;border:1px solid #E2E8F0;background:#fff;text-align:left;font:inherit;min-width:0}
.h4-kpi.warn{background:#FFF8E6;border-color:#FDE68A}.h4-kpi.good{background:#ECFDF5;border-color:#A7F3D0}.h4-kpi.bad{background:#FEF2F2;border-color:#FECACA}
.h4-kpi .l{font-size:13px;color:#334155}.h4-kpi .v{font-family:'Space Grotesk',sans-serif;font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:2px 0;color:var(--ink)}
.h4-kpi .v small{font-size:14px;font-weight:500;color:#334155;margin-left:6px}.h4-kpi .s{font-size:12px;color:#334155}.h4-kpi .chev{color:var(--grey);font-size:20px;line-height:1;margin-top:6px}
.h4-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:12px}.h4-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:12px}
.h4-card{padding:16px 18px;min-width:0}.h4-card h2{margin:0;font-family:'Space Grotesk',sans-serif;font-size:18px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;color:var(--ink)}
.h4-card h2 .chev{margin-left:auto;color:var(--grey);font-weight:400;font-size:20px;text-decoration:none}.h4-card .sub{color:var(--grey);font-size:12.5px;margin-top:2px}
.h4-step{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;border:1px solid #E2E8F0;border-radius:10px;padding:10px 12px;margin-top:10px}
.h4-step .n{width:32px;height:32px;border-radius:50%;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:14px}
.h4-step .n1{background:#EA580C}.h4-step .n2{background:#D97706}.h4-step .n3{background:#0F766E}
.h4-step b{font-size:14px;display:block;color:var(--ink)}.h4-step .d{color:#334155;font-size:12.5px}.h4-step .g{color:var(--grey);font-size:10.5px;margin-top:2px}.h4-step button{white-space:nowrap}
.h4-tbl{width:100%;border-collapse:collapse;margin-top:8px}.h4-tbl td{padding:6px 0;border-bottom:1px solid #F1F5F9;font-size:13px}.h4-tbl td:last-child{text-align:right;font-weight:600;font-family:'IBM Plex Mono',monospace;font-size:12.5px}
.h4-link{display:inline-block;margin-top:10px;font-weight:600;font-size:12.5px;color:#0F766E}
.h4-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.h4-mini.two{grid-template-columns:1fr 1fr}
.h4-mini div{border:1px solid #E2E8F0;border-radius:10px;padding:9px 10px;font-size:11.5px;color:#334155}.h4-mini b{display:block;font-family:'Space Grotesk',sans-serif;font-size:20px;color:var(--ink);letter-spacing:-.01em}
.h4-wide{border:1px solid #E2E8F0;border-radius:10px;padding:9px 12px;margin-top:8px;font-size:12px;color:#334155;display:flex;gap:12px;align-items:baseline}.h4-wide b{font-family:'Space Grotesk',sans-serif;font-size:20px;color:var(--ink)}
.h4-ins{border:1px solid #E2E8F0;border-radius:10px;padding:9px 12px;margin-top:8px;display:flex;gap:8px;align-items:center;font-size:13px;flex-wrap:wrap}.h4-ins a{margin-left:auto;font-size:12.5px;color:#0F766E;white-space:nowrap}
.h4-ins.big{display:block}.h4-ins.big .v{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:700;margin:2px 0;color:var(--ink)}
@media (max-width:1100px){.h4-kpis{grid-template-columns:1fr 1fr}.h4-grid,.h4-grid3{grid-template-columns:1fr}}
@media (max-width:640px){.h4-kpis{grid-template-columns:1fr}.h4-step{grid-template-columns:32px 1fr}.h4-step button{grid-column:2;justify-self:start}.h4-head h1{font-size:26px}}
