:root{--ink: #16161a;--gray: #6b6b73;--faint: #96969e;--surface: #f4f4f2;--white: #ffffff;--border: rgba(20, 20, 26, .09);--chip: #f0f0ee;--accent: linear-gradient(180deg, #2b2b32, #131317);--good: #1a7f4b;--good-bg: #e6f2ea;--warn: #8a6410;--warn-bg: #f7f0de;--bad: #a93a34;--bad-bg: #f8e9e7;--radius-sm: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--font: "Poppins", -apple-system, BlinkMacSystemFont, "SF Pro", sans-serif;color-scheme:light}:root[data-theme=dark]{--ink: #f2f2f4;--gray: #9a9aa3;--faint: #6e6e77;--surface: #0e0e11;--white: #16161a;--border: rgba(255, 255, 255, .1);--chip: #1e1e23;--accent: linear-gradient(180deg, #fafafb, #dddde3);--good: #4ed08a;--good-bg: #14301f;--warn: #e0b25c;--warn-bg: #322813;--bad: #f08279;--bad-bg: #331a18;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--surface);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;border-radius:var(--radius-md);padding:11px 18px;border:.5px solid var(--border);background:var(--white);color:var(--ink);transition:transform .05s ease,background .15s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:var(--white);border-color:transparent}.btn-ghost{background:transparent}.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.label{font-size:12px;color:var(--gray);margin-bottom:6px;display:block}.input{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:var(--white);border:.5px solid var(--border);border-radius:var(--radius-md);padding:11px 13px;outline:none}.input:focus{border-color:var(--ink)}.field{margin-bottom:16px}.card{background:var(--white);border:.5px solid var(--border);border-radius:var(--radius-xl);padding:20px}.muted{color:var(--gray)}.h1{font-size:24px;font-weight:500;letter-spacing:-.01em}.h2{font-size:17px;font-weight:500}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray)}.app{display:flex;min-height:100%}.sidebar{width:226px;flex-shrink:0;padding:20px 13px;border-right:.5px solid var(--border);background:var(--white);display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.brand span{font-size:16px;font-weight:500}.brand-mark{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--radius-md);font-size:14px;color:var(--gray)}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{font-size:11.5px;font-weight:500;padding:2px 8px;border-radius:99px;background:var(--chip);color:var(--gray);flex-shrink:0;font-variant-numeric:tabular-nums}.nav-count.bad{background:var(--bad-bg);color:var(--bad)}.nav-item.active .nav-count{background:#fff3;color:#fff}:root[data-theme=dark] .nav-item.active .nav-count{background:#10101424;color:#101014}.nav-item:hover{background:var(--chip)}.nav-item.active{background:var(--accent);color:var(--white);font-weight:500}.nav-item .ic{width:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:9px;padding:10px}.avatar{width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;flex-shrink:0}.main{flex:1;min-width:0;padding:28px 32px}.main-inner{max-width:1320px;margin:0 auto}.mobile-topbar,.nav-backdrop{display:none}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.suspend-banner{background:var(--bad-bg);color:var(--bad);border:1px solid transparent;border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:18px;font-size:13px;line-height:1.5}.suspend-banner a{color:var(--bad);text-decoration:underline}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat{background:var(--white);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:15px 16px}.stat .k{font-size:12px;color:var(--gray)}.stat .v{font-size:26px;font-weight:600;letter-spacing:-.03em;margin-top:5px;font-variant-numeric:tabular-nums}.delta{display:inline-flex;align-items:center;gap:3px;margin-top:7px;font-size:11px;font-weight:500;padding:3px 8px;border-radius:99px}.delta.up{color:var(--good);background:var(--good-bg)}.delta.down{color:var(--bad);background:var(--bad-bg)}.delta.flat{color:var(--gray);background:var(--chip)}.chip{width:36px;height:36px;border-radius:var(--radius-md);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--chip);color:var(--gray);font-size:15px}.chip.good{background:var(--good-bg);color:var(--good)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.bad{background:var(--bad-bg);color:var(--bad)}.list-row{display:flex;align-items:center;gap:12px;padding:9px 0;min-width:0}.list-row .t{font-size:14px;font-weight:500}.list-row .s{font-size:12px;color:var(--gray);margin-top:1px}.list-row .meta{margin-left:auto;font-size:12px;color:var(--faint);text-align:right;flex-shrink:0}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:11px;font-weight:400;color:var(--gray);padding:6px 0}.table td{font-size:14px;padding:11px 0;border-top:.5px solid var(--border)}.table td .sub{color:var(--gray);font-size:12px}.pill{font-size:12px;border:.5px solid var(--border);border-radius:20px;padding:5px 12px;color:var(--gray);background:var(--white)}.pill.on{background:var(--accent);color:var(--white);border-color:transparent}.pill.good{background:var(--good-bg);color:var(--good);border-color:transparent}.pill.warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}.pill.bad{background:var(--bad-bg);color:var(--bad);border-color:transparent}.badge{font-size:11px;padding:3px 9px;border-radius:var(--radius-sm);background:var(--surface);color:var(--gray)}.badge.pending{background:var(--ink);color:var(--white)}.dot-live{width:7px;height:7px;border-radius:50%;background:var(--ink);display:inline-block}.row-between{display:flex;align-items:center;justify-content:space-between}.toggle{width:40px;height:23px;border-radius:20px;background:var(--border);position:relative;transition:background .15s;flex-shrink:0;border:none}.toggle.on{background:var(--ink)}.toggle i{position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:var(--white);transition:left .15s}.toggle.on i{left:19px}.phone-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--surface)}.phone{width:100%;max-width:380px}.screen{background:var(--white);border:.5px solid var(--border);border-radius:var(--radius-xl);padding:22px 20px}.pass-card{background:#1d1d1f;color:#fff;border-radius:var(--radius-lg);padding:18px}.pass-qr{background:#fff;border-radius:var(--radius-sm);padding:14px;display:flex;justify-content:center}.upcoming{border:1px solid var(--ink);border-radius:var(--radius-lg);padding:14px;margin-bottom:14px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--ink);color:var(--white);border-radius:var(--radius-md);padding:12px 18px;font-size:14px;display:flex;align-items:center;gap:10px;box-shadow:0 6px 24px #0000002e;z-index:50}.amark{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.amark-ring{position:absolute;top:50%;left:50%;width:78%;height:78%;border:1.5px solid;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.5);animation:amark-ping 2.6s ease-out infinite}.amark-ring-b{animation-delay:.9s}.amark-arc{stroke-dasharray:132;stroke-dashoffset:132;animation:amark-draw .8s ease .1s forwards}.amark-dot{transform-box:fill-box;transform-origin:center;transform:scale(0);animation:amark-pop .5s cubic-bezier(.18,.9,.3,1.3) .15s both}@keyframes amark-ping{0%{transform:translate(-50%,-50%) scale(.5);opacity:.45}80%{opacity:0}to{transform:translate(-50%,-50%) scale(2);opacity:0}}@keyframes amark-draw{to{stroke-dashoffset:0}}@keyframes amark-pop{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.amark-ring{animation:none;opacity:0}.amark-arc{animation:none;stroke-dashoffset:0}.amark-dot{animation:none;transform:scale(1)}}.ob-prog{display:flex;gap:6px;margin-bottom:22px}.ob-prog i{flex:1;height:4px;border-radius:2px;background:var(--surface);overflow:hidden;position:relative}.ob-prog i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .5s ease}.ob-prog i.on:after{transform:scaleX(1)}.ob-step{animation:ob-step-in .45s ease both}@keyframes ob-step-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.ob-q{font-size:21px;font-weight:600;letter-spacing:-.01em}.ob-qs{font-size:13px;color:var(--gray);margin:4px 0 18px}.ob-opt{display:flex;align-items:center;gap:13px;border:1px solid var(--border);border-radius:13px;padding:14px;margin-bottom:10px;cursor:pointer;background:var(--white);color:var(--ink);width:100%;text-align:left;transition:background .25s,color .25s,border-color .2s,transform .12s}.ob-opt:hover{border-color:var(--gray)}.ob-opt:active{transform:scale(.99)}.ob-opt .ic{width:26px;height:26px;flex-shrink:0}.ob-opt .t{font-size:15px;font-weight:500;flex:1}.ob-opt .chk{width:22px;height:22px;opacity:0;transform:scale(.4);transition:opacity .25s,transform .25s}.ob-opt.sel{background:var(--ink);color:var(--white);border-color:var(--ink)}.ob-opt.sel .chk{opacity:1;transform:scale(1)}.ob-plan{display:block;border:1px solid var(--border);border-radius:13px;padding:14px 16px;margin-bottom:10px;cursor:pointer;background:var(--white);color:var(--ink);width:100%;text-align:left;transition:background .25s,color .25s,border-color .2s}.ob-plan:hover{border-color:var(--gray)}.ob-plan.sel{background:var(--ink);color:var(--white);border-color:var(--ink)}.ob-plan .top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.ob-plan .name{font-size:15px;font-weight:600}.ob-plan .pr{font-size:14px;font-weight:600;white-space:nowrap}.ob-plan .pr small{font-weight:400;opacity:.6;font-size:11px}.ob-plan .blurb{font-size:12px;color:var(--gray);margin-top:2px}.ob-plan.sel .blurb{color:#ffffffb3}.ob-plan .feats{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px}.ob-plan .feats span{font-size:11.5px;opacity:.85}.ob-ping{position:relative;display:inline-flex;align-items:center;justify-content:center}.ob-back{background:none;border:none;color:var(--gray);font-size:13px;cursor:pointer;padding:6px 0 0}.center-narrow{max-width:440px;margin:0 auto}.stack>*+*{margin-top:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@keyframes pr-ripple{0%{r:9;opacity:.55}to{r:26;opacity:0}}@keyframes pr-breathe{0%,to{transform:scale(.9)}50%{transform:scale(1.08)}}.pr-ripple-a{animation:pr-ripple 1.6s ease-out infinite}.pr-ripple-b{animation:pr-ripple 1.6s ease-out infinite;animation-delay:.8s}.pr-breathe{animation:pr-breathe 1.6s ease-in-out infinite;transform-origin:28px 28px}.loader-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}@media (prefers-reduced-motion: reduce){.pr-ripple-a,.pr-ripple-b,.pr-breathe{animation:none}}.scanfb{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;border-radius:12px;background:#0f0f10eb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.scanfb-halo{position:absolute;top:calc(50% - 78px);width:96px;height:96px;border-radius:50%;border:2px solid;opacity:0;animation:scanfb-ripple .9s .04s ease-out both}.scanfb-disc{width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:scale(0);animation:scanfb-pop .5s cubic-bezier(.18,.9,.3,1.25) both}.scanfb-path{animation:scanfb-draw .45s .16s ease-out forwards}.scanfb-name{color:#fff;font-size:17px;font-weight:500;margin-top:16px;opacity:0;transform:translateY(6px);animation:scanfb-rise .4s .22s ease-out forwards}.scanfb-sub{color:#86868b;font-size:13px;margin-top:3px;opacity:0;transform:translateY(6px);animation:scanfb-rise .4s .3s ease-out forwards}.scanfb.shake{animation:scanfb-shake .5s both}@keyframes scanfb-pop{0%{transform:scale(0)}60%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes scanfb-ripple{0%{transform:scale(.55);opacity:.5}to{transform:scale(2.2);opacity:0}}@keyframes scanfb-draw{to{stroke-dashoffset:0}}@keyframes scanfb-rise{to{opacity:1;transform:translateY(0)}}@keyframes scanfb-shake{0%,to{transform:translate(0)}18%{transform:translate(-10px)}38%{transform:translate(9px)}58%{transform:translate(-6px)}78%{transform:translate(4px)}}@media (prefers-reduced-motion: reduce){.scanfb-disc,.scanfb-halo,.scanfb-path,.scanfb-name,.scanfb-sub,.scanfb.shake{animation:none;opacity:1;transform:none}.scanfb-path{stroke-dashoffset:0}}@media (max-width: 720px){.sidebar{position:fixed;top:0;left:0;height:100vh;width:264px;z-index:60;transform:translate(-100%);transition:transform .25s ease;box-shadow:0 0 40px #0000002e}.sidebar.open{transform:translate(0)}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:55}.mobile-topbar{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:40;margin:-16px -16px 12px;padding:11px 16px;background:#f5f5f7eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:.5px solid var(--border)}.hamburger{background:none;border:none;font-size:22px;line-height:1;color:var(--ink);padding:2px 4px}.main{padding:16px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.grid-2{grid-template-columns:1fr}.page-head{flex-wrap:wrap;gap:12px}.card{padding:16px;overflow-x:auto}.table{white-space:nowrap;min-width:100%}.table th,.table td{padding-right:18px}.table th:last-child,.table td:last-child{padding-right:0}.h1{font-size:21px}}
