:root{--bg:#000;--panel:#111;--panel2:#171717;--line:#2a2a2a;--red:#e01e37;--red2:#ff3b52;--txt:#f2f2f2;--mut:#9a9a9a;
--blue:#2f6bff;--green:#12a36b;--orange:#e07b1a;--purple:#8e4dff;--amber:#e8b020;
--sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
button,input,select{font:inherit;color:inherit}
#splash{position:fixed;inset:0;background:#000;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:opacity .4s}
#splash.hide{opacity:0;pointer-events:none}
#splash img{border-radius:22px;margin-bottom:14px;box-shadow:0 0 40px #e01e3744}
.sp-brand{font-size:34px;font-weight:900;letter-spacing:3px}.sp-brand span{color:var(--red)}
.sp-name{font-size:18px;font-weight:800;letter-spacing:6px;color:var(--red)}
.sp-tag{color:var(--mut);font-size:13px;margin-top:8px}
.sp-bar{width:160px;height:3px;background:#222;border-radius:3px;margin-top:22px;overflow:hidden}
.sp-bar i{display:block;height:100%;width:40%;background:var(--red);animation:sl 1s infinite ease-in-out}
@keyframes sl{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
header.top{position:sticky;top:0;z-index:20;background:#000;border-bottom:2px solid var(--red);padding:calc(8px + var(--sat)) 14px 8px;display:flex;align-items:center;gap:10px}
.logo{font-weight:900;letter-spacing:2px;font-size:19px;white-space:nowrap}.logo b{color:var(--red)}
.logo small{display:block;font-size:10px;letter-spacing:4px;color:var(--red);font-weight:800;margin-top:-2px}
.top .sp{flex:1}
.ibtn{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer}
.ibtn:active{background:#222}
main{max-width:900px;margin:0 auto;padding:12px 14px calc(30px + var(--sab))}
.lock{min-height:calc(100vh - 40px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;gap:14px;max-width:460px;margin:auto}
.lock img{border-radius:22px}
.lock h1{margin:4px 0 0;font-size:26px;letter-spacing:2px;font-weight:900}.lock h1 b{color:var(--red)}
.lock .sub{color:var(--red);letter-spacing:5px;font-weight:800;font-size:13px;margin-top:-10px}
.lock p{color:var(--mut);margin:0;font-size:14px}
.code-in{width:100%;background:#0b0b0b;border:2px solid var(--line);border-radius:12px;padding:15px;font-size:22px;letter-spacing:2px;text-align:center;text-transform:uppercase;font-family:ui-monospace,Menlo,Consolas,monospace}
.code-in:focus{outline:none;border-color:var(--red)}
.btn{width:100%;background:var(--red);border:0;border-radius:12px;padding:15px;font-weight:800;font-size:17px;letter-spacing:1px;cursor:pointer;color:#fff}
.btn:disabled{opacity:.5}.btn.ghost{background:var(--panel);border:1px solid var(--line);font-weight:600}
.err{color:#ff6b7d;font-size:14px;min-height:20px}
.ios-tip{background:#14110a;border:1px solid #4d3c10;color:#e8c569;border-radius:10px;padding:10px 12px;font-size:13px;text-align:left}
.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.filters .full{grid-column:1/-1}
.sel,.search{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:11px 12px;appearance:none;-webkit-appearance:none}
select.sel{background-image:linear-gradient(45deg,transparent 50%,var(--red) 50%),linear-gradient(135deg,var(--red) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}
.sel:disabled{opacity:.45}
.search:focus,.sel:focus{outline:none;border-color:var(--red)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.chip{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer;white-space:nowrap}
.chip.on{background:var(--red);border-color:var(--red);font-weight:700}
.count{display:flex;justify-content:space-between;align-items:center;color:var(--mut);font-size:13px;margin:6px 2px 8px}
.count a{color:var(--red2);cursor:pointer}
.list{display:flex;flex-direction:column;gap:8px}
.card{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;padding:11px 12px;cursor:pointer}
.card:active{background:#1b1b1b}
.card .t{font-weight:800;font-size:16px}
.card .y{color:var(--red2);font-weight:700;font-size:13px}
.card .m{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tag{font-size:11.5px;border-radius:6px;padding:2px 7px;background:#1f1f1f;border:1px solid #333;color:#ccc}
.tag.d1{color:#5be3a6;border-color:#14573f}.tag.d2{color:#e8d35c;border-color:#5a4e12}.tag.d3{color:#ff6b7d;border-color:#5a1a24}
.empty{text-align:center;color:var(--mut);padding:40px 10px}
.more{margin:12px 0}
.dh{background:linear-gradient(135deg,#1c3a8a,#0c1f55);border-radius:14px;padding:14px;margin-bottom:12px;border:1px solid #2d4fae}
.dh h2{margin:0;font-size:21px;font-weight:900;line-height:1.15}.dh .sub{opacity:.85;font-size:12.5px;margin-top:6px;font-family:ui-monospace,Menlo,monospace}
.back{display:inline-flex;gap:6px;align-items:center;background:none;border:0;color:var(--red2);font-weight:700;padding:6px 0 10px;cursor:pointer;font-size:15px}
h3.sec{font-size:13px;letter-spacing:2px;color:var(--red2);text-transform:uppercase;margin:22px 0 8px;border-bottom:1px solid var(--line);padding-bottom:5px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:8px}
.fld{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.fld.wide{grid-column:1/-1}
.fld label{display:block;font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:#7ea0ff;font-weight:800;margin-bottom:3px}
.fld .v{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14.5px;word-break:break-word}
.fld.key .v{color:#6fe3b0}.fld.rf .v{color:#ff8a98}
.diff{display:flex;align-items:center;gap:10px;margin-top:4px}
.bar{flex:1;height:9px;background:#262626;border-radius:6px;overflow:hidden}.bar i{display:block;height:100%}
.tabs{display:flex;gap:6px;margin-bottom:8px}
.tabs button{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px;font-weight:700;cursor:pointer;font-size:14px}
.tabs button.on{background:var(--red);border-color:var(--red)}
.imgbox{position:relative;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line);min-height:120px;cursor:zoom-in}
.imgbox img{display:block;width:100%;height:auto}
.imgbox .zoomhint{position:absolute;right:8px;bottom:8px;background:#000c;color:#fff;font-size:12px;padding:4px 9px;border-radius:999px}
.imgbox .ld{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#666}
.cap{color:var(--mut);font-size:12px;margin:6px 2px}
.locks{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.lk{border-radius:9px;padding:7px 10px;font-size:13px;border:1.5px solid;background:#0d0d0d}
.lk b{display:block;font-size:12px;letter-spacing:.6px}.lk.i{border-color:var(--blue);color:#8fb0ff}.lk.d{border-color:var(--green);color:#5be3a6}.lk.t{border-color:var(--orange);color:#ffb067}.lk.g{border-color:var(--purple);color:#c3a0ff}
.reads{margin-top:8px;font-family:ui-monospace,Menlo,monospace;font-size:13px;background:#0d0d0d;border:1px solid var(--line);border-radius:9px;padding:8px 10px;color:#ddd}
.akl{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:9px;display:flex;gap:11px}
.akl.m{border-left:4px solid var(--green)}.akl.e{border-left:4px solid var(--purple)}
.num{flex:0 0 34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px}
.m .num{background:#0e3f2d;color:#5be3a6;border:1.5px solid var(--green)}.e .num{background:#2b1760;color:#c3a0ff;border:1.5px solid var(--purple)}
.akl .grp{font-size:10.5px;letter-spacing:1.4px;font-weight:800;text-transform:uppercase}.m .grp{color:#5be3a6}.e .grp{color:#c3a0ff}
.akl .ti{font-weight:800;margin:2px 0 4px}.akl .bd{font-size:14.5px;color:#d8d8d8;word-break:break-word}
.stamp{background:#17130a;border:1px solid #5c4a14;border-left:4px solid var(--amber);border-radius:12px;padding:11px 12px}
.note{background:#0f0f14;border:1px solid #2a2a44;border-radius:12px;padding:11px 12px;color:#cfd2ff;font-size:14.5px}
.disc{color:#777;font-size:12px;margin-top:22px;white-space:pre-wrap}
.row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px}.row span:first-child{color:var(--mut)}
.prog{height:10px;background:#222;border-radius:6px;overflow:hidden;margin:10px 0}.prog i{display:block;height:100%;background:var(--red);width:0}
.toast{position:fixed;left:50%;bottom:calc(20px + var(--sab));transform:translateX(-50%);background:#222;border:1px solid var(--red);padding:10px 16px;border-radius:12px;z-index:60;font-size:14px}
#viewer{position:fixed;inset:0;background:#000;z-index:80;display:flex;flex-direction:column}
#viewer[hidden]{display:none}
.v-bar{display:flex;align-items:center;gap:10px;padding:calc(8px + var(--sat)) 10px 8px;background:#000;border-bottom:1px solid var(--red)}
.v-bar button{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px 12px;cursor:pointer}
#v-title{flex:1;font-size:13px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
#v-stage{flex:1;position:relative;overflow:hidden;touch-action:none;background:#fff;cursor:grab}
#v-img{position:absolute;left:0;top:0;transform-origin:0 0;user-select:none;-webkit-user-drag:none;max-width:none;will-change:transform}
.v-hint{position:absolute;bottom:calc(10px + var(--sab));left:50%;transform:translateX(-50%);background:#000b;color:#fff;font-size:12px;padding:5px 12px;border-radius:999px;pointer-events:none}
@media(min-width:700px){.filters{grid-template-columns:repeat(4,1fr)}.filters .full{grid-column:1/-1}}

/* Ilco EZ listing */
.tag.ez{color:#fff;border-color:#e01e37;font-weight:700}
.ezv{display:flex;flex-wrap:wrap;gap:6px}
.ezc{display:inline-block;background:#e01e37;color:#fff;border-radius:6px;padding:3px 10px;font-size:18px;letter-spacing:.5px;font-weight:800}
.noez{color:#e8b020;font-weight:700}
.xr{color:#9a9a9a;font-size:13px;font-weight:400}

/* Key Man brand strip (all screens) */
#brandstrip{display:flex;align-items:center;justify-content:center;gap:9px;background:#0b0b0b;border-bottom:1px solid #222;padding:calc(5px + var(--sat)) 12px 5px}
#brandstrip img{height:24px;width:auto;display:block;border-radius:4px}
#brandstrip span{font-size:11px;letter-spacing:.3px;color:#bdbdbd;line-height:1.15}
.proloa{display:flex;justify-content:center;margin:22px 0 4px}.proloa img{height:auto;width:150px;border-radius:5px;opacity:.95}

/* jump bar */
.jump{display:flex;gap:6px;overflow-x:auto;margin:0 0 6px;padding-bottom:4px}
.jump a{flex:0 0 auto;border:1px solid var(--red);color:#fff;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;cursor:pointer;background:#140508}
/* programmer cards */
.pg{background:var(--panel);border:1px solid var(--line);border-left:4px solid #444;border-radius:12px;padding:10px 12px;margin-bottom:8px}
.pg.pri{border-left-color:var(--red);background:#150a0c}
.pg.none{border-left-color:var(--amber)}
.pgh{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:17px}
.rk{font-size:10.5px;letter-spacing:1.5px;font-weight:800;background:#262626;border-radius:5px;padding:2px 7px;color:#ccc}
.pg.pri .rk{background:var(--red);color:#fff}
.pgm{color:var(--mut);font-size:13px;margin-top:5px}.mref{display:inline-block;background:#1b1b1b;border:1px solid #333;border-radius:6px;padding:1px 7px;margin:2px 4px 2px 0;color:#ddd;font-size:12px}
.tgs{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.ptag{font-size:11px;border-radius:6px;padding:2px 7px;background:#1f1f1f;border:1px solid #444;color:#e8b020;font-weight:700}
.ptag.oem{color:#9ec1ff;border-color:#2f4f8f}.ptag.gen{color:#fff;border-color:var(--red);background:#2a0b10}
ul.pn{margin:7px 0 0;padding-left:18px;font-size:13px;color:#cfcfcf}ul.pn li{margin:3px 0}ul.pn i{color:var(--red2);font-style:normal;font-weight:700}
/* flowcharts */
.flow{display:flex;flex-direction:column;align-items:stretch}
.farr{height:22px;position:relative}.farr:before{content:"";position:absolute;left:50%;top:0;bottom:6px;width:2px;background:var(--red);transform:translateX(-1px)}
.farr:after{content:"";position:absolute;left:50%;bottom:0;border:6px solid transparent;border-top:8px solid var(--red);border-bottom:0;transform:translateX(-6px)}
.fn{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.fn.start{border-color:#5a1a24}.fn.test{border-color:#14573f}.fn.end{background:#0a1a12;border-color:#14573f;text-align:center}.fn.dim{opacity:.45}
.fh{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;padding:11px 12px;min-height:54px;text-align:left;cursor:pointer;color:#fff}
.fh.static{cursor:default}
.fi{flex:0 0 30px;height:30px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.ft{flex:1;font-weight:700;font-size:15px;line-height:1.2}.ft small{display:block;font-weight:400;color:var(--mut);font-size:12px;margin-top:2px}
.ftag{font-size:10px;letter-spacing:.5px;color:#9a9a9a;border:1px solid #333;border-radius:5px;padding:1px 5px;white-space:nowrap}
.fc{color:var(--red2);transition:transform .15s}.fh.open .fc{transform:rotate(180deg)}
.fd{padding:2px 12px 12px 52px;font-size:13.5px;color:#d6d6d6;border-top:1px solid #222}
.fd .bd{margin:5px 0;line-height:1.35}
ul.ml{list-style:none;margin:6px 0 0;padding:0}ul.ml li{border-top:1px solid #262626;padding:7px 0}ul.ml b{color:#fff}
.jl{display:inline-block;margin-top:8px;color:var(--red2);font-weight:700;cursor:pointer}
.fdec{border:1px dashed var(--red);border-radius:14px;padding:8px;background:#0d0d0d}
.fq{font-weight:800;color:#fff;text-align:center;padding:4px 6px 8px;font-size:14.5px}
.fbr{display:flex;flex-direction:column;gap:8px}
.br{border-radius:12px;padding:6px;border:2px solid #2a2a2a}.br .bl{font-size:11px;letter-spacing:1.5px;font-weight:800;color:#888;margin:0 0 5px 4px}
.br.on{border-color:var(--red);background:#14080a}.br.on .bl{color:var(--red2)}.br.off{opacity:.7}
.gp{margin:4px 0}
.ptag.auth{color:#fff;background:var(--red);border-color:var(--red)}.pg.ap{background:#1a0a0d}
.warnbar{background:#2a1a00;border-bottom:1px solid #8a5a00;color:#ffcf66;font-size:13px;padding:8px 14px;text-align:center}.warnbar a{color:#fff;font-weight:700;text-decoration:underline}
.lock.gate h1{letter-spacing:4px}

/* report a discrepancy */
.rptbtn{margin-top:10px;background:transparent;border:1px solid var(--red);color:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer}
.rptm{position:fixed;inset:0;background:#000c;z-index:60;display:flex;align-items:flex-end;justify-content:center;overflow-y:auto}
.rptc{width:100%;max-width:560px;background:#0d0d0d;border:1px solid var(--line);border-top:2px solid var(--red);border-radius:16px 16px 0 0;padding:14px 16px calc(18px + var(--sab));max-height:92vh;overflow-y:auto}
.rpth{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:17px}.rpth button{background:none;border:0;color:#aaa;font-size:20px;cursor:pointer}
.rpts{font-size:13px;color:#ddd;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:4px 0 8px}.rpts span{color:var(--mut);font-size:12px}
.rptc label{display:block;margin:12px 0 5px;font-size:13px;font-weight:700;color:#ddd}.rptc label i{font-weight:400;color:var(--mut)}
.rptc textarea,.rptc input{width:100%;background:#000;border:1px solid var(--line);border-radius:10px;color:#fff;padding:10px;font:inherit;resize:vertical}
.rptc textarea:focus,.rptc input:focus{outline:1px solid var(--red)}
.rpte{background:#2a0a10;border:1px solid var(--red);color:#ffb3bd;border-radius:10px;padding:8px 10px;font-size:13px;margin:10px 0}
.rpte[hidden]{display:none}.rptc .btn{margin-top:14px}
.rptok{text-align:center;padding:14px 4px}.rptok .chk{width:54px;height:54px;border-radius:50%;background:var(--red);color:#fff;font-size:30px;line-height:54px;margin:0 auto 10px}.rptok h3{margin:0 0 6px}.rptok p{color:#bbb;font-size:14px}

.fbk{margin-top:8px;padding-top:7px;border-top:1px dashed #333;font-size:14px}.fbk .xr{font-size:12px}

.ckr{margin:3px 0 7px}.ckv{color:#ff4040;font-weight:700;letter-spacing:.3px}
.sfk{margin-top:8px;padding-top:7px;border-top:1px dashed #333;font-size:14px}.sfk .xr{font-size:12px}
.bdg{color:#ff6b6b;font-weight:600}.bdr{margin-top:4px;font-size:13px}

.pgrid{display:grid;gap:8px;margin:6px 0 10px}
.pc{background:#141414;border:1px solid var(--line);color:#fff;border-radius:10px;padding:10px 4px;font-size:20px;min-height:58px;position:relative;cursor:pointer}
.pc .po{position:absolute;top:3px;left:6px;font-size:10px;color:#999}
.pc.tried{background:#2a0a0a;color:#777;text-decoration:line-through;border-color:#5a1a1a}
.pc.hit{background:#0e3a1a;border-color:#2fbf5a;color:#fff}
.pctl{display:flex;gap:8px;margin:4px 0 8px}
@media print{body.print-prog *{visibility:hidden}body.print-prog #prog-print,body.print-prog #prog-print *{visibility:visible}body.print-prog #prog-print{position:absolute;top:0;left:0;width:100%}body.print-prog .cap{color:#000}.pc{background:#fff!important;color:#000!important;border:1px solid #000!important}}

.kmax{font-size:20px;color:#fff;background:#2a0a0a;border:1px solid var(--red2);border-radius:10px;padding:12px 14px;margin:4px 0 10px}
.kc{background:#101010;border:1px solid var(--line);border-radius:10px;padding:10px;margin:0 0 10px}
.kh{margin:0 0 8px;color:#ddd;font-size:14px}.kh b{color:var(--red2);font-size:16px}
.kst{display:grid;gap:8px}
@media print{body.print-prog .kc,body.print-prog .kmax{background:#fff!important;color:#000!important;border:1px solid #000!important}body.print-prog .kh,body.print-prog .kh b{color:#000!important}}

.sim{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;padding:4px;margin-top:8px;min-height:120px;text-decoration:none}
.sim img{display:block;max-width:100%;max-height:210px;width:auto;height:auto;object-fit:contain}
.sim.none{background:#1b1b1b;border:1px dashed #444;color:#8a8a8a;font:13px system-ui,sans-serif;min-height:72px}
.sim{cursor:default;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.sim img{pointer-events:none}

.attn{background:#3a0d12;border:1px solid #e01e37;border-left:6px solid #e01e37;border-radius:10px;color:#ffd7db;font-size:14.5px;line-height:1.4;padding:10px 12px;margin:10px 0}.attn b{color:#ff6b7d;letter-spacing:.3px}

/* Ford key code lookup (0001X-1706X) */
.kcx{background:#0e1626;border:1px solid #2a4170;border-left:4px solid #7ea0ff;border-radius:12px;padding:11px 12px;margin:10px 0}
.kcx label{display:block;font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:#7ea0ff;font-weight:800;margin-bottom:6px}
.kcrow{display:flex;gap:8px}
.kcrow input{flex:1;min-width:0;background:#070b13;color:#fff;border:1px solid #34508a;border-radius:8px;padding:10px 11px;font:600 16px ui-monospace,Menlo,Consolas,monospace;text-transform:uppercase}
.kcrow .btn{flex:0 0 auto;width:auto;padding:10px 14px}
.kcout{margin-top:8px}
.kccode{font:700 15px ui-monospace,Menlo,Consolas,monospace;color:#fff}
.kccap{font-size:11px;color:#9db4e8;margin:6px 0 4px;letter-spacing:.4px}
.kccuts{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.kcc{background:#142547;border:1px solid #34508a;border-radius:8px;text-align:center;padding:4px 0}
.kcc span{display:block;font-size:10px;color:#9db4e8}
.kcc b{display:block;font:800 20px ui-monospace,Menlo,Consolas,monospace;color:#fff}
.kcends{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#7ea0ff;margin-top:3px}
.kcblank{margin-top:8px;font-size:14px}
.kcerr{color:#ff7b8a;font-weight:700;font-size:15px}
.kcx.wide{grid-column:1/-1;margin:0}

/* anti-copy */
html,body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
input,textarea,[contenteditable="true"]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
img{-webkit-user-drag:none;-webkit-touch-callout:none}
#wm{position:fixed;inset:0;z-index:2147483000;pointer-events:none;background-repeat:repeat;background-size:360px 220px}
#pcover{position:fixed;inset:0;z-index:2147483600;background:#0b0f14;display:flex;align-items:center;justify-content:center;color:#9aa7b4;text-align:center;font:600 18px system-ui,sans-serif}
#pcover div{display:flex;flex-direction:column;gap:6px}#pcover span{font:400 13px system-ui,sans-serif;opacity:.7}
html.pc body>*:not(#pcover){filter:blur(40px) brightness(.4);visibility:hidden}
@media print{body{display:none!important}}

/* bitting search (part of the series component) */
.kcx+.kcx{margin-top:10px}
.kbcap{font-size:12.5px;color:#b9c8ee;margin:0 0 8px;line-height:1.35}
.kbpos{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.kbp{text-align:center;border-radius:8px;padding:3px 0 2px;background:#142547;border:1px solid #34508a}
.kbp.ig{background:#1d1a14;border-color:#5a4a2a}.kbp span{display:block;font-size:10px;color:#9db4e8}.kbp.ig span{color:#d9b46a}
.kbp em{display:block;font-style:normal;font-size:8.5px;letter-spacing:.8px;text-transform:uppercase;color:#7ea0ff;margin-top:1px}.kbp.ig em{color:#d9b46a}
.kbp input{width:100%;min-width:0;background:#070b13;color:#fff;border:1px solid #34508a;border-radius:6px;padding:7px 0;text-align:center;font:800 18px ui-monospace,Menlo,Consolas,monospace}
.kbf.bad{border-color:#ff5a6e;background:#2a0f14}
.kcrow .btn.ghost{background:transparent;border:1px solid #34508a;color:#9db4e8;font-weight:700;letter-spacing:0}
.kbcount{font-size:15px;margin-top:8px}.kbcount b{font-size:20px;color:#fff}
.kbrem,.kbcand{font-size:12.5px;color:#b9c8ee;margin-top:4px;line-height:1.4}.kbcand b{color:#fff;letter-spacing:1px}
.kblist{display:grid;gap:5px;margin-top:8px}
.kbrow{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;background:#142547;border:1px solid #34508a;border-radius:8px;padding:7px 10px;color:#fff;cursor:pointer}
.kbcode{font:800 15px ui-monospace,Menlo,Consolas,monospace;color:#fff}
.kbcuts{display:flex;gap:3px}.kbcuts i{font:800 16px ui-monospace,Menlo,Consolas,monospace;font-style:normal;width:20px;text-align:center;border-radius:4px;padding:1px 0}
.kbcuts i.k{background:#1f3b78;color:#fff}.kbcuts i.u{color:#ffd37a;background:#2a2412}
.kbmore{font-size:12px;color:#ffd37a;margin-top:6px}.kbhint{font-size:11.5px;color:#9db4e8}

.bd.st{white-space:pre-line}

/* year-fitment filter */
.yfbar{margin:6px 0 10px;padding:8px 10px;border:1px solid #2b3550;border-radius:10px;background:#0f1424;font-size:13px;color:#cfd6e6;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.yfbar .btn{padding:4px 10px;font-size:12px;min-height:0}
.nvb{display:inline-block;margin-left:4px;padding:1px 6px;border:1px solid #8a6d1d;border-radius:6px;background:#2a2108;color:#e8b020;font-size:11px;font-weight:600;white-space:nowrap}
/* append to public/styles.css */
#vin-out .ld{color:var(--mut);text-align:center;padding:20px}
#vin-in{text-transform:uppercase;letter-spacing:1.5px;font-family:ui-monospace,Menlo,Consolas,monospace}

/* inline VIN box on Kia / Hyundai / Genesis plate pages */
.vinbox{margin:0}
.vinrow{display:flex;gap:8px;align-items:stretch}
.vinrow .search{flex:1;min-width:0;text-transform:uppercase;letter-spacing:1.5px;font-family:ui-monospace,Menlo,Consolas,monospace}
.vinrow .btn{width:auto;flex:0 0 auto;padding:0 18px;font-size:15px}
#vin-out-inline .ld{color:var(--mut);text-align:center;padding:20px}

/* VIN camera button (vin_cam.js) */
.vcam-btn{display:flex;align-items:center;justify-content:center;padding:0 14px!important;min-width:48px}
.vinrow .vcam-btn{flex:0 0 auto}
.vcam-pop{display:flex;gap:8px;margin-top:8px}
.vcam-pop[hidden]{display:none}
.vcam-pop .btn{flex:1;padding:12px;font-size:15px;letter-spacing:0}
.vcam-msg{margin-top:8px;font-size:14px;line-height:1.35}
.vcam-msg:empty{display:none}
.vcam-msg.ld{color:var(--mut)}
.vcam-msg.ok{color:var(--green)}
.vcam-msg.warn{color:var(--amber);border-left:3px solid var(--amber);padding:6px 10px;background:var(--panel)}
.vcam-msg.err{color:var(--red2);border-left:3px solid var(--red);padding:6px 10px;background:var(--panel)}

/* ---- Ask Full Auto+ ---- */
.askbtn{border-color:var(--red);color:#fff;background:#2a0a10;font-weight:800;letter-spacing:1px;font-size:13px;padding:8px 10px}
.askcard{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:linear-gradient(135deg,#2a0a10,#12060a);border:1px solid var(--red);border-radius:12px;padding:11px 12px;margin-bottom:10px;cursor:pointer;color:var(--txt)}
.askcard:active{background:#3a0e16}
.askcard .ac-i{font-size:24px;color:var(--red2);line-height:1}
.askcard .ac-t{flex:1;min-width:0}.askcard .ac-t b{display:block;font-size:16px;font-weight:900;letter-spacing:.5px}
.askcard .ac-t small{display:block;color:#c9a0a8;font-size:12.5px;line-height:1.3;margin-top:2px}
.askcard .ac-go{font-size:26px;color:var(--red2)}
.askmain{padding-bottom:calc(96px + var(--sab))}
.ask-hero{border-left:4px solid var(--red);background:var(--panel);border-radius:12px;padding:11px 13px;margin-bottom:12px}
.ask-t{font-size:22px;font-weight:900;letter-spacing:.5px}.ask-t span{color:var(--red)}
.ask-s{color:var(--mut);font-size:13.5px;margin-top:4px}.ask-s b{color:#fff}
.ask-log{display:flex;flex-direction:column;gap:10px}
.ask-msg{display:flex}.ask-msg.u{justify-content:flex-end}
.ask-msg .b{max-width:92%;border-radius:14px;padding:10px 12px;font-size:15px;line-height:1.4;word-wrap:break-word;overflow-wrap:anywhere}
.ask-msg.u .b{background:var(--red);color:#fff;border-bottom-right-radius:4px;font-weight:600}
.ask-msg.a .b{background:var(--panel);border:1px solid var(--line);border-bottom-left-radius:4px}
.ask-msg.a.e .b{border-color:#5a1a24;color:#ff9aa8}
.ask-msg .b p{margin:0 0 6px}.ask-msg .b p:last-child{margin:0}
.ask-msg .b ul{margin:2px 0 6px;padding-left:18px}.ask-msg .b li{margin:0 0 4px}
.ask-msg .b b{color:#fff}
.ask-msg .src{margin-top:8px;padding-top:6px;border-top:1px solid var(--line);color:var(--mut);font-size:11.5px;line-height:1.3}
.ask-think i{display:inline-block;width:6px;height:6px;margin-right:3px;border-radius:50%;background:var(--red2);animation:askb 1s infinite ease-in-out}
.ask-think i:nth-child(2){animation-delay:.15s}.ask-think i:nth-child(3){animation-delay:.3s}
@keyframes askb{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.ask-ex{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:6px}
.ask-ex .chip{white-space:normal;text-align:left;border-radius:12px}
.ask-bar{position:fixed;left:0;right:0;bottom:0;z-index:25;background:#000;border-top:2px solid var(--red);padding:8px 10px calc(8px + var(--sab));display:flex;gap:8px;align-items:flex-end;max-width:900px;margin:0 auto}
.ask-bar textarea{flex:1;min-width:0;resize:none;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:11px 12px;font:inherit;color:inherit;max-height:110px}
.ask-bar textarea:focus{outline:none;border-color:var(--red)}
.ask-bar .btn{width:auto;flex:0 0 auto;padding:11px 18px;font-size:16px}

/* HPC 1200 code cards */
.hpcx{background:#0e1626;border:1px solid #2a4170;border-left:4px solid #7ea0ff;border-radius:12px;padding:11px 12px;margin:10px 0}
.hpcx label{display:block;font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:#7ea0ff;font-weight:800;margin-bottom:8px}
.hpcrow{display:flex;gap:8px;flex-wrap:wrap}.hpcrow .btn{flex:1 1 220px;padding:13px;font-size:15px;letter-spacing:.5px}
.hpcx .cap{margin:8px 0 0}
#hpcv{position:fixed;inset:0;z-index:2147483100;background:#0b0f14;display:flex;flex-direction:column}
.hpcbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line,#2a3140);color:#fff;font-size:13px}
.hpcbar button{background:var(--red,#e01e37);color:#fff;border:0;border-radius:10px;padding:9px 14px;font-weight:800;cursor:pointer}
.hpcbar span{flex:1;text-align:center;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hpcstage{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;padding:14px}
.hpcsheet{background:#fff;padding:8px;border-radius:6px;width:min(100%,460px)}
.hpcsheet svg{display:block;width:100%;height:auto}
.hpchint{color:#9aa7b4;font-size:12px;margin-top:10px}
@page{margin:.5in}
@media print{
  html.print-hpc{background:#fff!important}
  body.print-hpc{display:block!important;background:#fff!important;overflow:visible!important}
  body.print-hpc>*{display:none!important}
  body.print-hpc>#hpcv{display:block!important;position:static!important;background:#fff!important}
  body.print-hpc .hpcbar,body.print-hpc .hpchint{display:none!important}
  body.print-hpc .hpcstage{display:block!important;padding:0!important;overflow:visible!important}
  body.print-hpc .hpcsheet{padding:0!important;border-radius:0!important;width:300.5pt!important;margin:0!important}
  body.print-hpc .hpcsheet svg{width:300.5pt!important;height:390.5pt!important}
}

/* ---- hands-free voice ---- */
.qwrap{position:relative}.qwrap .search{padding-right:52px}
.micbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--panel2);color:#fff;cursor:pointer;flex:0 0 auto}
.qwrap .micbtn{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:38px;height:38px;background:transparent;border:0;color:var(--red2)}
.micbtn.on{background:var(--red);border-color:var(--red2);color:#fff;animation:micp 1.1s infinite}.qwrap .micbtn.on{background:var(--red)}
.micbtn.na{opacity:.45}
@keyframes micp{0%{box-shadow:0 0 0 0 rgba(224,30,55,.7)}100%{box-shadow:0 0 0 14px rgba(224,30,55,0)}}
.vbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:2px 0 8px}
.vtog{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}
.vtog input{accent-color:var(--red);width:16px;height:16px;margin:0}
.vstop{background:var(--red);border:0;border-radius:999px;color:#fff;font-weight:800;padding:7px 14px;font-size:13px;cursor:pointer}
.vmsg{background:#1a0a0d;border:1px solid var(--red);border-radius:10px;padding:8px 12px;font-size:13px;margin-bottom:8px;color:#ffd6dc}
.ask-bar .micbtn{align-self:flex-end}

/* ---- field corrections + owner queue ---- */
.phpick{margin:4px 0 8px}.phbtn{display:inline-flex;align-items:center;gap:8px;background:var(--panel2);border:1px dashed var(--red);border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:700;font-size:14px}
.phprev{position:relative;margin-top:8px;display:inline-block}.phprev img{max-width:100%;max-height:200px;border-radius:10px;border:1px solid var(--line);display:block}
.phx{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:50%;border:0;background:#000c;color:#fff;cursor:pointer}
.corrb{background:#06140e;border:1px solid var(--green);border-left:4px solid var(--green);border-radius:12px;padding:10px 12px;margin:10px 0;font-size:14px}.corrb b{color:#5be3a6}
.corri{border-top:1px solid #12382a;padding:7px 0 2px;margin-top:7px}.xr{color:var(--mut);font-size:12px}
.orow{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;padding:11px 12px;margin:0 0 10px}
.oh{display:flex;justify-content:space-between;gap:8px;align-items:center}.ost{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:2px 9px}
.ost.approved{border-color:var(--green);color:#5be3a6}.ost.rejected{border-color:#777;color:#999}.ost.new{border-color:var(--red);color:var(--red2)}
.oshould{white-space:pre-wrap;background:#000;border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:6px 0}.ophoto{width:100%;max-height:260px;object-fit:contain;background:#000;border-radius:10px;border:1px solid var(--line);margin:4px 0}
.oact{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chip.ok{border-color:var(--green);color:#5be3a6;font-weight:700}.chip.no{border-color:#777;color:#bbb}

/* ---- tools strip + plate picker ---- */
.tools{display:flex;gap:8px;overflow-x:auto;margin:0 0 10px;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.tool{flex:0 0 auto;display:flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--line);border-bottom:2px solid var(--red);border-radius:12px;padding:9px 13px;font-weight:700;font-size:13.5px;cursor:pointer;white-space:nowrap}.tool span{font-size:17px}
.dact{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.pplist{display:flex;flex-direction:column;gap:6px;margin:6px 0}.ppi{text-align:left;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;color:inherit;cursor:pointer;font:inherit}.ppi small{display:block;color:var(--mut)}

/* ---- job log ---- */
.jl{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--mut);margin:12px 2px 4px}
main textarea#j-notes,main textarea#q-notes{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;color:inherit;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vinrow{display:flex;gap:8px}.vinrow .search{flex:1}.vinrow .chip{flex:0 0 auto}
.cap.bad{color:#ff8a8a}.vsel{background:var(--panel);border:1px dashed var(--line);border-radius:10px;padding:8px 12px;margin:6px 0 2px;font-size:14px}.lnk{color:var(--red2);font-weight:700;cursor:pointer;margin-left:6px}
.vhist{background:#1d1606;border:1px solid var(--amber);border-radius:10px;padding:8px 12px;margin:6px 0;font-size:14px}
.jchk{display:flex;align-items:center;gap:8px;margin:14px 2px 6px;font-weight:700}.jchk input{accent-color:var(--red);width:20px;height:20px}
.jphotos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.jphotos figure{position:relative;margin:0}.jphotos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.jphotos figcaption{font-size:10px;color:var(--mut)}
.jphotos .phx{top:3px;right:3px;width:24px;height:24px;font-size:11px}
.jcard,.tl{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;padding:10px 12px;margin:0 0 9px;cursor:pointer}.jt{display:flex;justify-content:space-between;gap:8px}
.jst{font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:2px 8px;height:fit-content}.jst.done{border-color:var(--green);color:#5be3a6}.jst.open{border-color:var(--amber);color:var(--amber)}
.jn{font-size:13px;color:#ccc;margin-top:4px}.jph{display:flex;gap:5px;margin-top:6px;align-items:center}.jph img{width:54px;height:54px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.jph span{color:var(--mut);font-size:12px}
.jexp{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.jevt{margin-top:12px}.vinbig{font:700 20px ui-monospace,Menlo,monospace;letter-spacing:2px;margin:4px 0}
.tl{display:flex;gap:10px;border-left:4px solid var(--blue)}.td{flex:0 0 84px;font-size:12px;color:var(--mut)}.tb{flex:1;min-width:0}

/* ---- quote ---- */
details.rates{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:6px}details.rates summary{cursor:pointer;font-weight:800}
.qpart{display:grid;grid-template-columns:1fr 52px 84px;gap:6px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:7px 9px;margin:0 0 6px;opacity:.6}.qpart.on{opacity:1;border-left:4px solid var(--green)}
.qpl{display:flex;gap:9px;align-items:center;min-width:0}.qpl input{accent-color:var(--red);width:20px;height:20px;flex:0 0 auto}.qpl small{display:block;color:var(--mut);font-size:11px;overflow-wrap:anywhere}.qpart .search{padding:8px 6px;text-align:center}
.need{color:var(--amber)}input.need{border-color:var(--amber)}
.qtot{background:#0d0d0d;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:14px 0 8px}.ql{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:14px;border-bottom:1px dashed #222}.ql span{color:#ddd}
.qgrand{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:15px;letter-spacing:1px;color:var(--mut)}.qgrand b{font-size:30px;color:#fff;letter-spacing:0}
.warnline{color:var(--amber);font-size:12.5px;margin-top:4px}.sqbox{border:1px dashed #555;border-radius:12px;padding:9px 12px;margin:8px 0;font-size:14px}.sqbox.set{border-color:var(--green);border-style:solid}
.qact{display:flex;flex-direction:column;gap:8px;margin-top:10px}

/* ---- AKL wizard ---- */
.wveh{margin-top:6px;font-size:17px}.rule{background:#1d1606;border:1px solid var(--amber);border-left:4px solid var(--amber);border-radius:10px;padding:9px 12px;margin:8px 0;font-size:14px}
.wsum{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.wsum div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.wsum small{display:block;color:var(--mut);font-size:11px;letter-spacing:1px;text-transform:uppercase}
.wprog{height:8px;background:#222;border-radius:5px;overflow:hidden}.wprog i{display:block;height:100%;background:var(--green);width:0;transition:width .2s}
.wst{display:flex;gap:10px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 11px;margin:0 0 6px;font-size:14.5px;cursor:pointer}.wst input{accent-color:var(--green);width:20px;height:20px;flex:0 0 auto;margin-top:1px}.wst.on{opacity:.55;border-color:#12382a}.wst.on span{text-decoration:line-through}
details.wm{background:#0d0d0d;border:1px solid var(--line);border-radius:12px;padding:6px 8px;margin:0 0 8px}details.wm.m{border-left:4px solid var(--green)}details.wm.e{border-left:4px solid var(--purple)}details.wm summary{cursor:pointer;padding:6px 4px;display:flex;gap:8px;align-items:baseline}.wmn{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--mut);flex:0 0 auto}
.west{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px}

/* ---- photo key ID / decode ---- */
.sugg-banner{background:#2a1c04;border:2px solid var(--amber);color:#ffd88a;border-radius:12px;padding:10px 12px;margin:8px 0;font-weight:800;font-size:14px}.sugg-banner.small{display:inline-block;padding:4px 12px;font-size:12px;letter-spacing:1px;text-transform:uppercase;margin:10px 0 0}
.kfeat{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.kfeat div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0}.kfeat small{display:block;color:var(--mut);font-size:11px;letter-spacing:1px;text-transform:uppercase}.kfeat b{font-size:14px;overflow-wrap:anywhere}
.ksug{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:12px;padding:10px 12px;margin:0 0 9px}.ksug.txt{border-left-color:var(--green)}.kh{display:flex;gap:9px;align-items:center;margin-bottom:3px}.kh b{font-size:18px}.kr{width:24px;height:24px;border-radius:50%;background:#222;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.kpl{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}

/* ---- decode from photo (experimental) ---- */
.sugg-banner.exp{background:#fff4d6;border-color:#d99a00;color:#5b3d00}
.dc-cv{width:100%;max-height:150px;border:1px solid var(--line,#d6dae0);border-radius:10px;background:#fff;margin:10px 0}
.dc-cuts{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0 8px}.dc-cuts i{font-style:normal;font-weight:700;min-width:28px;text-align:center;padding:6px 0;border-radius:8px;background:#e8f0fe;border:1px solid #b6c8ee}
.dc-cuts i.u{background:#f1f1f1;border-color:#ccc;color:#888}.dc-cuts i.x{background:#ffe3e3;border-color:#e5a0a0}.dc-cuts.sm i{padding:3px 0;min-width:22px;font-size:13px}
.dc-sl{display:grid;gap:8px;margin:8px 0}.dc-sl label{display:grid;gap:2px;font-size:13px}.dc-sl input[type=range]{width:100%}

/* ---- offline mode ---- */
#offbar{background:#7a1f1f;color:#fff;font-size:12.5px;line-height:1.35;padding:6px 12px;padding-top:calc(6px + env(safe-area-inset-top));text-align:center}#offbar[hidden]{display:none}
.offp .row{display:flex;justify-content:space-between;gap:10px}

/* Ilco number + Ilco EZ number (merged from app_ask) */
.ilcox{border-left:4px solid #e8b020}
.ilcon{display:flex;gap:10px;flex-wrap:wrap;margin:2px 0 6px}
.ilcon .ik{background:#161d2b;border:1px solid #2a3140;border-radius:8px;padding:7px 12px;font-size:15px;color:#cfd8e3}
.ilcon .ik b{color:#fff;font-size:17px;letter-spacing:.5px}
.ilcox .cap{margin:4px 0 0}

/* key-number chips: per-chip label (Ilco EZ / Ilco / none) */
.ezc small{display:block;font-size:10px;font-weight:700;letter-spacing:.4px;opacity:.85;text-transform:uppercase}
.ezc.ilc{background:#e8b020;color:#1b1b1b}.ezc.nol{background:#3a4152;color:#fff}

/* BETA badge */
em.beta{font-style:normal;font-size:.5em;font-weight:800;letter-spacing:.8px;vertical-align:middle;background:#e8b020;color:#1b1b1b;border-radius:6px;padding:2px 7px;margin-left:6px;text-transform:uppercase}
.tool em.beta{display:block;font-size:9px;margin:2px 0 0;padding:1px 5px;width:max-content}

/* HPC card: PDF / print alternatives */
.hpcalt{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0 4px}
.hpcalt button{background:#1c2432;color:#fff;border:1px solid #3a4152;border-radius:10px;padding:10px 14px;font-weight:700;font-size:14px}
.hpcalt button[hidden]{display:none}
.hpcmsg{color:#e8b020;font-size:13px;min-height:18px;text-align:center}
@media print{body.print-hpc .hpcalt,body.print-hpc .hpcmsg{display:none!important}}
