/* Dark theme */
:root{--bg:#0b0f14;--panel:#11161d;--panel-2:#0e1319;--text:#e5e7eb;--muted:#9aa4b2;--accent:#3b82f6;--accent-600:#2563eb;--danger:#ef4444;--border:#1f2732;--shadow:0 6px 20px rgba(0,0,0,.35);--active:#0f1722}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;background:var(--bg);color:var(--text)}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--panel-2);border-bottom:1px solid var(--border);position:sticky;top:0;box-shadow:var(--shadow);z-index:10}
.topbar a{color:var(--muted);text-decoration:none}
.layout{display:grid;grid-template-columns:300px 1fr;gap:20px;padding:20px;max-width:1200px;margin:0 auto}
.sidebar{background:var(--panel);padding:14px;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.content{background:var(--panel);padding:18px;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.list{list-style:none;margin:0;padding:0;max-height:60vh;overflow:auto}
.list-item{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:6px 6px;border-radius:8px}
.list-item:hover{background:var(--active)}
.list-item.active{background:var(--active);outline:1px solid var(--border)}
.inline{display:inline}
.card{display:flex;flex-direction:column;gap:10px;background:var(--panel-2);border:1px solid var(--border);padding:14px;border-radius:12px;margin-top:12px}
label{font-size:12px;color:var(--muted)}
input,button{font:inherit}
input{background:#0a0f15;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;transition:border-color .15s}
input:focus{outline:none;border-color:var(--accent)}
button{background:var(--accent);color:white;border:none;border-radius:10px;padding:10px 12px;cursor:pointer;transition:background .15s,transform .02s}
button:hover{background:var(--accent-600)}
button:active{transform:translateY(1px)}
button.danger{background:var(--danger)}
.row{display:flex;gap:10px}
.table{width:100%;border-collapse:separate;border-spacing:0 8px}
.table thead th{font-size:12px;color:var(--muted);font-weight:600;padding:0 10px}
.table tbody td{background:#0a0f15;border:1px solid var(--border);border-left:0;border-right:0;padding:12px 10px}
.table tbody tr td:first-child{border-radius:10px 0 0 10px;border-left:1px solid var(--border)}
.table tbody tr td:last-child{border-radius:0 10px 10px 0;border-right:1px solid var(--border)}
.table button{padding:8px 10px;border-radius:8px}
.table td{vertical-align:middle}
.table td.actions-cell{text-align:right; white-space:nowrap}
.content .table .row-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}
.content .table .row-actions button{white-space:nowrap}
.content .table .row-actions form.inline{display:inline-flex}
.msg{margin:8px 0;padding:10px 12px;border:1px solid var(--border);background:#0d131a;border-radius:10px}
.checkbox{display:flex;align-items:center;gap:8px}
.error{background:#2a1719;color:#fda4af;border:1px solid #3b1f22;padding:10px;border-radius:10px;margin-bottom:8px}
.toast{position:fixed;right:20px;bottom:20px;background:#111827;color:#fff;padding:10px 12px;border-radius:8px;opacity:0;transform:translateY(8px);transition:.2s;box-shadow:var(--shadow)}
.toast.show{opacity:1;transform:translateY(0)}

/* Links: neutral in dark, no purple visited */
.sidebar a, .sidebar a:visited, .content a, .content a:visited { color: var(--text); text-decoration: none; }

/* Category row layout: anchor fills, controls aligned */
.sidebar .list-item { gap: 8px; flex-wrap: nowrap; }
.sidebar .list-item a { flex: 1 1 auto; min-width: 0; display: block; padding: 10px 12px; border-radius: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar .list-item.active a { background: rgba(59,130,246,.08); }
.sidebar .list-item .actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; white-space: nowrap; }
.sidebar .list-item form.inline { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.sidebar .list-item button { background: transparent; color: var(--muted); border:1px solid var(--border); padding:6px 8px; border-radius:8px; }
.sidebar .list-item button:hover { color: var(--text); border-color: var(--accent); }
.sidebar .list-item .danger { border-color: rgba(239,68,68,.35); color: #fca5a5; }
.sidebar .list-item .danger:hover { border-color: var(--danger); color: #fecaca; }
