@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CaVNZxsx.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-C2S99t-D.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0b0806;--bg-elev: #110d0a;--surface: #16110d;--surface-2: #1c1611;--surface-3: #241c15;--surface-4: #2d2319;--line: rgba(226, 176, 71, .1);--line-2: rgba(226, 176, 71, .18);--line-3: rgba(226, 176, 71, .34);--gold: #e2b047;--gold-2: #f3cd73;--gold-3: #b8862c;--gold-soft: rgba(226, 176, 71, .12);--gold-ink: #1c1407;--text: #f4ead8;--text-2: #c4b49a;--text-3: #8e7f68;--text-4: #6b5f4e;--green: #4cb873;--green-soft: rgba(76, 184, 115, .13);--red: #e5574a;--red-soft: rgba(229, 87, 74, .13);--blue: #6fa9ea;--blue-soft: rgba(111, 169, 234, .13);--violet: #a690f2;--violet-soft: rgba(166, 144, 242, .14);--orange: #ee9a45;--orange-soft: rgba(238, 154, 69, .14);--coin: #ffd24a;--diamond: #8fd6f2;--radius-xs: 6px;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 12px 32px rgba(0, 0, 0, .38);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .55);--sidebar-w: 264px;--topbar-h: 64px;--ease: cubic-bezier(.2, .7, .2, 1);--font: "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans Arabic", Tahoma, Arial, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01"}body.no-scroll{overflow:hidden}a{color:var(--gold-2);text-decoration:none}a:hover{text-decoration:underline}img{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}::selection{background:#e2b04752;color:#fff}.num,.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.gold{color:var(--gold)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.pre{white-space:pre-wrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}*{scrollbar-width:thin;scrollbar-color:rgba(226,176,71,.22) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#e2b0472e;border-radius:10px;border:3px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#e2b04752;border:3px solid transparent;background-clip:padding-box}.shell{display:flex;height:100%;background:radial-gradient(1100px 520px at -10% -10%,rgba(140,32,20,.2),transparent 60%),radial-gradient(900px 500px at 110% 0%,rgba(226,176,71,.05),transparent 60%),var(--bg)}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#140f0bf5,#0e0a08fa);border-right:1px solid var(--line);z-index:30}.brand{height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--line);flex:0 0 auto}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:17px;color:var(--gold-ink);background:linear-gradient(145deg,var(--gold-2),var(--gold) 45%,var(--gold-3));box-shadow:0 6px 18px #e2b04740,inset 0 1px #ffffff59}.brand-name{display:flex;flex-direction:column;line-height:1.1}.brand-name b{font-size:15px;letter-spacing:.18em;color:var(--text)}.brand-name span{font-size:10.5px;letter-spacing:.32em;color:var(--gold);margin-top:3px}.nav{flex:1 1 auto;overflow-y:auto;padding:10px 10px 16px}.nav-group{margin-top:14px}.nav-group:first-child{margin-top:4px}.nav-group-label{font-size:10.5px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);padding:4px 12px 6px}.nav-item{position:relative;width:100%;display:flex;align-items:center;gap:11px;padding:8px 12px;margin:1px 0;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--text-2);cursor:pointer;text-align:left;font-size:13.5px;font-weight:500;transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease)}.nav-item svg{flex:0 0 auto;color:var(--text-3);transition:color .15s var(--ease)}.nav-item:hover{background:#ffffff09;color:var(--text)}.nav-item:hover svg{color:var(--text-2)}.nav-item.active{background:linear-gradient(90deg,#e2b04726,#e2b0470d);border-color:#e2b04733;color:var(--gold-2);font-weight:600}.nav-item.active svg{color:var(--gold)}.nav-item.active:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--gold);box-shadow:0 0 12px #e2b04799}.nav-footer{border-top:1px solid var(--line);padding:10px;flex:0 0 auto}.nav-item.logout{color:var(--red)}.nav-item.logout svg{color:var(--red)}.nav-item.logout:hover{background:var(--red-soft);color:#ff8b80}.main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;height:100%}.topbar{height:var(--topbar-h);flex:0 0 var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;border-bottom:1px solid var(--line);background:#0d0a08b8;backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);position:relative;z-index:20}.topbar-title{display:flex;align-items:center;gap:12px;min-width:0}.topbar-title h1{margin:0;font-size:18px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;align-items:center;gap:12px}.menu-btn{display:none}.env-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--gold-2);background:var(--gold-soft);border:1px solid var(--line-3);text-transform:uppercase}.env-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}.avatar-btn{border:0;padding:2px;border-radius:50%;background:linear-gradient(145deg,var(--gold-2),var(--gold-3));cursor:pointer;display:grid;place-items:center}.avatar-btn:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}.content{flex:1 1 auto;overflow:auto;position:relative}.page{padding:24px;min-height:100%;animation:pageIn .22s var(--ease)}.page.hidden{display:none}@keyframes pageIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-head h2{margin:0;font-size:20px;font-weight:680;letter-spacing:-.015em}.page-head p{margin:4px 0 0;color:var(--text-2);font-size:13px}.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.drawer-scrim{display:none}@media (max-width: 960px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-102%);transition:transform .26s var(--ease);box-shadow:var(--shadow-lg)}.sidebar.open{transform:none}.drawer-scrim{display:block;position:fixed;inset:0;background:#0000008c;z-index:25;opacity:0;pointer-events:none;transition:opacity .2s}.drawer-scrim.open{opacity:1;pointer-events:auto}.menu-btn{display:inline-grid}.topbar{padding:0 14px}.page{padding:16px}.topbar-title h1{font-size:16px}}.card{background:linear-gradient(180deg,#1c1611eb,#16110deb);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.card-head h3{margin:0;font-size:15px;font-weight:650}.card-head .sub{color:var(--text-3);font-size:12.5px}.card-body{padding:18px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}@media (max-width: 1200px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.row.top{align-items:flex-start}.col{display:flex;flex-direction:column;gap:10px}.spacer{flex:1 1 auto}.divider{height:1px;background:var(--line);margin:14px 0;border:0}.stat{padding:16px 18px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.stat-label{color:var(--text-2);font-size:12.5px;font-weight:550}.stat-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);border:1px solid var(--line-2)}.stat-value{font-size:26px;font-weight:720;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-sub{color:var(--text-3);font-size:12px;display:flex;gap:10px;flex-wrap:wrap}.btn{--b-bg: var(--surface-3);--b-fg: var(--text);--b-bd: var(--line-2);display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:9px;border:1px solid var(--b-bd);background:var(--b-bg);color:var(--b-fg);font-weight:600;font-size:13px;letter-spacing:.005em;cursor:pointer;white-space:nowrap;user-select:none;transition:transform .08s var(--ease),background .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),opacity .15s}.btn:hover{border-color:var(--line-3);background:var(--surface-4)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid rgba(243,205,115,.6);outline-offset:2px}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.btn.sm{height:30px;padding:0 10px;font-size:12.5px;border-radius:8px;gap:6px}.btn.lg{height:44px;padding:0 20px;font-size:14px;border-radius:11px}.btn.block{width:100%}.btn.primary{--b-bg: linear-gradient(180deg, var(--gold-2), var(--gold) 55%, #cf9a35);--b-fg: var(--gold-ink);--b-bd: rgba(255, 220, 140, .55);box-shadow:0 6px 18px #e2b0472e,inset 0 1px #ffffff59}.btn.primary:hover{--b-bg: linear-gradient(180deg, #f7d88c, var(--gold-2) 55%, var(--gold));box-shadow:0 8px 24px #e2b04747,inset 0 1px #fff6}.btn.success{--b-bg: rgba(76, 184, 115, .16);--b-fg: #8de0aa;--b-bd: rgba(76, 184, 115, .38)}.btn.success:hover{--b-bg: rgba(76, 184, 115, .24)}.btn.danger{--b-bg: rgba(229, 87, 74, .15);--b-fg: #ff9a8f;--b-bd: rgba(229, 87, 74, .4)}.btn.danger:hover{--b-bg: rgba(229, 87, 74, .24)}.btn.danger-solid{--b-bg: linear-gradient(180deg, #ef6a5c, #d04436);--b-fg: #fff;--b-bd: rgba(255, 140, 120, .5)}.btn.ghost{--b-bg: transparent;--b-bd: transparent;--b-fg: var(--text-2)}.btn.ghost:hover{--b-bg: rgba(255, 255, 255, .05);--b-fg: var(--text);--b-bd: transparent}.btn.outline{--b-bg: transparent;--b-fg: var(--gold-2);--b-bd: var(--line-3)}.btn.outline:hover{--b-bg: var(--gold-soft)}.btn .spin{width:15px;height:15px;border-width:2px}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-2);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease),border-color .15s}.icon-btn:hover{background:#ffffff0f;color:var(--text)}.icon-btn:focus-visible{outline:2px solid rgba(243,205,115,.55);outline-offset:1px}.icon-btn[disabled]{opacity:.35;cursor:not-allowed}.icon-btn.sm{width:28px;height:28px;border-radius:7px}.icon-btn.gold{color:var(--gold)}.icon-btn.gold:hover{background:var(--gold-soft);color:var(--gold-2)}.icon-btn.green{color:var(--green)}.icon-btn.green:hover{background:var(--green-soft)}.icon-btn.red{color:var(--red)}.icon-btn.red:hover{background:var(--red-soft)}.icon-btn.blue{color:var(--blue)}.icon-btn.blue:hover{background:var(--blue-soft)}.icon-btn.violet{color:var(--violet)}.icon-btn.violet:hover{background:var(--violet-soft)}.icon-btn.orange{color:var(--orange)}.icon-btn.orange:hover{background:var(--orange-soft)}.icon-btn.bordered{border-color:var(--line-2);background:var(--surface-2)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:12px;font-weight:600;color:var(--text-2);letter-spacing:.01em}.field-label .req{color:var(--red);margin-left:2px}.field-help{font-size:11.5px;color:var(--text-3)}.field-error{font-size:11.5px;color:#ff8d80}.input-wrap{position:relative;display:flex;align-items:center;min-width:0}.input,.select,.textarea{width:100%;height:38px;padding:0 12px;border-radius:9px;border:1px solid var(--line-2);background:#0a08068c;color:var(--text);outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background .15s}.textarea{height:auto;min-height:84px;padding:10px 12px;resize:vertical;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--text-4)}.input:hover,.select:hover,.textarea:hover{border-color:var(--line-3)}.input:focus,.select:focus,.textarea:focus{border-color:#f3cd73b3;box-shadow:0 0 0 3px #e2b04724;background:#0a0806bf}.input[disabled],.select[disabled],.textarea[disabled]{opacity:.55;cursor:not-allowed}.input[readonly]{color:var(--text-2)}.input.has-prefix{padding-left:36px}.input.has-suffix{padding-right:38px}.input.invalid,.select.invalid,.textarea.invalid{border-color:#e5574ab3}.input-prefix{position:absolute;left:11px;color:var(--gold);display:grid;place-items:center;pointer-events:none}.input-suffix{position:absolute;right:4px;display:flex;align-items:center}.select{appearance:none;padding-right:32px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.select option{background:#1b1510;color:var(--text)}.input.sm,.select.sm{height:32px;font-size:13px;border-radius:8px}.search{min-width:240px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.form-grid .span-2{grid-column:1 / -1}@media (max-width: 640px){.form-grid{grid-template-columns:minmax(0,1fr)}.search{min-width:0;width:100%}}.check{display:inline-flex;align-items:center;gap:9px;cursor:pointer;user-select:none;color:var(--text);font-size:13.5px}.check input{appearance:none;width:18px;height:18px;margin:0;border-radius:5px;border:1.5px solid var(--line-3);background:#0a080699;display:grid;place-items:center;cursor:pointer;transition:all .15s;flex:0 0 auto}.check input:checked{background:var(--gold);border-color:var(--gold)}.check input:checked:after{content:"";width:5px;height:9px;border:solid var(--gold-ink);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.check input[type=radio]{border-radius:50%}.check input[type=radio]:checked:after{width:8px;height:8px;border:0;border-radius:50%;background:var(--gold-ink);transform:none}.check input:disabled{opacity:.4;cursor:not-allowed}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{width:38px;height:22px;border-radius:999px;background:#ffffff1a;border:1px solid var(--line-2);position:relative;transition:background .18s var(--ease),border-color .18s;flex:0 0 auto}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#d8ccb6;box-shadow:0 1px 3px #00000080;transition:transform .18s var(--ease),background .18s}.switch input:checked+.track{background:#4cb87359;border-color:#4cb87399}.switch input:checked+.track:after{transform:translate(16px);background:#eafff1}.switch.gold input:checked+.track{background:#e2b04766;border-color:#e2b047b3}.switch input:focus-visible+.track{outline:2px solid rgba(243,205,115,.55);outline-offset:2px}.switch input:disabled+.track{opacity:.45;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;white-space:nowrap;border:1px solid var(--line-2);background:#ffffff0a;color:var(--text-2);text-transform:uppercase}.chip.lower{text-transform:none;letter-spacing:0;font-weight:600;font-size:12px}.chip.green{color:#86dca5;background:var(--green-soft);border-color:#4cb87359}.chip.red{color:#ff9489;background:var(--red-soft);border-color:#e5574a59}.chip.gold{color:var(--gold-2);background:var(--gold-soft);border-color:var(--line-3)}.chip.blue{color:#9cc6f4;background:var(--blue-soft);border-color:#6fa9ea59}.chip.violet{color:#c3b4fa;background:var(--violet-soft);border-color:#a690f259}.chip.orange{color:#f6b878;background:var(--orange-soft);border-color:#ee9a4559}.chip.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.filter-chips{display:flex;gap:6px;flex-wrap:wrap}.filter-chip{height:32px;padding:0 13px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--text-2);font-weight:600;font-size:12.5px;cursor:pointer;transition:all .15s var(--ease)}.filter-chip:hover{color:var(--text);border-color:var(--line-3)}.filter-chip.active{background:var(--gold-soft);color:var(--gold-2);border-color:#e2b04780}.tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:#0a08068c;border:1px solid var(--line);width:fit-content;max-width:100%;overflow-x:auto}.tab{height:34px;padding:0 14px;border-radius:9px;border:0;background:transparent;color:var(--text-2);font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;transition:all .15s var(--ease)}.tab:hover{color:var(--text);background:#ffffff0a}.tab.active{background:linear-gradient(180deg,#e2b04738,#e2b0471f);color:var(--gold-2);box-shadow:inset 0 0 0 1px #e2b04752}.tabs.underline{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0;width:100%;gap:18px}.tabs.underline .tab{border-radius:0;padding:0 2px;height:40px;background:transparent;box-shadow:none;border-bottom:2px solid transparent}.tabs.underline .tab.active{color:var(--gold-2);border-bottom-color:var(--gold)}.table-card{overflow:hidden}.toolbar{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.table-scroll{overflow:auto;position:relative}table.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}.table th{position:sticky;top:0;z-index:2;background:#1a1410;text-align:left;font-size:11.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:11px 14px;border-bottom:1px solid var(--line-2);white-space:nowrap}.table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:#e2b04709}.table tbody tr:last-child td{border-bottom:0}.table td.num,.table th.num{text-align:right}.table td.center,.table th.center{text-align:center}.table td.actions{white-space:nowrap;text-align:right}.table .cell-user{display:flex;align-items:center;gap:11px;min-width:180px}.table .cell-user .name{font-weight:600;color:var(--text)}.table .cell-user .sub{font-size:12px;color:var(--text-3)}.table.compact td{padding:8px 12px}.table-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0b080673;backdrop-filter:blur(1px);z-index:3}.table-foot{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:10px 16px;border-top:1px solid var(--line);color:var(--text-2);font-size:13px;flex-wrap:wrap}.pager{display:flex;align-items:center;gap:6px}.pager .select{height:30px;width:auto;padding-left:10px;font-size:13px}@media (max-width: 640px){.table-foot{justify-content:space-between;gap:10px}}.avatar{position:relative;border-radius:50%;overflow:hidden;background:var(--surface-4);display:grid;place-items:center;color:var(--gold);flex:0 0 auto;border:1px solid var(--line-2)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.ring{box-shadow:0 0 0 2px #e2b0478c}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 20px;color:var(--text-3);text-align:center}.empty .empty-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#ffffff08;border:1px solid var(--line);color:var(--text-3)}.empty h4{margin:0;color:var(--text-2);font-size:15px;font-weight:600}.empty p{margin:0;font-size:13px;max-width:460px}.spin{width:30px;height:30px;border-radius:50%;border:3px solid rgba(226,176,71,.15);border-top-color:var(--gold);animation:spin .85s linear infinite;flex:0 0 auto}.spin.sm{width:18px;height:18px;border-width:2px}.spin.lg{width:42px;height:42px}@keyframes spin{to{transform:rotate(360deg)}}.center-fill{display:grid;place-items:center;min-height:240px}.skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;border:1px solid var(--line-2);background:#ffffff08;color:var(--text-2);font-size:13px}.notice.warn{border-color:#ee9a4559;background:var(--orange-soft);color:#f4c18d}.notice.error{border-color:#e5574a61;background:var(--red-soft);color:#ffaaa0}.notice.ok{border-color:#4cb87359;background:var(--green-soft);color:#9fe3b7}.notice.info{border-color:#6fa9ea59;background:var(--blue-soft);color:#b5d4f6}.dialog-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.dialog-scrim{position:absolute;inset:0;background:#040302a8;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fadeIn .16s var(--ease)}.dialog{position:relative;width:min(560px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:linear-gradient(180deg,#1d1712,#16110d);border:1px solid var(--line-2);border-radius:18px;box-shadow:var(--shadow-lg);animation:dialogIn .2s var(--ease)}.dialog.sm{width:min(420px,100%)}.dialog.lg{width:min(820px,100%)}.dialog.xl{width:min(1100px,100%)}.dialog.full{width:min(1400px,100%);height:calc(100vh - 40px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}.dialog-head h3{margin:0;font-size:17px;font-weight:680;letter-spacing:-.01em}.dialog-head .sub{margin-top:3px;color:var(--text-3);font-size:12.5px}.dialog-body{padding:18px 20px;overflow:auto;flex:1 1 auto;color:var(--text-2)}.dialog-body.flush{padding:0}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line);flex-wrap:wrap}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media (max-width: 640px){.dialog-layer{padding:10px;align-items:end}.dialog,.dialog.sm,.dialog.lg,.dialog.xl{width:100%;max-height:calc(100vh - 20px);border-radius:18px}}.menu{position:fixed;z-index:120;min-width:200px;padding:6px;border-radius:12px;background:#1e1812;border:1px solid var(--line-2);box-shadow:var(--shadow-lg);animation:fadeIn .12s var(--ease)}.menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:13.5px;cursor:pointer;text-align:left}.menu-item:hover,.menu-item:focus-visible{background:#e2b0471a;outline:none}.menu-item svg{color:var(--text-3)}.menu-item.danger{color:#ff9489}.menu-item.danger svg{color:#ff9489}.menu-item[disabled]{opacity:.4;cursor:not-allowed}.menu-sep{height:1px;background:var(--line);margin:5px 4px}.tooltip{position:fixed;z-index:130;pointer-events:none;padding:5px 9px;border-radius:7px;background:#f4ead8;color:#1b1308;font-size:12px;font-weight:600;box-shadow:var(--shadow);white-space:pre-wrap;max-width:420px;animation:fadeIn .1s}.toasts{position:fixed;top:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:10px;width:min(400px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border-radius:14px;background:#1c1611f7;border:1px solid var(--line-2);box-shadow:var(--shadow-lg);animation:toastIn .24s var(--ease);backdrop-filter:blur(10px)}.toast .t-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto}.toast.ok{border-color:#4cb87373}.toast.ok .t-icon{background:var(--green-soft);color:var(--green)}.toast.err{border-color:#e5574a80}.toast.err .t-icon{background:var(--red-soft);color:var(--red)}.toast .t-title{font-weight:680;font-size:13.5px;color:var(--text)}.toast .t-msg{font-size:13px;color:var(--text-2);margin-top:2px;word-break:break-word;white-space:pre-wrap}.toast .t-close{margin-left:auto}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}@media (max-width: 640px){.toasts{left:16px;right:16px;top:12px;width:auto}}.auth-wrap{min-height:100%;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(900px 520px at 15% 10%,rgba(150,34,22,.28),transparent 60%),radial-gradient(800px 600px at 90% 90%,rgba(226,176,71,.08),transparent 60%),var(--bg)}.auth-card{width:min(420px,100%);padding:32px 28px 28px;border-radius:22px;background:linear-gradient(180deg,#1e1711f0,#140f0bf5);border:1px solid var(--line-2);box-shadow:var(--shadow-lg),inset 0 1px #ffffff0a}.auth-logo{width:64px;height:64px;border-radius:18px;margin:0 auto 18px;display:grid;place-items:center;color:var(--gold-ink);background:linear-gradient(145deg,var(--gold-2),var(--gold) 45%,var(--gold-3));box-shadow:0 12px 30px #e2b04747,inset 0 1px #fff6}.auth-card h1{margin:0;text-align:center;font-size:22px;letter-spacing:.2em;font-weight:760}.auth-card .auth-sub{text-align:center;color:var(--text-3);font-size:13px;margin:6px 0 26px}.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:#0a080699;border:1px solid var(--line)}.seg button{height:36px;border:0;border-radius:9px;background:transparent;color:var(--text-2);font-weight:650;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:all .15s var(--ease)}.seg button.active{background:linear-gradient(180deg,#e2b0473d,#e2b0471f);color:var(--gold-2);box-shadow:inset 0 0 0 1px #e2b04761}.seg button:disabled{cursor:not-allowed;opacity:.6}.doc-page{min-height:100%;background:#fff;color:#1f1f1f}.doc-bar{position:sticky;top:0;height:56px;display:grid;place-items:center;background:#fff;border-bottom:1px solid #ececec;font-weight:600;font-size:18px;color:#111}.doc-body{max-width:860px;margin:0 auto;padding:24px;font-size:16px;line-height:1.6;color:#000000de}.doc-body img{max-width:100%;height:auto}.doc-body a{color:#1565c0}.link-page{min-height:100%;display:grid;place-items:center;padding:20px;background:var(--bg)}.kv{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px 14px;font-size:13.5px}.kv dt{color:var(--text-3)}.kv dd{margin:0;color:var(--text);word-break:break-word}.coin{color:var(--coin)}.diamond{color:var(--diamond)}.thumb{border-radius:10px;overflow:hidden;background:#ffffff08;border:1px solid var(--line);display:grid;place-items:center;flex:0 0 auto}.thumb img,.thumb video{width:100%;height:100%;object-fit:contain}.drop{border:1.5px dashed var(--line-3);border-radius:12px;padding:18px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-3);text-align:center;cursor:pointer;transition:all .15s;background:#0a080666}.drop:hover{border-color:var(--gold);color:var(--text-2);background:var(--gold-soft)}.section-title{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin:0 0 10px}.progress{height:6px;border-radius:999px;background:#ffffff12;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-3),var(--gold-2));border-radius:inherit;transition:width .3s var(--ease)}.color-swatch{width:22px;height:22px;border-radius:6px;border:1px solid rgba(255,255,255,.2);flex:0 0 auto}kbd{font-family:inherit;font-size:11px;padding:1px 6px;border-radius:5px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--text-2)}.dash-section{margin-top:26px}.dash-section:first-of-type{margin-top:0}.dash-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.dash-section-head h3{margin:0;font-size:14px;font-weight:680;letter-spacing:.01em;color:var(--gold-2)}.dash-section-foot{display:flex;justify-content:flex-end;margin-top:10px}.dash-error{color:#ff9489;font-size:12.5px;margin-top:6px;word-break:break-word}.metric{display:flex;align-items:center;gap:14px;padding:16px 18px;min-height:104px;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--metric-tone, var(--gold));opacity:.55}.metric-icon{width:50px;height:50px;flex:0 0 auto;border-radius:14px;display:grid;place-items:center;color:var(--metric-tone, var(--gold));background:var(--metric-soft, var(--gold-soft));border:1px solid var(--line-2)}.metric-body{min-width:0;display:flex;flex-direction:column;gap:3px}.metric-title{color:var(--text-2);font-size:12.5px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.metric-sync{display:inline-flex;align-items:center;gap:6px;color:var(--text-3);font-size:10.5px;font-weight:600}.metric-sync .spin{width:10px;height:10px;border-width:1.6px;border-top-color:var(--metric-tone, var(--gold))}.metric-value{font-size:23px;font-weight:720;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text)}.metric-sub{font-size:13.5px;font-weight:700;color:var(--metric-tone, var(--gold));font-variant-numeric:tabular-nums}.lb-card{display:flex;flex-direction:column;min-height:330px}.lb-head{display:flex;align-items:center;gap:10px;padding:15px 16px;border-bottom:1px solid var(--line)}.lb-head h4{margin:0;font-size:14.5px;font-weight:680}.lb-head .lb-icon{color:var(--metric-tone, var(--gold));display:grid;place-items:center}.lb-list{flex:1 1 auto;padding:6px 0;display:flex;flex-direction:column}.lb-row{display:flex;align-items:center;gap:12px;padding:9px 16px}.lb-row+.lb-row{border-top:1px solid var(--line)}.lb-rank{width:40px;height:40px;flex:0 0 auto;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:2px solid var(--metric-soft-2, var(--line-3));color:var(--metric-tone, var(--gold));font-weight:750;font-size:14px;background:var(--surface-2)}.lb-rank img{width:100%;height:100%;object-fit:cover;display:block}.lb-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:550}.lb-score{font-weight:750;font-size:13.5px;color:var(--metric-tone, var(--gold));font-variant-numeric:tabular-nums}.lb-foot{padding:12px 16px 16px}.lb-foot .btn{width:100%;justify-content:center;color:var(--metric-tone, var(--gold));background:var(--metric-soft, var(--gold-soft));border-color:transparent}.lb-empty{flex:1 1 auto;display:grid;place-items:center;color:var(--text-3);font-size:13px;padding:20px}.backbar{display:flex;align-items:center;gap:6px;height:52px;padding:0 10px;border-bottom:1px solid var(--line-2);background:var(--bg-elev);position:sticky;top:0;z-index:2}.backbar span{color:var(--text-2);font-size:13px}.tx-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}@media (max-width: 1100px){.tx-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.tx-summary{grid-template-columns:minmax(0,1fr)}}.tx-stat{display:flex;align-items:center;gap:12px;padding:14px 16px}.tx-stat .metric-icon{width:42px;height:42px;border-radius:11px}.tx-stat .tx-stat-title{color:var(--text-2);font-size:11.5px}.tx-stat .tx-stat-value{font-size:20px;font-weight:720;font-variant-numeric:tabular-nums}.date-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--surface-2);color:var(--text-2);font-size:12.5px;cursor:pointer}.date-btn:hover{color:var(--text);border-color:var(--line-3)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px}.detail-section h5{margin:0 0 8px;color:var(--gold-2);font-size:13.5px;font-weight:700}.detail-box{padding:12px;border-radius:var(--radius-sm);background:var(--bg-elev);border:1px solid var(--line)}.detail-row{display:flex;gap:10px;padding:4px 0;font-size:12.5px}.detail-row .k{width:128px;flex:0 0 auto;color:var(--text-3)}.detail-row .v{flex:1 1 auto;min-width:0;color:var(--text);font-weight:550;word-break:break-word;user-select:text}
