:root{font-family:Pretendard,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{width:100%;height:100%;margin:0;padding:0}body{min-width:320px;min-height:100vh;word-break:keep-all;overflow-wrap:break-word}#root{width:100%;height:100%;margin:0;padding:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.fc{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;overflow:hidden;width:100%!important;min-width:0;transition:all .3s ease}.fc .fc-toolbar,.fc .fc-toolbar.fc-header-toolbar{padding:24px 32px 16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;gap:16px;margin-bottom:0!important}.fc .fc-toolbar-title{font-size:1.75rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.025em}.fc .fc-button-group{border-radius:6px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.fc .fc-button{background:#fff3;border:none;color:#fff;padding:12px 16px;font-weight:600;font-size:.875rem;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:0}.fc .fc-button:not(:disabled):active,.fc .fc-button:not(:disabled).fc-button-active{background:#ffffff40;color:#fff;box-shadow:inset 0 2px 4px #0000001a}.fc .fc-button:hover:not(:disabled){background:#ffffff4d;transform:translateY(-1px)}.fc .fc-button:focus{outline:none;box-shadow:0 0 0 3px #ffffff4d}.fc .fc-button:disabled{opacity:.5;cursor:not-allowed}.fc .fc-today-button{background:#f97316e6;border-radius:4px!important;margin-left:8px;padding:10px 20px}.fc .fc-today-button:hover:not(:disabled){background:#f97316;transform:translateY(-1px)}.fc .fc-view-harness{background:#fff;border-radius:0 0 16px 16px}.fc .fc-timegrid{border:none}.fc .fc-timegrid-slot{border-bottom:1px solid #f1f5f9;height:60px}.fc .fc-timegrid-slot-minor{border-bottom:1px solid #f8fafc}.fc .fc-timegrid-axis-cushion{padding:8px 16px;color:#374151;font-size:.75rem;font-weight:600;text-shadow:0 1px 2px rgb(255 255 255 / .8)}.fc .fc-timegrid-slot-label-cushion{color:#111827!important;font-weight:600!important;font-size:.75rem!important;text-shadow:0 1px 2px rgb(255 255 255 / .9)!important;padding:4px 8px!important}.fc .fc-scrollgrid-shrink-cushion{color:#111827!important;font-weight:600!important}.fc .fc-col-header{background:linear-gradient(135deg,#4b5563,#374151);border-bottom:2px solid #6b7280;box-shadow:0 1px 3px #0003}.fc .fc-col-header-cell{padding:16px 8px;border-right:1px solid #6b7280;background:transparent}.fc .fc-col-header-cell:last-child{border-right:none}.fc .fc-col-header-cell-cushion{color:#f8fafc!important;font-weight:700!important;font-size:.875rem!important;text-transform:uppercase!important;letter-spacing:.05em!important;text-shadow:0 1px 2px rgb(0 0 0 / .3)!important}.fc .fc-scrollgrid-sync-inner .fc-col-header-cell-cushion{color:#f8fafc!important;font-weight:700!important;font-size:.875rem!important;text-shadow:0 1px 3px rgb(0 0 0 / .4)!important;background:transparent!important}.fc .fc-daygrid-day,.fc .fc-timegrid-col{border-right:1px solid #f1f5f9;position:relative}.fc .fc-daygrid-day:last-child,.fc .fc-timegrid-col:last-child{border-right:none}.fc .fc-timegrid-col.fc-day-today{background:linear-gradient(to bottom,#6366f10d,#6366f105)}.fc .fc-day-today{background:#6366f10d!important}.fc .fc-day-today .fc-col-header-cell-cushion{color:#6366f1;font-weight:800;text-shadow:0 1px 2px rgb(99 102 241 / .2);position:relative}.fc .fc-day-today .fc-col-header-cell-cushion:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:24px;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:2px}.fc-event{border:none!important;border-radius:4px!important;padding:0!important;margin:0!important;cursor:pointer!important;transition:all .2s ease!important;box-shadow:0 2px 4px #0000001a!important;overflow:hidden!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.fc-event:hover{transform:translateY(-1px)!important;box-shadow:0 4px 8px #00000026!important;z-index:10!important}.fc-event .fc-event-main{padding:0!important}.fc-event .fc-event-title{font-weight:600!important;font-size:.8rem!important;line-height:1.3!important;color:#fff!important}.fc .fc-timegrid-event{border-radius:3px!important;margin-bottom:1px!important;min-height:20px!important}.fc .fc-timegrid-event .fc-event-main{padding:2px 4px!important}.fc .fc-timegrid-event-harness{margin-right:4px!important}.fc-scroller{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.fc-scroller::-webkit-scrollbar{width:8px;height:8px}.fc-scroller::-webkit-scrollbar-track{background:transparent}.fc-scroller::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.fc-scroller::-webkit-scrollbar-thumb:hover{background:#94a3b8}.fc .fc-non-business{background:#e2e8f0!important;opacity:.9!important}.fc .fc-timegrid-now-indicator-line{border-top:2px solid #ef4444;opacity:.8}.fc .fc-timegrid-now-indicator-arrow{border-color:#ef4444;border-width:6px 0 6px 6px}.fc .fc-more-link{color:#6366f1;font-weight:600;padding:4px 8px;border-radius:3px;background:#6366f11a;transition:all .2s ease}.fc .fc-more-link:hover{background:#6366f133;text-decoration:none}.fc .fc-view-harness{background:#fff;border-radius:0 0 8px 8px;min-height:400px;overflow:hidden}.fc .fc-view{width:100%!important}.fc-theme-standard .fc-scrollgrid{border:none}.fc .fc-scroller{overflow:auto!important}.fc .fc-scroller-liquid-absolute{position:relative!important}@media (max-width: 1200px){.fc .fc-toolbar{padding:20px 24px 12px}.fc .fc-toolbar-title{font-size:1.5rem}}@media (max-width: 768px){.fc .fc-toolbar{flex-direction:column;gap:12px;padding:16px 20px}.fc .fc-toolbar-title{font-size:1.25rem;text-align:center}.fc .fc-button{padding:8px 12px;font-size:.75rem}.fc .fc-col-header-cell-cushion{font-size:.75rem;color:#111827;font-weight:700;text-shadow:0 1px 2px rgb(255 255 255 / .9)}.fc .fc-col-header-cell{padding:12px 4px}.fc .fc-col-header{background:linear-gradient(135deg,#fff,#f9fafb);box-shadow:0 2px 4px #0000000d}.fc-event .fc-event-title{font-size:.75rem!important}.fc .fc-view-harness{min-height:300px}}@media (max-width: 480px){.fc .fc-toolbar{padding:12px 16px}.fc .fc-toolbar-title{font-size:1.125rem}.fc .fc-button{padding:6px 8px;font-size:.7rem}.fc .fc-col-header-cell-cushion{font-size:.7rem;color:#111827;font-weight:800;text-shadow:0 1px 3px rgb(255 255 255 / 1)}.fc .fc-col-header-cell{padding:10px 2px}.fc .fc-col-header{background:linear-gradient(135deg,#fff,#f9fafb);box-shadow:0 2px 6px #00000014}.fc .fc-view-harness{min-height:250px}}@media (prefers-color-scheme: dark){.fc{background:#1e293b;color:#f1f5f9}.fc .fc-col-header{background:linear-gradient(to bottom,#334155,#475569)}.fc .fc-daygrid-day,.fc .fc-timegrid-col{border-color:#475569}.fc .fc-timegrid-slot{border-color:#374151}.fc .fc-col-header-cell{border-color:#475569}.fc .fc-day-today{background:#6366f133!important}.fc .fc-non-business{background:#0f172a}}.fc-event{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.calendar-loading{position:relative;overflow:hidden}.calendar-loading:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(99,102,241,.4),transparent);animation:shimmer 1.5s infinite;z-index:1}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fc-event-optimized{will-change:transform,opacity;backface-visibility:hidden;perspective:1000px}.fc-google-event{opacity:.85;border-left:3px solid #4285f4!important}.fc-status-completed{opacity:.9;border-left:3px solid #10b981!important}.fc-status-cancelled{opacity:.7;text-decoration:line-through!important;border-left:3px solid #ef4444!important}.fc-status-no_show{opacity:.8;border-left:3px solid #f59e0b!important}.fc-status-rescheduled{opacity:.8;border-left:3px solid #3b82f6!important}.fc-scroller{contain:layout style paint;will-change:scroll-position}.fc-timegrid-body,.fc-daygrid-body{transform:translateZ(0);will-change:transform}.fc-event-main{contain:layout style paint;will-change:auto}.fc-event-title{text-rendering:optimizeSpeed;font-display:swap}.fc-timegrid-slots table,.fc-daygrid-body table{table-layout:fixed}
