.calendar-events-container{max-width:100%;width:100%;margin:0 auto;padding:20px;box-sizing:border-box;overflow-x:hidden}.calendar-view{background:#fff0;border:none;border-radius:0;padding:0;box-shadow:none;margin-bottom:40px;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:10px}.calendar-header h2{margin:0;font-size:28px;color:#1a1a1a;font-weight:700;letter-spacing:-.5px}.calendar-nav{display:flex;gap:12px}.calendar-nav button{background:#0073aa;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all 0.3s ease;box-shadow:0 2px 8px rgb(0 115 170 / .15)}.calendar-nav button:hover{background:#005a87;transform:translateY(-2px);box-shadow:0 4px 12px rgb(0 115 170 / .25)}.calendar-nav button:active{transform:translateY(0)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;background:#fff0;border:none;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;border-radius:12px;box-shadow:0 4px 20px rgb(0 0 0 / .08)}.calendar-day-header{background:#f8f9fa;padding:16px 10px;text-align:center;font-weight:700;color:#495057;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e9ecef}.calendar-day{background:#fff;height:120px;padding:12px;position:relative;cursor:pointer;transition:background 0.2s ease,box-shadow 0.2s ease;border:1px solid #e9ecef;border-right:none;border-bottom:none;overflow:hidden;display:flex;flex-direction:column}.calendar-day:nth-child(7n){border-right:1px solid #e9ecef}.calendar-day:nth-last-child(-n+7){border-bottom:1px solid #e9ecef}.calendar-day:hover{background:#f8f9fa;z-index:10;box-shadow:0 4px 12px rgb(0 0 0 / .1)}.calendar-day.other-month{background:#fafbfc;color:#adb5bd}.calendar-day.today{background:linear-gradient(135deg,#e7f5ff 0%,#d4edff 100%);border-color:#0073aa;box-shadow:inset 0 0 0 2px #0073aa}.calendar-day.has-events{background:linear-gradient(135deg,#fff8e1 0%,#fff3cd 100%)}.calendar-day.has-manual-events{background:linear-gradient(135deg,#e8f5e9 0%,#c8e6c9 100%)}.calendar-day.today.has-events{background:linear-gradient(135deg,#d4edff 0%,#c3e7ff 100%)}.day-number{font-weight:700;margin-bottom:8px;font-size:16px;color:#212529;flex-shrink:0}.calendar-day.other-month .day-number{color:#adb5bd}.calendar-day.today .day-number{color:#0073aa;font-size:18px}.day-events{font-size:11px;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.day-events::-webkit-scrollbar{width:4px}.day-events::-webkit-scrollbar-track{background:#fff0}.day-events::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:2px}.day-events::-webkit-scrollbar-thumb:hover{background:#a0aec0}.day-event-item{display:flex;align-items:flex-start;margin-bottom:6px;padding:4px;border-radius:4px;transition:background 0.2s ease;overflow:hidden;width:100%}.day-event-item:hover{background:rgb(0 115 170 / .08)}.day-event-item.manual-event .day-event-dot{background:#46b450!important;box-shadow:0 0 0 2px rgb(70 180 80 / .2)!important}.day-event-item.manual-event:hover{background:rgb(70 180 80 / .08)!important}.day-event-dot{flex-shrink:0;width:6px;height:6px;background:#0073aa;border-radius:50%;margin-right:6px;margin-top:5px;box-shadow:0 0 0 2px rgb(0 115 170 / .2)}.day-event-title{flex:1;color:#495057;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;line-height:1.4;font-weight:500;max-width:100%;display:block}.events-list-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:30px;box-shadow:0 4px 20px rgb(0 0 0 / .08);width:100%;box-sizing:border-box}.events-filter-tabs{display:flex;gap:10px;margin-bottom:25px;border-bottom:2px solid #e9ecef;padding-bottom:0}.filter-tab{background:none;border:none;padding:12px 24px;font-size:16px;font-weight:600;color:#6c757d;cursor:pointer;transition:all 0.3s ease;border-bottom:3px solid #fff0;margin-bottom:-2px;white-space:nowrap;flex-shrink:0}.filter-tab:hover{color:#0073aa}.filter-tab.active{color:#0073aa;border-bottom-color:#0073aa}.events-list{display:flex;flex-direction:column;gap:20px}.event-item{display:flex;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgb(0 0 0 / .04);transition:all 0.3s ease}.event-item.past-event{opacity:.7}.event-item.past-event:hover{opacity:1}.event-item:hover{box-shadow:0 8px 24px rgb(0 0 0 / .12);transform:translateY(-4px);border-color:#0073aa}.event-date{background:linear-gradient(135deg,#0073aa 0%,#005a87 100%);color:#fff;padding:20px;min-width:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:700;box-shadow:2px 0 8px rgb(0 115 170 / .15)}.event-item.past-event .event-date{background:linear-gradient(135deg,#6c757d 0%,#495057 100%)}.event-item.manual-event .event-date{background:linear-gradient(135deg,#46b450 0%,#2e7d32 100%)!important}.event-item.manual-event.past-event .event-date{background:linear-gradient(135deg,#6c757d 0%,#495057 100%)!important}.event-time{display:block;font-size:14px;margin-top:5px;font-weight:400;opacity:.95}.event-details{padding:24px;flex:1;background:#fff}.event-title{margin:0 0 12px 0;font-size:20px;color:#212529;font-weight:700;line-height:1.3}.event-title a{color:#0073aa;text-decoration:none;transition:color 0.3s;position:relative}.event-title a:hover{color:#005a87}.event-title a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:#0073aa;transition:width 0.3s ease}.event-title a:hover::after{width:100%}.event-description{margin:10px 0;color:#6c757d;line-height:1.6;font-size:15px}.event-source{display:inline-block;margin-top:10px;padding:6px 12px;background:#e9ecef;color:#495057;font-size:12px;border-radius:20px;font-weight:600}.no-events{text-align:center;color:#999;padding:40px 20px;font-style:italic}@media (max-width:768px){.calendar-events-container{padding:10px}.events-filter-tabs{gap:5px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.events-filter-tabs::-webkit-scrollbar{display:none}.filter-tab{padding:10px 16px;font-size:14px}.calendar-header{flex-direction:column;gap:15px;align-items:stretch}.calendar-header h2{text-align:center;font-size:24px}.calendar-nav{justify-content:center}.calendar-nav button{padding:10px 20px;font-size:16px}.calendar-day{min-height:80px;padding:6px}.day-number{font-size:14px;font-weight:700}.day-event-item{margin-bottom:2px}.day-event-dot{width:8px;height:8px;margin-top:3px}.day-event-title{font-size:10px;line-height:1.2;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}.event-item{flex-direction:column}.event-date{min-width:auto;padding:15px}.calendar-view{padding:0;margin-bottom:30px}.events-list-section{padding:15px}.events-list-section h3{font-size:20px}}@media (max-width:480px){.calendar-events-container{padding:5px}.events-filter-tabs{gap:0;margin-bottom:20px;justify-content:space-between}.filter-tab{padding:8px 8px;font-size:12px;flex:1;text-align:center}.events-list-section{padding:15px}.calendar-header h3{font-size:18px}.calendar-nav button{padding:8px 12px;font-size:14px}.calendar-day{min-height:70px;padding:4px}.day-number{font-size:12px;margin-bottom:3px}.day-event-item{display:none}.day-events{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.day-event-dot{width:6px;height:6px;margin:0}.calendar-day.has-events .day-events::after{content:attr(data-count) ' events';font-size:9px;color:#0073aa;font-weight:600;margin-left:4px}.calendar-view{padding:0;margin-bottom:20px}.calendar-header{gap:10px}}@media (max-width:375px){.filter-tab{padding:8px 6px;font-size:11px}.events-list-section{padding:10px}}