.lang-switcher[data-v-c091d339]{min-width:130px}.app-footer[data-v-032481c6]{display:flex;align-items:center;justify-content:space-between;padding:10px 32px;background:var(--bg-header, rgba(12, 14, 20, .97));border-top:1px solid var(--border, rgba(255,255,255,.06));gap:16px;margin-top:auto}.app-footer-copy[data-v-032481c6]{font-size:11px;color:var(--text-ghost);white-space:nowrap;font-family:var(--font-mono, monospace);letter-spacing:.02em}.app-footer-tagline[data-v-032481c6]{font-size:11px;color:var(--text-ghost);flex:1;text-align:center;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-footer-lang[data-v-032481c6]{display:flex;align-items:center;gap:8px;flex-shrink:0}.app-footer-lang-label[data-v-032481c6]{font-size:11px;color:var(--text-faint);white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;font-weight:600}.at-stack[data-v-c0aaee7c]{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:calc(100vw - 48px);width:340px;pointer-events:none}@media(max-width:600px){.at-stack[data-v-c0aaee7c]{left:16px;right:16px;bottom:16px;width:auto}}.at-item[data-v-c0aaee7c]{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius, 10px);box-shadow:0 8px 32px #0006;pointer-events:all}.at-success[data-v-c0aaee7c]{border-left:3px solid var(--color-green)}.at-error[data-v-c0aaee7c]{border-left:3px solid var(--color-red)}.at-warn[data-v-c0aaee7c]{border-left:3px solid var(--color-orange)}.at-info[data-v-c0aaee7c]{border-left:3px solid var(--accent)}.at-icon[data-v-c0aaee7c]{flex-shrink:0;width:18px;height:18px;display:flex}.at-icon svg[data-v-c0aaee7c]{width:100%;height:100%}.at-success .at-icon[data-v-c0aaee7c]{color:var(--color-green)}.at-error .at-icon[data-v-c0aaee7c]{color:var(--color-red)}.at-warn .at-icon[data-v-c0aaee7c]{color:var(--color-orange)}.at-info .at-icon[data-v-c0aaee7c]{color:var(--accent)}.at-body[data-v-c0aaee7c]{flex:1;min-width:0}.at-summary[data-v-c0aaee7c]{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.at-detail[data-v-c0aaee7c]{font-size:13px;color:var(--text-muted);margin:2px 0 0;word-break:break-word}.at-close[data-v-c0aaee7c]{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-faint);cursor:pointer;padding:0;transition:background .15s,color .15s}.at-close svg[data-v-c0aaee7c]{width:14px;height:14px}.at-close[data-v-c0aaee7c]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.at-slide-enter-active[data-v-c0aaee7c]{animation:at-in-c0aaee7c .22s ease-out both}.at-slide-leave-active[data-v-c0aaee7c]{animation:at-out-c0aaee7c .18s ease-in both}@keyframes at-in-c0aaee7c{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes at-out-c0aaee7c{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}@media(max-width:600px){@keyframes at-in-c0aaee7c{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes at-out-c0aaee7c{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}}.bottom-nav[data-v-f15bca84]{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:stretch;background:var(--nav-bg);border-top:1px solid rgba(255,255,255,.1);padding-bottom:env(safe-area-inset-bottom)}.bn-tab[data-v-f15bca84]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:56px;border:none;background:none;color:#ffffff73;cursor:pointer;transition:color .15s ease;-webkit-tap-highlight-color:transparent}.bn-tab span[data-v-f15bca84]{font-size:10px;font-weight:500;letter-spacing:.02em}.bn-tab.active[data-v-f15bca84]{color:#fff}.bn-tab.active svg[data-v-f15bca84]{filter:drop-shadow(0 0 6px rgba(167,139,250,.6))}.safe-area-top-cover[data-v-3bdcf523]{position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top);background:var(--nav-bg);z-index:9;pointer-events:none}.splash-screen[data-v-3bdcf523]{position:fixed;inset:0;z-index:9999;background:var(--bg-root);display:flex;align-items:center;justify-content:center}.splash-logo[data-v-3bdcf523]{font-size:2.8rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);animation:splash-in-3bdcf523 .5s cubic-bezier(.16,1,.3,1) both}.splash-logo span[data-v-3bdcf523]{color:var(--accent)}@keyframes splash-in-3bdcf523{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.splash-fade-enter-active[data-v-3bdcf523]{transition:opacity .3s ease}.splash-fade-leave-active[data-v-3bdcf523]{transition:opacity .4s ease .9s}.splash-fade-enter-from[data-v-3bdcf523],.splash-fade-leave-to[data-v-3bdcf523]{opacity:0}*{font-family:Inter,sans-serif}.p-inputtext{padding:.75rem 1rem!important}*{margin:0;padding:0;box-sizing:border-box}::-webkit-scrollbar{width:0;height:0;background:transparent}::-webkit-scrollbar-thumb{background:transparent}*{scrollbar-width:none}html,body{width:100vw;height:100vh;background:var(--bg-root)}#app{width:100%;height:100%;overflow:hidden;background:var(--bg-root)}.app-root{display:flex;flex-direction:column;height:100%;background:var(--bg-root);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.has-bottom-nav{padding-bottom:0!important}.has-bottom-nav .page-shell,.has-bottom-nav .admin-main,.has-bottom-nav .logs-main{padding-bottom:calc(56px + env(safe-area-inset-bottom))!important}.has-bottom-nav .page-root>.page-footer-mobile{position:fixed;bottom:calc(56px + env(safe-area-inset-bottom));left:0;right:0;z-index:50;box-shadow:0 -1px 0 var(--border)}.has-bottom-nav .admin-main{padding-bottom:calc(116px + env(safe-area-inset-bottom))!important}.p-dialog,.p-dialog .p-dialog-header,.p-dialog .p-dialog-content,.p-dialog .p-dialog-footer{background:var(--p-surface-card);color:var(--p-text-color);border-color:var(--p-surface-border)}.p-datatable,.p-datatable .p-datatable-header,.p-datatable .p-datatable-thead>tr>th,.p-datatable .p-datatable-tbody>tr,.p-datatable .p-datatable-tbody>tr>td{background:var(--p-surface-card);color:var(--p-text-color);border-color:var(--p-surface-border)}.p-datatable .p-datatable-tbody>tr:hover>td{background:var(--p-surface-hover)}.trial-banner{display:flex;align-items:center;justify-content:center;gap:12px;background:#1e293b;border-bottom:1px solid #334155;color:#94a3b8;font-size:13px;padding:8px 16px;text-align:center}.trial-banner.urgent{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}.trial-banner strong{color:#e2e8f0}.trial-banner-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:500;cursor:pointer}.trial-banner-btn:hover{opacity:.85}:root{--bg-root: #0c0e14;--bg-secondary: #0f1219;--bg-tertiary: #0d1018;--bg-input: #131720;--bg-header: rgba(12, 14, 20, .97);--border: #1e2433;--border-strong: #2d3748;--text-primary: #f1f5f9;--text-secondary: #e2e8f0;--text-body: #cbd5e1;--text-muted: #94a3b8;--text-faint: #94a3b8;--text-ghost: #64748b;--accent: #4f46e5;--accent-hover: #4338ca;--accent-subtle: rgba(99, 102, 241, .08);--accent-border: rgba(99, 102, 241, .2);--accent-bg: rgba(99, 102, 241, .06);--color-green: #4ade80;--color-green-bg: rgba(34, 197, 94, .12);--color-green-bd: rgba(34, 197, 94, .25);--color-red: #f87171;--color-red-bg: rgba(239, 68, 68, .12);--color-red-bd: rgba(239, 68, 68, .25);--color-red-msg: rgba(239, 68, 68, .08);--color-red-msg-bd: rgba(239, 68, 68, .2);--color-orange: #fbbf24;--color-orange-bg: rgba(245, 158, 11, .12);--color-orange-bd: rgba(245, 158, 11, .25);--color-teal: #2dd4bf;--color-teal-bg: rgba(20, 184, 166, .12);--color-teal-bd: rgba(20, 184, 166, .25);--color-indigo: #818cf8;--color-indigo-bg: rgba(99, 102, 241, .12);--color-indigo-bd: rgba(99, 102, 241, .25);--color-muted-bg: rgba(100, 116, 139, .12);--color-muted-bd: rgba(100, 116, 139, .25);--skeleton-from: #1e2433;--skeleton-to: #2d3748;--dialog-shadow: 0 24px 80px rgba(0, 0, 0, .6);--auth-bg: #0c0e14;--auth-card-bg: #0f1219;--auth-card-shadow: 0 24px 80px rgba(0, 0, 0, .5);--login-left-bg: #0f1117;--login-right-bg: #161b27;--nav-bg: #1e1b4b}@media(prefers-color-scheme:light){:root:not([data-theme]){--bg-root: #f8fafc;--bg-secondary: #f1f5f9;--bg-tertiary: #ffffff;--bg-input: #ffffff;--bg-header: rgba(248, 250, 252, .97);--border: #e2e8f0;--border-strong: #cbd5e1;--text-primary: #0f172a;--text-secondary: #1e293b;--text-body: #334155;--text-muted: #475569;--text-faint: #475569;--text-ghost: #64748b;--accent: #4f46e5;--accent-hover: #4338ca;--accent-subtle: rgba(99, 102, 241, .08);--accent-border: rgba(99, 102, 241, .25);--accent-bg: rgba(99, 102, 241, .06);--color-green: #16a34a;--color-green-bg: rgba(22, 163, 74, .1);--color-green-bd: rgba(22, 163, 74, .25);--color-red: #dc2626;--color-red-bg: rgba(220, 38, 38, .08);--color-red-bd: rgba(220, 38, 38, .2);--color-red-msg: rgba(220, 38, 38, .06);--color-red-msg-bd: rgba(220, 38, 38, .18);--color-orange: #d97706;--color-orange-bg: rgba(217, 119, 6, .1);--color-orange-bd: rgba(217, 119, 6, .25);--color-teal: #0d9488;--color-teal-bg: rgba(13, 148, 136, .1);--color-teal-bd: rgba(13, 148, 136, .25);--color-indigo: #4f46e5;--color-indigo-bg: rgba(79, 70, 229, .1);--color-indigo-bd: rgba(79, 70, 229, .25);--color-muted-bg: rgba(100, 116, 139, .1);--color-muted-bd: rgba(100, 116, 139, .2);--skeleton-from: #e2e8f0;--skeleton-to: #cbd5e1;--dialog-shadow: 0 24px 80px rgba(0, 0, 0, .15);--auth-bg: #f1f5f9;--auth-card-bg: #ffffff;--auth-card-shadow: 0 8px 40px rgba(0, 0, 0, .1);--login-left-bg: #0f1117;--login-right-bg: #f8fafc;--nav-bg: #4f46e5}}:root[data-theme=light]{--bg-root: #f8fafc;--bg-secondary: #f1f5f9;--bg-tertiary: #ffffff;--bg-input: #ffffff;--bg-header: rgba(248, 250, 252, .97);--border: #e2e8f0;--border-strong: #cbd5e1;--text-primary: #0f172a;--text-secondary: #1e293b;--text-body: #334155;--text-muted: #475569;--text-faint: #475569;--text-ghost: #64748b;--accent: #4f46e5;--accent-hover: #4338ca;--accent-subtle: rgba(99, 102, 241, .08);--accent-border: rgba(99, 102, 241, .25);--accent-bg: rgba(99, 102, 241, .06);--color-green: #16a34a;--color-green-bg: rgba(22, 163, 74, .1);--color-green-bd: rgba(22, 163, 74, .25);--color-red: #dc2626;--color-red-bg: rgba(220, 38, 38, .08);--color-red-bd: rgba(220, 38, 38, .2);--color-red-msg: rgba(220, 38, 38, .06);--color-red-msg-bd: rgba(220, 38, 38, .18);--color-orange: #d97706;--color-orange-bg: rgba(217, 119, 6, .1);--color-orange-bd: rgba(217, 119, 6, .25);--color-teal: #0d9488;--color-teal-bg: rgba(13, 148, 136, .1);--color-teal-bd: rgba(13, 148, 136, .25);--color-indigo: #4f46e5;--color-indigo-bg: rgba(79, 70, 229, .1);--color-indigo-bd: rgba(79, 70, 229, .25);--color-muted-bg: rgba(100, 116, 139, .1);--color-muted-bd: rgba(100, 116, 139, .2);--skeleton-from: #e2e8f0;--skeleton-to: #cbd5e1;--dialog-shadow: 0 24px 80px rgba(0, 0, 0, .15);--auth-bg: #f1f5f9;--auth-card-bg: #ffffff;--auth-card-shadow: 0 8px 40px rgba(0, 0, 0, .1);--login-left-bg: #0f1117;--login-right-bg: #f8fafc;--nav-bg: #4f46e5}:root[data-theme=dark]{--bg-root: #0c0e14;--bg-secondary: #0f1219;--bg-tertiary: #0d1018;--bg-input: #131720;--bg-header: rgba(12, 14, 20, .97);--border: #1e2433;--border-strong: #2d3748;--text-primary: #f1f5f9;--text-secondary: #e2e8f0;--text-body: #cbd5e1;--text-muted: #94a3b8;--text-faint: #94a3b8;--text-ghost: #64748b;--accent: #4f46e5;--accent-hover: #4338ca;--accent-subtle: rgba(99, 102, 241, .08);--accent-border: rgba(99, 102, 241, .2);--accent-bg: rgba(99, 102, 241, .06);--color-green: #4ade80;--color-green-bg: rgba(34, 197, 94, .12);--color-green-bd: rgba(34, 197, 94, .25);--color-red: #f87171;--color-red-bg: rgba(239, 68, 68, .12);--color-red-bd: rgba(239, 68, 68, .25);--color-red-msg: rgba(239, 68, 68, .08);--color-red-msg-bd: rgba(239, 68, 68, .2);--color-orange: #fbbf24;--color-orange-bg: rgba(245, 158, 11, .12);--color-orange-bd: rgba(245, 158, 11, .25);--color-teal: #2dd4bf;--color-teal-bg: rgba(20, 184, 166, .12);--color-teal-bd: rgba(20, 184, 166, .25);--color-indigo: #818cf8;--color-indigo-bg: rgba(99, 102, 241, .12);--color-indigo-bd: rgba(99, 102, 241, .25);--color-muted-bg: rgba(100, 116, 139, .12);--color-muted-bd: rgba(100, 116, 139, .25);--skeleton-from: #1e2433;--skeleton-to: #2d3748;--dialog-shadow: 0 24px 80px rgba(0, 0, 0, .6);--auth-bg: #0c0e14;--auth-card-bg: #0f1219;--auth-card-shadow: 0 24px 80px rgba(0, 0, 0, .5);--login-left-bg: #0f1117;--login-right-bg: #161b27;--nav-bg: #1e1b4b}.theme-transition,.theme-transition *,.theme-transition *:before,.theme-transition *:after{transition:background-color .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease!important}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg-root);color:var(--text-secondary);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}#app,.app-root{height:100vh;height:100dvh}.page-root{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg-root);color:var(--text-secondary);font-family:Inter,system-ui,-apple-system,sans-serif}.page-shell{flex:1;min-height:0;display:flex;flex-direction:column}.page-header{position:sticky;top:env(safe-area-inset-top);z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:56px;border-bottom:1px solid rgba(0,0,0,.15);background:var(--nav-bg)}.page-header .logo{color:#fff}.page-header .path-muted{color:#ffffff8c}.page-header .user-avatar{background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.25)}.page-header .user-avatar:hover{background:#ffffff47}.page-header .btn-ghost,.page-header .btn-ghost-full{color:#ffffffd9;border-color:#ffffff40}.page-header .btn-ghost:hover,.page-header .btn-ghost-full:hover{border-color:#fff9;background:#ffffff1a;color:#fff}.page-header .kbd{background:#ffffff26;border-color:#fff3;color:#fffc}@media(max-width:640px){.page-header{padding:0 16px;height:56px}}@media(min-width:641px)and (max-width:1024px){.page-header{padding:0 20px}}.header-left{display:flex;align-items:center;gap:12px}.header-right{display:flex;align-items:stretch;gap:6px}.logo{color:var(--text-primary);font-size:18px;font-weight:700;letter-spacing:-.02em}@media(max-width:640px){.logo{font-size:16px}}.path-muted{color:var(--text-ghost);font-size:14px}@media(max-width:640px){.path-muted{display:none}}.user-menu{position:relative;display:flex;align-items:stretch;margin-left:8px}.user-avatar{width:36px;border-radius:50%;border:none;cursor:pointer;font-size:12px;font-weight:600;font-family:inherit;letter-spacing:.03em;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;aspect-ratio:1;align-self:center;transition:background .15s}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:var(--bg-secondary);border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 8px 24px #00000026;z-index:100;overflow:hidden}.user-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;font-size:14px;font-family:inherit;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .12s}.user-dropdown button:hover{background:var(--accent-subtle)}.user-dropdown button.danger{color:var(--color-red)}.user-dropdown button.danger:hover{background:var(--color-red-msg)}.user-dropdown hr{border:none;border-top:1px solid var(--border);margin:4px 0}.btn-ghost,.btn-ghost-full{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--border-strong);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:14px;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:500;cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s;white-space:nowrap}.btn-ghost:hover,.btn-ghost-full:hover{border-color:var(--accent);background:var(--accent-subtle)}.btn-ghost:focus-visible,.btn-ghost-full:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-ghost.btn-danger:hover,.btn-danger.btn-ghost-full:hover{border-color:var(--color-red);background:var(--color-red-msg);color:var(--color-red)}.btn-primary,.btn-primary-full,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:1px solid transparent;border-radius:6px;background:var(--accent);color:#fff;font-size:14px;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-primary:hover,.btn-primary-full:hover,.btn-danger:hover{background:var(--accent-hover)}.btn-primary:disabled,.btn-primary-full:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--color-red)}.btn-danger:hover{background:color-mix(in srgb,var(--color-red) 85%,black)}.btn-primary-full{width:100%;font-size:15px;margin-top:24px;justify-content:center}.btn-ghost-full{width:100%;font-size:15px;justify-content:center}.btn-back{display:block;width:100%;margin-top:12px;padding:10px;border:none;background:transparent;color:var(--text-faint);font-size:14px;font-family:Inter,system-ui,-apple-system,sans-serif;cursor:pointer;text-align:center;transition:color .15s}.btn-back:hover{color:var(--text-secondary)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border-strong);border-radius:6px;background:transparent;cursor:pointer;font-size:13px;transition:border-color .15s,background .15s}.btn-icon:hover{border-color:var(--accent);background:var(--accent-subtle)}.btn-icon:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-icon.btn-icon-danger{color:var(--color-red);border-color:color-mix(in srgb,var(--color-red) 30%,transparent)}.btn-icon.btn-icon-danger:hover{background:var(--color-red-msg);border-color:var(--color-red)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.kbd{color:var(--text-faint);font-size:12px;background:var(--border);padding:2px 6px;border-radius:4px;border:1px solid var(--border-strong)}@media(max-width:640px){.kbd{background:none;border:none;padding:0;border-radius:0}}.countdown{display:inline-block;width:32px;text-align:center;font-variant-numeric:tabular-nums}.toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;height:80px;border-bottom:1px solid var(--border)}@media(max-width:640px){.toolbar{flex-direction:column;align-items:flex-start;height:auto;padding:12px 16px;gap:10px}}@media(min-width:641px)and (max-width:1024px){.toolbar{padding:12px 20px;flex-wrap:wrap;height:auto;gap:10px}}.toolbar-left{display:flex;flex-direction:column;gap:2px}.page-title{margin:0;color:var(--text-primary);font-size:22px;font-weight:600;line-height:1.2}.page-subtitle{margin:0;color:var(--text-faint);font-size:14px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.sunset-hint{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--text-ghost);font-style:italic}.sunset-icon{width:12px;height:12px;flex-shrink:0}.sunset-icon-sun{color:#f59e0b}.sunset-icon-moon{color:var(--text-ghost);opacity:.7}.toolbar-right{display:flex;align-items:stretch;gap:8px}@media(max-width:640px){.toolbar-right{width:100%;flex-wrap:wrap;gap:6px}}@media(min-width:641px)and (max-width:1024px){.toolbar-right{flex-wrap:wrap;gap:6px}}.search-box{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-input);overflow:hidden;transition:border-color .15s}.search-box:focus-within{border-color:var(--accent)}@media(max-width:640px){.search-box{flex:1;min-width:0}}.search-prefix{color:var(--text-ghost);font-size:13px;padding:10px 10px 10px 12px;border-right:1px solid var(--border-strong);align-self:stretch;display:flex;align-items:center;white-space:nowrap;background:var(--bg-root)}.search-box input{border:none;outline:none;background:transparent;color:var(--text-secondary);font-size:14px;font-family:Inter,system-ui,-apple-system,sans-serif;padding:10px 12px;min-width:180px}.search-box input::placeholder{color:var(--text-ghost)}@media(max-width:640px){.search-box input{min-width:0;width:100%}}.form-select,.select-btn{border:1px solid var(--border-strong);border-radius:6px;background-color:var(--bg-input);color:var(--text-secondary);font-size:14px;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:500;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.form-select:focus-visible,.select-btn:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.form-select option,.select-btn option{background:var(--bg-root);color:var(--text-secondary)}.select-btn{padding:10px 32px 10px 12px}.month-btn{padding:10px 12px;border:1px solid var(--border-strong);background:var(--bg-input);color:var(--text-secondary);font-size:14px;font-family:Inter,system-ui,-apple-system,sans-serif;cursor:pointer;border-radius:6px;outline:none}.month-btn:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.month-btn::-webkit-calendar-picker-indicator{filter:invert(.5);cursor:pointer}.page-main{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:20px 32px;animation:fadeSlideUp .3s ease-out both}@media(max-width:640px){.page-main{padding:0 16px 12px}}@media(min-width:641px)and (max-width:1024px){.page-main{padding:16px 20px}}.table-wrap{flex:1;overflow:auto;border:1px solid var(--border);border-radius:8px}.table-head{background:var(--bg-secondary);border-bottom:1px solid var(--border);color:var(--text-faint);font-size:13px;font-weight:600;position:sticky;top:0;z-index:1}.table-body{display:flex;flex-direction:column;overflow-x:auto}.table-row{border-bottom:1px solid var(--bg-input);background:var(--bg-tertiary);color:var(--text-body);font-size:14px}.table-row.alt{background:var(--bg-secondary)}.table-row:last-child{border-bottom:none}.table-row:hover{background:var(--accent-subtle)}.table-row-btn{border:none;text-align:left;cursor:pointer;width:100%;transition:background .1s}.c-site{display:flex;flex-direction:column;gap:3px}.c-num{text-align:right;font-variant-numeric:tabular-nums;font-size:15px;font-weight:500;color:var(--text-secondary)}.c-center{text-align:center;justify-content:center}.table-state,.table-empty{padding:40px;text-align:center;color:var(--text-ghost);font-size:15px}.site-name,.cell-primary{color:var(--text-primary);font-weight:600;font-size:15px}.site-addr,.cell-muted{color:var(--text-ghost);font-size:13px}.cell-mono{color:var(--text-muted);font-size:12px;font-family:IBM Plex Mono,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subdomain-badge{display:inline-block;font-family:IBM Plex Mono,monospace;font-size:11px;color:#6366f1;background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:4px;padding:2px 6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-input-static{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;justify-content:center}.form-input-static .subdomain-preview{font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--text-muted)}.form-input-static .subdomain-preview strong{color:var(--text-faint);letter-spacing:.05em}.form-input-static .subdomain-hint{font-size:11px;color:var(--text-faint)}.muted{color:var(--text-ghost)}.badge{display:inline-block;width:fit-content;white-space:nowrap;padding:3px 10px;border-radius:4px;font-size:13px;font-weight:600;border:1px solid transparent}.badge-sm{font-size:12px;padding:2px 8px}.badge-green{background:var(--color-green-bg);color:var(--color-green);border-color:var(--color-green-bd)}.badge-red{background:var(--color-red-bg);color:var(--color-red);border-color:var(--color-red-bd)}.badge-orange,.badge-amber{background:var(--color-orange-bg);color:var(--color-orange);border-color:var(--color-orange-bd)}.badge-teal{background:var(--color-teal-bg);color:var(--color-teal);border-color:var(--color-teal-bd)}.badge-indigo{background:var(--color-indigo-bg);color:var(--color-indigo);border-color:var(--color-indigo-bd)}.badge-muted{background:var(--color-muted-bg);color:var(--text-muted);border-color:var(--color-muted-bd)}.alert-pill{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px;white-space:nowrap;background:var(--color-orange-bg);color:var(--color-orange);border:1px solid var(--color-orange-bd);margin-left:6px}.trend{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;padding:1px 5px;border-radius:4px;white-space:nowrap;vertical-align:middle;margin-left:6px}.trend-up{background:var(--color-green-bg);color:var(--color-green)}.trend-down{background:var(--color-red-bg);color:var(--color-red)}.page-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 32px;border-top:1px solid var(--border);background:var(--bg-secondary)}@media(max-width:640px){.page-footer{padding:12px 16px;flex-direction:column;align-items:stretch;gap:10px}.page-footer .footer-left{flex-wrap:wrap;gap:8px}.page-footer .month-btn{flex:1;min-width:0}.page-footer .btn-ghost,.page-footer .btn-ghost-full{width:100%;justify-content:center}}@media(min-width:641px)and (max-width:1024px){.page-footer{padding:12px 20px}}.footer-left{display:flex;align-items:center;gap:12px}.footer-label{color:var(--text-muted);font-size:14px;font-weight:500}.footer-muted{color:var(--text-ghost);font-size:14px}.page-footer-mobile{justify-content:center;padding:10px 16px}@media(max-width:640px){.btn-refresh-mobile{margin-left:auto}}.btn-report-mobile{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:var(--accent-subtle);border:1px solid rgba(99,102,241,.3);border-radius:6px;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer}.sheet-overlay{position:fixed;inset:0;background:#00000080;z-index:200;display:flex;align-items:flex-end}.sheet-panel{width:100%;background:var(--bg-secondary);border-radius:16px 16px 0 0;border-top:1px solid var(--border);padding:16px 20px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.sheet-handle{width:36px;height:4px;background:var(--border-strong);border-radius:2px;margin:0 auto 4px}.sheet-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.sheet-body{display:flex;flex-direction:column;gap:8px}.sheet-label{font-size:13px;color:var(--text-muted)}.sheet-enter-active,.sheet-leave-active{transition:opacity .2s ease}.sheet-enter-active .sheet-panel,.sheet-leave-active .sheet-panel{transition:transform .25s ease}.sheet-enter-from,.sheet-leave-to{opacity:0}.sheet-enter-from .sheet-panel,.sheet-leave-to .sheet-panel{transform:translateY(100%)}.modal-form{display:flex;flex-direction:column;gap:16px;padding-top:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{color:var(--text-muted);font-size:13px;font-weight:500}.label-hint{color:var(--text-faint);font-weight:400;font-style:italic}.form-input,.form-input-lg{padding:10px 12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-input);color:var(--text-secondary);font-size:14px;font-family:Inter,system-ui,-apple-system,sans-serif;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}.form-input::placeholder,.form-input-lg::placeholder{color:var(--text-ghost)}.form-input:focus-visible,.form-input-lg:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.form-input-lg{font-size:15px;padding:10px 14px}.form-select{padding:10px 32px 10px 12px;width:100%;box-sizing:border-box}.form-field-toggle{flex-direction:row;align-items:center;justify-content:space-between}.toggle{position:relative;width:44px;height:24px;border:none;border-radius:12px;background:var(--border-strong);cursor:pointer;transition:background .2s;padding:0}.toggle.on{background:var(--accent)}.toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}.toggle.on .toggle-thumb{transform:translate(20px)}.form-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:6px;font-size:14px;color:var(--color-indigo)}.pw-checks{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.pw-checks li{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-faint);transition:color .15s}.pw-checks li.ok{color:var(--color-green)}.pw-checks .pw-check-icon{font-size:11px;width:14px;text-align:center;flex-shrink:0}.form-error{color:var(--color-red);font-size:13px;margin:0 0 16px;padding:10px 14px;background:var(--color-red-msg);border:1px solid var(--color-red-msg-bd);border-radius:6px}.modal-footer-btns{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{border-radius:4px;background:linear-gradient(90deg,var(--skeleton-from) 25%,var(--skeleton-to) 50%,var(--skeleton-from) 75%);background-size:600px 100%;animation:shimmer 1.6s infinite linear}.skeleton-row{cursor:default;pointer-events:none}.skeleton-row:hover{background:inherit!important}.sk-text{height:15px;width:60%}.sk-text-sm{height:13px;width:75%}.sk-badge{height:22px;width:60px;border-radius:4px}.sk-actions{height:22px;width:64px;border-radius:4px}.sk-card-title{height:18px;width:55%;border-radius:4px}.sk-card-sub{height:13px;width:80%;border-radius:4px}.sk-card-stat{height:52px;border-radius:6px}.sk-card-badge{height:24px;width:80px;border-radius:4px}.skeleton-name{height:16px;width:55%}.skeleton-addr{height:12px;width:75%;margin-top:4px}.skeleton-num{height:16px;width:60%;margin-left:auto}.skeleton-badge{height:22px;width:70px;margin:0 auto;border-radius:4px}.mx-auto{margin:0 auto}.board-user-tags{display:flex;flex-wrap:wrap;gap:4px}.board-user-tag{display:inline-flex;align-items:center;gap:4px;background:var(--accent-subtle);border:1px solid var(--accent-border);border-radius:4px;padding:2px 6px;font-size:12px;color:var(--text-body)}.board-user-remove{background:none;border:none;cursor:pointer;color:var(--text-faint);font-size:14px;line-height:1;padding:0 2px}.board-user-remove:hover{color:var(--color-red)}.desktop-only{display:block}@media(max-width:640px){.desktop-only{display:none!important}}.mobile-only{display:none}@media(max-width:640px){.mobile-only{display:flex;flex-direction:column;gap:10px}}@media(max-width:640px){.hide-mobile{display:none!important}}@media(min-width:641px){.hide-desktop{display:none}}.header-search-overlay{position:absolute;top:0;left:0;right:0;height:100%;background:#1e1b4bbf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;padding:0 16px;gap:10px;z-index:20}.header-search-overlay input{flex:1;border:none;outline:none;background:#ffffff1f;color:#fff;font-size:15px;font-family:Inter,system-ui,-apple-system,sans-serif;padding:8px 12px;border-radius:6px}.header-search-overlay input::placeholder{color:#ffffff80}.header-search-overlay button{background:none;border:none;color:#fffc;cursor:pointer;padding:4px;display:flex;align-items:center}@keyframes orbit-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes star-twinkle{0%,to{opacity:.3}50%{opacity:1}}@keyframes starlinkPass{0%{transform:translate(0);opacity:0}8%{opacity:1}92%{opacity:1}to{transform:translate(-640px,820px);opacity:0}}@keyframes starlinkPassAlt{0%{transform:translate(0);opacity:0}8%{opacity:1}92%{opacity:1}to{transform:translate(620px,760px);opacity:0}}.bs-overlay{position:fixed;inset:0;background:#0009;z-index:101;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:overlayIn .2s ease-out both}.bs-sheet{position:fixed;z-index:102;background:var(--bg-secondary);border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}@media(max-width:1024px){.bs-sheet{bottom:0;left:0;right:0;height:90vh;border-radius:20px 20px 0 0;border-bottom:none}}@media(min-width:1025px){.bs-sheet{top:50%;left:50%;transform:translate(-50%,-50%)!important;width:720px;max-width:95vw;max-height:90vh;border-radius:10px}}@media(max-width:1024px){.bs-sheet-confirm{height:auto}}@media(min-width:1025px){.bs-sheet-confirm{width:400px}}@media(max-width:1024px){.bs-sheet-actions{height:auto}}@media(min-width:1025px){.bs-sheet-actions{display:none}}.bs-sheet-actions .bs-content{padding:8px 16px max(16px,env(safe-area-inset-bottom))}.action-sheet-btn{display:flex;align-items:center;width:100%;min-height:52px;padding:0 4px;background:transparent;border:none;border-top:1px solid transparent;color:var(--text-primary);font-size:16px;font-family:Inter,system-ui,-apple-system,sans-serif;text-align:left;cursor:pointer;transition:background .12s}.action-sheet-btn+.action-sheet-btn{border-top-color:var(--border)}.action-sheet-btn:hover,.action-sheet-btn:focus-visible{background:var(--bg-secondary)}.action-sheet-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}.action-sheet-btn.danger{color:var(--color-red)}.action-sheet-btn:disabled{opacity:.4;cursor:not-allowed}.action-sheet-cancel{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:8px;padding:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:15px;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:500;cursor:pointer}.action-sheet-cancel:hover,.action-sheet-cancel:focus-visible{background:var(--bg-tertiary)}.action-sheet-cancel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.box-activation-notice{display:flex;align-items:flex-start;gap:10px;background:#1e293b;border:1px solid #334155;border-radius:6px;padding:12px 14px;margin-bottom:16px;font-size:13px;color:var(--text-secondary);line-height:1.5}.box-activation-notice .box-activation-notice-icon{font-size:16px;flex-shrink:0}.box-activation-notice strong{color:var(--text-primary)}.bs-confirm-text{font-size:14px;color:var(--text-secondary);padding:0 0 16px}.toolbar-actions{display:flex;align-items:center;gap:8px;width:fit-content}.bs-handle-wrap{display:flex;justify-content:center;padding:12px 0 4px;flex-shrink:0}@media(min-width:1025px){.bs-handle-wrap{display:none}}.bs-handle{width:40px;height:4px;border-radius:2px;background:var(--border-strong)}.bs-header{display:flex;align-items:center;justify-content:space-between;padding:8px 24px 16px;flex-shrink:0;border-bottom:1px solid var(--border);gap:12px;position:sticky;top:0;z-index:1;background:var(--bg-secondary);overflow:hidden}@media(min-width:1025px){.bs-header{padding:20px 28px 16px}}.bs-title{font-size:16px;font-weight:700;color:var(--text-primary);flex:1}@media(min-width:1025px){.bs-title{font-size:18px}}.bs-close{display:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:none;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:18px;line-height:1;transition:background .15s,color .15s;flex-shrink:0}.bs-close:hover{background:var(--bg-input);color:var(--text-primary)}@media(min-width:1025px){.bs-close{display:flex}}.bs-content{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:20px 24px max(20px,env(safe-area-inset-bottom))}@media(min-width:1025px){.bs-content{padding:24px 28px}}.overlay-fade-enter-active,.overlay-fade-leave-active{transition:opacity .25s ease}.overlay-fade-enter-from,.overlay-fade-leave-to{opacity:0}.sheet-slide-enter-active,.sheet-slide-leave-active{transition:transform .3s cubic-bezier(.32,.72,0,1)}@media(min-width:1025px){.sheet-slide-enter-active,.sheet-slide-leave-active{transition:opacity .2s ease,transform .2s ease}}@media(max-width:1024px){.sheet-slide-enter-from,.sheet-slide-leave-to{transform:translateY(100%)}}@media(min-width:1025px){.sheet-slide-enter-from,.sheet-slide-leave-to{opacity:0;transform:translate(-50%,calc(-50% + 8px)) scale(.97)!important}}.bs-footer{display:flex;justify-content:flex-end;gap:10px;padding:24px 0 0;margin-top:8px}
