:root{--app-bg:#fafaf9;--app-surface:#fff;--app-surface-2:#f5f5f4;--app-surface-hover:#e7e5e4;--app-border:#d6d3d1;--app-border-subtle:#e7e5e4;--app-border-strong:#a8a29e;--app-text:#1c1917;--app-text-muted:#57534e;--app-text-subtle:#78716c;--app-primary:#1e40af;--app-primary-hover:#1d4ed8;--app-primary-bg:rgba(30,64,175,.1);--app-secondary:#d4a332;--app-secondary-bg:rgba(212,163,50,.1);--app-success:#16a34a;--app-success-bg:rgba(22,163,74,.1);--app-warning:#d97706;--app-warning-bg:rgba(217,119,6,.1);--app-danger:#dc2626;--app-danger-bg:rgba(220,38,38,.1);--app-info:#0891b2;--app-info-bg:rgba(8,145,178,.1);--app-neutral:#6b7280;--app-neutral-bg:hsla(220,9%,46%,.1);--app-accent:#2563eb;--app-accent-bg:rgba(37,99,235,.1);--app-shadow-1:0 1px 3px rgba(28,25,23,.1),0 4px 12px rgba(28,25,23,.08);--app-shadow-2:0 4px 8px rgba(28,25,23,.12),0 12px 32px rgba(28,25,23,.1);--app-focus-ring:0 0 0 2px #fafaf9,0 0 0 4px rgba(30,64,175,.4);--brand-glow:0 0 60px rgba(59,130,246,.3);--brand-glow-subtle:0 0 30px rgba(59,130,246,.15);--gold-glow:0 0 40px rgba(212,163,50,.25);--gold-glow-subtle:0 0 20px rgba(212,163,50,.12);--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--shadow-glow:0 0 40px rgba(30,64,175,.15)}.dark{--app-bg:#0c0a09;--app-surface:#1c1917;--app-surface-2:#292524;--app-surface-hover:#44403c;--app-border:#44403c;--app-border-subtle:#292524;--app-border-strong:#57534e;--app-text:#fafaf9;--app-text-muted:#a8a29e;--app-text-subtle:#78716c;--app-primary:#3b82f6;--app-primary-hover:#60a5fa;--app-primary-bg:rgba(59,130,246,.15);--app-secondary:#fbbf24;--app-secondary-bg:rgba(251,191,36,.15);--app-success:#22c55e;--app-success-bg:rgba(34,197,94,.15);--app-warning:#f59e0b;--app-warning-bg:rgba(245,158,11,.15);--app-danger:#ef4444;--app-danger-bg:rgba(239,68,68,.15);--app-info:#06b6d4;--app-info-bg:rgba(6,182,212,.15);--app-neutral:#9ca3af;--app-neutral-bg:rgba(156,163,175,.15);--app-accent:#60a5fa;--app-accent-bg:rgba(96,165,250,.15);--app-shadow-1:0 1px 3px rgba(0,0,0,.35),0 6px 16px rgba(0,0,0,.3);--app-shadow-2:0 4px 8px rgba(0,0,0,.4),0 16px 40px rgba(0,0,0,.35);--app-focus-ring:0 0 0 2px #0c0a09,0 0 0 4px rgba(59,130,246,.5);--brand-glow:0 0 80px rgba(59,130,246,.4);--brand-glow-subtle:0 0 40px rgba(59,130,246,.2);--gold-glow:0 0 50px rgba(251,191,36,.3);--gold-glow-subtle:0 0 25px rgba(251,191,36,.15);--shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.2);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.4),0 4px 6px -2px rgba(0,0,0,.2);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.5),0 10px 10px -5px rgba(0,0,0,.3);--shadow-glow:0 0 50px rgba(59,130,246,.2)}html{font-size:16px;scrollbar-width:thin}*,:after,:before{border-color:var(--app-border)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:rgba(87,83,78,.3);border-radius:9999px;border:2px solid transparent;background-clip:padding-box}.dark ::-webkit-scrollbar-thumb{background-color:hsla(24,5%,64%,.25)}.hover-elevate:hover,.hover-glow:hover{box-shadow:var(--app-shadow-1);border-color:var(--app-border-strong);transition:box-shadow .18s ease,border-color .18s ease}.fc{--fc-page-bg-color:var(--app-surface);--fc-border-color:var(--app-border);--fc-neutral-bg-color:var(--app-surface-hover);--fc-neutral-text-color:var(--app-text-muted);--fc-button-text-color:var(--app-primary);--fc-button-bg-color:transparent;--fc-button-border-color:var(--app-border-strong);--fc-button-hover-bg-color:var(--app-primary-bg);--fc-button-hover-border-color:var(--app-primary);--fc-button-active-bg-color:var(--app-primary);--fc-button-active-border-color:var(--app-primary);--fc-event-text-color:#fff;--fc-event-bg-color:var(--app-primary);--fc-event-border-color:var(--app-primary);--fc-today-bg-color:var(--app-primary-bg);font-family:inherit}.dark .fc .fc-button-primary:not(:disabled).fc-button-active,.dark .fc .fc-button-primary:not(:disabled):active{color:#0c0a09}.fc .fc-toolbar-title{color:var(--app-text);font-size:1rem;font-weight:600}.fc .fc-button{border-radius:9999px;box-shadow:none;font-size:.85rem;line-height:1.2}.fc .fc-button-primary:focus{box-shadow:var(--app-focus-ring)}.fc .fc-scrollgrid{border-radius:12px;overflow:hidden}.fc .fc-daygrid-day-number{color:var(--app-text-muted)}.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{color:var(--app-text)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{box-shadow:var(--brand-glow-subtle)}50%{box-shadow:var(--brand-glow)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.text-brand{background:linear-gradient(135deg,#1e40af,#3b82f6 50%,#60a5fa);-webkit-background-clip:text;background-clip:text}.dark .text-brand,.text-brand{-webkit-text-fill-color:transparent}.dark .text-brand{background:linear-gradient(135deg,#3b82f6,#60a5fa 50%,#93c5fd);-webkit-background-clip:text;background-clip:text}.text-gold{background:linear-gradient(135deg,#d4a332,#f0c45a 50%,#d4a332);-webkit-background-clip:text;background-clip:text}.dark .text-gold,.text-gold{-webkit-text-fill-color:transparent}.dark .text-gold{background:linear-gradient(135deg,#fbbf24,#fcd34d 50%,#fbbf24);-webkit-background-clip:text;background-clip:text}.text-brand-gold{background:linear-gradient(135deg,#1e40af,#3b82f6 40%,#d4a332);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark .text-brand-gold{background:linear-gradient(135deg,#3b82f6,#60a5fa 40%,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.icon-gold{background:linear-gradient(135deg,#d4a332,#f0c45a);box-shadow:var(--gold-glow-subtle)}.dark .icon-gold{background:linear-gradient(135deg,#fbbf24,#fcd34d)}.card-premium{background:var(--app-surface);border:1px solid rgba(212,163,50,.3);border-radius:16px;box-shadow:var(--shadow-md),var(--gold-glow-subtle);transition:all .3s cubic-bezier(.4,0,.2,1)}.card-premium:hover{box-shadow:var(--shadow-xl),var(--gold-glow);border-color:var(--app-secondary);transform:translateY(-2px)}.dark .card-premium{border-color:rgba(251,191,36,.25)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#1e40af,#2563eb 50%,#3b82f6);background-size:200% 200%;color:#fff;border:1px solid transparent;border-radius:12px;padding:12px 24px;font-weight:600;font-size:.875rem;box-shadow:var(--shadow-md),0 0 20px rgba(59,130,246,.2);transition:all .3s ease;cursor:pointer}.btn-primary:hover{background-position:100% 50%;box-shadow:var(--shadow-lg),0 0 30px rgba(59,130,246,.3);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;color:var(--app-text);border:1px solid var(--app-border);border-radius:12px;padding:12px 24px;font-weight:600;font-size:.875rem;transition:all .3s ease;cursor:pointer}.btn-secondary:hover{border-color:var(--app-primary);color:var(--app-primary);background:var(--app-primary-bg);transform:translateY(-1px)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-tertiary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;color:var(--app-text-muted);border:1px solid transparent;border-radius:12px;padding:12px 24px;font-weight:500;font-size:.875rem;transition:all .2s ease;cursor:pointer}.btn-tertiary:hover{color:var(--app-text);background:var(--app-surface-hover);transform:translateY(-1px)}.btn-tertiary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-sm{padding:8px 16px;font-size:.8125rem;border-radius:10px}.btn-lg{padding:16px 32px;font-size:1rem;border-radius:14px}.card-elevated{background:var(--app-surface);border:1px solid var(--app-border);border-radius:16px;box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.4,0,.2,1)}.card-elevated:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px);border-color:var(--app-primary)}.card-brand{background:linear-gradient(180deg,rgba(30,64,175,.03),transparent);border:1px solid rgba(30,64,175,.2);border-radius:16px;box-shadow:var(--brand-glow-subtle);transition:all .3s cubic-bezier(.4,0,.2,1)}.card-brand:hover{box-shadow:var(--brand-glow);border-color:var(--app-primary)}.dark .card-brand{background:linear-gradient(180deg,rgba(59,130,246,.05),transparent);border-color:rgba(59,130,246,.2)}.hero-bg{background:radial-gradient(ellipse at 20% 50%,rgba(30,64,175,.1) 0,transparent 50%),radial-gradient(ellipse at 80% 50%,rgba(37,99,235,.08) 0,transparent 50%),var(--app-bg)}.dark .hero-bg{background:radial-gradient(ellipse at 20% 50%,rgba(59,130,246,.15) 0,transparent 50%),radial-gradient(ellipse at 80% 50%,rgba(96,165,250,.1) 0,transparent 50%),var(--app-bg)}.animate-float{animation:float 6s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 4s ease-in-out infinite}.animate-fade-in-up{animation:fade-in-up .6s ease-out forwards}.animate-gradient-shift{animation:gradient-shift 3s ease infinite;background-size:200% 200%}.text-vesta{background:linear-gradient(135deg,#1e40af,#3b82f6 50%,#60a5fa);-webkit-background-clip:text;background-clip:text}.dark .text-vesta,.text-vesta{-webkit-text-fill-color:transparent}.dark .text-vesta{background:linear-gradient(135deg,#3b82f6,#60a5fa 50%,#93c5fd);-webkit-background-clip:text;background-clip:text}.text-vesta-gold{background:linear-gradient(135deg,#1e40af,#3b82f6 40%,#d4a332);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark .text-vesta-gold{background:linear-gradient(135deg,#3b82f6,#60a5fa 40%,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-vesta{background:linear-gradient(180deg,rgba(30,64,175,.03),transparent);border:1px solid rgba(30,64,175,.2);border-radius:16px;box-shadow:var(--brand-glow-subtle);transition:all .3s cubic-bezier(.4,0,.2,1)}.card-vesta:hover{box-shadow:var(--brand-glow);border-color:var(--app-primary)}.dark .card-vesta{background:linear-gradient(180deg,rgba(59,130,246,.05),transparent);border-color:rgba(59,130,246,.2)}