@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-bg-base: #f8fafc;--color-bg-elevated: #ffffff;--color-bg-sidebar: #0f172a;--color-bg-sidebar-hover: rgba(255, 255, 255, .06);--color-bg-sidebar-active: rgba(99, 102, 241, .15);--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-on-dark: #f1f5f9;--color-text-on-dark-muted: rgba(241, 245, 249, .75);--color-accent: #6366f1;--color-accent-hover: #4f46e5;--color-accent-muted: #e0e7ff;--color-chart-1: #6366f1;--color-chart-2: #06b6d4;--color-chart-3: #10b981;--color-chart-4: #f59e0b;--color-chart-5: #ef4444;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-surface-1: #f1f5f9;--color-surface-2: #e2e8f0;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .12);--shadow-xl: 0 20px 50px rgba(15, 23, 42, .15);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--sidebar-width: 240px;--header-height: 64px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--color-text-primary);background:var(--color-bg-base);-webkit-font-smoothing:antialiased}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--color-bg-sidebar);color:var(--color-text-on-dark);display:flex;flex-direction:column;z-index:40;border-right:1px solid rgba(255,255,255,.06)}.admin-sidebar-brand{padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.admin-sidebar-brand-logo{font-size:18px;font-weight:800;letter-spacing:-.02em;color:#fff}.admin-sidebar-brand-tagline{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-on-dark-muted);margin-top:4px}.admin-sidebar-nav{flex:1;padding:12px 10px}.admin-sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:4px;border-radius:var(--radius-md);color:var(--color-text-on-dark-muted);text-decoration:none;font-weight:600;font-size:14px;cursor:pointer;border:none;width:100%;text-align:left;background:transparent;transition:background .15s,color .15s}.admin-sidebar-nav-item:hover{background:var(--color-bg-sidebar-hover);color:var(--color-text-on-dark)}.admin-sidebar-nav-item.active{background:var(--color-bg-sidebar-active);color:#a5b4fc}.admin-sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.06);font-size:11px;color:var(--color-text-on-dark-muted)}.admin-main{margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column}.admin-header{position:sticky;top:0;z-index:30;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;box-shadow:var(--shadow-sm)}.admin-metric-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;transition:box-shadow .2s,border-color .2s}.admin-metric-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.admin-metric-card.clickable{cursor:pointer}.admin-metric-card.clickable:hover{box-shadow:var(--shadow-lg);border-color:var(--color-accent-muted)}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-family:var(--font-sans);font-size:13px;font-weight:600;border-radius:var(--radius-md);cursor:pointer;border:none;transition:all .15s ease}.admin-btn-primary{background:var(--color-accent);color:#fff;box-shadow:0 2px 8px #6366f159}.admin-btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.admin-btn-secondary{background:var(--color-bg-sidebar);color:#fff}.admin-btn-secondary:hover{background:#1e293b;transform:translateY(-1px)}.admin-btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.admin-btn-ghost:hover{background:var(--color-surface-1);border-color:var(--color-border-strong)}.admin-input{font-family:var(--font-sans);font-size:13px;padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-primary);transition:border-color .15s,box-shadow .15s}.admin-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #6366f126}.admin-input::placeholder{color:var(--color-text-muted)}.admin-panel{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden}.admin-panel-header{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--color-bg-elevated)}.admin-table th{text-align:left;padding:12px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-surface-1);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:1}.admin-table td{padding:12px 16px;font-size:14px;vertical-align:top;border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated)}.admin-table tbody tr:hover td{background:var(--color-surface-1)}.admin-table tbody tr{cursor:pointer;transition:background .1s}.admin-range-tabs{display:inline-flex;border-radius:999px;background:var(--color-surface-1);padding:4px;gap:2px;border:1px solid var(--color-border)}.admin-range-tabs button{padding:6px 12px;font-size:12px;font-weight:600;border:none;border-radius:999px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.admin-range-tabs button:hover{color:var(--color-text-primary)}.admin-range-tabs button.active{background:var(--color-bg-sidebar);color:#fff;box-shadow:var(--shadow-sm)}.admin-chart-bar{background:linear-gradient(180deg,var(--color-chart-1),var(--color-chart-2))}.admin-chart-bar-fill{background:linear-gradient(90deg,var(--color-chart-1),var(--color-chart-2))}.admin-main button[type=button]:not(:disabled):hover{opacity:.92}.replayer-wrapper{position:relative}.replayer-mouse{position:absolute;width:20px;height:20px;transition:left .05s linear,top .05s linear;background-size:contain;background-position:center center;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzMwMHB4JyB3aWR0aD0nMzAwcHgnICBmaWxsPSIjMDAwMDAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRhdGEtbmFtZT0iTGF5ZXIgMSIgdmlld0JveD0iMCAwIDUwIDUwIiB4PSIwcHgiIHk9IjBweCI+PHRpdGxlPkRlc2lnbl90bnA8L3RpdGxlPjxwYXRoIGQ9Ik00OC43MSw0Mi45MUwzNC4wOCwyOC4yOSw0NC4zMywxOEExLDEsMCwwLDAsNDQsMTYuMzlMMi4zNSwxLjA2QTEsMSwwLDAsMCwxLjA2LDIuMzVMMTYuMzksNDRhMSwxLDAsMCwwLDEuNjUuMzZMMjguMjksMzQuMDgsNDIuOTEsNDguNzFhMSwxLDAsMCwwLDEuNDEsMGw0LjM4LTQuMzhBMSwxLDAsMCwwLDQ4LjcxLDQyLjkxWm0tNS4wOSwzLjY3TDI5LDMyYTEsMSwwLDAsMC0xLjQxLDBsLTkuODUsOS44NUwzLjY5LDMuNjlsMzguMTIsMTRMMzIsMjcuNThBMSwxLDAsMCwwLDMyLDI5TDQ2LjU5LDQzLjYyWiI+PC9wYXRoPjwvc3ZnPg==);border-color:transparent}.replayer-mouse:after{content:"";display:inline-block;width:20px;height:20px;background:#4950f6;border-radius:100%;transform:translate(-50%,-50%);opacity:.3}.replayer-mouse.active:after{animation:click .2s ease-in-out 1}.replayer-mouse.touch-device{background-image:none;width:70px;height:70px;border-width:4px;border-style:solid;border-radius:100%;margin-left:-37px;margin-top:-37px;border-color:#4950f600;transition:left 0s linear,top 0s linear,border-color .2s ease-in-out}.replayer-mouse.touch-device.touch-active{border-color:#4950f6;transition:left .25s linear,top .25s linear,border-color .2s ease-in-out}.replayer-mouse.touch-device:after{opacity:0}.replayer-mouse.touch-device.active:after{animation:touch-click .2s ease-in-out 1}.replayer-mouse-tail{position:absolute;pointer-events:none}@keyframes click{0%{opacity:.3;width:20px;height:20px}50%{opacity:.5;width:10px;height:10px}}@keyframes touch-click{0%{opacity:0;width:20px;height:20px}50%{opacity:.5;width:10px;height:10px}}
