:root{--bg:#ffffff;--panel:#ffffff;--panel-2:#f6f6f8;--border:#e6e6ee;--text:#0a0a0b;--text-2:#2c2c34;--muted:#6b6b76;--accent:#2563cf;--accent-2:#4385F5;--accent-2-wash:#c9dcfd;--good:#1f9d57;--bad:#d6453d;--warn:#b7791f}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-body),-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem}.narrow{max-width:420px}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:0 1px 2px rgba(10,10,12,.04),0 14px 34px -18px rgba(10,10,12,.12)}.card+.card{margin-top:1.25rem}h1{font-size:1.6rem;font-weight:800;letter-spacing:-.025em;margin:0 0 .25rem}h1,h2{font-family:var(--font-display),system-ui,sans-serif;color:var(--text)}h2{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;margin:0 0 1rem}.muted{color:var(--muted)}.small,label{font-size:.85rem}label{display:block;font-weight:500;color:var(--text-2);margin:.85rem 0 .35rem}input,select{width:100%;background:#fff;border:1px solid #e0e0e8;color:var(--text);border-radius:9px;padding:.62rem .7rem;font-size:.95rem;font-family:inherit}input::placeholder{color:#9a9aa6}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(67,133,245,.32)}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:var(--accent-2);color:#ffffff;border:1px solid transparent;border-radius:9px;padding:.62rem 1.05rem;font-size:.92rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .15s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.btn:hover,button:hover{background:#2f74e8;text-decoration:none;transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:#fff;border-color:#e0e0e8;color:var(--text)}.btn-ghost:hover{background:#fafafb;border-color:#cfcfda}.btn-sm{padding:.46rem .85rem;font-size:.86rem;border-radius:8px}.btn-danger{background:#fff;border-color:#f6cfcc;color:var(--bad)}.btn-danger:hover{background:#fdeceb;border-color:#f0b8b3}.row{display:flex;align-items:center;gap:.75rem}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.badge{display:inline-block;padding:.18rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--border)}.badge-pro{background:#e4edfe;color:var(--accent);border-color:#c3d7fc}.badge-free{background:var(--panel-2);color:var(--muted)}.badge-admin{background:#eef9f1;color:var(--good);border-color:#cdeed7}.badge-bad{background:#fdeceb;color:var(--bad);border-color:#f6cfcc}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{text-align:left;padding:.65rem .5rem;border-bottom:1px solid #eef0f4}th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.error{color:var(--bad)}.error,.ok{font-size:.85rem;margin-top:.5rem}.ok{color:var(--good)}.stat{font-family:var(--font-display),system-ui,sans-serif;font-size:1.9rem;font-weight:800;color:var(--text)}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:1rem;gap:1rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.admin-shell{display:flex;align-items:flex-start;min-height:100vh}.admin-sidebar{position:-webkit-sticky;position:sticky;top:0;flex:0 0 248px;width:248px;height:100vh;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem .9rem;border-right:1px solid var(--border);background:var(--panel-2)}.admin-sidebar__top{padding:.25rem .5rem 0}.admin-nav{display:flex;flex-direction:column;gap:.15rem}.admin-nav__item{display:flex;align-items:center;gap:.65rem;padding:.55rem .7rem;border-radius:10px;color:var(--text-2);font-size:.92rem;font-weight:500;line-height:1.2}.admin-nav__item:hover{background:rgba(10,10,12,.05);color:var(--text);text-decoration:none}.admin-nav__item.is-active{background:var(--panel);color:var(--text);font-weight:600;box-shadow:0 1px 2px rgba(10,10,12,.05),0 1px 0 rgba(10,10,12,.02)}.admin-nav__icon{display:inline-flex;color:var(--muted)}.admin-nav__item.is-active .admin-nav__icon{color:var(--accent)}.admin-sidebar__bottom{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding:0 .25rem}.admin-sidebar__bottom .btn,.admin-sidebar__bottom button{text-align:center}.admin-main{flex:1 1;min-width:0;width:100%;padding:2.5rem}.admin-page-head{margin-bottom:1.5rem}.admin-page-head h1{margin-bottom:.15rem}@media (max-width:768px){.admin-shell{flex-direction:column}.admin-sidebar{position:static;flex:none;width:100%;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.75rem;border-right:none;border-bottom:1px solid var(--border)}.admin-sidebar__top{padding:0}.admin-nav{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;gap:.35rem}.admin-sidebar__bottom{margin-top:0;flex-direction:row}.admin-main{padding:1.5rem}}.au-toolbar{display:flex;gap:.6rem;align-items:center}.au-toolbar input{flex:1 1}.au-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;margin-top:1.15rem}.au-table th{text-align:left;padding:0 .7rem .7rem;color:var(--muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.au-table td{padding:.9rem .7rem;border-bottom:1px solid #eef0f4;vertical-align:middle}.au-table tbody tr{transition:background .12s ease}.au-table tbody tr:hover{background:var(--panel-2)}.au-table tbody tr:last-child td{border-bottom:none}.au-table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.au-user{display:flex;align-items:center;gap:.7rem;min-width:0}.au-avatar{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:.9rem;letter-spacing:.02em;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.au-user__meta{min-width:0}.au-user__name{display:flex;align-items:center;gap:.4rem;font-weight:600;color:var(--text)}.au-user__email{color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.au-you{color:var(--muted);font-weight:400;font-size:.78rem}.au-balance{font-family:var(--font-display),system-ui,sans-serif;font-size:1.15rem;font-weight:700;color:var(--text);line-height:1}.au-balance--neg{color:var(--bad)}.au-balance__unit{font-size:.8rem;font-weight:600;color:var(--muted);margin-left:.15rem}.au-topup{display:flex;gap:.35rem;margin-top:.5rem}.au-topup input{width:74px;padding:.4rem .5rem;font-size:.85rem}.au-cluster{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.au-cluster--nowrap{flex-wrap:nowrap}.btn-commit{background:#fff;border-color:#cfe8f6;color:var(--accent)}.btn-commit:hover{background:#eef7fc;border-color:#a9d6ef;transform:none}.au-manage{background:#fff;border-color:#e0e0e8;color:var(--text-2)}.au-manage:hover{background:var(--panel);border-color:#cfcfda;transform:none}.au-drawer__overlay{position:fixed;inset:0;background:rgba(10,10,12,.32);z-index:60;animation:au-fade .16s ease}.au-drawer{position:fixed;top:0;right:0;height:100vh;width:min(430px,100vw);background:var(--panel);border-left:1px solid var(--border);box-shadow:-12px 0 40px rgba(10,10,12,.14);z-index:61;display:flex;flex-direction:column;animation:au-slide-in .2s cubic-bezier(.32,.72,0,1)}.au-drawer__head{display:flex;align-items:center;gap:.75rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--border)}.au-drawer__close{margin-left:auto;flex:none;width:32px;height:32px;padding:0;border-radius:9px;background:#fff;border:1px solid var(--border);color:var(--muted);font-size:1rem;line-height:1}.au-drawer__close:hover{background:var(--panel-2);color:var(--text);transform:none}.au-drawer__body{flex:1 1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.6rem}.au-section__label{display:block;margin-bottom:.6rem;color:var(--muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.au-section__hint{margin-top:.45rem;color:var(--muted);font-size:.8rem;line-height:1.45}.au-field{display:flex;gap:.5rem}.au-field input,.au-field select{min-width:0}.au-danger{border:1px solid #f6cfcc;border-radius:12px;padding:.9rem;background:#fffafa}.au-stack{display:flex;flex-direction:column;gap:.5rem}@keyframes au-fade{0%{opacity:0}}@keyframes au-slide-in{0%{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.au-drawer,.au-drawer__overlay{animation:none}}.au-flash{font-size:.8rem;font-weight:600;white-space:nowrap;animation:au-flash-in .18s ease}.au-flash--ok{color:var(--good)}.au-flash--err{color:var(--bad)}@keyframes au-flash-in{0%{opacity:0;transform:translateY(-2px)}}.gcn{position:-webkit-sticky;position:sticky;top:0;z-index:var(--gc-z-sticky);padding:var(--gc-space-4) 0;background:var(--gc-canvas);color:var(--gc-text);font-family:var(--gc-font-sans);animation:gcn-lift linear both;animation-timeline:scroll(root);animation-range:0 var(--gc-space-8)}@keyframes gcn-lift{0%{box-shadow:var(--gc-shadow-0)}to{box-shadow:var(--gc-shadow-2)}}.gcn__in{gap:var(--gc-space-4);max-width:var(--gc-container-max);margin:0 auto;padding:0 var(--gc-space-10)}.gcn__in,.gcn__plate{display:flex;align-items:center}.gcn__plate{position:relative;gap:var(--gc-space-3);padding:var(--gc-space-1) var(--gc-space-3) var(--gc-space-1) var(--gc-space-1);background:var(--gc-surface-sunken);border-radius:var(--gc-radius-sm)}.gcf__logo,.gcn__logo{display:inline-flex;align-items:center;gap:var(--gc-space-2);font:600 var(--gc-text-lg) /1 var(--gc-font-display);text-decoration:none}.gcn__logo,.gcn__logo:hover{color:var(--gc-text);text-decoration:none}.gcn__tile{display:grid;place-items:center;width:var(--gc-control-sm);height:var(--gc-control-sm);background:var(--gc-ink);color:var(--gc-ink-text);border-radius:var(--gc-radius-md)}.gcn__links{display:flex;gap:var(--gc-space-6);margin-left:var(--gc-space-4);font-size:var(--gc-text-md)}.gcn__links a,.gcn__sheet a{display:inline-flex;align-items:center;padding:var(--gc-space-3) 0;color:var(--gc-text-2);text-decoration:none;text-underline-offset:3px}.gcn__links a:hover,.gcn__sheet a:hover{color:var(--gc-text);text-decoration:underline}.gcn__right{display:flex;gap:var(--gc-space-2);margin-left:auto}.gcn__btn{display:inline-flex;align-items:center;justify-content:center;height:var(--gc-control-md);padding:0 var(--gc-space-5);font:500 var(--gc-text-md) /1 var(--gc-font-sans);border:1px solid transparent;border-radius:var(--gc-radius-sm);white-space:nowrap;transition:background-color var(--gc-dur-fast) var(--gc-ease-out),border-color var(--gc-dur-fast) var(--gc-ease-out)}.gcn__btn,.gcn__btn:hover{text-decoration:none}.gcn__btn--ghost,.gcn__btn--ghost:hover{background:transparent;border-color:var(--gc-line-strong);color:var(--gc-text-2)}.gcn__btn--ghost:hover{background:var(--gc-surface-sunken);color:var(--gc-text)}.gcn__btn--ink,.gcn__btn--ink:hover{background:var(--gc-ink);color:var(--gc-ink-text)}.gcn__btn--ink:hover,.gcn__menu summary:hover{background:color-mix(in srgb,var(--gc-ink-text) 10%,var(--gc-ink))}.gcn__menu{display:none}.gcn__menu summary{display:grid;place-items:center;width:var(--gc-control-md);height:var(--gc-control-md);background:var(--gc-ink);color:var(--gc-ink-text);border-radius:var(--gc-radius-sm);list-style:none;cursor:pointer;transition:background-color var(--gc-dur-fast) var(--gc-ease-out)}.gcn__menu:not([open]) .gcn__sheet{display:none}.gcn__menu summary::-webkit-details-marker{display:none}.gcn__menu summary svg{width:var(--gc-icon-md);height:var(--gc-icon-md)}.gcn__sheet{position:absolute;top:calc(100% + var(--gc-space-2));left:0;z-index:var(--gc-z-dropdown);display:flex;flex-direction:column;min-width:calc(var(--gc-control-lg) * 5);padding:var(--gc-space-2) var(--gc-space-4);background:var(--gc-surface);border-radius:var(--gc-radius-md);box-shadow:var(--gc-shadow-2),inset 0 0 0 1px var(--gc-line);font-size:var(--gc-text-base)}.gcf{padding:var(--gc-space-8) 0;background:var(--gc-ink);color:var(--gc-ink-muted);font:400 var(--gc-text-sm) /var(--gc-text-sm-lh) var(--gc-font-sans)}.gcf__in{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gc-space-2) var(--gc-space-6);max-width:var(--gc-container-max);margin:0 auto;padding:0 var(--gc-space-10)}.gcf__logo,.gcf__logo:hover{color:var(--gc-ink-text);font-size:var(--gc-text-md);text-decoration:none}.gcf__logo span{color:var(--gc-ink-text)}.gcf__links{display:flex;flex-wrap:wrap;column-gap:var(--gc-space-6)}.gcf__links a{display:inline-flex;align-items:center;min-height:var(--gc-hit-min);color:var(--gc-ink-text);text-decoration:none;text-underline-offset:3px}.gcf__links a:hover{color:var(--gc-ink-text);text-decoration:underline}.gcf__copy{margin-left:auto}.gcf .gcf__in a:focus-visible{outline:2px solid var(--gc-ink-accent);outline-offset:2px}@media (max-width:860px){.gcf__in,.gcn__in{padding:0 var(--gc-space-4)}.gcn__plate{padding-right:var(--gc-space-1)}.gcn__menu{display:block}.gcn__btn--ghost,.gcn__links{display:none}.gcf__copy{margin-left:0;width:100%}}.dashboard-table-scroll{max-width:100%;overflow-x:auto}.dashboard-table-scroll table{min-width:40rem}.dashboard-pagination{display:flex;flex-wrap:wrap;gap:1rem;margin-block:1rem}