:root{--bg-dark:#070a12;--bg-card:rgba(15,21,36,.85);--bg-card-hover:rgba(24,32,54,.95);--bg-card-border:hsla(0,0%,100%,.08);--bg-card-border-active:rgba(99,102,241,.45);--primary:#6366f1;--primary-hover:#4f46e5;--primary-glow:rgba(99,102,241,.25);--accent:#10b981;--accent-glow:rgba(16,185,129,.25);--amber:#f59e0b;--rose:#f43f5e;--text-main:#f8fafc;--text-muted:#94a3b8;--text-dim:#64748b;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--shadow-sm:0 4px 6px -1px rgba(0,0,0,.3);--shadow-glow:0 0 25px rgba(99,102,241,.15);--transition-fast:0.2s cubic-bezier(0.4,0,0.2,1);--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--sidebar-width:270px}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-sans);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#334155}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}.glass-panel{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--bg-card-border);border-radius:var(--radius-md)}.glass-panel-hover{transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.glass-panel-hover:hover{border-color:var(--bg-card-border-active);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-weight:600;padding:12px 24px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 14px rgba(99,102,241,.35)}.btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 6px 20px rgba(99,102,241,.45)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:hsla(0,0%,100%,.06);color:var(--text-main);font-weight:500;padding:10px 18px;border-radius:var(--radius-sm);border:1px solid hsla(0,0%,100%,.1);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.2)}.btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600;padding:12px 24px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 14px rgba(16,185,129,.3)}.btn-accent:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.input-field{width:100%;padding:14px 18px;background:rgba(15,23,42,.75);border:1px solid hsla(0,0%,100%,.12);border-radius:var(--radius-sm);color:var(--text-main);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.25)}.badge-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.03em;background:rgba(99,102,241,.15);color:#818cf8;border:1px solid rgba(99,102,241,.3)}.pwa-banner{position:fixed;bottom:20px;right:20px;left:20px;max-width:450px;margin:0 auto;z-index:99;background:#18153d;border:1px solid #6366f1;border-radius:var(--radius-md);padding:16px 20px;box-shadow:0 10px 30px rgba(0,0,0,.6);display:flex;align-items:center;justify-content:space-between;gap:16px}@media (min-width:768px){.pwa-banner{left:auto}}.admin-table-desktop{display:table;width:100%}.admin-cards-mobile{display:none}@media (max-width:767px){.admin-table-desktop{display:none}.admin-cards-mobile{display:flex;flex-direction:column;gap:12px}}