
/* Environment: prod - Generated styles */
.calendar-week-grid {display:flex;flex-direction:column;height:100%;min-height:600px;background:#fff;position:relative}.calendar-week-header {display:grid;grid-template-columns:80px repeat(7, 1fr);border-bottom:2px solid #e0e0e0;background:#f8f9fa;position:sticky;top:0;z-index:20}.calendar-time-header {border-right:1px solid #e0e0e0;background:#f8f9fa}.calendar-day-header {padding:1rem 0.5rem;text-align:center;border-right:1px solid #e0e0e0;cursor:pointer;transition:background-color 0.2s ease;position:relative}.calendar-day-header:hover {background:#e3f2fd}.calendar-day-header--today {background:#fff3e0;color:#f57c00;font-weight:600}.calendar-day-header--today:hover {background:#ffe0b2}.calendar-day-header--past {color:#9e9e9e;background:#fafafa}.calendar-day-name {font-size:0.8rem;font-weight:500;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.25rem}.calendar-day-number {font-size:1.2rem;font-weight:600}.calendar-day-header--today .calendar-day-number {background:#f57c00;color:#fff;border-radius:50%;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;margin:0 auto}.calendar-all-day-section {display:grid;grid-template-columns:80px repeat(7, 1fr);border-bottom:1px solid #e0e0e0;background:#fafafa;min-height:60px;max-height:120px;overflow-y:auto}.calendar-all-day-label {padding:0.75rem 0.5rem;font-size:0.8rem;font-weight:500;color:#666;text-align:center;border-right:1px solid #e0e0e0;background:#f8f9fa;display:flex;align-items:center;justify-content:center}.calendar-all-day-column {padding:0.5rem;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;gap:0.25rem;position:relative}.calendar-time-grid {display:grid;grid-template-columns:80px repeat(7, 1fr);flex:1;position:relative;overflow-y:auto}.calendar-time-row {display:contents}.calendar-time-label {padding:0 0.5rem;font-size:0.75rem;color:#666;text-align:right;border-right:1px solid #e0e0e0;border-bottom:1px solid #f0f0f0;background:#fafafa;display:flex;align-items:flex-start;justify-content:flex-end;padding-top:0.25rem;position:relative}.calendar-time-slot {border-right:1px solid #e0e0e0;border-bottom:1px solid #f0f0f0;position:relative;cursor:pointer;transition:background-color 0.2s ease}.calendar-time-slot:hover {background:#f8f9fa}.calendar-current-time-indicator {position:absolute;left:80px;right:0;height:2px;background:#f44336;z-index:15;pointer-events:none;display:none}.calendar-current-time-indicator::before {content:'';position:absolute;left:-6px;top:-4px;width:10px;height:10px;background:#f44336;border-radius:50%}.current-time-text {position:absolute;left:-75px;top:-8px;background:#f44336;color:#fff;padding:0.125rem 0.25rem;border-radius:2px;font-size:0.7rem;font-weight:500;white-space:nowrap}.calendar-event--all-day-weekly {background:#e3f2fd;border:1px solid #2196f3;border-radius:4px;padding:0.25rem 0.5rem;font-size:0.8rem;line-height:1.2;cursor:pointer;transition:all 0.2s ease;position:relative;overflow:hidden;margin:0.125rem 0}.calendar-event--all-day-weekly:hover {background:#bbdefb;border-color:#1976d2;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0, 0, 0, 0.1)}.calendar-event--all-day-weekly .event-title {font-weight:500;color:#1565c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event--timed {position:absolute;background:#e3f2fd;border:1px solid #2196f3;border-radius:4px;padding:0.25rem 0.5rem;font-size:0.8rem;line-height:1.2;cursor:pointer;transition:all 0.2s ease;overflow:hidden;margin:1px;box-sizing:border-box}.calendar-event--timed:hover {background:#bbdefb;border-color:#1976d2;z-index:25 !important;box-shadow:0 2px 8px rgba(0, 0, 0, 0.15)}.calendar-event--timed:focus {outline:2px solid #4b6cb7;outline-offset:1px;z-index:25 !important}.calendar-event--timed .event-title {font-weight:500;color:#1565c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:0.125rem}.calendar-event--timed .event-time {font-size:0.7rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event--timed .event-location {font-size:0.7rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:0.125rem}.calendar-event--community.calendar-event--all-day-weekly, .calendar-event--community.calendar-event--timed {background:#e8f5e8;border-color:#4caf50}.calendar-event--community .event-title {color:#2e7d32}.calendar-event--community:hover {background:#c8e6c9;border-color:#388e3c}.calendar-event--arts-culture.calendar-event--all-day-weekly, .calendar-event--arts-culture.calendar-event--timed {background:#f3e5f5;border-color:#9c27b0}.calendar-event--arts-culture .event-title {color:#7b1fa2}.calendar-event--arts-culture:hover {background:#e1bee7;border-color:#8e24aa}.calendar-event--sports-recreation.calendar-event--all-day-weekly, .calendar-event--sports-recreation.calendar-event--timed {background:#fff3e0;border-color:#ff9800}.calendar-event--sports-recreation .event-title {color:#f57c00}.calendar-event--sports-recreation:hover {background:#ffe0b2;border-color:#fb8c00}.calendar-event--food-drink.calendar-event--all-day-weekly, .calendar-event--food-drink.calendar-event--timed {background:#fce4ec;border-color:#e91e63}.calendar-event--food-drink .event-title {color:#c2185b}.calendar-event--food-drink:hover {background:#f8bbd9;border-color:#d81b60}.calendar-event--business-networking.calendar-event--all-day-weekly, .calendar-event--business-networking.calendar-event--timed {background:#e0f2f1;border-color:#009688}.calendar-event--business-networking .event-title {color:#00695c}.calendar-event--business-networking:hover {background:#b2dfdb;border-color:#00796b}.calendar-event--education.calendar-event--all-day-weekly, .calendar-event--education.calendar-event--timed {background:#fff8e1;border-color:#ffc107}.calendar-event--education .event-title {color:#f9a825}.calendar-event--education:hover {background:#ffecb3;border-color:#ffb300}.calendar-event--past.calendar-event--all-day-weekly, .calendar-event--past.calendar-event--timed {opacity:0.6;background:#f5f5f5;border-color:#bdbdbd}.calendar-event--past .event-title {color:#757575}.calendar-event--past .event-time, .calendar-event--past .event-location {color:#9e9e9e}@media (max-width:1024px) {.calendar-week-grid {min-height:500px}.calendar-week-header {grid-template-columns:60px repeat(7, 1fr)}.calendar-all-day-section, .calendar-time-grid {grid-template-columns:60px repeat(7, 1fr)}.calendar-time-label {font-size:0.7rem;padding:0 0.25rem}.calendar-day-header {padding:0.75rem 0.25rem}.calendar-day-name {font-size:0.7rem}.calendar-day-number {font-size:1rem}.calendar-event--timed {font-size:0.7rem;padding:0.2rem 0.3rem}.calendar-event--timed .event-time, .calendar-event--timed .event-location {font-size:0.65rem}}@media (max-width:768px) {.calendar-week-grid {min-height:400px}.calendar-week-header {grid-template-columns:50px repeat(7, 1fr)}.calendar-all-day-section, .calendar-time-grid {grid-template-columns:50px repeat(7, 1fr)}.calendar-time-label {font-size:0.65rem;padding:0 0.2rem}.calendar-all-day-label {font-size:0.7rem;padding:0.5rem 0.25rem}.calendar-day-header {padding:0.5rem 0.2rem}.calendar-day-name {font-size:0.65rem;margin-bottom:0.15rem}.calendar-day-number {font-size:0.9rem}.calendar-day-header--today .calendar-day-number {width:1.5rem;height:1.5rem;font-size:0.8rem}.calendar-event--all-day-weekly {font-size:0.7rem;padding:0.2rem 0.3rem}.calendar-event--timed {font-size:0.65rem;padding:0.15rem 0.25rem}.calendar-event--timed .event-time, .calendar-event--timed .event-location {font-size:0.6rem}.current-time-text {left:-55px;font-size:0.65rem}}@media (max-width:480px) {.calendar-week-header {grid-template-columns:40px repeat(7, 1fr)}.calendar-all-day-section, .calendar-time-grid {grid-template-columns:40px repeat(7, 1fr)}.calendar-time-label {font-size:0.6rem;padding:0 0.1rem;writing-mode:vertical-rl;text-orientation:mixed}.calendar-day-header {padding:0.4rem 0.1rem}.calendar-day-name {font-size:0.6rem;margin-bottom:0.1rem}.calendar-day-number {font-size:0.8rem}.calendar-day-header--today .calendar-day-number {width:1.2rem;height:1.2rem;font-size:0.7rem}.calendar-all-day-column {padding:0.25rem}.calendar-event--all-day-weekly {font-size:0.65rem;padding:0.15rem 0.2rem}.calendar-event--timed {font-size:0.6rem;padding:0.1rem 0.2rem}.calendar-event--timed .event-location {display:none}.current-time-text {left:-45px;font-size:0.6rem;padding:0.1rem 0.2rem}}@media (prefers-contrast:high) {.calendar-week-header, .calendar-all-day-section, .calendar-time-grid {border-color:#000}.calendar-day-header, .calendar-time-label, .calendar-time-slot, .calendar-all-day-column {border-color:#000}.calendar-event--all-day-weekly, .calendar-event--timed {border-width:2px;font-weight:600}.calendar-current-time-indicator {background:#ff0000;height:3px}.calendar-current-time-indicator::before {background:#ff0000;width:12px;height:12px}}@media (prefers-reduced-motion:reduce) {.calendar-event--all-day-weekly, .calendar-event--timed, .calendar-day-header, .calendar-time-slot {transition:none}.calendar-event--all-day-weekly:hover, .calendar-event--timed:hover {transform:none}}@media print {.calendar-week-grid {min-height:auto;height:auto}.calendar-week-header {background:#fff;border-bottom:2px solid #000}.calendar-day-header {background:#fff;color:#000}.calendar-day-header--today {background:#fff;color:#000;font-weight:bold}.calendar-day-header--today .calendar-day-number {background:#000;color:#fff}.calendar-all-day-section {background:#fff}.calendar-time-label {background:#fff;color:#000}.calendar-event--all-day-weekly, .calendar-event--timed {background:#fff;border:1px solid #000;color:#000;box-shadow:none}.calendar-event--all-day-weekly .event-title, .calendar-event--timed .event-title {color:#000}.calendar-current-time-indicator {display:none}}.calendar-week-grid:focus-within {outline:2px solid #4b6cb7;outline-offset:2px}.calendar-day-header[aria-selected="true"] {background:#e3f2fd;border-color:#2196f3}.calendar-time-slot[aria-selected="true"] {background:#e3f2fd;border-color:#2196f3}.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.calendar-widget--compact .calendar-week-grid {min-height:400px}.calendar-widget--compact .calendar-day-header {padding:0.5rem 0.25rem}.calendar-widget--compact .calendar-event--timed {font-size:0.7rem;padding:0.2rem 0.3rem}.calendar-widget--large .calendar-week-grid {min-height:800px}.calendar-widget--large .calendar-day-header {padding:1.5rem 0.75rem}.calendar-widget--large .calendar-event--timed {font-size:0.9rem;padding:0.4rem 0.6rem}.calendar-week-grid .calendar-loading {position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(255, 255, 255, 0.9);padding:2rem;border-radius:8px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);z-index:30}.calendar-week-grid .calendar-error {position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(255, 255, 255, 0.95);padding:2rem;border-radius:8px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);z-index:30;text-align:center}.calendar-time-grid::-webkit-scrollbar {width:8px}.calendar-time-grid::-webkit-scrollbar-track {background:#f1f1f1;border-radius:4px}.calendar-time-grid::-webkit-scrollbar-thumb {background:#c1c1c1;border-radius:4px}.calendar-time-grid::-webkit-scrollbar-thumb:hover {background:#a8a8a8}.calendar-all-day-section::-webkit-scrollbar {height:6px}.calendar-all-day-section::-webkit-scrollbar-track {background:#f1f1f1;border-radius:3px}.calendar-all-day-section::-webkit-scrollbar-thumb {background:#c1c1c1;border-radius:3px}.calendar-all-day-section::-webkit-scrollbar-thumb:hover {background:#a8a8a8}