@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-base: #0a0e17;--bg-surface: #111827;--bg-elevated: #1a2332;--bg-hover: #1f2b3d;--bg-active: #243044;--border-subtle: #1e293b;--border-default: #2a3548;--border-strong: #374357;--text-primary: #e2e8f0;--text-secondary: #8896ab;--text-tertiary: #5a6b80;--text-inverse: #0a0e17;--accent: #3b82f6;--accent-hover: #2563eb;--accent-subtle: rgba(59, 130, 246, .12);--accent-text: #60a5fa;--success: #22c55e;--success-subtle: rgba(34, 197, 94, .12);--success-text: #4ade80;--warning: #f59e0b;--warning-subtle: rgba(245, 158, 11, .12);--warning-text: #fbbf24;--danger: #ef4444;--danger-subtle: rgba(239, 68, 68, .12);--danger-text: #f87171;--info: #6366f1;--info-subtle: rgba(99, 102, 241, .12);--info-text: #818cf8;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--shadow-glow: 0 0 20px rgba(59, 130, 246, .15);--ease-out: cubic-bezier(.22, 1, .36, 1);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-success: var(--success-text);--color-text-warning: var(--warning-text);--color-text-danger: var(--danger-text);--color-text-info: var(--info-text);--color-background-primary: var(--bg-surface);--color-background-secondary: var(--bg-elevated);--color-background-tertiary: var(--bg-base);--color-background-success: var(--success-subtle);--color-background-warning: var(--warning-subtle);--color-background-danger: var(--danger-subtle);--color-background-info: var(--info-subtle);--color-border-primary: var(--border-strong);--color-border-tertiary: var(--border-default);--color-bg-elevated: var(--bg-elevated);--color-bg-hover: var(--bg-hover);--color-text-tertiary: var(--text-tertiary);--color-border: var(--border-default);--color-success-bg: var(--success-subtle);--color-success: var(--success-text);--color-danger-bg: var(--danger-subtle);--color-danger: var(--danger-text)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}input,textarea,select{font-family:var(--font-sans);font-size:13px;padding:8px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-base);color:var(--text-primary);outline:none;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}select{cursor:pointer;-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 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%238896ab' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}button{font-family:var(--font-sans);font-size:13px;font-weight:500;padding:7px 14px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;transition:all .15s var(--ease-out);outline:none}button:hover{background:var(--bg-hover);border-color:var(--border-strong)}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.primary,button[data-variant=primary]{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}button.primary:hover,button[data-variant=primary]:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-glow)}button.danger,button[data-variant=danger]{background:transparent;color:var(--danger-text);border-color:#ef44444d}button.danger:hover,button[data-variant=danger]:hover{background:var(--danger-subtle);border-color:var(--danger-text)}button.ghost,button[data-variant=ghost]{background:transparent;border-color:transparent;color:var(--text-secondary)}button.ghost:hover,button[data-variant=ghost]:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s var(--ease-out)}.modal-backdrop.drawer{align-items:flex-end;justify-content:flex-end}.modal-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto;padding:28px;animation:slideUp .2s var(--ease-out)}.modal-card.drawer{width:min(600px,95vw);height:90vh;border-radius:var(--radius-xl) 0 0 var(--radius-xl);animation:slideLeft .2s var(--ease-out)}table{width:100%;border-collapse:collapse}thead tr{background:var(--bg-base)}th{padding:10px 16px;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);text-align:left;border-bottom:1px solid var(--border-subtle)}td{padding:12px 16px;border-bottom:1px solid var(--border-subtle)}tbody tr{transition:background .1s}tbody tr:hover{background:var(--bg-hover)}tbody tr:last-child td{border-bottom:none}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:20px;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.card:hover{border-color:var(--border-strong)}.card.interactive{cursor:pointer}.card.interactive:hover{border-color:var(--accent);box-shadow:var(--shadow-glow)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);letter-spacing:.02em}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideLeft{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
