.t-enter-active[data-v-1e0e2a4b],.t-leave-active[data-v-1e0e2a4b]{transition:all .25s ease}.t-enter-from[data-v-1e0e2a4b],.t-leave-to[data-v-1e0e2a4b]{opacity:0;transform:translate(28px)}:root{--bg: #080B12;--bg-2: #0E1320;--surface: #121725;--surface-2: #161C2E;--surface-3: #1B2234;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .12);--cyan: #00DFF2;--blue: #249CFA;--violet: #7042F5;--purple: #A82BE2;--grad: linear-gradient(110deg, #00DFF2 0%, #249CFA 35%, #7042F5 70%, #A82BE2 100%);--grad-soft: linear-gradient(110deg, rgba(0,223,242,.14), rgba(36,156,250,.12) 40%, rgba(112,66,245,.12) 70%, rgba(168,43,226,.14));--text: #F5F7FF;--muted: #9CA3B8;--faint: #626B82;--ok: #22E39B;--ok-bg: rgba(34, 227, 155, .13);--warn: #FFC24B;--warn-bg: rgba(255, 194, 75, .13);--danger: #FF5C7A;--danger-bg: rgba(255, 92, 122, .13);--info: #249CFA;--info-bg: rgba(36, 156, 250, .14);--radius: 16px;--radius-sm: 10px;--shadow: 0 18px 50px -20px rgba(0, 0, 0, .75);--glow: 0 0 0 1px rgba(0, 223, 242, .25), 0 8px 30px -8px rgba(36, 156, 250, .45);--sidebar-w: 256px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 500px at 12% -5%,rgba(36,156,250,.1),transparent 60%),radial-gradient(800px 500px at 100% 0%,rgba(168,43,226,.08),transparent 55%),radial-gradient(700px 600px at 50% 110%,rgba(0,223,242,.05),transparent 60%)}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:Manrope,Inter,sans-serif;margin:0;letter-spacing:-.01em}::selection{background:#249cfa4d}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#232c42;border-radius:10px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#2d3752}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.block{display:block}.hidden{display:none}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1 0%}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.w-full{width:100%}.h-full{height:100%}.min-w-0{min-width:0}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.font-mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.cursor-pointer{cursor:pointer}.relative{position:relative}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.ml-1{margin-left:4px}.ml-2{margin-left:8px}.ml-3{margin-left:12px}.ml-auto{margin-left:auto}.mr-1{margin-right:4px}.mr-2{margin-right:8px}.text-xs{font-size:11.5px}.text-sm{font-size:13px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:20px}.text-2xl{font-size:26px}.text-3xl{font-size:32px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.uppercase{text-transform:uppercase;letter-spacing:.06em}.text-muted{color:var(--muted)}.text-faint{color:var(--faint)}.text-cyan{color:var(--cyan)}.text-blue{color:var(--blue)}.text-violet{color:var(--violet)}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.text-danger{color:var(--danger)}.gradient-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.brand{display:inline-flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-weight:800}.brand .mark{width:32px;height:32px;border-radius:9px;flex-shrink:0;background:var(--grad);display:grid;place-items:center;box-shadow:0 6px 18px -6px #249cfab3}.brand .mark svg{width:18px;height:18px}.brand .word{font-size:18px;letter-spacing:.02em}.brand .word b{font-weight:800}.chip-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--grad-soft);color:var(--cyan);flex-shrink:0}.card{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.glass{background:#121725b8;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--border)}.card-pad-0{padding:0}.stat{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:var(--radius);padding:18px 18px 16px}.stat:after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--grad);opacity:.9}.stat .label{color:var(--muted);font-size:12px;font-weight:500;display:flex;align-items:center;gap:7px}.stat .value{font-family:Manrope,sans-serif;font-weight:800;font-size:25px;margin-top:8px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat .sub{color:var(--faint);font-size:11.5px;margin-top:4px}.stat .ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--grad-soft);color:var(--cyan)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--radius-sm);padding:9px 15px;font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .15s ease;white-space:nowrap;color:var(--text);background:var(--surface-3);-webkit-user-select:none;user-select:none}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--grad);color:#04121c;font-weight:700;box-shadow:0 8px 22px -10px #249cfae6}.btn-primary:hover{box-shadow:var(--glow)}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{background:var(--surface-3)}.btn-soft{background:var(--surface-3);color:var(--text);border-color:var(--border)}.btn-soft:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn-success{background:var(--ok-bg);color:var(--ok);border-color:#22e39b4d}.btn-success:hover{background:#22e39b38}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#ff5c7a4d}.btn-danger:hover{background:#ff5c7a38}.btn-sm{padding:6px 11px;font-size:12px;border-radius:8px}.btn-lg{padding:12px 20px;font-size:14px}.btn-icon{padding:8px;width:34px;height:34px}.field{margin-bottom:15px}.field>label{display:block;font-size:12.5px;font-weight:500;color:var(--muted);margin-bottom:6px}.input,select.input,textarea.input{width:100%;background:var(--bg-2);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px;font-size:13.5px;font-family:inherit;transition:all .15s ease}.input::placeholder{color:var(--faint)}.input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #249cfa2e}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239CA3B8' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}textarea.input{resize:vertical;min-height:72px}.input-hint{font-size:11.5px;color:var(--faint);margin-top:5px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:#ffffff0f;color:var(--muted)}.badge-violet{background:#7042f529;color:#b39bff}.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl thead th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);padding:12px 14px;white-space:nowrap;border-bottom:1px solid var(--border)}.tbl tbody td{padding:13px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.tbl tbody tr{transition:background .12s ease}.tbl tbody tr:hover{background:#ffffff06}.tbl tbody tr:last-child td{border-bottom:none}.tbl .empty{text-align:center;color:var(--faint);padding:44px 0}.mono-cell{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.tbl td.text-right{font-variant-numeric:tabular-nums}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;position:fixed;top:0;left:0;bottom:0;z-index:40;background:linear-gradient(180deg,var(--bg-2),var(--bg));border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column}.sidebar .brand{padding:4px 8px 18px}.nav{display:flex;flex-direction:column;gap:3px;margin-top:6px}.nav .section{color:var(--faint);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:16px 12px 7px}.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:var(--muted);font-size:13.5px;font-weight:500;transition:all .14s ease;position:relative}.nav a svg{width:18px;height:18px;flex-shrink:0;opacity:.85}.nav a:hover{background:#ffffff0a;color:var(--text)}.nav a.router-link-active{color:var(--text);background:var(--grad-soft);box-shadow:inset 0 0 0 1px var(--border-strong)}.nav a.router-link-active:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--grad)}.nav a.router-link-active svg{opacity:1;color:var(--cyan)}.sidebar-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--border)}.content{flex:1;margin-left:var(--sidebar-w);min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:16px 28px;border-bottom:1px solid var(--border);background:#080b12b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.topbar h1{font-size:18px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .sub{color:var(--faint);font-size:12px;margin-top:1px}.page{padding:26px 28px 48px;max-width:1340px;width:100%}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.userchip{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:12px}.avatar{width:34px;height:34px;border-radius:10px;background:var(--grad);color:#04121c;display:grid;place-items:center;font-weight:800;font-size:13px;flex-shrink:0}.hamburger,.scrim{display:none}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#04070ea8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:16px;animation:fade .16s ease}.modal{width:100%;max-width:480px;max-height:92vh;overflow-y:auto;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border-strong);border-radius:18px;box-shadow:var(--shadow);animation:pop .18s cubic-bezier(.2,.8,.3,1)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.modal-head h3{font-size:16px;font-weight:700}.modal-body{padding:20px}.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border)}.modal-x{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;display:grid;place-items:center}.modal-x:hover{background:var(--surface-3);color:var(--text)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(12px) scale(.98)}}.toast-wrap{position:fixed;top:18px;right:18px;z-index:120;display:flex;flex-direction:column;gap:10px}.toast{min-width:240px;max-width:360px;padding:12px 15px;border-radius:12px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow);background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);animation:slidein .22s ease}.toast .bar{width:4px;align-self:stretch;border-radius:4px}.toast-success .bar{background:var(--ok)}.toast-error .bar{background:var(--danger)}.toast-info .bar{background:var(--blue)}@keyframes slidein{0%{transform:translate(28px);opacity:0}}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-aside{position:relative;overflow:hidden;padding:56px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(160deg,#0b1322,#080b12 70%);border-right:1px solid var(--border)}.login-aside:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(600px 400px at 20% 20%,rgba(0,223,242,.14),transparent 60%),radial-gradient(500px 420px at 90% 90%,rgba(168,43,226,.16),transparent 55%)}.login-aside>*{position:relative;z-index:1}.login-main{display:flex;align-items:center;justify-content:center;padding:40px 24px}.login-card{width:100%;max-width:384px}.feature-row{display:flex;align-items:flex-start;gap:12px;margin-top:18px}.feature-row .fic{width:34px;height:34px;border-radius:10px;background:var(--grad-soft);color:var(--cyan);display:grid;place-items:center;flex-shrink:0}.divider{height:1px;background:var(--border);border:none;margin:18px 0}.kbd,code.inline{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:12px;color:var(--cyan)}.copyfield{display:flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px}.copyfield code{flex:1;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;color:var(--text);word-break:break-all}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.codeblock{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;overflow-x:auto;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;color:#cdd6ea;line-height:1.7;white-space:pre}.codeblock .k{color:var(--cyan)}.codeblock .s{color:#9ece9a}.codeblock .c{color:var(--faint)}.pill-tabs{display:inline-flex;gap:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:4px}.pill-tabs button{border:none;background:transparent;color:var(--muted);padding:7px 14px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;transition:all .14s}.pill-tabs button.active{background:var(--grad-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.dotline{display:inline-flex;align-items:center;gap:6px}.mock-banner{background:var(--warn-bg);color:var(--warn);border:1px solid rgba(255,194,75,.28);border-radius:12px;padding:10px 14px;font-size:12.5px;display:flex;align-items:center;gap:9px}a:focus-visible,button:focus-visible,.btn:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:var(--radius-sm)}.tbl tbody tr.cursor-pointer:hover{background:#249cfa0f}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.btn:hover{transform:none}}@media (max-width: 900px){.sidebar{transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow)}.sidebar.open{transform:translate(0)}.content{margin-left:0}.hamburger{display:inline-flex}.scrim.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#00000080}.login-wrap{grid-template-columns:1fr}.login-aside{display:none}.page{padding:18px 16px 40px}.topbar{padding:14px 16px;gap:10px}.grid-stats{gap:12px}}@media (max-width: 560px){.topbar .btn{padding:8px 11px;font-size:12px}.topbar .btn-icon{padding:8px;width:34px}.topbar h1{font-size:16px}.topbar .sub{display:none}.grid-stats{grid-template-columns:1fr 1fr}.stat .value{font-size:21px}.modal-foot{flex-direction:column-reverse}.modal-foot .btn{width:100%}}@media (max-width: 380px){.grid-stats{grid-template-columns:1fr}}
