:root{--bg:#0a0a0f;--bg-2:#0d0d15;--panel:#101018;--panel-2:#14141f;--field:#07070c;--line:#1d2a25;--line-hot:rgba(0,255,159,.26);--line-err:rgba(255,59,59,.5);--line-magenta:rgba(255,45,120,.5);--green:#00ff9f;--magenta:#ff2d78;--cyan:#22d3ee;--ok:#00ff9f;--err:#ff3b3b;--warn:#ffb300;--text:#d7e0dd;--muted:#8a9a94;--dim:#3a4a44;--on-accent:#04040a;--glow-1:0 0 8px rgba(0,255,159,.35);--glow-2:0 0 16px rgba(0,255,159,.22);--glow-err:0 0 10px rgba(255,59,59,.40);--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--display:"Chakra Petch","JetBrains Mono",system-ui,sans-serif;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:28px;--fs-2xl:40px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--cut:10px;--cut-sm:6px;--cut-lg:polygon(0 var(--cut),var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%);--cut-box:polygon(0 var(--cut-sm),var(--cut-sm) 0,100% 0,100% calc(100% - var(--cut-sm)),calc(100% - var(--cut-sm)) 100%,0 100%);--t-fast:90ms;--t:140ms;--t-slow:240ms;--ease:steps(3,end);--type-ms:18ms;--z-tex:2;--z-app:3;--z-scrim:40;--z-drawer:50;--z-toast:60;--bar-h:60px;--drawer-w:392px;--wrap:1320px;--g-surface:#ffffff;--g-text:#1f1f1f;--g-hover:#f8f8f8;--g-press:#f0f0f0}*,:after,:before{box-sizing:border-box}[hidden]{display:none!important}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--mono);font-size:var(--fs-md);line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:var(--green);color:var(--on-accent)}.display,h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:.02em;margin:0;line-height:1.2}a{color:var(--green);text-decoration:none}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button,input{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}svg{display:block}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.od-nowrap,.od-truncate,.sr{white-space:nowrap}.od-truncate{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.od-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0}.od-stack{display:flex;flex-direction:column;gap:var(--sp-2)}.od-field{display:grid;grid-gap:2px;gap:2px}.od-field>*{display:block}.od-row{display:flex;align-items:center;gap:var(--sp-2)}.od-fill{flex:1 1;min-width:0}.od-grid{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}.od-screen{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;height:100%}.wrap{max-width:var(--wrap);margin:0 auto}.kicker{font-size:var(--fs-xs);letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--sp-2)}.hint,.kicker{color:var(--muted)}.hint{font-size:var(--fs-sm)}.label{font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.label .req{color:var(--magenta)}.crt-bg,.crt-lines{position:fixed;inset:0;pointer-events:none;z-index:var(--z-tex)}.crt-bg{background-image:linear-gradient(90deg,rgba(0,255,159,.045) 1px,transparent 0),linear-gradient(180deg,rgba(0,255,159,.045) 1px,transparent 0);background-size:44px 44px;-webkit-mask-image:radial-gradient(120% 120% at 50% 0,#000 40%,transparent 100%);mask-image:radial-gradient(120% 120% at 50% 0,#000 40%,transparent 100%)}.crt-lines{background:repeating-linear-gradient(180deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px);box-shadow:inset 0 0 160px rgba(0,0,0,.75)}.app{position:relative;min-height:100dvh;z-index:var(--z-app)}.topbar{gap:var(--sp-4);padding:0 var(--sp-4);height:var(--bar-h);background:var(--bg-2);border-bottom:1px solid var(--line)}.brand,.topbar{display:flex;align-items:center}.brand{gap:var(--sp-2);color:var(--green);flex:none}.brand .mark{width:22px;height:22px;filter:drop-shadow(0 0 6px rgba(0,255,159,.5))}.brand-txt{font-family:var(--display);font-size:var(--fs-lg);font-weight:700;letter-spacing:.08em}.brand-sub{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.14em}.nav{display:flex;gap:var(--sp-1);flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-btn{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);height:40px;color:var(--muted);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;border:1px solid transparent;-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.nav-btn svg{width:16px;height:16px;flex:none}.nav-btn:hover{color:var(--text);border-color:var(--line-hot);background:rgba(0,255,159,.05)}.nav-btn[aria-current=page]{color:var(--green);border-color:var(--line-hot);background:rgba(0,255,159,.08);text-shadow:var(--glow-1)}.nav-count{display:inline-block;min-width:20px;padding:0 4px;text-align:center;color:var(--on-accent);background:var(--green);font-weight:700}.nav-count,.sess{font-size:var(--fs-xs)}.sess{display:flex;align-items:center;gap:var(--sp-3);flex:none;color:var(--muted)}.sess b{color:var(--text);font-weight:500}.view{padding:var(--sp-6) var(--sp-4) var(--sp-8)}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-6)}.view-head h1{font-size:var(--fs-xl);text-shadow:var(--glow-1)}.panel{background:var(--panel);border:1px solid var(--line);-webkit-clip-path:var(--cut-lg);clip-path:var(--cut-lg);padding:var(--sp-4)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.panel-title{font-family:var(--display);font-size:var(--fs-sm);letter-spacing:.16em;text-transform:uppercase;color:var(--green)}.stat{background:var(--panel);border:1px solid var(--line);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);padding:var(--sp-3) var(--sp-4)}.stat .num{font-size:var(--fs-xl);font-family:var(--display);font-weight:700;color:var(--green);text-shadow:var(--glow-1)}.stat .cap{font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.stat[data-tone=warn] .num{color:var(--warn);text-shadow:0 0 8px rgba(255,179,0,.35)}.stat[data-tone=err] .num{color:var(--err);text-shadow:var(--glow-err)}.chip{height:36px;padding:0 var(--sp-3);color:var(--muted);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);background:var(--panel);transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.chip:hover{color:var(--text);border-color:var(--line-hot)}.chip[aria-pressed=true]{color:var(--on-accent);background:var(--green);border-color:var(--green);font-weight:700}.filters{margin-bottom:var(--sp-4)}.filters .od-row{gap:var(--sp-2);flex-wrap:wrap}.search{width:100%;max-width:340px;height:40px;padding:0 var(--sp-3);background:var(--field);color:var(--text);border:1px solid var(--line);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box)}.search::placeholder{color:var(--dim)}.search:focus{border-color:var(--green);box-shadow:var(--glow-1);outline:none}.log-table{border:1px solid var(--line);background:var(--panel);-webkit-clip-path:var(--cut-lg);clip-path:var(--cut-lg)}.log-head,.log-row{display:grid;grid-template-columns:var(--cols-log,104px minmax(0,1fr) 150px 92px 116px 128px);grid-gap:var(--sp-3);gap:var(--sp-3);align-items:center;padding:0 var(--sp-4)}.log-head{height:38px;border-bottom:1px solid var(--line-hot);color:var(--muted);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;background:rgba(0,255,159,.04)}.log-row{width:100%;min-height:52px;text-align:left;border-bottom:1px solid rgba(29,42,37,.7);transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.log-row:hover{background:rgba(0,255,159,.07)}.log-row:last-child{border-bottom:0}.log-row>span{display:block;min-width:0}.c-id{color:var(--muted);font-size:var(--fs-sm)}.c-name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c-vendor{display:flex;align-items:center;gap:var(--sp-2)}.c-num,.c-vendor{font-size:var(--fs-sm)}.c-num,.c-price{text-align:right}.c-price{color:var(--green)}.c-state{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase}.log-row[data-low="1"] .c-state{color:var(--warn)}.log-row[data-out="1"]{opacity:.55}.log-row[data-out="1"] .c-state{color:var(--err)}.badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-3);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere;max-width:100%;border:1px solid var(--line);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);color:var(--muted);background:var(--panel)}.badge:before{content:"";width:8px;height:8px;flex:none;background:var(--muted)}.badge[data-v=ok]{color:var(--ok);border-color:rgba(0,255,159,.4)}.badge[data-v=ok]:before{background:var(--ok);box-shadow:var(--glow-1)}.badge[data-v=warn]{color:var(--warn);border-color:rgba(255,179,0,.4)}.badge[data-v=warn]:before{background:var(--warn);box-shadow:0 0 8px rgba(255,179,0,.45)}.badge[data-v=err]{color:var(--err);border-color:var(--line-err)}.badge[data-v=err]:before{background:var(--err);box-shadow:var(--glow-err)}.badge[data-v=sync]{color:var(--cyan);border-color:rgba(34,211,238,.4)}.badge[data-v=sync]:before{background:var(--cyan)}.led{width:10px;height:10px;flex:none;background:var(--green);box-shadow:var(--glow-1);animation:pulse 1.6s steps(2) infinite}.led[data-s=degradado]{background:var(--warn);box-shadow:0 0 8px rgba(255,179,0,.45);animation-duration:1s}.led[data-s=caido]{background:var(--err);box-shadow:var(--glow-err);animation-duration:.5s}@keyframes pulse{0%,60%{opacity:1}61%,to{opacity:.35}}.led-txt{font-size:var(--fs-xs);letter-spacing:.1em}.led-txt[data-s=activo]{color:var(--green)}.led-txt[data-s=degradado]{color:var(--warn)}.led-txt[data-s=caido]{color:var(--err)}.log-body{max-height:184px;padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm)}.log-line{display:flex;gap:var(--sp-3);padding:2px 0;border-bottom:1px dotted rgba(58,74,68,.5)}.log-line:last-child{border-bottom:0}.log-line .ts{color:var(--dim);flex:none}.log-line .tag{flex:none;font-weight:700;letter-spacing:.06em}.log-line[data-lv=ok] .tag{color:var(--ok)}.log-line[data-lv=err] .tag{color:var(--err)}.log-line[data-lv=warn] .tag{color:var(--warn)}.log-line[data-lv=sync] .tag{color:var(--cyan)}.log-line .msg{color:var(--muted);min-width:0;overflow-wrap:anywhere}.log-line[data-lv=err] .msg{color:#ffb0b0}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-4);color:var(--green);background:transparent;border:1px solid var(--line-hot);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.btn svg{width:16px;height:16px}.btn:hover{background:rgba(0,255,159,.1);box-shadow:var(--glow-2),-2px 0 0 rgba(255,45,120,.55),2px 0 0 rgba(34,211,238,.55)}.btn:active{transform:translateY(1px)}.btn[data-variant=solid]{background:var(--green);color:var(--on-accent);font-weight:700;border-color:var(--green)}.btn[data-variant=solid]:hover{background:#5affc0;box-shadow:var(--glow-2),-2px 0 0 rgba(255,45,120,.55),2px 0 0 rgba(34,211,238,.55)}.btn[data-variant=ghost]{color:var(--muted);border-color:var(--line)}.btn[data-variant=ghost]:hover{color:var(--text);border-color:var(--line-hot);background:rgba(255,255,255,.03)}.btn[data-variant=danger]{color:var(--err);border-color:var(--line-err)}.btn[data-variant=danger]:hover{background:rgba(255,59,59,.12);box-shadow:var(--glow-err)}.btn[data-variant=magenta]{color:var(--magenta);border-color:var(--line-magenta)}.btn[data-variant=magenta]:hover{background:rgba(255,45,120,.12);box-shadow:0 0 12px rgba(255,45,120,.3)}.btn[disabled]{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn[data-busy="1"]{pointer-events:none;opacity:.75}.btn[data-busy="1"]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:repeating-linear-gradient(90deg,currentColor 0 6px,transparent 6px 10px);animation:indet 1.1s steps(14) infinite}.btn.is-hover{background:rgba(0,255,159,.1)}.btn.is-hover,.btn[data-variant=solid].is-hover{box-shadow:var(--glow-2),-2px 0 0 rgba(255,45,120,.55),2px 0 0 rgba(34,211,238,.55)}.btn[data-variant=solid].is-hover{background:#5affc0}.btn.is-focus{outline:2px solid var(--cyan);outline-offset:2px}.bar{height:10px;background:var(--field);border:1px solid var(--line-hot);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);overflow:hidden}.bar-fill{height:100%;width:var(--p,0);background:repeating-linear-gradient(90deg,var(--green) 0 6px,transparent 6px 10px);box-shadow:var(--glow-1);transition:width var(--t-slow) var(--ease)}.bar[data-tone=warn]{border-color:rgba(255,179,0,.45)}.bar[data-tone=warn] .bar-fill{background:repeating-linear-gradient(90deg,var(--warn) 0 6px,transparent 6px 10px);box-shadow:0 0 8px rgba(255,179,0,.35)}.bar[data-tone=err]{border-color:rgba(255,59,59,.45)}.bar[data-tone=err] .bar-fill{background:repeating-linear-gradient(90deg,var(--err) 0 6px,transparent 6px 10px);box-shadow:var(--glow-err)}.bar.indet .bar-fill{width:38%;animation:indet 1.1s steps(14) infinite}@keyframes indet{0%{transform:translateX(-110%)}to{transform:translateX(280%)}}.bar-cap{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--muted);letter-spacing:.1em;margin-bottom:var(--sp-1)}.caret{display:inline-block;width:9px;height:1.05em;background:var(--green);vertical-align:-2px;box-shadow:var(--glow-1);animation:blink 1s step-end infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.tw-out{white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.6em}.tw-out .rline{display:block}.field{display:grid;grid-gap:var(--sp-1);gap:var(--sp-1);margin-bottom:var(--sp-4)}.input,select.input,textarea.input{width:100%;min-height:48px;padding:var(--sp-2) var(--sp-3);background:var(--field);color:var(--text);border:1px solid var(--line);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);font-size:var(--fs-md)}.input.code{color:var(--green);font-size:var(--fs-lg);letter-spacing:.14em;text-transform:uppercase}.input::placeholder{color:var(--dim)}.input:focus{outline:none;border-color:var(--green);box-shadow:var(--glow-1)}.input[aria-invalid=true]{border-color:var(--err);box-shadow:var(--glow-err)}.input[disabled]{opacity:.4;cursor:not-allowed}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px;background-repeat:no-repeat}textarea.input{min-height:96px;resize:vertical}.err-msg{display:flex;gap:var(--sp-2);color:var(--err);font-size:var(--fs-sm)}.err-msg:before{content:"[ERROR]";font-weight:700;flex:none}.warn-msg{display:flex;gap:var(--sp-2);color:var(--warn);font-size:var(--fs-sm)}.warn-msg:before{content:"[WARN]";font-weight:700;flex:none}.ok-msg{display:flex;gap:var(--sp-2);color:var(--ok);font-size:var(--fs-sm)}.ok-msg:before{content:"[OK]";font-weight:700;flex:none}.switch{position:relative;display:inline-flex;align-items:center;gap:var(--sp-2);cursor:pointer}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch .track{width:40px;height:20px;border:1px solid var(--line);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);background:var(--field);position:relative;transition:border-color var(--t-fast) var(--ease)}.switch .track:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;background:var(--muted);transition:transform var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.switch input:checked+.track{border-color:var(--line-hot)}.switch input:checked+.track:after{transform:translateX(20px);background:var(--green);box-shadow:var(--glow-1)}.switch input:focus-visible+.track{outline:2px solid var(--cyan);outline-offset:2px}.grid-cards{--cols:3}:where(.grid-cards[data-cols="4"]){--cols:4}.grid-2{--cols:2}.stats-grid{--cols:4}.pcard{background:var(--panel);border:1px solid var(--line);-webkit-clip-path:var(--cut-lg);clip-path:var(--cut-lg);padding:var(--sp-4);display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);min-width:0}.pcard[data-alarm="1"]{border-color:rgba(255,59,59,.55)}.pcard h3{font-size:var(--fs-lg);letter-spacing:.04em}.pcard .hint,.pcard h3{overflow-wrap:anywhere}.pcard .od-row{flex-wrap:wrap;row-gap:var(--sp-2);min-width:0}.pcard .meta{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--muted)}.pcard .meta b{color:var(--text);font-weight:500}.pcard.clickable{cursor:pointer;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.pcard.clickable:hover{border-color:var(--line-hot);box-shadow:var(--glow-2);transform:translateY(-2px)}.pcard .art{aspect-ratio:4/3;background:var(--field);border-bottom:1px solid var(--line);display:grid;place-items:center;color:var(--green);margin:calc(-1 * var(--sp-4)) calc(-1 * var(--sp-4)) 0}.pcard .price{font-family:var(--display);font-size:var(--fs-xl);font-weight:700;color:var(--green);text-shadow:var(--glow-1)}.cart-list{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);margin-bottom:var(--sp-4)}.cart-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;grid-gap:var(--sp-3);gap:var(--sp-3);align-items:center;background:var(--panel);border:1px solid var(--line);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);padding:var(--sp-2) var(--sp-3)}.cart-row .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-row .price{color:var(--green);text-align:right}.qty{display:flex;align-items:center;gap:var(--sp-1)}.qty button{width:32px;height:32px;border:1px solid var(--line);color:var(--muted);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box)}.qty button:hover{color:var(--green);border-color:var(--line-hot)}.qty span{min-width:32px;text-align:center}.totals{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);border-top:1px solid var(--line-hot);padding-top:var(--sp-3)}.totals .big{font-family:var(--display);font-size:var(--fs-xl);font-weight:700;color:var(--green);text-shadow:var(--glow-1)}.kv{display:flex;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px dotted rgba(58,74,68,.6);font-size:var(--fs-sm)}.kv dt{color:var(--muted);margin:0}.kv dd{margin:0;text-align:right}.empty{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);justify-items:start;padding:var(--sp-8) var(--sp-4);border:1px dashed var(--line);-webkit-clip-path:var(--cut-lg);clip-path:var(--cut-lg);background:rgba(16,16,24,.6)}.empty .code{color:var(--muted);font-size:var(--fs-sm)}.skel{position:relative;overflow:hidden;background:var(--panel-2);border:1px solid var(--line);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);min-height:1em}.skel:after{content:"";position:absolute;inset:0;width:38%;background:repeating-linear-gradient(90deg,rgba(0,255,159,.14) 0 6px,transparent 6px 10px);animation:indet 1.1s steps(14) infinite}.scrim{position:fixed;inset:0;background:rgba(3,3,6,.72);z-index:var(--z-scrim);opacity:0;visibility:hidden;transition:opacity var(--t) var(--ease),visibility var(--t) var(--ease)}.scrim[data-open]{opacity:1;visibility:visible}.drawer{position:fixed;top:0;bottom:0;right:0;width:min(var(--drawer-w),100%);z-index:var(--z-drawer);background:var(--bg-2);border-left:1px solid var(--line-hot);box-shadow:-18px 0 40px rgba(0,0,0,.6);transform:translateX(102%);visibility:hidden;transition:transform var(--t) var(--ease),visibility var(--t) var(--ease);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.drawer[data-open]{transform:none;visibility:visible}.drawer header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);height:var(--bar-h);border-bottom:1px solid var(--line)}.drawer .body{grid-gap:var(--sp-4);gap:var(--sp-4);align-content:start}.drawer .body,.drawer footer{padding:var(--sp-4);display:grid}.drawer footer{border-top:1px solid var(--line);grid-gap:var(--sp-3);gap:var(--sp-3)}.icon-btn{width:44px;height:44px;display:grid;place-items:center;color:var(--muted);border:1px solid transparent;-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box)}.icon-btn:hover{color:var(--err);border-color:var(--line-err)}.modal{position:fixed;z-index:var(--z-drawer);left:50%;top:50%;transform:translate(-50%,-46%);width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;background:var(--panel);border:1px solid var(--line-hot);-webkit-clip-path:var(--cut-lg);clip-path:var(--cut-lg);padding:var(--sp-5);opacity:0;visibility:hidden;transition:opacity var(--t) var(--ease),transform var(--t) var(--ease),visibility var(--t) var(--ease)}.modal[data-open]{opacity:1;transform:translate(-50%,-50%);visibility:visible}.modal h2{font-size:var(--fs-lg);margin-bottom:var(--sp-2)}.modal .sub{color:var(--muted);margin-bottom:var(--sp-5)}.modal .sub,.receipt{font-size:var(--fs-sm)}.receipt{background:var(--field);border:1px solid var(--line-hot);-webkit-clip-path:var(--cut-lg);clip-path:var(--cut-lg);padding:var(--sp-4)}.receipt .rline{display:block}.receipt .rline[data-lv=ok]{color:var(--ok)}.receipt .rline[data-lv=err]{color:var(--err)}.receipt .rline[data-lv=warn]{color:var(--warn)}.receipt .rline[data-lv=sync]{color:var(--cyan)}.toast{position:fixed;right:var(--sp-4);bottom:calc(var(--bar-h) + var(--sp-3));z-index:var(--z-toast);display:flex;gap:var(--sp-3);align-items:center;background:var(--panel-2);border:1px solid var(--line-hot);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);opacity:0;transform:translateY(6px);visibility:hidden;transition:opacity var(--t) var(--ease),transform var(--t) var(--ease),visibility var(--t) var(--ease)}.toast[data-open]{opacity:1;transform:none;visibility:visible}.toast .tag{font-weight:700}.toast[data-lv=ok] .tag{color:var(--ok)}.toast[data-lv=err] .tag{color:var(--err)}.toast[data-lv=warn] .tag{color:var(--warn)}.toast[data-lv=sync] .tag{color:var(--cyan)}.tabs{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--line);margin-bottom:var(--sp-4);overflow-x:auto}.tab{height:40px;padding:0 var(--sp-3);color:var(--muted);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid transparent}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--green);border-bottom-color:var(--green);text-shadow:var(--glow-1)}.statusbar{gap:var(--sp-4);padding:0 var(--sp-4);height:var(--bar-h);background:var(--bg-2);border-top:1px solid var(--line);font-size:var(--fs-sm)}.statusbar,.statusbar .sb-sync{display:flex;align-items:center}.statusbar .sb-sync{gap:var(--sp-3);min-width:0;flex:1 1 auto}.statusbar .sb-tag{color:var(--cyan);font-weight:700;flex:none}.statusbar .sb-tag[data-lv=ok]{color:var(--ok)}.statusbar .sb-tag[data-lv=err]{color:var(--err)}.statusbar .bar{width:clamp(90px,18vw,220px);flex:none}.statusbar .sb-right{display:flex;align-items:center;gap:var(--sp-4);flex:none;color:var(--muted);font-size:var(--fs-xs);letter-spacing:.12em}.statusbar .sb-right b{color:var(--green);font-weight:500}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:44px;padding:0 var(--sp-4);background:var(--g-surface);color:var(--g-text);border:0;border-radius:4px;font-family:Roboto,Arial,var(--sans-fallback,system-ui),sans-serif;font-size:var(--fs-md);font-weight:500;letter-spacing:0;text-transform:none;transition:background-color var(--t-fast) ease,box-shadow var(--t-fast) ease}.btn-google:hover{background:var(--g-hover);box-shadow:0 1px 3px rgba(0,0,0,.4)}.btn-google:active{background:var(--g-press)}.btn-google:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.btn-google[disabled]{opacity:.5;cursor:not-allowed}.btn-google .g-logo{width:20px;height:20px;flex:none}.btn-google svg .g-blue{fill:#4285F4}.btn-google svg .g-green{fill:#34A853}.btn-google svg .g-yellow{fill:#FBBC05}.btn-google svg .g-red{fill:#EA4335}@media (max-width:1024px){.grid-cards,.stats-grid{--cols:2}.log-head,.log-row{--cols-log:96px minmax(0,1fr) 132px 84px 108px}.log-head>:nth-child(6),.log-row>.c-state{display:none}}@media (max-width:768px){.topbar{height:auto;flex-wrap:wrap;padding:var(--sp-2) var(--sp-3);gap:var(--sp-2)}.nav{order:3;width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.nav::-webkit-scrollbar{display:none}.brand-sub{display:none}.view{padding:var(--sp-4) var(--sp-3) var(--sp-6)}.hero .wrap{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-gap:var(--sp-6)!important;gap:var(--sp-6)!important;padding:var(--sp-6) var(--sp-3)}.stats-grid{--cols:2}.grid-cards{--cols:1}.log-head{display:none}.log-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--sp-1) var(--sp-3);gap:var(--sp-1) var(--sp-3);padding:var(--sp-3);min-height:0}.log-row>span{display:flex;justify-content:space-between;gap:var(--sp-3)}.log-row>span:before{content:attr(data-l);color:var(--muted);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase}.log-row>.c-name{grid-column:1/-1;white-space:normal;font-size:var(--fs-md)}.log-row>.c-name:before{content:none}.log-row>.c-id{grid-column:1/-1}.cart-row{grid-template-columns:minmax(0,1fr) auto;row-gap:var(--sp-2)}.drawer{width:100%}.grid-2{--cols:1}.statusbar{flex-wrap:wrap;height:auto;min-height:var(--bar-h);gap:var(--sp-2) var(--sp-3);padding:var(--sp-2) var(--sp-3)}.statusbar .sb-right{flex:1 1 auto;min-width:0;flex-wrap:wrap;row-gap:2px}.statusbar .sb-right .hide-sm{display:none}}@media (max-width:420px){.stats-grid{--cols:1}.brand-txt{font-size:var(--fs-md)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition-duration:1ms!important}.caret,.led{opacity:1}.bar.indet .bar-fill{width:60%}.btn[data-busy="1"]:after{opacity:.6}}.opt{position:relative;display:block;cursor:pointer}.opt input{position:absolute;opacity:0;width:1px;height:1px}.opt-body{display:grid;grid-gap:2px;gap:2px;padding:var(--sp-3);background:var(--panel);border:1px solid var(--line);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.opt-body .t{font-size:var(--fs-sm);font-weight:600}.opt-body .d{font-size:var(--fs-xs);color:var(--muted)}.opt:hover .opt-body{border-color:var(--line-hot)}.opt input:checked+.opt-body{border-color:var(--green);background:rgba(0,255,159,.08);box-shadow:var(--glow-1)}.opt input:focus-visible+.opt-body{outline:2px solid var(--cyan);outline-offset:2px}.pdp-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--sp-12);padding-top:var(--sp-6)}.co-grid,.pdp-grid{display:grid;gap:var(--sp-12)}.co-grid{grid-template-columns:minmax(0,1fr) 372px;grid-gap:var(--sp-12);align-items:start;padding-top:var(--sp-4)}.co-grid .summary{position:-webkit-sticky;position:sticky;top:var(--sp-4)}@media (max-width:1024px){.pdp-grid{gap:var(--sp-8)}.co-grid,.pdp-grid{grid-template-columns:1fr}.co-grid .summary{position:static}}.order{background:var(--panel);border:1px solid var(--line);-webkit-clip-path:var(--cut-lg);clip-path:var(--cut-lg);padding:var(--sp-4);margin-bottom:var(--sp-3)}.order[data-alarm="1"]{border-color:rgba(255,59,59,.55)}.order-top{display:flex;gap:var(--sp-4);align-items:center;flex-wrap:wrap}.order .name{font-weight:600;color:var(--text)}.order .meta{font-size:var(--fs-xs);color:var(--muted)}.order .actions{display:flex;gap:var(--sp-2);margin-left:auto;flex-wrap:wrap}.order-detail{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px dashed var(--line)}@media (max-width:768px){.order .actions{margin-left:0;width:100%}.order .actions .btn{flex:1 1 auto}}.skip-link{position:fixed;top:-56px;left:var(--sp-3);z-index:calc(var(--z-toast) + 1);background:var(--green);color:var(--on-accent);padding:var(--sp-2) var(--sp-3);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;transition:top var(--t-fast) var(--ease)}.skip-link:focus-visible{top:var(--sp-2)}.offline-banner{left:0;right:0;bottom:var(--bar-h);gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);background:rgba(30,8,8,.94);border-top:1px solid var(--line-err);color:#ffb0b0}.offline-banner,.role-switcher{position:fixed;z-index:calc(var(--z-toast) - 1);display:flex;align-items:center}.role-switcher{left:var(--sp-2);bottom:calc(var(--bar-h) + var(--sp-2));gap:var(--sp-1);background:var(--panel-2);border:1px dashed var(--line);-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);padding:var(--sp-1)}.sidebar{display:flex;flex-direction:column;width:220px;min-width:220px;border-right:1px solid var(--line);background:var(--bg-2);overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-bottom:1px solid var(--line);color:var(--green)}.sidebar-links{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2);flex:1 1}.sidebar-link{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);min-height:36px;color:var(--muted);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent;-webkit-clip-path:var(--cut-box);clip-path:var(--cut-box);border-radius:0;transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.sidebar-link:hover{color:var(--text)}.sidebar-link[aria-current=page]{color:var(--green);border-color:var(--line-hot);background:rgba(0,255,159,.08)}.sidebar-footer{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--line)}