:root { color-scheme: dark; }
* { -webkit-tap-highlight-color: transparent; }
body { font-family: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0b0f19; }
::-webkit-scrollbar-thumb { background: #374151; border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: #4b5563; }

.card { background: #111827; border: 1px solid #1f2937; border-radius: 14px; }
.btn { display:inline-flex; align-items:center; gap:.5rem; padding:.55rem 1rem; border-radius:10px; font-weight:600; font-size:.875rem; transition:all .15s; cursor:pointer; border:1px solid transparent; }
.btn-primary { background:#dc2626; color:#fff; } .btn-primary:hover { background:#b91c1c; }
.btn-ghost { background:#1f2937; color:#e5e7eb; } .btn-ghost:hover { background:#374151; }
.btn-danger { background:#7f1d1d; color:#fecaca; } .btn-danger:hover { background:#991b1b; }
.btn:disabled { opacity:.5; cursor:not-allowed; }
.input { width:100%; background:#0b0f19; border:1px solid #374151; border-radius:10px; padding:.6rem .8rem; color:#f3f4f6; font-size:.9rem; outline:none; }
.input:focus { border-color:#dc2626; }
.label { display:block; font-size:.8rem; color:#9ca3af; margin-bottom:.35rem; font-weight:500; }
.badge { display:inline-flex; align-items:center; gap:.3rem; padding:.2rem .6rem; border-radius:999px; font-size:.72rem; font-weight:600; }
.badge-green { background:#064e3b; color:#6ee7b7; }
.badge-yellow { background:#78350f; color:#fcd34d; }
.badge-red { background:#7f1d1d; color:#fca5a5; }
.badge-gray { background:#1f2937; color:#9ca3af; }
.badge-blue { background:#1e3a8a; color:#93c5fd; }
.nav-link { display:flex; align-items:center; gap:.75rem; padding:.65rem .9rem; border-radius:10px; color:#9ca3af; font-size:.9rem; font-weight:500; transition:all .15s; }
.nav-link:hover { background:#1f2937; color:#f3f4f6; }
.nav-link.active { background:#dc2626; color:#fff; }
.sidebar { transition: transform .25s ease; }
@media (max-width: 768px){ .sidebar.closed{ transform: translateX(-100%);} }
.toast { min-width:280px; padding:.85rem 1rem; border-radius:12px; font-size:.875rem; box-shadow:0 8px 24px rgba(0,0,0,.5); animation: slideIn .2s ease; }
@keyframes slideIn { from{opacity:0; transform:translateX(20px);} to{opacity:1; transform:translateX(0);} }
.progress-track { background:#1f2937; border-radius:999px; overflow:hidden; height:10px; }
.progress-bar { background:linear-gradient(90deg,#dc2626,#f87171); height:100%; transition: width .3s; }
table.data th { text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:#6b7280; padding:.6rem .75rem; border-bottom:1px solid #1f2937; }
table.data td { padding:.65rem .75rem; border-bottom:1px solid #1f2937; font-size:.85rem; }
table.data tr:hover td { background:#0f1522; }
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.7); display:flex; align-items:center; justify-content:center; z-index:90; padding:1rem; }
.modal { background:#111827; border:1px solid #1f2937; border-radius:16px; width:100%; max-width:520px; max-height:90vh; overflow-y:auto; }
