.events-main{min-height:100vh;background-color:#f8f9fa}.events-hero{background:linear-gradient(135deg,var(--color-green) 0%,#007a6e 100%);padding:60px 0;text-align:center}.events-title{color:var(--color-white);font-size:48px;font-weight:700;margin-bottom:16px;text-transform:uppercase}.events-subtitle{color:#ffffffe6;font-size:18px;max-width:600px;margin:0 auto;line-height:1.6}.events-content{padding:50px 0 80px}.events-layout{display:flex;gap:40px}.events-sidebar{width:280px;flex-shrink:0;background:var(--color-white);border-radius:12px;padding:24px;box-shadow:0 2px 12px #0000000f;height:fit-content;position:sticky;top:20px}.filter-section{margin-bottom:28px}.filter-section:last-child{margin-bottom:0}.filter-title{font-size:14px;font-weight:700;text-transform:uppercase;color:var(--color-black);margin-bottom:16px;letter-spacing:.5px}.filter-options{display:flex;flex-direction:column;gap:12px}.filter-option{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:15px;color:#333;transition:color .2s}.filter-option:hover{color:var(--color-green)}.filter-option input{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid #ccc;border-radius:4px;position:relative;transition:all .2s;flex-shrink:0}.filter-option input:checked+.checkbox-custom{background-color:var(--color-green);border-color:var(--color-green)}.filter-option input:checked+.checkbox-custom:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.events-main-area{flex:1;min-width:0}.calendar-header{display:flex;align-items:center;gap:20px;margin-bottom:24px;background:var(--color-white);padding:16px 24px;border-radius:12px;box-shadow:0 2px 12px #0000000f}.calendar-nav-btn{width:44px;height:44px;border-radius:50%;background:var(--color-teal-pale);display:flex;align-items:center;justify-content:center;transition:all .2s}.calendar-nav-btn:hover{background:var(--color-green)}.calendar-nav-btn:hover img{filter:brightness(0) invert(1)}.calendar-nav-btn img{width:16px;height:16px}.calendar-current-week{font-size:20px;font-weight:600;color:var(--color-black);flex:1;text-align:center}.btn-today{background:var(--color-green);color:var(--color-white);padding:10px 24px;border-radius:5px;font-weight:600;font-size:14px;transition:all .2s}.btn-today:hover{background:var(--color-green-hover)}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:24px}.day-card{background:var(--color-white);border-radius:10px;padding:16px 8px;text-align:center;cursor:pointer;transition:all .2s;border:2px solid transparent;box-shadow:0 2px 8px #0000000a}.day-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.day-card.active{border-color:var(--color-green);background:#00a0920d}.day-card.today{background:var(--color-orange);color:#fff}.day-card.today .day-name,.day-card.today .day-number,.day-card.today .event-count{color:#fff}.day-name{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;margin-bottom:4px}.day-number{font-size:24px;font-weight:700;color:var(--color-black);margin-bottom:4px}.event-count{font-size:11px;color:var(--color-green);font-weight:600}.events-timeline{background:var(--color-white);border-radius:12px;padding:24px;box-shadow:0 2px 12px #0000000f;min-height:400px;position:relative}.events-list{display:flex;flex-direction:column;gap:16px}.event-card{display:flex;gap:20px;padding:20px;border-radius:10px;background:#f8f9fa;border-left:4px solid var(--color-green);transition:all .2s}.event-card:hover{transform:translate(4px);box-shadow:0 4px 16px #00000014}.event-card--feeding{border-left-color:var(--color-orange)}.event-card--enrichment{border-left-color:var(--color-green)}.event-card--veterinary{border-left-color:#e74c3c}.event-card--special{border-left-color:#9b59b6}.event-time{display:flex;flex-direction:column;align-items:center;min-width:70px;padding-right:20px;border-right:1px solid #e0e0e0}.event-time-value{font-size:20px;font-weight:700;color:var(--color-black)}.event-time-period{font-size:12px;color:#666;text-transform:uppercase}.event-details{flex:1}.event-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.event-animal-icon{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--color-teal-pale)}.event-info h4{font-size:16px;font-weight:600;color:var(--color-black);margin-bottom:2px}.event-animal-name{font-size:13px;color:var(--color-green);font-weight:500}.event-type-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;margin-left:auto}.event-type-badge--feeding{background:#f5802126;color:var(--color-orange)}.event-type-badge--enrichment{background:#00a09226;color:var(--color-green)}.event-type-badge--veterinary{background:#e74c3c26;color:#e74c3c}.event-type-badge--special{background:#9b59b626;color:#9b59b6}.event-description{font-size:14px;color:#555;line-height:1.5;margin-bottom:12px}.event-actions{display:flex;gap:12px}.btn-watch{display:flex;align-items:center;gap:8px;background:var(--color-green);color:#fff;padding:8px 16px;border-radius:5px;font-size:13px;font-weight:600;transition:all .2s}.btn-watch:hover{background:var(--color-green-hover)}.btn-watch img{width:14px;height:14px}.btn-remind{display:flex;align-items:center;gap:8px;background:transparent;color:var(--color-green);padding:8px 16px;border-radius:5px;font-size:13px;font-weight:600;border:1px solid var(--color-green);transition:all .2s}.btn-remind:hover{background:#00a0921a}.btn-remind.active{background:var(--color-green);color:#fff}.no-events{text-align:center;padding:60px 20px;color:#666}.no-events-icon{width:80px;height:80px;opacity:.5;margin-bottom:20px}.no-events p{font-size:18px;margin-bottom:8px}.no-events-hint{font-size:14px;color:#999}.upcoming-highlights{margin-top:60px}.section-title{font-size:32px;font-weight:600;color:var(--color-green);margin-bottom:30px;text-transform:uppercase}.highlights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.highlight-card{background:var(--color-white);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #00000014;transition:all .3s}.highlight-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.highlight-image{width:100%;height:180px;object-fit:cover}.highlight-content{padding:20px}.highlight-date{display:inline-block;background:var(--color-orange);color:#fff;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:600;margin-bottom:12px}.highlight-title{font-size:18px;font-weight:600;color:var(--color-black);margin-bottom:8px}.highlight-description{font-size:14px;color:#666;line-height:1.5;margin-bottom:16px}.highlight-cta{display:flex;align-items:center;gap:8px;color:var(--color-green);font-weight:600;font-size:14px;transition:gap .2s}.highlight-cta:hover{gap:12px}.reminder-modal{background:var(--color-white);width:90%;max-width:480px;border-radius:12px;overflow:hidden;box-shadow:0 4px 30px #0003;position:relative}.reminder-modal__header{background:var(--color-green);padding:24px;text-align:center}.reminder-modal__header h3{color:#fff;font-size:24px;font-weight:600;margin:0}.reminder-modal__body{padding:30px}.reminder-event-info{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:24px}.reminder-event-info h4{font-size:16px;font-weight:600;color:var(--color-black);margin-bottom:4px}.reminder-event-info p{font-size:14px;color:#666;margin:0}.reminder-options{margin-bottom:30px}.reminder-options h4{font-size:14px;font-weight:600;margin-bottom:16px;color:var(--color-black)}.reminder-option{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:15px;color:#333;padding:10px 0}.reminder-option input{display:none}.radio-custom{width:20px;height:20px;border:2px solid #ccc;border-radius:50%;position:relative;transition:all .2s}.reminder-option input:checked+.radio-custom{border-color:var(--color-green)}.reminder-option input:checked+.radio-custom:after{content:"";position:absolute;left:4px;top:4px;width:8px;height:8px;background:var(--color-green);border-radius:50%}.reminder-actions{display:flex;gap:16px;justify-content:flex-end}.btn-outline-teal{background:transparent;color:var(--color-green);border:1px solid var(--color-green);padding:14px 28px;border-radius:5px;font-weight:600;transition:all .2s}.btn-outline-teal:hover{background:#00a0921a}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:var(--color-green);color:#fff;padding:16px 24px;border-radius:8px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 20px #0003;z-index:10000;animation:slideUp .3s ease}.toast.hidden{display:none}.toast-icon{font-size:18px;font-weight:700}.toast-message{font-size:15px;font-weight:500}@keyframes slideUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@media(max-width:1200px){.events-layout{flex-direction:column}.events-sidebar{width:100%;position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.filter-section{margin-bottom:0}.highlights-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:940px){.events-title{font-size:36px}.calendar-week{grid-template-columns:repeat(7,1fr);gap:4px}.day-card{padding:12px 4px}.day-number{font-size:18px}.event-card{flex-direction:column;gap:12px}.event-time{flex-direction:row;gap:8px;border-right:none;border-bottom:1px solid #e0e0e0;padding-right:0;padding-bottom:12px;justify-content:flex-start}.events-sidebar{grid-template-columns:1fr}}@media(max-width:640px){.events-hero{padding:40px 0}.events-title{font-size:28px}.events-subtitle{font-size:15px}.calendar-header{flex-wrap:wrap;gap:12px}.calendar-current-week{order:-1;flex:0 0 100%;margin-bottom:8px}.btn-today{margin-left:auto}.calendar-week{overflow-x:auto;gap:8px;padding-bottom:8px}.day-card{min-width:60px}.highlights-grid{grid-template-columns:1fr}.event-actions{flex-direction:column}.btn-watch,.btn-remind{justify-content:center}}@media(max-width:440px){.events-content{padding:30px 0 60px}.events-sidebar,.events-timeline,.event-card{padding:16px}.reminder-modal__body{padding:20px}.reminder-actions{flex-direction:column}.btn-outline-teal,.reminder-actions .btn-orange{width:100%;justify-content:center}}
