:root{--bg: #0f1117;--surface: #1a1a2e;--surface-hover: #222240;--primary: #1f4e79;--primary-light: #2a6a9e;--green: #2e7d32;--green-light: #4caf50;--red: #b71c1c;--red-light: #e53935;--amber: #f59e0b;--text: #e0e0e0;--text-muted: #8888a0;--border: #2a2a3e;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.mono{font-family:var(--font-mono)}.text-green{color:var(--green-light)}.text-red{color:var(--red-light)}.text-amber{color:var(--amber)}.text-muted{color:var(--text-muted)}a{color:var(--primary-light);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{font-family:var(--font-ui);font-size:.875rem;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 12px;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--primary-light)}button{font-family:var(--font-ui);font-size:.875rem;font-weight:500;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;transition:opacity .15s,background .15s}button:hover{opacity:.9}button:active{opacity:.8}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light)}.btn-green{background:var(--green);color:#fff}.btn-red{background:var(--red);color:#fff}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface)}table{width:100%;border-collapse:collapse}th{text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:10px 12px;border-bottom:1px solid var(--border)}td{padding:10px 12px;border-bottom:1px solid var(--border);font-size:.875rem}tr:hover td{background:var(--surface)}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}
