:root{--bg:#120e0c;--bg-2:#1a1411;--bg-3:#231a16;--bg-hover:#2d221c;--border:#ffe8d61a;--border-strong:#ffe8d633;--text:#f6ede6;--text-dim:#c4b3a8;--text-muted:#8d7c71;--accent:#e8a58c;--accent-hover:#f0b69f;--accent-soft:#e8a58c24;--accent-fg:#2a1c16;--danger:#ef4444;--danger-soft:#ef444424;--danger-fg:#fff;--success:#22c55e;--success-soft:#22c55e24;--warning:#eab308;--radius:14px;--radius-sm:9px;--shadow:0 20px 60px #00000047;--font:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", "Fira Code", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font);background:radial-gradient(circle at 75% -10%, #e8a58c1a, transparent 32rem), var(--bg);color:var(--text);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;line-height:1.55}::selection{background:#e8a58c4d}*{scrollbar-width:thin;scrollbar-color:#ffe8d62e transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffe8d629 padding-box content-box;border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#ffffff3d padding-box content-box;border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-corner{background:0 0}a{color:var(--text);text-decoration:none;transition:color .15s}a:hover{color:#fff;text-decoration:none}h1,h2,h3{letter-spacing:-.02em;font-weight:600}button{font-family:var(--font);cursor:pointer;border:1px solid var(--border-strong);background:var(--bg-3);color:var(--text);border-radius:var(--radius-sm);padding:7px 14px;font-size:14px;font-weight:500;line-height:1.4;transition:background .18s,border-color .18s,color .18s,transform .18s,opacity .15s;box-shadow:inset 0 1px #ffffff06}button:hover:not(:disabled){background:var(--bg-hover);border-color:#ffe8d642;transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #e8a58ccc}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:var(--accent-fg);border-color:#0000;font-weight:600;box-shadow:inset 0 1px #ffffff59,0 8px 24px #e8a58c33}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:#0000}button.danger{background:var(--danger-soft);color:var(--danger);border-color:#ef44444d}button.danger:hover:not(:disabled){background:var(--danger);color:var(--danger-fg);border-color:#0000}button.ghost{color:var(--text-dim);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--bg-3);color:var(--text);border-color:#0000}button.sm{border-radius:6px;padding:4px 10px;font-size:12.5px}input,select{font-family:var(--font);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);background:#0506079e;outline:none;padding:7px 11px;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s}input:hover,select:hover{border-color:var(--border-strong)}input:focus,select:focus{background:#0a0b0de6;border-color:#ffffff61;box-shadow:0 0 0 3px #ffffff0e}input::placeholder{color:var(--text-muted)}input[type=file]{color:var(--text-dim);padding:6px 10px}input[type=file]::file-selector-button{font-family:var(--font);border:1px solid var(--border-strong);background:var(--bg-3);color:var(--text);cursor:pointer;border-radius:6px;margin-right:10px;padding:4px 10px;font-size:12.5px}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;padding:0}.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(145deg,#2c2019cc,#1b1410db)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-header h1{font-size:22px}.page-header p{color:var(--text-muted);margin-top:2px;font-size:14px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}table{border-collapse:collapse;width:100%}thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;background:#ffffff06;padding:10px 14px;font-size:11.5px;font-weight:500}thead th:first-child{border-top-left-radius:var(--radius)}thead th:last-child{border-top-right-radius:var(--radius)}td{border-bottom:1px solid var(--border);color:var(--text-dim);vertical-align:middle;padding:11px 14px;font-size:13px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{color:var(--text);background:#ffffff05}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#0d0e10d1;overflow-x:auto}.badge{letter-spacing:.03em;border:1px solid var(--border-strong);color:var(--text-dim);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.badge.ok{background:var(--success-soft);color:var(--success);border-color:#0000}.badge.bad{background:var(--danger-soft);color:var(--danger);border-color:#0000}.badge.accent{background:var(--accent-soft);color:var(--accent-hover);border-color:#0000}.error-msg{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);border:1px solid #ef444440;margin-bottom:12px;padding:8px 12px;font-size:13px}.success-msg{color:var(--success);background:var(--success-soft);border-radius:var(--radius-sm);border:1px solid #22c55e40;margin-bottom:12px;padding:8px 12px;font-size:13px}.muted{color:var(--text-muted);font-size:13px}.mono{font-family:var(--mono);font-size:12.5px}.empty{color:var(--text-muted);text-align:center;padding:32px 0;font-size:13px}.pagination{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}
