.app-shell[data-v-6f934336]{display:flex;min-height:100vh}.sidebar[data-v-6f934336]{width:220px;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:24px 0;position:fixed;top:0;left:0;height:100vh;z-index:10}.sidebar-logo[data-v-6f934336]{display:flex;align-items:baseline;gap:6px;padding:0 20px 32px;text-decoration:none}.sidebar-logo[data-v-6f934336]:hover{opacity:.8}.logo-mark[data-v-6f934336]{font-size:28px;font-weight:700;color:var(--color-accent);line-height:1}.logo-text[data-v-6f934336]{font-size:13px;font-weight:600;letter-spacing:.15em;color:var(--color-text-muted);text-transform:uppercase}.sidebar-nav[data-v-6f934336]{list-style:none;flex:1}.sidebar-nav li a[data-v-6f934336]{display:flex;align-items:center;gap:10px;padding:10px 20px;color:var(--color-text-dim);font-size:14px;font-weight:500;transition:all var(--transition);border-left:2px solid transparent}.sidebar-nav li a svg[data-v-6f934336]{width:18px;height:18px;flex-shrink:0}.sidebar-nav li a[data-v-6f934336]:hover{color:var(--color-text);background:var(--color-accent-dim);border-left-color:var(--color-accent)}.sidebar-nav li a.active[data-v-6f934336]{color:var(--color-accent);background:var(--color-accent-dim);border-left-color:var(--color-accent)}.main-content[data-v-6f934336]{flex:1;margin-left:220px;min-height:100vh;overflow-x:hidden}.main-content--portal[data-v-6f934336]{overflow-x:visible}.app-shell--sidebar-collapsed .main-content[data-v-6f934336]{margin-left:68px}.app-shell--sidebar-collapsed .sidebar[data-v-6f934336]{width:68px}.app-shell--sidebar-collapsed .sidebar-logo[data-v-6f934336]{justify-content:center;padding:0 0 24px}.app-shell--sidebar-collapsed .logo-text[data-v-6f934336]{display:none}.app-shell--sidebar-collapsed .sidebar-nav li a[data-v-6f934336]{justify-content:center;gap:0;padding:10px 8px}.app-shell--sidebar-collapsed .sidebar-nav li a svg[data-v-6f934336]{width:20px;height:20px}.app-shell--sidebar-collapsed .sidebar-nav li a[data-v-6f934336]{font-size:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #0d0f14;--color-surface: #161920;--color-surface-2: #1e222d;--color-border: #2a2f3d;--color-border-hover: #3d4455;--color-text: #e2e8f0;--color-text-muted: #64748b;--color-text-dim: #94a3b8;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-accent-dim: rgba(59, 130, 246, .15);--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-danger-dim: rgba(239, 68, 68, .1);--color-focus-ring: rgba(59, 130, 246, .45);--admin-text-primary: #e2e8f0;--admin-text-secondary: #cbd5e1;--admin-text-muted: #94a3b8;--admin-surface: #ffffff;--admin-surface-soft: #f8fafc;--admin-border: #e2e8f0;--radius: 8px;--radius-sm: 4px;--radius-lg: 12px;--shadow: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-lg: 0 10px 40px rgba(0,0,0,.5);--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--transition: .15s ease;--font-size-body: 14px;--font-size-small: 13px;--font-size-h1: clamp(26px, 2.2vw, 34px);--font-size-h2: clamp(20px, 1.8vw, 26px);--line-height-body: 1.5;--line-height-tight: 1.25}html,body{font-family:var(--font);font-size:var(--font-size-body);background:var(--color-bg);color:var(--color-text);line-height:var(--line-height-body);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}h1,h2,h3,h4{line-height:var(--line-height-tight);letter-spacing:-.01em}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}::selection{background:#3b82f647;color:#f8fbff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:var(--font-mono)}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition)}.fade-enter-from,.fade-leave-to{opacity:0}
