:root{--blue: #2563EB;--blue-press: #1D4ED8;--blue-soft: #EFF6FF;--blue-line: #DBEAFE;--navy: #1E3A8A;--s1: #EFF6FF;--s2: #DBEAFE;--s3: #BFDBFE;--s4: #93C5FD;--s5: #60A5FA;--s6: #3B82F6;--s7: #2563EB;--s8: #1D4ED8;--ok: #15803D;--ok-bg: #DCFCE7;--ok-line: #86EFAC;--warn: #B45309;--warn-bg: #FEF3C7;--warn-line: #FCD34D;--bad: #C81E1E;--bad-bg: #FEE2E2;--bad-line: #FCA5A5;--idle: #5B6B80;--idle-bg: #F1F5F9;--idle-line: #CBD5E1;--blue-fill: #2563EB;--blue-fill-press: #1D4ED8;--bad-fill: #C81E1E;--ok-fill: #15803D;--shell: #F4F7FC;--card: #FFFFFF;--sunken: #F8FAFD;--side: #14264F;--side-ink:#E8EEFA;--side-mut:#93A6CC;--side-hi: #1E3A8A;--line: #E3E9F3;--line-strong: #CAD5E6;--ink: #0F172A;--ink-muted: #4A5568;--ink-subtle: #5E6D84;--tyre: #1F2937;--hub: #9CA3AF;--mark-warn: #B45309;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 2px 4px -1px rgba(15, 23, 42, .05), 0 10px 22px -8px rgba(15, 23, 42, .14);--shadow-lg: 0 8px 12px -6px rgba(15, 23, 42, .08), 0 26px 52px -14px rgba(15, 23, 42, .24);--r: 10px;--r-sm: 7px;--sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--blue: #3B82F6;--blue-press: #60A5FA;--blue-soft: #0D1A33;--blue-line: #1E3A8A;--navy: #14213F;--s1: #101E38;--s2: #16294C;--s3: #1B3663;--s4: #1E4585;--s5: #2563EB;--s6: #3B82F6;--s7: #60A5FA;--s8: #93C5FD;--ok: #4ADE80;--ok-bg: #052E16;--ok-line: #166534;--warn: #FBBF24;--warn-bg: #2C1D03;--warn-line: #92400E;--bad: #F87171;--bad-bg: #2D0B0B;--bad-line: #991B1B;--idle: #94A3B8;--idle-bg: #172033;--idle-line: #33415C;--shell: #070C17;--card: #101827;--sunken: #0B1220;--side: #0A1120;--side-ink: #E8EEFA;--side-mut: #7B8CAD;--side-hi: #17264A;--line: #212C44;--line-strong: #30405F;--ink: #F1F5FC;--ink-muted: #A7B4CB;--ink-subtle: #8394AE;--tyre: #64748B;--hub: #CBD5E1;--mark-warn: #D97706;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 10px 22px -8px rgba(0, 0, 0, .6);--shadow-lg: 0 26px 52px -14px rgba(0, 0, 0, .7)}}:root[data-theme=dark]{color-scheme:dark;--blue: #3B82F6;--blue-press: #60A5FA;--blue-soft: #0D1A33;--blue-line: #1E3A8A;--navy: #14213F;--s1: #101E38;--s2: #16294C;--s3: #1B3663;--s4: #1E4585;--s5: #2563EB;--s6: #3B82F6;--s7: #60A5FA;--s8: #93C5FD;--ok: #4ADE80;--ok-bg: #052E16;--ok-line: #166534;--warn: #FBBF24;--warn-bg: #2C1D03;--warn-line: #92400E;--bad: #F87171;--bad-bg: #2D0B0B;--bad-line: #991B1B;--idle: #94A3B8;--idle-bg: #172033;--idle-line: #33415C;--shell: #070C17;--card: #101827;--sunken: #0B1220;--side: #0A1120;--side-ink: #E8EEFA;--side-mut: #7B8CAD;--side-hi: #17264A;--line: #212C44;--line-strong: #30405F;--ink: #F1F5FC;--ink-muted: #A7B4CB;--ink-subtle: #8394AE;--tyre: #64748B;--hub: #CBD5E1;--mark-warn: #D97706;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 10px 22px -8px rgba(0, 0, 0, .6);--shadow-lg: 0 26px 52px -14px rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--shell);color:var(--ink);font:400 15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.2}p{margin:0}a{color:inherit}button{font:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-muted)}.subtle{color:var(--ink-subtle)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:center;gap:12px;padding:15px 18px;border-block-end:1px solid var(--line)}.card-head h3{font-size:.97rem}.card-head .sub{font-size:.8rem;color:var(--ink-subtle)}.card-head .right{margin-inline-start:auto;display:flex;align-items:center;gap:8px}.card-body{padding:18px}.kpi{padding:17px 18px 14px}.kpi .label{font-family:var(--mono);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-subtle)}.kpi .v{display:flex;align-items:baseline;gap:8px;margin-block:9px 2px;font-family:var(--mono);font-size:1.95rem;font-weight:600;letter-spacing:-.035em;line-height:1}.kpi .v span{font-size:.48em;font-weight:500;color:var(--ink-subtle);letter-spacing:0}.kpi .foot{display:flex;align-items:flex-end;gap:12px;margin-block-start:10px}.kpi .delta{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:.77rem;font-weight:500}.kpi .delta.up{color:var(--ok)}.kpi .delta.down{color:var(--bad)}.kpi .delta.flat{color:var(--ink-subtle)}.kpi .since{font-size:.77rem;color:var(--ink-subtle)}.kpi .spark{margin-inline-start:auto;display:block}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font-size:.87rem;font-weight:500;cursor:pointer;transition:all .14s ease}.btn:hover{border-color:var(--line-strong);background:var(--sunken)}.btn-primary{background:var(--blue-fill);border-color:var(--blue-fill);color:#fff}.btn-primary:hover{background:var(--blue-fill-press);border-color:var(--blue-fill-press)}.btn-quiet{border-color:transparent;background:transparent;color:var(--ink-muted)}.btn-quiet:hover{background:var(--sunken);color:var(--ink)}.btn:disabled,.btn:disabled:hover{opacity:.45;cursor:not-allowed}.btn-primary:disabled:hover{background:var(--blue-fill);border-color:var(--blue-fill)}.field{display:grid;gap:4px}.field label{font-family:var(--mono);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-subtle)}.field input{inline-size:100%;padding:7px 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font:500 .92rem/1.3 var(--mono);font-variant-numeric:tabular-nums}.field input:focus{border-color:var(--blue)}.app{display:grid;grid-template-columns:244px minmax(0,1fr);min-block-size:100vh}.side{background:var(--side);color:var(--side-ink);display:flex;flex-direction:column;gap:4px;padding:18px 14px;position:sticky;inset-block-start:0;block-size:100vh;overflow-y:auto}.side-brand{display:flex;align-items:center;gap:11px;padding:4px 8px 20px}.side-brand .tile{border-radius:22.5%;display:block;flex:none}.side-brand .txt{min-inline-size:0}.side-brand .name{font-weight:600;font-size:1.02rem;letter-spacing:-.02em}.side-brand .role{font-family:var(--mono);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--side-mut)}.side-label{padding:16px 10px 6px;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--side-mut)}.side-link{display:flex;align-items:center;gap:11px;inline-size:100%;padding:9px 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--side-mut);font-size:.93rem;font-weight:500;text-align:start;text-decoration:none;cursor:pointer;transition:background-color .14s ease,color .14s ease}.side-link:hover{background:color-mix(in srgb,#fff 7%,transparent);color:var(--side-ink)}.side-link[aria-current=page]{background:var(--side-hi);color:#fff}.side-link svg{flex:none;opacity:.9}.side-link .pill{margin-inline-start:auto;padding:1px 7px;border-radius:999px;background:var(--bad-fill);color:#fff;font-family:var(--mono);font-size:.68rem;font-weight:600}.side-link[aria-current=page] .pill{background:#fff;color:var(--side)}.side-foot{margin-block-start:auto;padding:14px 10px 4px;border-block-start:1px solid color-mix(in srgb,#fff 11%,transparent);font-size:.8rem;color:var(--side-mut)}.top{position:sticky;inset-block-start:0;z-index:30;display:flex;align-items:center;gap:14px;padding:0 clamp(16px,2.4vw,30px);block-size:62px;background:color-mix(in srgb,var(--shell) 88%,transparent);-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-block-end:1px solid var(--line)}.top h1{font-size:1.12rem}.top .crumb{font-size:.82rem;color:var(--ink-subtle)}.who{display:flex;align-items:center;gap:9px;padding-inline-start:12px;border-inline-start:1px solid var(--line)}.who .av{display:grid;place-items:center;inline-size:32px;block-size:32px;border-radius:50%;background:var(--blue-fill);color:#fff;font-family:var(--mono);font-size:.74rem;font-weight:600}.who .nm{font-size:.86rem;font-weight:500;line-height:1.15}.who .rl{font-size:.72rem;color:var(--ink-subtle)}.country-switch{display:flex;gap:6px;flex:none}.country-switch .short{display:none}@media(max-width:640px){.country-switch .long{display:none}.country-switch .short{display:inline;font-family:var(--mono)}.top .crumb{display:none}}main{padding:clamp(18px,2.4vw,28px) clamp(16px,2.4vw,30px) 60px}.view{display:none}.view.on{display:block;animation:fade .22s ease}@keyframes fade{0%{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}.grid{display:grid;gap:clamp(14px,1.5vw,18px)}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)}@media(max-width:1180px){.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1080px){.g-main,.g-2,.g-3{grid-template-columns:minmax(0,1fr)}}@media(max-width:620px){.g-4{grid-template-columns:minmax(0,1fr)}}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:999px;border:1px solid;font-size:.76rem;font-weight:500;white-space:nowrap}.chip i{inline-size:6px;block-size:6px;border-radius:50%;background:currentColor;flex:none}.chip svg{flex:none}.chip.ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-line)}.chip.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-line)}.chip.bad{color:var(--bad);background:var(--bad-bg);border-color:var(--bad-line)}.chip.idle{color:var(--idle);background:var(--idle-bg);border-color:var(--idle-line)}.table-wrap{overflow-x:auto}table{inline-size:100%;border-collapse:collapse;min-inline-size:720px}thead th{position:sticky;inset-block-start:0;z-index:2;padding:10px 14px;background:var(--sunken);border-block-end:1px solid var(--line);font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-subtle);text-align:start;white-space:nowrap}thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}thead th.sortable:hover{color:var(--ink)}thead th .arrow{opacity:0;margin-inline-start:5px}thead th[data-dir] .arrow{opacity:1;color:var(--blue)}thead th[data-dir=desc] .arrow{rotate:180deg;display:inline-block}th.right,td.right{text-align:end}tbody td{padding:11px 14px;border-block-end:1px solid var(--line);font-size:.89rem;vertical-align:middle}tbody tr{transition:background-color .12s ease}tbody tr:hover{background:var(--sunken)}tbody tr.clickable{cursor:pointer}tbody tr:last-child td{border-block-end:0}.person{display:flex;align-items:center;gap:10px}.person .av{display:grid;place-items:center;inline-size:32px;block-size:32px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-family:var(--mono);font-size:.72rem;font-weight:600;flex:none}.person .nm{font-weight:500;line-height:1.25}.person .ph{font-family:var(--mono);font-size:.75rem;color:var(--ink-subtle)}.veh-cell{display:flex;align-items:center;gap:9px}.veh-cell svg{inline-size:46px;block-size:auto;flex:none}svg.mark{inline-size:96px;block-size:auto;flex:none}.veh-cell span{font-size:.85rem}.rating{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.85rem}.rating svg{color:var(--warn)}.empty{padding:44px 18px;text-align:center;color:var(--ink-subtle);font-size:.9rem}.notice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-sm);font-size:.87rem;line-height:1.5}.notice svg{flex:none;margin-block-start:2px}.notice.warn{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn)}.notice.ok{background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok)}.notice.ok svg{color:var(--ok)}.notice b{font-weight:600}.btn-approve{background:var(--ok-fill);border-color:var(--ok-fill);color:#fff;font-weight:600}.btn-approve:hover{filter:brightness(1.06);background:var(--ok-fill);border-color:var(--ok-fill)}.btn-reject{color:var(--bad);border-color:var(--bad-line);background:var(--bad-bg)}.btn-reject:hover{border-color:var(--bad);background:var(--bad-bg)}.icon-btn{display:grid;place-items:center;inline-size:36px;block-size:36px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink-muted);cursor:pointer;transition:color .14s ease,border-color .14s ease}.icon-btn:hover{color:var(--ink);border-color:var(--line-strong)}.icon-btn .moon{display:none}:root[data-theme=dark] .icon-btn .sun{display:none}:root[data-theme=dark] .icon-btn .moon{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .icon-btn .sun{display:none}:root:not([data-theme=light]) .icon-btn .moon{display:block}:root[data-theme=dark] .icon-btn .sun{display:none}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#090e1a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .22s ease}.scrim.on{opacity:1;pointer-events:auto}.drawer{position:fixed;inset-block:0;inset-inline-end:0;z-index:81;inline-size:min(460px,100vw);background:var(--card);border-inline-start:1px solid var(--line);box-shadow:var(--shadow-lg);translate:100% 0;transition:translate .26s cubic-bezier(.22,.61,.36,1);display:flex;flex-direction:column}.drawer.on{translate:0 0}.drawer-head{display:flex;align-items:flex-start;gap:12px;padding:18px;border-block-end:1px solid var(--line)}.drawer-body{padding:18px;overflow-y:auto;display:grid;gap:20px}.kv{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px 14px;font-size:.87rem}.kv dt{color:var(--ink-subtle)}.kv dd{margin:0;font-weight:500}.sec-title{font-family:var(--mono);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-subtle);padding-block-end:8px;border-block-end:1px solid var(--line);margin-block-end:12px}.row-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end;white-space:nowrap}.btn-sm{padding:5px 10px;font-size:.8rem;gap:6px}.btn-sm svg{inline-size:14px;block-size:14px}.btn-icon{padding:5px}@media(max-width:860px){.app{grid-template-columns:minmax(0,1fr)}.side{position:static;block-size:auto;flex-direction:row;align-items:center;gap:6px;overflow-x:auto;padding:10px 12px}.side-brand{padding:0 10px 0 4px}.side-brand .txt,.side-label,.side-foot{display:none}.side-link{inline-size:auto;white-space:nowrap}.search{inline-size:150px}.who .nm,.who .rl,.demo-flag span{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.icon-btn.danger{color:var(--bad);border-color:var(--bad-line);background:var(--bad-bg)}.icon-btn.danger:hover{color:var(--bad);border-color:var(--bad)}.vet{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}@media(max-width:1100px){.vet{grid-template-columns:minmax(0,1fr)}}.queue-list{max-block-size:70vh;overflow-y:auto}.q-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;inline-size:100%;padding:12px 16px;border:0;border-block-end:1px solid var(--line);background:transparent;color:var(--ink);text-align:start;cursor:pointer;transition:background-color .12s ease}.q-row:hover{background:var(--sunken)}.q-row[aria-current=true]{background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue)}.q-row .av{display:grid;place-items:center;inline-size:34px;block-size:34px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-family:var(--mono);font-size:.72rem;font-weight:600}.q-row .nm{font-size:.9rem;font-weight:500;line-height:1.25}.q-row .meta{font-family:var(--mono);font-size:.72rem;color:var(--ink-subtle)}.q-row .age{font-family:var(--mono);font-size:.72rem;font-weight:500;padding:2px 7px;border-radius:999px}.q-row .age.fresh{color:var(--ink-subtle);background:var(--idle-bg)}.q-row .age.old{color:var(--warn);background:var(--warn-bg)}.q-row .age.stale{color:var(--bad);background:var(--bad-bg)}.dossier-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;border-block-end:1px solid var(--line)}.dossier-head .av{display:grid;place-items:center;inline-size:46px;block-size:46px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-family:var(--mono);font-size:.88rem;font-weight:600}.dossier-head .nm{font-size:1.06rem;font-weight:600;letter-spacing:-.02em}.dossier-head .ph{font-family:var(--mono);font-size:.78rem;color:var(--ink-subtle)}.dossier-head .flags{margin-inline-start:auto;display:flex;gap:7px;flex-wrap:wrap}.q-row .nm,.q-row .meta,.person .nm,.person .ph,.dossier-head .nm,.dossier-head .ph{display:block}.filters{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.fchip{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink-muted);font-size:.83rem;font-weight:500;cursor:pointer;transition:all .14s ease}.fchip:hover{border-color:var(--line-strong);color:var(--ink)}.fchip[aria-pressed=true]{background:var(--blue-fill);border-color:var(--blue-fill);color:#fff}.fchip .n{font-family:var(--mono);opacity:.75;margin-inline-start:5px}.unknown-code{font-family:var(--mono);font-size:.72rem;padding:1px 6px;border-radius:4px;background:var(--warn-bg);color:var(--warn);border:1px dashed var(--warn-line)}.code-hint{font-family:var(--mono);font-size:.72rem;color:var(--ink-subtle)}.meter{display:grid;gap:6px}.meter .top{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem}.meter .top b{font-family:var(--mono);font-weight:600}.meter .track{block-size:8px;border-radius:4px;background:var(--sunken);overflow:hidden}.meter .fill{block-size:100%;border-radius:4px;background:var(--blue)}.meter .fill.warn{background:var(--warn)}.meter .fill.bad{background:var(--bad)}.stars{display:inline-flex;gap:1px;color:var(--warn)}.stars .off{color:var(--line-strong)}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-block-start:5px}.tag{padding:2px 8px;border-radius:999px;background:var(--bad-bg);border:1px solid var(--bad-line);color:var(--bad);font-size:.72rem;font-weight:500;white-space:nowrap}.said{font-size:.85rem;color:var(--ink-muted);font-style:italic;margin-block-start:5px}.doc-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-block-end:1px dashed var(--line);font-size:.87rem}.doc-row:last-child{border-block-end:0}.doc-row .nm{flex:1}.search{position:relative;flex:1 1 260px;max-inline-size:380px}.search input{inline-size:100%;padding:7px 10px 7px 32px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font:500 .9rem/1.3 var(--sans)}.search input:focus{border-color:var(--blue);outline:none}.search svg{position:absolute;inset-inline-start:10px;inset-block-start:50%;translate:0 -50%;color:var(--ink-subtle);pointer-events:none}.chart-wrap{overflow-x:auto}.bars{display:block;inline-size:100%;block-size:auto;min-inline-size:460px}.bars .grid-line{stroke:var(--line);stroke-width:1}.bars .axis{font-family:var(--mono);font-size:9.5px;fill:var(--ink-subtle)}.bars .bar{fill:var(--blue);rx:3;transition:fill .13s ease}.bars .bar:hover{fill:var(--blue-press)}.bars .hit{fill:transparent;cursor:pointer}.bars .bar-label{font-family:var(--mono);font-size:9.5px;fill:var(--ink-muted)}.bars .bar.alt,.bars .bar.alt:hover{fill:var(--mark-warn)}.split{display:grid;gap:13px}.split-row{display:grid;grid-template-columns:92px minmax(0,1fr) 62px;gap:12px;align-items:center}.split-row .nm{font-size:.88rem}.split-row .track{block-size:9px;border-radius:5px;background:var(--sunken);overflow:hidden}.split-row .fill{block-size:100%;border-radius:5px;background:var(--blue);transition:inline-size .4s cubic-bezier(.22,.61,.36,1)}.split-row .qty{font-family:var(--mono);font-size:.84rem;text-align:end;font-variant-numeric:tabular-nums}.tip{position:absolute;z-index:40;padding:6px 9px;border-radius:var(--r-sm);background:var(--ink);color:var(--shell);font-family:var(--mono);font-size:.74rem;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-md)}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:12px;background:#090e1ae0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.viewer-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:var(--r-sm);background:var(--card);border:1px solid var(--line);color:var(--ink);font-size:.9rem}.viewer-tools{margin-inline-start:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.viewer-tools .btn{background:var(--card)}.viewer-tools .btn:disabled{opacity:.45;cursor:not-allowed}.viewer-stage{display:flex;align-items:center;justify-content:center;gap:10px;min-block-size:0;overflow:hidden}.viewer-img{max-inline-size:100%;max-block-size:100%;object-fit:contain;border-radius:var(--r-sm);background:#fff;cursor:zoom-in;transition:none;touch-action:none;-webkit-user-select:none;user-select:none}.viewer-img.grabbing{cursor:grab}.viewer-img.grabbing:active{cursor:grabbing}.viewer-step{flex:none;inline-size:42px;block-size:42px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer}.viewer-step:hover{background:var(--sunken)}.viewer-note{max-inline-size:40ch;display:grid;gap:14px;justify-items:center;padding:28px;border-radius:var(--r-sm);background:var(--card);border:1px solid var(--line);color:var(--ink-muted);text-align:center;font-size:.9rem}.viewer-help{text-align:center;font-size:.78rem;color:#93a6cc;margin:0}@media(max-width:620px){.viewer-help{display:none}.viewer-step{inline-size:34px;block-size:34px}}.pager{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;border-block-start:1px solid var(--line)}.pager-count{font-size:.78rem;color:var(--ink-subtle)}.pager-steps{margin-inline-start:auto;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.pager-steps .btn{min-inline-size:34px;justify-content:center}.pager-steps .btn:disabled{opacity:.45;cursor:not-allowed}.pager-on,.pager-on:hover{background:var(--blue-fill);border-color:var(--blue-fill);color:#fff;font-variant-numeric:tabular-nums}.pager-gap{color:var(--ink-subtle);padding-inline:2px}@media(max-width:620px){.pager-steps .btn:not(:first-child):not(:last-child){display:none}.pager-gap{display:none}}.compose{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:22px}@media(max-width:1080px){.compose{grid-template-columns:minmax(0,1fr)}}.compose-form{display:grid;gap:16px;align-content:start}.field textarea,.field select{inline-size:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font-family:var(--sans);font-size:.9rem;transition:border-color .14s ease}.field textarea{min-block-size:116px;resize:vertical;line-height:1.55}.field textarea:focus,.field select:focus{border-color:var(--blue);outline:none}.field .row{display:flex;align-items:baseline;gap:8px}.field .row label{margin:0}.counter{margin-inline-start:auto;font-family:var(--mono);font-size:.72rem;color:var(--ink-subtle);font-variant-numeric:tabular-nums}.counter.over{color:var(--bad)}.tokens{display:flex;flex-wrap:wrap;gap:6px}.token{font-family:var(--mono);font-size:.74rem;padding:4px 9px;border-radius:999px;border:1px dashed var(--line-strong);background:var(--sunken);color:var(--ink-muted);cursor:pointer;transition:all .14s ease}.token:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.phone{border:1px solid var(--line-strong);border-radius:22px;background:var(--sunken);padding:10px;box-shadow:var(--shadow-md);position:sticky;inset-block-start:16px}.phone .screen{background:var(--card);border-radius:14px;overflow:hidden;border:1px solid var(--line)}.phone .bar{display:flex;align-items:center;gap:8px;padding:11px 13px;border-block-end:1px solid var(--line);font-size:.8rem;font-weight:600}.phone .bar .back{color:var(--ink-subtle)}.phone .body{padding:14px 13px 16px;display:grid;gap:9px}.phone .when{font-family:var(--mono);font-size:.68rem;color:var(--ink-subtle)}.phone .t{font-size:.95rem;font-weight:600;line-height:1.35}.phone .d{font-size:.83rem;color:var(--ink-muted);line-height:1.6;white-space:pre-wrap}.phone .reply{margin-block-start:6px;padding:10px 11px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--sunken);color:var(--ink-subtle);font-size:.8rem}.phone-note{margin-block-start:10px;font-size:.76rem;color:var(--ink-subtle);line-height:1.5}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:13px}.tpl{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:14px;display:grid;gap:7px;align-content:start;transition:border-color .14s ease,box-shadow .14s ease}.tpl:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.tpl .n{font-size:.89rem;font-weight:600}.tpl .p{font-size:.8rem;color:var(--ink-muted);line-height:1.55}.tpl .m{display:flex;align-items:center;gap:8px;margin-block-start:3px}.tpl .m .used{font-family:var(--mono);font-size:.72rem;color:var(--ink-subtle)}.tpl .m .btn{margin-inline-start:auto}.inbox{display:grid}.inbox-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;padding:15px 18px;border-block-start:1px solid var(--line);align-items:start}.inbox-row:first-child{border-block-start:0}.inbox-row .av{inline-size:34px;block-size:34px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:.74rem;font-weight:600;letter-spacing:.02em}.inbox-row .who-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.inbox-row .who-line b{font-size:.88rem;font-weight:600}.inbox-row .about{font-size:.78rem;color:var(--ink-subtle)}.inbox-row .said{margin-block-start:5px;font-size:.86rem;color:var(--ink-muted);line-height:1.6;border-inline-start:2px solid var(--line-strong);padding-inline-start:11px}.inbox-row .acts{display:flex;gap:6px;align-items:center}.readbar{display:flex;align-items:center;gap:9px;min-inline-size:132px}.readbar .track{flex:1;block-size:7px;border-radius:4px;background:var(--sunken);overflow:hidden;border:1px solid var(--line)}.readbar .fill{block-size:100%;background:var(--blue)}.readbar .q{font-family:var(--mono);font-size:.77rem;color:var(--ink-subtle);font-variant-numeric:tabular-nums}.send-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.send-bar .who-to{font-size:.86rem;color:var(--ink-muted)}.send-bar .who-to b{color:var(--ink);font-weight:600}.send-bar .who-to .over{color:var(--bad);font-weight:600}.send-bar .right{margin-inline-start:auto;display:flex;gap:8px;align-items:center}.switch{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--ink-muted);cursor:pointer}.switch input{inline-size:15px;block-size:15px;accent-color:var(--blue)}.readbar .q.short{color:var(--bad)}tr.send-short td{background:color-mix(in srgb,var(--bad) 5%,transparent)}.queue{display:grid}.q-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 18px;border-block-end:1px solid var(--line)}.q-item:last-child{border-block-end:0}.q-item .ico{display:grid;place-items:center;inline-size:34px;block-size:34px;border-radius:var(--r-sm)}.q-item .ico.warn{background:var(--warn-bg);color:var(--warn)}.q-item .ico.bad{background:var(--bad-bg);color:var(--bad)}.q-item .ico.ok{background:var(--ok-bg);color:var(--ok)}.q-item .t{font-size:.89rem;font-weight:500;line-height:1.3}.q-item .d{font-size:.79rem;color:var(--ink-subtle)}.q-item .n{font-family:var(--mono);font-size:1.15rem;font-weight:600}.feed{display:grid}.f-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:12px;align-items:start;padding:11px 18px}.f-item .dot{inline-size:8px;block-size:8px;border-radius:50%;margin-block-start:7px}.f-item .txt{font-size:.86rem;line-height:1.45}.f-item .txt b{font-weight:600}.f-item .when{font-family:var(--mono);font-size:.74rem;color:var(--ink-subtle);white-space:nowrap}.hours-note{margin-block-start:10px;font-size:.79rem;color:var(--ink-subtle)}@media(pointer:coarse){.field input,.field textarea,.field select,.search input,input[type=text],input[type=search],input[type=number],input[type=email],input[type=password],input[type=tel],textarea,select{font-size:16px}.btn,.btn-sm,.fchip,.side-link,.pager .btn,.token,.search input,input.search,.field input:not([type=checkbox]):not([type=radio]),.field select{min-block-size:44px}}
