:root { --fc-border-color: #e2e8f0; --fc-page-bg-color: #ffffff; --fc-neutral-bg-color: #f8fafc; --fc-list-event-hover-bg-color: #f1f5f9; --fc-today-bg-color: rgba(6, 182, 212, 0.05); }
.dark { --fc-border-color: #334155; --fc-page-bg-color: #0f172a; --fc-neutral-bg-color: #1e293b; --fc-list-event-hover-bg-color: #1e293b; --fc-today-bg-color: rgba(6, 182, 212, 0.1); --fc-button-text-color: #e2e8f0; }
[x-cloak] { display: none !important; }
body { background-attachment: fixed; transition: background-color 0.3s ease; }
body:not(.dark) { background-color: #f8fafc; background-image: radial-gradient(at 0% 0%, rgba(30, 58, 138, 0.08) 0px, transparent 50%), radial-gradient(at 100% 0%, rgba(220, 38, 38, 0.05) 0px, transparent 50%), radial-gradient(at 100% 100%, rgba(6, 182, 212, 0.08) 0px, transparent 50%); }
.dark body { background-color: #020617; background-image: radial-gradient(at 0% 0%, rgba(56, 189, 248, 0.05) 0px, transparent 50%), radial-gradient(at 100% 0%, rgba(239, 68, 68, 0.03) 0px, transparent 50%), radial-gradient(at 100% 100%, rgba(99, 102, 241, 0.05) 0px, transparent 50%); }
.glass-card { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(8px); border: 1px solid rgba(226, 232, 240, 0.8); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.03); border-radius: 1.25rem; }
.dark .glass-card { background: rgba(15, 23, 42, 0.7); border-color: rgba(51, 65, 85, 0.5); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3); }
.input-modern { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 0.75rem; transition: all 0.2s; }
.dark .input-modern { background: #1e293b; border-color: #334155; color: #f1f5f9; }
.dark .input-modern::placeholder { color: #64748b; }
.input-modern:focus { border-color: #06b6d4; box-shadow: 0 0 0 4px rgba(6, 182, 212, 0.1); outline: none; }
.fc { font-family: 'Plus Jakarta Sans', sans-serif; } .fc .fc-toolbar-title { font-size: 1.25rem; font-weight: 700; color: #1e293b; } .dark .fc .fc-toolbar-title { color: #f1f5f9; } .fc .fc-col-header-cell { background: #f8fafc; padding: 10px 0; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; color: #64748b; border-bottom: 0; } .dark .fc .fc-col-header-cell { background: #1e293b; color: #94a3b8; } .fc .fc-timegrid-slot { height: 3rem; } .fc-event { border: none; box-shadow: 0 2px 4px rgba(0,0,0,0.05); transition: transform 0.1s; cursor: pointer; } .fc-event:hover { transform: scale(1.01); z-index: 50; } .fc-theme-standard td, .fc-theme-standard th { border-color: var(--fc-border-color); } .dark .fc-list-day-cushion { background-color: #1e293b; } .dark .fc-list-event:hover td { background-color: #1e293b; }
::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; } .dark ::-webkit-scrollbar-thumb { background: #475569; } .scrollbar-hide::-webkit-scrollbar { display: none; } .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
.btn-primary { background: linear-gradient(135deg, #1e3a8a 0%, #172554 100%); color: white; box-shadow: 0 4px 12px rgba(30, 58, 138, 0.25); } .btn-primary:hover { box-shadow: 0 6px 16px rgba(30, 58, 138, 0.35); transform: translateY(-1px); }
.animate-enter { animation: fadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.btn-ghost { padding: .625rem 1rem; border-radius: .75rem; background: #fff; border: 1px solid #e2e8f0; color: #475569; font-weight: 600; font-size: .875rem; white-space: nowrap; }
.btn-ghost:hover { background: #f8fafc; }
.dark .btn-ghost { background: #1e293b; border-color: #334155; color: #cbd5e1; }
.dark .btn-ghost:hover { background: #334155; }
.chip { display: inline-block; padding: .125rem .5rem; border-radius: 9999px; font-size: .6875rem; font-weight: 700; white-space: nowrap; }
