@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#060812;--bg-surface:#0d1124;--bg-card:rgba(255,255,255,0.04);--bg-hover:rgba(99,102,241,0.08);--text-primary:#e2e8f8;--text-secondary:rgba(226,232,248,0.55);--text-muted:rgba(226,232,248,0.35);--accent:#6366f1;--accent-2:#8b5cf6;--accent-amber:#f59e0b;--accent-green:#10b981;--accent-red:#f43f5e;--border:rgba(99,102,241,0.15);--border-hover:rgba(99,102,241,0.35);--border-strong:rgba(99,102,241,0.5);--glow:0 0 20px rgba(99,102,241,0.35);--glow-strong:0 0 40px rgba(99,102,241,0.5);--shadow-card:0 8px 32px rgba(0,0,0,0.4);--shadow-btn:0 4px 16px rgba(99,102,241,0.3);--r-xl:20px;--r-lg:16px;--r-md:12px;--r-sm:8px;--r-xs:4px;--page-max:760px;--sidebar-w:240px;--font-ui:"Inter",system-ui,sans-serif;--font-head:"Space Grotesk","Inter",sans-serif;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--dur-fast:150ms;--dur-mid:250ms;--dur-slow:400ms}body,html{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-ui);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}.glass-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:border-color var(--dur-mid) var(--ease-out),box-shadow var(--dur-mid) var(--ease-out)}.glass-card:hover{border-color:var(--border-hover);box-shadow:var(--glow)}.neon-border{border:1px solid var(--border-strong);box-shadow:var(--glow),inset 0 0 20px rgba(99,102,241,.05)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--r-md);font-family:var(--font-ui);font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all var(--dur-fast) var(--ease-out);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-color:transparent;box-shadow:var(--shadow-btn)}.btn-primary:hover:not(:disabled){box-shadow:var(--glow-strong);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-primary);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.btn-danger{background:rgba(244,63,94,.1);color:var(--accent-red);border-color:rgba(244,63,94,.25)}.btn-danger:hover:not(:disabled){background:rgba(244,63,94,.2);box-shadow:0 0 20px rgba(244,63,94,.3)}.btn-sm{padding:6px 14px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-input{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-primary);font-family:var(--font-ui);font-size:14px;padding:11px 14px;width:100%;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);outline:none}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,.15)}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-err{font-size:12px;color:var(--accent-red)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-planning{background:rgba(99,102,241,.15);color:#a5b4fc;border:1px solid rgba(99,102,241,.3)}.badge-active{background:rgba(16,185,129,.12);color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.badge-completed{background:rgba(156,163,175,.12);color:#9ca3af;border:1px solid rgba(156,163,175,.3)}.badge-archived{background:rgba(245,158,11,.1);color:#fcd34d;border:1px solid rgba(245,158,11,.25)}.badge-cancelled{background:rgba(244,63,94,.1);color:#fb7185;border:1px solid rgba(244,63,94,.25)}.chip{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.02em}.chip-accent{background:rgba(99,102,241,.12);color:#a5b4fc;border:1px solid rgba(99,102,241,.25)}.section-title{font-size:18px}.page-title,.section-title{font-family:var(--font-head);font-weight:700;color:var(--text-primary)}.page-title{font-size:26px}.page-subtitle{font-size:14px;color:var(--text-secondary)}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 24px;transition:border-color var(--dur-mid) var(--ease-out)}.stat-card:hover{border-color:var(--border-hover)}.stat-value{font-family:var(--font-head);font-size:32px;font-weight:700;background:linear-gradient(135deg,var(--text-primary),rgba(226,232,248,.7));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:13px;color:var(--text-secondary);margin-top:2px}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.divider{height:1px;background:var(--border);border:none;margin:0}.page-inner{max-width:var(--page-max);margin:0 auto;gap:28px;padding-bottom:60px}.page-header,.page-inner{display:flex;flex-direction:column}.page-header{gap:8px}select option{background:#0d1124;color:#e2e8f8}.noise:after{content:"";inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");z-index:9999}.glow-blob,.noise:after{position:fixed;pointer-events:none}.glow-blob{border-radius:50%;filter:blur(80px);opacity:.18}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.anim-fade-up{animation:fadeUp var(--dur-slow) var(--ease-out) both}.anim-fade-in{animation:fadeIn var(--dur-mid) var(--ease-out) both}.anim-scale-in{animation:scaleIn var(--dur-mid) var(--ease-out) both}.d-1{animation-delay:60ms}.d-2{animation-delay:.12s}.d-3{animation-delay:.18s}.d-4{animation-delay:.24s}.d-5{animation-delay:.3s}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.25}}.skeleton{animation:pulse 1.6s ease-in-out infinite;background:rgba(226,232,248,.08);border-radius:var(--r-sm)}