.footer[data-v-8c95a440]{border-top:1px solid var(--glass-border);background:var(--bg);padding:60px 20px}.footer-inner[data-v-8c95a440]{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:1100px;margin:auto;display:flex}.footer-links[data-v-8c95a440]{gap:20px;display:flex}.footer-links a[data-v-8c95a440]{cursor:pointer;color:var(--text-dim)}.footer-links a[data-v-8c95a440]:hover{color:var(--primary)}.footer-links[data-v-8c95a440] a{color:var(--text-dim);cursor:pointer;text-decoration:none;transition:all .2s}.footer-links[data-v-8c95a440] a:hover{color:var(--primary)}.footer-bottom[data-v-8c95a440]{color:#64748b}.logo[data-v-8c95a440]{color:var(--text);font-size:1.375rem;font-weight:800}.logo span[data-v-8c95a440]{color:var(--primary)}.ip[data-v-8c95a440]{color:var(--text-dim);cursor:pointer;margin-top:6px;font-size:.875rem;transition:all .2s}.ip[data-v-8c95a440]:hover{color:var(--primary)}@media (width<=600px){.footer-links[data-v-8c95a440]{flex-wrap:wrap;justify-content:center}}.app-loader[data-v-fd7a539d]{justify-content:center;align-items:center;height:100vh;display:flex}.spinner[data-v-fd7a539d]{border:2px solid #ffffff1a;border-top:2px solid var(--primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin-fd7a539d}@keyframes spin-fd7a539d{to{transform:rotate(360deg)}}body{margin:0}:root{--dpi-scale:1;--font-root:clamp(15px, .35vw + 14px, 18px);--primary:#00d2ff;--primary-dark:#0095ff;--bg:#05070a;--text:#e2e8f0;--text-dim:#a8b3cf;--glass:#ffffff08;--glass-border:#ffffff14}@media (resolution>=1.5x){:root{--dpi-scale:.97}}@media (resolution>=2x){:root{--dpi-scale:.94}}html{font-size:calc(var(--font-root) * var(--dpi-scale))}.admin-theme{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--admin-radius-lg:24px;--admin-radius-md:18px;--admin-radius-sm:12px;--admin-shadow:0 18px 60px #0000002e;--admin-transition:.18s ease;min-height:100vh;font-family:Segoe UI Variable,Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;line-height:1.5}.admin-theme,.admin-theme *{box-sizing:border-box}.admin-theme h1,.admin-theme h2,.admin-theme h3,.admin-theme h4,.admin-theme p{margin-top:0}.admin-theme--dark{--admin-bg:#0b1220;--admin-bg-soft:#111a2b;--admin-bg-card:#111a2be6;--admin-bg-card-strong:#121c2f;--admin-border:#94a3b824;--admin-text:#e8eef8;--admin-text-soft:#97a6be;--admin-primary:#5cc8ff;--admin-primary-2:#66f2c0;--admin-success:#3ddc97;--admin-warning:#ffbd59;--admin-danger:#ff6b7d;--admin-info:#76a9ff;--admin-hover:#ffffff0a}.admin-theme--light{--admin-bg:#f4f7fb;--admin-bg-soft:#ebf0f7;--admin-bg-card:#ffffffeb;--admin-bg-card-strong:#fff;--admin-border:#0f172a14;--admin-text:#102038;--admin-text-soft:#607089;--admin-primary:#1677ff;--admin-primary-2:#00b894;--admin-success:#0ea86b;--admin-warning:#d9921a;--admin-danger:#da3f5d;--admin-info:#246bff;--admin-hover:#0f172a0a}.admin-layout{background:radial-gradient(circle at top left, #5cc8ff1f, transparent 30%), radial-gradient(circle at bottom right, #66f2c01a, transparent 22%), var(--admin-bg);min-height:100vh;color:var(--admin-text);grid-template-columns:280px 1fr;display:grid}.admin-layout__content{flex-direction:column;min-width:0;display:flex}.admin-main{padding:0 24px 24px}.admin-sidebar{border-right:1px solid var(--admin-border);background:linear-gradient(180deg, var(--admin-bg-soft), transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);height:100vh;padding:24px 18px;position:sticky;top:0}.admin-sidebar__brand{border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);background:var(--admin-bg-card);align-items:center;gap:14px;margin-bottom:28px;padding:12px;display:flex}.admin-sidebar__logo{background:linear-gradient(135deg, var(--admin-primary), var(--admin-primary-2));color:#04121d;border-radius:16px;place-items:center;width:54px;height:54px;font-weight:800;display:grid}.admin-sidebar__title{font-size:18px;font-weight:800}.admin-sidebar__subtitle{color:var(--admin-text-soft);font-size:13px}.admin-sidebar__nav{flex-direction:column;gap:10px;display:flex}.admin-sidebar__link{min-height:48px;color:var(--admin-text);transition:background var(--admin-transition), border-color var(--admin-transition), color var(--admin-transition);border:1px solid #0000;border-radius:14px;justify-content:flex-start;align-items:center;gap:12px;padding:0 14px;font-weight:600;text-decoration:none;display:flex}.admin-sidebar__link:hover,.admin-sidebar__link.is-active{background:var(--admin-hover);border-color:var(--admin-border)}.admin-topbar{justify-content:space-between;align-items:center;gap:16px;padding:24px;display:flex}.admin-topbar__title{letter-spacing:-.03em;margin:0 0 6px;font-size:30px;line-height:1.1}.admin-topbar__text{color:var(--admin-text-soft);margin:0}.admin-topbar__actions{gap:12px;display:flex}.admin-button,.admin-input,.admin-select{min-height:44px;font:inherit;border:1px solid var(--admin-border);border-radius:14px}.admin-button{transition:transform var(--admin-transition), border-color var(--admin-transition), background var(--admin-transition), color var(--admin-transition);background:linear-gradient(135deg, var(--admin-primary), var(--admin-primary-2));color:#04121d;cursor:pointer;padding:0 16px;font-weight:700}.admin-button:hover{transform:translateY(-1px)}.admin-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.admin-button--ghost{background:var(--admin-bg-card);color:var(--admin-text)}.admin-icon-button{place-items:center;width:44px;min-width:44px;padding:0;display:inline-grid}.admin-icon-button__icon{width:20px;height:20px}.admin-icon-button__icon.is-spinning{animation:.9s linear infinite admin-spin}.admin-input,.admin-select{background:var(--admin-bg-card-strong);color:var(--admin-text);transition:border-color var(--admin-transition), box-shadow var(--admin-transition), background var(--admin-transition);padding:0 14px}.admin-input::placeholder{color:var(--admin-text-soft)}.admin-button:focus-visible,.admin-input:focus-visible,.admin-select:focus-visible,.admin-sidebar__link:focus-visible{border-color:color-mix(in srgb, var(--admin-primary) 55%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--admin-primary) 18%, transparent);outline:none}.admin-field{flex-direction:column;gap:8px;min-width:0;display:flex}.admin-field span{color:var(--admin-text-soft);letter-spacing:.01em;font-size:13px;font-weight:700}.admin-field--inline{min-width:180px}.admin-page-grid{gap:24px;display:grid}.metrics-grid{grid-template-columns:repeat(6,1fr);gap:16px;display:grid}.panel-grid{gap:24px;display:grid}.panel-grid--2{grid-template-columns:repeat(2,1fr)}.panel-grid--3{grid-template-columns:repeat(3,1fr)}.metric-card,.chart-card,.info-card,.table-card{border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);background:var(--admin-bg-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--admin-shadow)}.metric-card{padding:18px}.metric-card__label{color:var(--admin-text-soft);letter-spacing:.02em;font-size:14px;font-weight:700}.metric-card__value{letter-spacing:-.04em;margin:10px 0;font-size:34px;font-weight:800;line-height:1.05}.metric-card__footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.metric-card__hint{color:var(--admin-text-soft);font-size:13px}.metric-card__delta{font-size:13px;font-weight:800}.metric-card__delta.is-up{color:var(--admin-success)}.metric-card__delta.is-down{color:var(--admin-danger)}.metric-card__delta.is-flat{color:var(--admin-text-soft)}.chart-card{padding:20px}.chart-card__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.chart-card__header h3{letter-spacing:-.02em;margin-bottom:6px;font-size:20px;line-height:1.2}.chart-card__header p{color:var(--admin-text-soft);margin:0}.chart-card__body{height:320px;margin-top:18px}.line-chart{width:100%;height:100%}.line-chart__line{stroke:var(--admin-primary);stroke-width:3px;fill:none}.line-chart__fill{fill:#5cc8ff1f}.line-chart__grid{stroke:var(--admin-border)}.line-chart__dot{fill:var(--admin-primary)}.line-chart__label,.line-chart__time{fill:var(--admin-text-soft);font-family:inherit;font-size:12px}.line-chart__time{text-anchor:middle}.line-chart__dot.is-peak{r:6;fill:var(--admin-primary-2)}.info-card{padding:20px}.info-card__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.info-card__header h3{letter-spacing:-.02em;margin-bottom:6px;font-size:20px;line-height:1.2}.info-card__header p{color:var(--admin-text-soft);margin:0}.health-list,.quick-list{flex-direction:column;gap:12px;display:flex}.health-row,.quick-row{border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);background:color-mix(in srgb, var(--admin-bg-card-strong) 72%, transparent);justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:14px 16px;display:flex}.health-row__title{font-size:15px;font-weight:700;line-height:1.3}.health-row__meta,.health-row__usage,.quick-row span{color:var(--admin-text-soft);font-size:13px}.health-row__right{text-align:right;flex-direction:column;align-items:flex-end;gap:8px;display:flex}.quick-row strong{color:var(--admin-text);font-size:18px;font-weight:800;line-height:1}.table-card{padding:20px}.table-card__header,.table-card__footer{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.table-card__header h3{letter-spacing:-.02em;margin-bottom:6px;font-size:20px;line-height:1.2}.table-card__header p,.table-card__footer{color:var(--admin-text-soft)}.table-card__toolbar,.table-card__pagination{flex-wrap:wrap;gap:12px;display:flex}.admin-table-wrap{border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);background:color-mix(in srgb, var(--admin-bg-card-strong) 82%, transparent);margin:16px 0;overflow:auto}.admin-table{border-collapse:collapse;width:100%;min-width:720px}.admin-table th,.admin-table td{border-bottom:1px solid var(--admin-border);vertical-align:middle;padding:14px}.admin-table th{text-align:left;letter-spacing:.03em;text-transform:uppercase;color:var(--admin-text-soft);background:color-mix(in srgb, var(--admin-bg-soft) 72%, transparent);font-size:13px;font-weight:800}.admin-table tbody tr:hover{background:var(--admin-hover)}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table__head{align-items:center;gap:8px;display:inline-flex}.admin-table .is-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-table .is-left{text-align:left}.admin-table .is-center{text-align:center}.admin-table .is-right{text-align:right}.admin-table__empty{text-align:center;color:var(--admin-text-soft);background:linear-gradient(180deg, color-mix(in srgb, var(--admin-bg-soft) 60%, transparent), transparent);padding:28px 20px;font-weight:600}.status-badge{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.status-badge--green{color:var(--admin-success);background:#3ddc9729}.status-badge--yellow{color:var(--admin-warning);background:#ffbd5929}.status-badge--red{color:var(--admin-danger);background:#ff6b7d29}.status-badge--blue{color:var(--admin-info);background:#76a9ff29}.status-badge--gray{color:var(--admin-text-soft);background:#94a3b81f}.admin-stat-value{margin-top:16px;font-size:36px;font-weight:800}.admin-filters-row{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.admin-error-box{background:#ff6b7d1f;border:1px solid #ff6b7d3d;border-radius:16px;margin-bottom:16px;padding:14px}@keyframes admin-spin{to{transform:rotate(360deg)}}@media (width<=1400px){.metrics-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.panel-grid--2,.panel-grid--3{grid-template-columns:1fr}}@media (width<=800px){.admin-main,.admin-topbar{padding-left:16px;padding-right:16px}.admin-topbar,.chart-card__header,.info-card__header,.table-card__header,.table-card__footer{flex-direction:column;align-items:stretch}.health-row,.quick-row{flex-direction:column;align-items:flex-start}.health-row__right{text-align:left;align-items:flex-start}.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.admin-page-grid,.panel-grid,.table-card__toolbar,.table-card__pagination{gap:12px}.table-card{padding:14px}.admin-field--inline,.admin-button,.admin-input,.admin-select{width:100%}.metrics-grid{grid-template-columns:1fr}}.panel-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1200px){.panel-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.panel-grid--4{grid-template-columns:1fr}}
