.calendar-container{background:linear-gradient(135deg,#f8fafc 0%,#eff6ff4d 100%);flex-direction:column;height:100vh;display:flex}.calendar-container.dark{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%)}.calendar-header{z-index:20;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fffc;border-bottom:1px solid #e2e8f080;position:sticky;top:0;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.calendar-header.dark{background:#0f172acc;border-bottom:1px solid #33415580}.header-content{justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.header-left{align-items:center;gap:1.5rem;display:flex}.header-title-section{align-items:center;gap:.5rem;display:flex}.calendar-icon{color:#475569;width:1.5rem;height:1.5rem}.calendar-icon.dark{color:#cbd5e1}.main-title{color:#0000;background:linear-gradient(90deg,#0f172a,#475569);-webkit-background-clip:text;background-clip:text;font-size:1.875rem;font-weight:700}.main-title.dark{background:linear-gradient(90deg,#fff,#cbd5e1);-webkit-background-clip:text;background-clip:text}.subtitle{color:#64748b;font-size:.875rem}.subtitle.dark{color:#94a3b8}.header-controls{align-items:center;gap:.75rem;display:flex}.nav-button{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.5rem;transition:all .2s}.nav-button:hover{background:#f1f5f9}.nav-button.dark:hover{background:#1e293b}.nav-button-icon{width:1rem;height:1rem}.today-button{cursor:pointer;background:0 0;border:none;border-radius:50px;padding:.5rem 1rem;transition:all .2s}.today-button:hover{background:#f1f5f9}.today-button.dark:hover{background:#1e293b}.month-display{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff9;border:1px solid #e2e8f080;border-radius:.75rem;margin-left:1rem;padding:.5rem 1rem}.month-display.dark{background:#1e293b99;border:1px solid #33415580}.month-title{color:#1e293b;font-size:1.125rem;font-weight:600}.month-title.dark{color:#e2e8f0}.calendar-content{flex:1;padding:1.5rem}.calendar-wrapper{max-width:80rem;margin:0 auto}.day-headers{grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.day-header{text-align:center;padding:1rem}.day-header-text{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.day-header-text.dark{color:#94a3b8}.calendar-grid-container{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff9;border:1px solid #e2e8f080;border-radius:1rem;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.calendar-grid-container.dark{background:#1e293b99;border:1px solid #33415580}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:0;display:grid}.calendar-day{border-bottom:1px solid #f1f5f980;border-right:1px solid #f1f5f980;width:150px;height:150px;padding:.75rem;transition:all .2s}.calendar-day.dark{border-bottom:1px solid #3341554d;border-right:1px solid #3341554d}.calendar-day:nth-child(7n){border-right:0}.calendar-day.last-row{border-bottom:0}.calendar-day.other-month{color:#94a3b8;background:#f8fafc80}.calendar-day.other-month.dark{color:#475569;background:#0f172a4d}.calendar-day.today{background:linear-gradient(#eff6ffcc,#f3e8ffcc)}.calendar-day.today.dark{background:linear-gradient(#1e3a8a4d,#581c874d)}.calendar-day.weekend{background:#f8fafc4d}.calendar-day.weekend.dark{background:#1e293b33}.calendar-day.current-month:hover{background:#f8fafc80}.calendar-day.current-month.dark:hover{background:#3341554d}.day-header-row{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.day-number{color:#1e293b;font-size:.875rem;font-weight:600;transition:all .2s}.day-number.dark{color:#e2e8f0}.day-number.other-month{color:#94a3b8}.day-number.other-month.dark{color:#475569}.day-number.today{color:#fff;background:linear-gradient(90deg,#3b82f6,#9333ea);border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.event-overflow{color:#64748b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f1f5f9cc;border-radius:50px;padding:.25rem .5rem;font-size:.75rem}.event-overflow.dark{color:#94a3b8;background:#334155cc}.events-list{flex-direction:column;gap:.25rem;display:flex}.event-item{color:#fff;cursor:pointer;border-radius:.5rem;padding:.25rem .5rem;font-size:9px;transition:all .2s;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.event-item:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.event-content{align-items:center;gap:.25rem;display:flex}.event-dot{background:#fff9;border-radius:50%;width:.25rem;height:.25rem}.event-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.event-color-0{background:linear-gradient(90deg,#3b82f6,#2563eb)}.event-color-1{background:linear-gradient(90deg,#10b981,#059669)}.event-color-2{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.event-color-3{background:linear-gradient(90deg,#f97316,#ea580c)}.event-color-4{background:linear-gradient(90deg,#ec4899,#db2777)}.event-color-5{background:linear-gradient(90deg,#6366f1,#4f46e5)}.event-color-6{background:linear-gradient(90deg,#14b8a6,#0d9488)}.event-color-7{background:linear-gradient(90deg,#ef4444,#dc2626)}.event-color-8{background:linear-gradient(90deg,#06b6d4,#0891b2)}.event-color-9{background:linear-gradient(90deg,#eab308,#ca8a04)}.event-color-10{background:linear-gradient(90deg,#6b7280,#4b5563)}.calendar-legend{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1.5rem;display:flex}.legend-item{color:#475569;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.legend-item.dark{color:#94a3b8}.legend-dot{border-radius:50%;width:.75rem;height:.75rem}.legend-dot.today{background:linear-gradient(90deg,#3b82f6,#9333ea);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.legend-dot.weekend{background:#f1f5f9;border:1px solid #e2e8f0}.legend-dot.weekend.dark{background:#334155;border:1px solid #475569}.legend-dot.other-month{background:#cbd5e1}.legend-dot.other-month.dark{background:#475569}.tooltip-content{max-width:20rem;padding:.75rem}.tooltip-title{color:#fff;margin-bottom:.25rem;font-size:.875rem;font-weight:700}.tooltip-time{color:#e2e8f0;margin-bottom:.5rem;font-size:.75rem}.tooltip-description{color:#e2e8f0;margin-bottom:.25rem;font-size:.75rem}.tooltip-location{color:#e2e8f0;align-items:center;gap:.25rem;font-size:.75rem;display:flex}.tooltip-location-icon{width:.75rem;height:.75rem}
