:root{--bg-body:#020617;--bg-surface:#020617;--bg-card:#020617;--border-subtle:#1f2937;--accent:#4f46e5;--accent-soft:#4f46e51f;--accent-strong:#6366f1;--text-main:#e5e7eb;--text-muted:#9ca3af;--danger:#f97373;--danger-soft:#f871711f;--radius-xl:18px;--radius-pill:999px;--shadow-soft:0 18px 45px #0f172aa6}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background-color:var(--bg-body);color:var(--text-main);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell{background:radial-gradient(circle at top left,#4f46e552,transparent 55%),radial-gradient(circle at bottom right,#0ea5e959,transparent 60%),var(--bg-body);min-height:100vh}.app-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#0f172af2,#0f172ad9);border-bottom:1px solid #1f2937e6;justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;display:flex;position:sticky;top:0}.app-logo{color:#f9fafb;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.app-logo-mark{background:radial-gradient(circle at 30% 0,#38bdf8,#4f46e5);border-radius:10px;width:22px;height:22px;box-shadow:0 0 0 1px #0f172acc}.app-logo-sub{color:var(--text-muted);font-size:11px}.app-nav{align-items:center;gap:8px;display:flex}.app-nav-link{border-radius:var(--radius-pill);color:var(--text-muted);border:1px solid #0000;align-items:center;padding:5px 12px;font-size:12px;text-decoration:none;transition:color .18s,background .18s,border-color .18s,box-shadow .18s,transform .12s;display:inline-flex}.app-nav-link:hover{color:#e5e7eb;background:#0f172ad9;border-color:#4b556399;transform:translateY(-1px)}.app-nav-link.active{color:#f9fafb;background:var(--accent);border-color:#818cf8e6;box-shadow:0 12px 30px #4f46e580}.badge-admin{color:#e5e7eb;background:radial-gradient(circle at 0 0,#1d293b,#020617);border:1px solid #94a3b8b3;border-radius:999px;padding:3px 9px;font-size:11px}.app-main{max-width:1120px;margin:28px auto 40px;padding:0 18px 40px}.card{border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);background:radial-gradient(circle at 0 0,#0f172afa,#020617);border:1px solid #1f2937e6;padding:20px 20px 18px}.card-compact{border-radius:16px;padding:14px 14px 12px}.card-header{margin-bottom:10px}.card-title{letter-spacing:-.03em;margin:0 0 4px;font-size:17px;font-weight:600}.card-sub{color:var(--text-muted);margin:0;font-size:12px}.card-section-title{margin:0 0 8px;font-size:14px;font-weight:500}.card-section-sub{color:var(--text-muted);margin:0 0 12px;font-size:12px}.btn{border-radius:var(--radius-pill);color:#e5e7eb;cursor:pointer;background:#0f172ae6;border:1px solid #94a3b8a6;justify-content:center;align-items:center;gap:6px;padding:8px 13px;font-size:12px;transition:background .16s,border-color .16s,transform .12s,box-shadow .18s;display:inline-flex}.btn:hover{background:#0f172afa;border-color:#94a3b8f2;transform:translateY(-.5px);box-shadow:0 10px 24px #0f172ab3}.btn:disabled{opacity:.55;cursor:default;box-shadow:none;transform:none}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#f9fafb;border-color:#818cf8e6}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-strong),#7c3aed);box-shadow:0 14px 32px #4f46e599}.btn-ghost{background:#0f172ab3;border-color:#1f2937e6}.form-field{margin-bottom:12px}.form-label{color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.input,.select,.textarea{width:100%;color:var(--text-main);background:#0f172af2;border:1px solid #374151e6;border-radius:10px;outline:none;padding:8px 10px;font-size:13px;transition:border-color .16s,background .16s,box-shadow .16s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-strong);background:#0f172afa;box-shadow:0 0 0 1px #818cf899}.textarea{resize:vertical;min-height:80px}.table{border-collapse:collapse;width:100%;font-size:13px}.table thead th{text-align:left;color:var(--text-muted);border-bottom:1px solid #374151e6;padding:8px;font-weight:500}.table tbody td{border-bottom:1px solid #1f2937bf;padding:8px}.table-striped tbody tr:nth-child(odd){background:#0f172af5}.table-striped tbody tr:nth-child(2n){background:#0f172ae6}.text-error{color:var(--danger);font-size:12px}.chip{color:var(--text-muted);border:1px solid #94a3b8b3;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;display:inline-flex}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 56px);padding:24px 16px 40px;display:flex}.auth-card{width:100%;max-width:380px}
