:root{
  --blue:#2E5C8A; --orange:#C4671F; --green:#2F7A55; --brown:#7A5230; --slate:#5A6470;
  --bg:#F1F3F2; --panel:#fff; --panel2:#F7F8F8; --ink:#16202B; --ink2:#4A5764;
  --ink3:#7C8894; --rule:#D5DADE; --rule2:#E6EAEC;
  box-sizing:border-box;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --blue:#6DA3D8; --orange:#E0904A; --green:#5FB287; --brown:#B98B5E; --slate:#93A0AD;
  --bg:#11171D; --panel:#182028; --panel2:#1E2831; --ink:#E8EDF1; --ink2:#A9B6C2;
  --ink3:#77848F; --rule:#2C3841; --rule2:#232D36;
}}
:root[data-theme=dark]{
  --blue:#6DA3D8; --orange:#E0904A; --green:#5FB287; --brown:#B98B5E; --slate:#93A0AD;
  --bg:#11171D; --panel:#182028; --panel2:#1E2831; --ink:#E8EDF1; --ink2:#A9B6C2;
  --ink3:#77848F; --rule:#2C3841; --rule2:#232D36;
}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Archivo,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.mono,.num{font-family:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}
.num{text-align:right;white-space:nowrap}
a{color:var(--blue)}
.topbar{position:sticky;top:0;z-index:20;background:var(--panel);border-bottom:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:stretch}
.brand{display:flex;align-items:center;gap:10px;padding:12px 18px;border-right:1px solid var(--rule2);font-weight:700}
.jack{width:11px;height:11px;border-radius:50%;background:var(--green)}
.jack.bad{background:var(--orange)}
nav{display:flex;flex-wrap:wrap}
nav a{padding:14px 15px 12px;text-decoration:none;color:var(--ink2);border-bottom:2px solid transparent;font-weight:500}
nav a:hover{background:var(--panel2);color:var(--ink)}
nav a.on{color:var(--ink);border-bottom-color:var(--blue);font-weight:600}
nav a .pip{display:inline-block;min-width:17px;padding:0 5px;margin-left:6px;border-radius:9px;background:var(--orange);color:#fff;font-size:11px;font-weight:700;text-align:center}
.spacer{flex:1}
.who{padding:12px 18px;color:var(--ink3);font-size:12.5px;display:flex;gap:14px;align-items:center}
main{max-width:1320px;margin:0 auto;padding:20px 18px 60px}
h2{font-size:19px;font-weight:600;letter-spacing:-.015em;margin:0 0 3px}
.sub{color:var(--ink3);font-size:13px;margin:0 0 18px}
.panel{background:var(--panel);border:1px solid var(--rule);border-radius:3px;overflow:hidden;margin-bottom:18px}
.panel-head{padding:11px 14px;border-bottom:1px solid var(--rule2);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.panel-head h3{margin:0;font-size:13.5px;font-weight:600}
.panel-head .meta{color:var(--ink3);font-size:12px}
.panel-body{padding:14px}
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:7px 10px;text-align:left;border-bottom:1px solid var(--rule2);white-space:nowrap}
th{background:var(--panel2);color:var(--ink2);font-size:12px;font-weight:600;position:sticky;top:0}
th.r,td.r{text-align:right}
tbody tr:hover{background:var(--panel2)}
tfoot td{font-weight:700;border-top:2px solid var(--rule);background:var(--panel2)}
.flag{border-left:3px solid var(--orange)}
.dim{color:var(--ink3)} .pos{color:var(--green)} .warn{color:var(--orange);font-weight:600}
.tag{display:inline-block;padding:1px 7px;border-radius:2px;font-size:11.5px;font-weight:600;border:1px solid currentColor}
.t-tf{color:var(--orange)} .t-geo{color:var(--blue)} .t-mob{color:var(--green)} .t-intl{color:var(--brown)} .t-ok{color:var(--green)} .t-no{color:var(--slate)}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;background:var(--panel);border:1px solid var(--rule);border-radius:3px;padding:12px 14px;margin-bottom:16px}
.f{display:flex;flex-direction:column;gap:4px}
.f label{font-size:12px;color:var(--ink3)}
.f input,.f select{font:inherit;font-size:13px;padding:6px 8px;color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:2px;min-width:145px}
.f input:focus,.f select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
button.act,a.act{font:inherit;font-weight:600;font-size:13px;padding:7px 14px;border-radius:2px;cursor:pointer;text-decoration:none;display:inline-block;color:var(--panel);background:var(--ink);border:1px solid var(--ink)}
button.act.ghost,a.act.ghost{background:none;color:var(--ink);border-color:var(--rule)}
#q{flex:1;min-width:240px;font-family:"IBM Plex Mono",monospace;font-size:26px;font-weight:500;padding:14px 16px;color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:3px}
.lookup-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.grid{display:grid;gap:16px;grid-template-columns:minmax(260px,330px) 1fr}
@media(max-width:880px){.grid{grid-template-columns:1fr}}
.record{border-left:3px solid var(--blue)}
.record.tf{border-left-color:var(--orange)} .record.mob{border-left-color:var(--green)}
.record .big{font-family:"IBM Plex Mono",monospace;font-size:22px;font-weight:600;margin:0 0 2px}
.record .own{font-size:15px;font-weight:600;margin:0 0 12px}
dl.kv{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px}
dl.kv dt{color:var(--ink3)} dl.kv dd{margin:0;text-align:right;font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
.strip{display:flex;flex-wrap:wrap;border:1px solid var(--rule);border-radius:3px;background:var(--panel);margin-bottom:18px}
.strip div{padding:12px 16px;border-right:1px solid var(--rule2);flex:1;min-width:150px}
.strip div:last-child{border-right:0}
.strip .l{color:var(--ink3);font-size:12px} .strip .v{font-family:"IBM Plex Mono",monospace;font-size:19px;font-weight:600}
.empty{padding:32px 16px;text-align:center;color:var(--ink3)}
.note{border:1px solid var(--rule);border-left:3px solid var(--orange);border-radius:3px;background:var(--panel);padding:12px 14px;margin-bottom:16px;font-size:13px;color:var(--ink2)}
.note.ok{border-left-color:var(--green)}
.note b{color:var(--ink)}
.login{max-width:360px;margin:12vh auto;padding:0 18px}
.login .panel-body{padding:20px}
.login .f{margin-bottom:12px} .login .f input{width:100%}
.err{color:var(--orange);font-size:13px;margin-bottom:12px}
.pager{display:flex;gap:8px;align-items:center;padding:10px 14px;border-top:1px solid var(--rule2);font-size:13px}
