:root{--bg-gradient: linear-gradient(135deg, #0f172a 0%, #020617 100%);--bg-card: rgba(30, 41, 59, .7);--bg-card-hover: rgba(30, 41, 59, .9);--border-color: rgba(255, 255, 255, .08);--border-color-active: rgba(99, 102, 241, .4);--primary: #6366f1;--primary-hover: #4f46e5;--secondary: #06b6d4;--secondary-hover: #0891b2;--text-main: #f8fafc;--text-muted: #94a3b8;--text-success: #10b981;--text-error: #f43f5e;--text-warning: #f59e0b;--font-family: "Outfit", sans-serif;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--shadow-premium: 0 10px 30px -10px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(99, 102, 241, .15)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-gradient);color:var(--text-main);font-family:var(--font-family);min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0f172a99}::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6366f199}h1,h2,h3,h4,h5{font-weight:700;letter-spacing:-.02em;line-height:1.2}.text-gradient{background:linear-gradient(135deg,#a5b4fc,#6366f1,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;padding:2rem;box-shadow:var(--shadow-premium);transition:var(--transition-smooth)}.glass-card:hover{border-color:#ffffff1f;box-shadow:var(--shadow-premium),var(--shadow-glow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-family);font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;border-radius:10px;cursor:pointer;border:none;transition:var(--transition-smooth);text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#4f46e5 100%);color:#fff;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#ffffff0d;color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.btn-danger{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff;box-shadow:0 4px 12px #f43f5e4d}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f43f5e66}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-muted);margin-bottom:.5rem}.form-input{width:100%;padding:.75rem 1rem;background:#0f172a99;border:1px solid var(--border-color);border-radius:10px;color:var(--text-main);font-family:var(--font-family);font-size:.95rem;outline:none;transition:var(--transition-smooth)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.upload-zone{border:2px dashed rgba(99,102,241,.3);border-radius:12px;padding:2.5rem;text-align:center;background:#6366f105;cursor:pointer;transition:var(--transition-smooth)}.upload-zone:hover{border-color:var(--primary);background:#6366f10d}.upload-zone input[type=file]{display:none}.dashboard-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#0f172acc;border-right:1px solid var(--border-color);padding:2rem 1.5rem;display:flex;flex-direction:column;justify-content:space-between;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar-brand{font-size:1.5rem;font-weight:800;display:flex;align-items:center;gap:.75rem;margin-bottom:3rem}.sidebar-menu{list-style:none;display:flex;flex-direction:column;gap:.5rem;flex-grow:1}.sidebar-item{display:flex;align-items:center;gap:1rem;padding:.85rem 1.25rem;border-radius:10px;color:var(--text-muted);cursor:pointer;font-weight:500;transition:var(--transition-smooth)}.sidebar-item:hover,.sidebar-item.active{color:var(--text-main);background:#6366f126}.sidebar-item.active{border-left:3px solid var(--primary)}.main-content{padding:3rem;overflow-y:auto}.grid-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:2rem}.table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color);background:#0f172a66}.custom-table{width:100%;border-collapse:collapse;text-align:left}.custom-table th{background:#1e293bcc;padding:1rem;font-weight:600;color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.custom-table td{padding:1rem;border-bottom:1px solid var(--border-color);font-size:.95rem}.custom-table tr:hover{background:#ffffff05}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#020611d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#1e293b;border:1px solid var(--border-color-active);border-radius:16px;width:100%;max-width:500px;padding:2.5rem;box-shadow:0 20px 50px #0009;position:relative}.badge-alert{padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.badge-alert.success{background:#10b98126;color:var(--text-success)}.badge-alert.warning{background:#f59e0b26;color:var(--text-warning)}.badge-alert.danger{background:#f43f5e26;color:var(--text-error)}.toast{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;border-radius:10px;background:#1e293b;color:var(--text-main);border-left:4px solid var(--primary);box-shadow:var(--shadow-premium);display:flex;align-items:center;gap:.75rem;z-index:10000;animation:slideIn .3s ease-out}.toast.error{border-left-color:var(--text-error)}.toast.success{border-left-color:var(--text-success)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:var(--primary);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem}.auth-card{width:100%;max-width:440px}
