:root{--brand-primary:#20b2aa;--brand-primary-hover:#1e988f;--brand-secondary:#20b2aa;--secondary-gold:#dfb129;--shadow-primary:0 2px 8px #20b2aa;--shadow-light:0 2px 8px rgba(0,0,0,.08);--shadow-medium:0 4px 12px rgba(0,0,0,.1);--border-radius:8px;--border-radius-large:16px;--text-primary:#1f2937;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-white:#fff;--background-light:#f8fafc;--background-white:#fff;--border-light:#e5e7eb;--clean-gray:#f1f5f9;--content-padding-x:20px;--content-padding-y:16px}.view-options{display:flex;gap:8px;margin-bottom:24px;padding:2px;background:var(--background-light);border-radius:var(--border-radius);border:1px solid var(--border-light);width:fit-content}.view-toggle{padding:8px 16px;border:none;border-radius:4px;background:transparent;color:#6b7280;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .15s ease;font-size:.875rem;white-space:nowrap}.view-toggle:hover{background:var(--brand-primary);color:var(--text-white);border:1px solid #20b2aa}.view-toggle.active{background:rgba(32,178,170,.05);color:#20b2aa;border:1px solid #20b2aa;font-weight:600}.holiday-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:24px}@media (max-width:968px){.holiday-grid{grid-template-columns:1fr;gap:24px}}.public-holidays,.school-holidays{background:var(--background-white);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-light);border:1px solid var(--border-light)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px!important;background:#e2e8f0;border-bottom:2px solid #cbd5e1;border-radius:var(--border-radius) var(--border-radius) 0 0;box-sizing:border-box}.section-header h2.section-title{margin:0!important;padding:0!important;font-size:1.3em;font-weight:700;color:#0f172a}.count-badge{background:var(--text-secondary);color:#fff;padding:4px 10px;border-radius:12px;font-size:.8em;font-weight:500}.custom-holiday-list{list-style:none;padding:0;margin:0;background:var(--background-white)}.custom-public-holiday-item,.custom-school-holiday-item{padding:16px 20px!important;border-bottom:1px solid var(--border-light);transition:background-color .15s ease;background:var(--background-white);border-left:none!important;border-right:none!important;border-top:none!important;box-sizing:border-box}.custom-public-holiday-item:last-child,.custom-school-holiday-item:last-child{border-bottom:none}.custom-public-holiday-item:hover,.custom-school-holiday-item:hover{background:var(--clean-gray)}.holiday-content{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.holiday-main-info{flex:1}.holiday-name{margin:0 0 6px!important;padding:0!important;font-size:1.1em;font-weight:600;color:#111827;line-height:1.3}.holiday-name-link{color:inherit;text-decoration:none;transition:color .15s ease}.holiday-name-link:hover{color:#2563eb;text-decoration:underline}.grouped-holiday-name .holiday-name-link{color:#4b5563;transition:all .15s ease}.grouped-holiday-name .holiday-name-link:hover{color:#2563eb}.holiday-name-chevron{display:inline-block;margin-left:.3rem;font-size:1.3em;font-weight:700;color:#3b82f6;transition:transform .15s ease,color .15s ease}.holiday-name-link:hover .holiday-name-chevron{color:#2563eb;transform:translateX(2px)}.grouped-holiday-name .holiday-name-chevron{font-size:1.1em;margin-left:.2rem}.holiday-date{margin:0;color:#6b7280;color:var(--text-secondary);font-size:.95em;line-height:1.4}.date-separator{margin:0 4px;color:var(--text-muted)}.holiday-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.academic-year-badge,.bridge-badge,.conditional-badge,.day-off-badge,.duration-badge,.level-type-badge,.lustrum-badge,.national-badge,.natural-weekend-badge,.optional-badge,.territory-badge,.working-holiday-badge,.year-badge,.zone-badge,.zone-specific-badge{font-size:.7rem;padding:2px 6px;border-radius:10px;font-weight:500;white-space:nowrap;line-height:1.2;display:inline-block}.academic-year-badge{font-size:.65rem;padding:2px 5px;background:var(--text-muted)}.academic-year-badge.academic-span{font-size:.65rem;padding:2px 5px;background:var(--brand-primary);color:#fff}.academic-year-badge.single-year{font-size:.65rem;padding:2px 5px;background:var(--brand-secondary);color:#fff}.duration-badge,.year-badge{background:var(--text-secondary);color:#fff}.level-type-badge{background:var(--brand-primary);color:#fff}.conditional-badge,.day-off-badge,.lustrum-badge,.optional-badge,.working-holiday-badge{background:var(--brand-secondary);color:#fff}.national-badge,.zone-badge,.zone-specific-badge{color:#fff}.national-badge{background:var(--brand-secondary)}.territory-badge{background:var(--brand-primary);text-transform:uppercase;letter-spacing:.5px}.bridge-badge{gap:3px}.public-holidays .year-badge{display:none}.bridge-badge{background:var(--secondary-gold);color:#fff;font-size:.75rem;padding:3px 8px;border-radius:12px;font-weight:500;display:inline-flex;align-items:center;gap:4px}.grouped-holiday{background:linear-gradient(90deg,rgba(32,178,170,.05),transparent)}.grouped-holiday .holiday-content{padding-bottom:8px}.grouped-holiday-details{padding:12px 16px;background:var(--clean-gray);border-radius:6px;margin:8px 0 0}.grouped-holiday-label{font-size:.75rem;color:var(--text-secondary);font-weight:600;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.grouped-holiday-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.grouped-holiday-item{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#fff;border-radius:4px;font-size:.8rem;border:1px solid var(--border-light)}.grouped-holiday-name{color:var(--text-primary);font-weight:500}.grouped-holiday-date{color:var(--text-secondary);font-size:.75rem}.badge-green{background:#22c55e!important;color:#fff!important}.badge-teal{background:#14b8a6!important;color:#fff!important}.badge-purple{background:#8b5cf6!important;color:#fff!important}.badge-blue{background:#3b82f6!important;color:#fff!important}.badge-gray{background:var(--text-secondary)!important;color:#fff!important}.holiday-days-badge{background:transparent;color:var(--text-secondary);border:1px solid var(--border-light);font-size:.7rem;padding:2px 8px;border-radius:10px}.natural-weekend-badge{background:var(--brand-primary);color:#fff;font-size:.75rem;padding:3px 8px;border-radius:12px;font-weight:500}.cluster-badge{display:none}.bridge-opportunity-details{background:var(--clean-gray);padding:12px 16px;margin-top:8px;border-radius:var(--border-radius);border:1px solid var(--border-light)}.bridge-suggestion{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.bridge-suggestion:last-child{margin-bottom:0}.cluster-suggestion{display:none}.bridge-icon{font-size:1.2rem;margin-top:2px;flex-shrink:0}.bridge-text{flex:1;line-height:1.4}.bridge-text strong{color:var(--brand-primary);font-weight:600}.bridge-text p{margin:4px 0 8px;color:var(--text-primary);font-size:.9rem}.bridge-math{display:inline-block;background:var(--brand-primary);color:#fff;padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:600;margin-top:4px;border:none;text-decoration:none;transition:all .2s ease;cursor:pointer;white-space:nowrap}.bridge-math:hover{background:var(--brand-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-light)}.cluster-math{display:none}.holiday-details{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-light)}.holiday-conditional-reason,.holiday-description{color:var(--text-primary);font-size:.875rem;margin-bottom:.5rem}.holiday-conditional-reason{padding:.5rem;background-color:#fef3c7;border-radius:var(--border-radius);border:1px solid #fbbf24}.holiday-notes{color:var(--text-secondary);font-size:.8125rem;font-style:italic}.level-type-description{margin-top:8px;padding:8px 12px;background-color:var(--clean-gray);border-radius:var(--border-radius);border:1px solid var(--border-light)}.level-description-text{margin:0;font-size:.875rem;color:var(--text-primary)}.empty-state{padding:40px 24px;text-align:center;background:var(--background-white)}.empty-state-text{margin:0 0 8px;font-size:1.1em;font-weight:500;color:var(--text-secondary)}.empty-state-subtext{margin:0;font-size:.9em;color:var(--text-muted)}.zone-info-banner{background:var(--clean-gray);color:var(--text-primary);border:1px solid var(--border-light);padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem}.zone-info-content h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary)}.zone-info-content p{margin:0 0 .75rem;color:var(--text-secondary)}.zone-legend{display:flex;flex-wrap:wrap;gap:.25rem}.zone-legend-item{display:inline-block;font-weight:500;padding:4px 8px;border-radius:12px;margin:2px;font-size:.85rem;color:#fff}.zone-based-holidays{display:flex;flex-direction:column;gap:2rem}.zone-group{background:var(--clean-gray);border-radius:var(--border-radius);padding:1rem;border:1px solid var(--border-light)}.zone-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light)}.zone-title-section{flex:1}.zone-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.zone-academies{margin:.25rem 0 0;font-size:.85rem;color:var(--text-secondary);font-style:italic}.zone-count{background:var(--text-secondary);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.empty-zone{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic;background:var(--background-white)}.zone-comparison-tip{background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius);padding:1rem;margin-top:1.5rem;text-align:center}.zone-comparison-tip h4{margin:0 0 .5rem;color:var(--brand-primary);font-size:1rem}.zone-comparison-tip p{margin:0;color:var(--text-primary);font-size:.9rem;line-height:1.4}.zone-a,.zone-badge.zone-a,.zone-legend-item.zone-a,.zone-specific-badge.zone-a{background-color:#ff6b6b}.zone-b,.zone-badge.zone-b,.zone-legend-item.zone-b,.zone-specific-badge.zone-b{background-color:#4ecdc4}.zone-badge.zone-c,.zone-c,.zone-legend-item.zone-c,.zone-specific-badge.zone-c{background-color:#45b7d1}.zone-badge.zone-corse,.zone-corse,.zone-legend-item.zone-corse,.zone-specific-badge.zone-corse{background-color:#f39c12}.zone-badge.zone-group1,.zone-group1,.zone-legend-item.zone-group1,.zone-specific-badge.zone-group1{background-color:#e74c3c}.zone-badge.zone-group2,.zone-group2,.zone-legend-item.zone-group2,.zone-specific-badge.zone-group2{background-color:#3498db}.zone-badge.zone-group3,.zone-group3,.zone-legend-item.zone-group3,.zone-specific-badge.zone-group3{background-color:#2ecc71}.zone-badge.zone-group4,.zone-group4,.zone-legend-item.zone-group4,.zone-specific-badge.zone-group4{background-color:#9b59b6}.zone-badge.zone-default,.zone-default,.zone-legend-item.zone-default,.zone-specific-badge.zone-default{background-color:var(--text-muted);color:#fff}.zone-badge.zone-overseas,.zone-legend-item.zone-overseas,.zone-overseas{background:#34495e;color:#fff}.zone-based-holidays .custom-school-holiday-item{background:var(--background-white);border-left:none;border-right:none;padding-left:20px}.zone-based-holidays .custom-school-holiday-item:hover{background:var(--clean-gray)}.national-holiday,.zone-specific{background:var(--background-white);border-left:none;border-right:none}.custom-school-holiday-item{transition:all .2s ease}.custom-school-holiday-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-medium)}.national-indicator{margin-left:.5rem;font-size:.9rem}.overseas-territories-banner{background:var(--clean-gray);color:var(--text-primary);border:1px solid var(--border-light);padding:1rem;border-radius:var(--border-radius);margin-bottom:1.5rem}details.overseas-territories-banner>summary{list-style:none}details.overseas-territories-banner>summary::-webkit-details-marker{display:none}details.overseas-territories-banner[open] .toggle-indicator{transform:rotate(90deg)}.overseas-info-content{display:flex;flex-direction:column;gap:8px}.banner-header-toggle{transition:background-color .2s ease;border-radius:6px;padding:8px 12px;cursor:pointer}.banner-header-toggle:hover{background-color:rgba(32,178,170,.1)}.banner-header{display:flex;align-items:center;gap:8px}.overseas-flag{font-size:16px}.banner-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.toggle-indicator{margin-left:auto;font-size:.9em;font-weight:700;color:var(--text-secondary);transition:transform .2s ease}.territories-summary p{margin:0;color:var(--text-secondary);font-size:.9rem}.territories-expandable-content{margin-top:12px;animation:slideDown .2s ease-out}.territories-description p{color:var(--text-secondary);margin:0;line-height:1.4;font-size:.9rem}.territories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-bottom:12px}.territory-card{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--background-white);border:1px solid var(--border-light);border-radius:6px;text-decoration:none;transition:all .2s ease}.territory-card:hover{background:var(--clean-gray);box-shadow:var(--shadow-light);transform:translateY(-1px);border-color:var(--brand-primary);text-decoration:none}.territory-info{flex:1}.territory-name{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 2px}.territory-region{font-size:.8rem;color:var(--text-secondary);margin:0 0 2px;font-style:italic}.territory-academies,.territory-includes{font-size:.75rem;color:var(--text-secondary);margin:1px 0}.territory-arrow{font-size:1rem;color:var(--text-secondary);font-weight:700;margin-left:8px;transition:transform .2s ease}.territory-card:hover .territory-arrow{transform:translateX(2px);color:var(--brand-primary)}.territories-notice{display:flex;gap:8px;background:var(--background-white);padding:8px 12px;border-radius:6px;border:1px solid var(--border-light)}.notice-icon{font-size:14px;flex-shrink:0;color:var(--text-secondary)}.notice-text p{margin:0;color:var(--text-secondary);font-size:.8rem;line-height:1.3}.overseas-territory-banner{background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius-large);padding:24px;margin:20px 0;box-shadow:var(--shadow-light)}.current-territory-info{background:var(--background-white);padding:16px;border-radius:var(--border-radius);border:1px solid var(--border-light)}.current-territory-info h4{margin:0 0 8px;color:var(--brand-primary);font-size:1.1em}.territory-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.feature-badge{background:var(--brand-secondary);color:#fff;padding:4px 8px;border-radius:16px;font-size:.8em;font-weight:500}.feature-badge.carnival{background:var(--brand-primary)}.feature-badge.cultural{background:var(--brand-primary-hover)}.feature-badge.independent{background:var(--brand-secondary)}.overseas-notice{display:flex;gap:12px;background:var(--background-white);padding:16px;border-radius:var(--border-radius);border:1px solid var(--border-light)}.overseas-notice .notice-text strong{color:var(--brand-primary)}.overseas-notice .notice-text p{margin:4px 0 0;color:var(--text-primary);font-size:.9em;line-height:1.4}.academic-year-banner{background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius-large);padding:1.25rem;margin-top:1.5rem;margin-bottom:0;box-shadow:var(--shadow-light);max-width:100%;width:100%}.school-holidays .academic-year-banner{display:block}.public-holidays .academic-year-banner{display:none}.academic-year-content .banner-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.academic-icon{font-size:1.2rem}.academic-year-content h3{color:var(--brand-primary);font-size:1rem;font-weight:600;margin:0}.academic-year-details{display:flex;flex-direction:column;gap:1rem}.academic-years-section,.single-years-section{background:var(--background-white);border-radius:.5rem;padding:1rem;border:1px solid var(--border-light)}.academic-years-section h4,.single-years-section h4{color:var(--text-primary);font-size:.9rem;font-weight:600;margin:0 0 .75rem}.academic-years-list,.single-years-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.academic-year-badge{background:var(--brand-primary)}.academic-year-badge,.single-year-badge{color:#fff;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500}.single-year-badge{background:var(--brand-secondary)}.academic-year-explanation{color:var(--text-secondary);font-size:.8rem;line-height:1.4;margin:0}.section-notes{padding:14px 20px 16px;border-top:1px solid var(--border-light);margin-top:0;background:var(--clean-gray)}.section-notes .notes-content h3{margin:0 0 12px;font-size:1em;font-weight:600;color:var(--text-primary)}.section-notes .national-notes,.section-notes .regional-notes{margin-bottom:12px}.section-notes .national-notes:last-child,.section-notes .regional-notes:last-child,.section-notes .single-note:last-child{margin-bottom:0}.public-holiday-notes{background:var(--clean-gray);color:var(--text-primary);padding:20px;border-radius:12px;margin-top:34px;margin-bottom:24px;box-shadow:var(--shadow-light);border:1px solid var(--border-light)}.public-holiday-notes .notes-content h3{margin:0 0 16px;font-size:1.2em;font-weight:600;color:var(--brand-primary)}.public-holiday-notes h4{margin:0 0 8px;font-weight:600;color:var(--brand-primary);text-transform:uppercase;letter-spacing:.5px;font-size:.85em}.public-holiday-notes .notes-list{list-style:none;padding:0;margin:0}.public-holiday-notes .note-item{position:relative;padding-left:20px;margin-bottom:8px;opacity:.9;line-height:1.5;color:var(--text-primary)}.public-holiday-notes .note-item:before{content:"•";position:absolute;left:0;color:var(--brand-primary);font-weight:700}.school-holiday-notes{background:var(--clean-gray);color:var(--text-primary);padding:20px;border-radius:12px;margin-top:34px;margin-bottom:24px;box-shadow:var(--shadow-light);border:1px solid var(--border-light)}.school-holiday-notes .notes-content h3{margin:0 0 16px;font-size:1.2em;font-weight:600;color:var(--brand-secondary)}.school-holiday-notes h4{margin:0 0 8px;font-weight:600;color:var(--brand-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.85em}.school-holiday-notes .notes-list{list-style:none;padding:0;margin:0}.school-holiday-notes .note-item{position:relative;padding-left:20px;margin-bottom:8px;opacity:.9;line-height:1.5;color:var(--text-primary)}.school-holiday-notes .note-item:before{content:"•";position:absolute;left:0;color:var(--brand-secondary);font-weight:700}@media (max-width:768px){.view-options{flex-direction:column;gap:8px}.holiday-content{flex-direction:column;gap:12px}.holiday-badges{justify-content:flex-start}.zone-header{flex-direction:column;gap:8px}.section-header{flex-direction:column;gap:12px;align-items:flex-start}.public-holiday-notes,.school-holiday-notes{padding:16px}.public-holiday-notes .notes-content h3,.school-holiday-notes .notes-content h3{font-size:1.1em}.academic-year-banner{padding:1rem;margin-bottom:1rem}.academic-year-content .banner-header{gap:.5rem}.academic-year-content h3{font-size:1rem}.academic-years-section,.single-years-section{padding:.75rem}.overseas-territories-banner{padding:.75rem;margin-bottom:1rem}.banner-header-toggle{padding:6px 10px}.banner-header h3{font-size:1rem}.territories-grid{grid-template-columns:1fr;gap:6px}.territory-card{padding:6px 10px}.bridge-suggestion{flex-direction:column;gap:8px}.bridge-icon{align-self:flex-start}.bridge-opportunity-details{padding:10px 12px;margin-left:-16px;margin-right:-16px;border-radius:0}.bridge-math{font-size:.8rem;padding:3px 6px}}@media (max-width:480px){.overseas-territories-banner{padding:.5rem}.territory-card{flex-direction:column;align-items:flex-start;gap:4px;padding:8px}.territory-arrow{align-self:flex-end;margin-left:0}.bridge-badge,.natural-weekend-badge{font-size:.7rem;padding:3px 6px}}@keyframes slideDown{0%{opacity:0;max-height:0;overflow:hidden}to{opacity:1;max-height:600px}}.bridge-opportunity-details,.bridge-suggestion,.custom-public-holiday-item,.custom-public-holiday-item *,.custom-school-holiday-item,.custom-school-holiday-item *,.holiday-badges,.holiday-content,.holiday-main-info,.national-holiday,.zone-based-holidays .custom-school-holiday-item,.zone-specific{border-left:none!important;border-right:none!important}.custom-public-holiday-item,.custom-school-holiday-item,.zone-based-holidays .custom-school-holiday-item{background:var(--background-white)!important}.bridge-opportunity-details,.custom-public-holiday-item:hover,.custom-school-holiday-item:hover,.zone-based-holidays .custom-school-holiday-item:hover{background:var(--clean-gray)!important}.bridge-opportunity-details{border:1px solid var(--border-light)!important}.zone-title{padding-left:0!important}.holiday-conditional-reason{background:#fef3c7!important;border:1px solid #fbbf24!important}.level-type-description{background:var(--clean-gray)!important;border:1px solid var(--border-light)!important}.current-territory-info{background:var(--background-white)!important;border:1px solid var(--border-light)!important}.education-level-selector,.school-type-selector{margin-bottom:24px}.education-level-selector.view-options,.school-type-selector.view-options{display:flex;flex-direction:column;gap:12px;background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius);padding:16px;width:100%;max-width:100%}.selector-header{margin:0 0 8px;padding:0}.selector-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0;padding:0}.selector-buttons{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:var(--background-light);border-radius:6px;border:1px solid var(--border-light)}.education-level-selector .view-toggle,.school-type-selector .view-toggle{padding:8px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .15s ease;font-size:.875rem;white-space:nowrap;min-width:auto;flex-shrink:0}.education-level-selector .view-toggle:hover,.school-type-selector .view-toggle:hover{background:var(--border-light);color:var(--text-primary)}.education-level-selector .view-toggle.active,.school-type-selector .view-toggle.active{background:var(--background-white);color:var(--text-primary);box-shadow:var(--shadow-light);font-weight:600}.school-type-selector .view-toggle.active{border:1px solid var(--brand-primary);box-shadow:0 2px 4px rgba(32,178,170,.1)}.education-level-selector .view-toggle.active{border:1px solid var(--brand-secondary);box-shadow:0 2px 4px rgba(101,201,149,.1)}.view-options.main-view-toggle{display:flex;gap:8px;margin-bottom:24px;padding:2px;background:var(--background-light);border-radius:var(--border-radius);border:1px solid var(--border-light);width:fit-content;flex-direction:row}.main-view-toggle .view-toggle{padding:8px 16px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .15s ease;font-size:.875rem;white-space:nowrap}.main-view-toggle .view-toggle:hover{background:var(--border-light);color:var(--text-primary)}.main-view-toggle .view-toggle.active{background:var(--background-white);color:var(--text-primary);box-shadow:var(--shadow-light);font-weight:600}.main-view-toggle+.school-type-selector,.school-type-selector+.education-level-selector{margin-top:0}.selector-loading .view-toggle{opacity:.5;cursor:not-allowed;pointer-events:none}.education-level-selector .view-toggle:focus,.school-type-selector .view-toggle:focus{outline:2px solid var(--brand-primary);outline-offset:2px}@media (max-width:768px){.education-level-selector.view-options,.school-type-selector.view-options{padding:12px;margin-bottom:16px}.selector-buttons{padding:6px;gap:4px}.education-level-selector .view-toggle,.school-type-selector .view-toggle{padding:6px 10px;font-size:.8rem}.selector-title{font-size:.9rem}}@media (max-width:480px){.selector-buttons{flex-direction:column;gap:4px}.education-level-selector .view-toggle,.school-type-selector .view-toggle{width:100%;text-align:center;padding:8px 12px}.education-level-selector.view-options,.school-type-selector.view-options{padding:10px}}.rotating-zones .zone-group{border-left:4px solid var(--rotating-zone-color)}.rotating-zone-badge{background:linear-gradient(45deg,var(--zone-color),var(--zone-color-light))}.rotating-zone-badge:after{font-size:.8em}.rotation-info{background:var(--rotation-info-bg);padding:12px;margin-top:8px}.rotation-schedule{margin-top:8px}.rotation-year{align-items:center;gap:8px}.rotation-year-label{min-width:80px;color:var(--accent-color)}.rotation-regions{gap:4px}.rotation-region{background:var(--region-badge-bg);color:var(--region-badge-text)}.rotation-more,.rotation-region{padding:2px 6px;border-radius:4px;font-size:.9em}.rotation-more{background:var(--more-badge-bg);color:var(--more-badge-text)}.affected-regions-badge{background:var(--regions-badge-bg);color:var(--regions-badge-text);font-size:.85em;border:1px solid var(--regions-badge-border)}.rotating-zones-tip{background:var(--tip-bg);padding:16px}.rotation-notice{margin-top:8px;padding:8px;background:var(--notice-bg);border-left:4px solid var(--notice-border)}.zone-legend-item.rotating{background:linear-gradient(45deg,var(--zone-color),var(--zone-color-light))}.rotation-feature{padding:12px;background:var(--feature-bg)}.rotation-text strong{color:var(--accent-color);margin-bottom:4px}.rotation-indicator{font-size:.8em;margin-left:4px}.region-selector-section{margin:24px 0;padding:24px;background:var(--selector-bg,#f8f9fa);border-radius:12px;border:1px solid var(--selector-border,#e0e6ed)}.region-selector-section .selector-header{margin-bottom:20px;text-align:center}.region-selector-section .selector-header h3{margin:0 0 8px;color:var(--heading-color,#2c3e50);font-size:1.25rem;font-weight:600}.region-selector-section .selector-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5;max-width:600px;margin:0 auto}.region-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:20px}.region-option{display:block;padding:16px;background:var(--region-option-bg,#fff);border:2px solid var(--region-option-border,#e0e6ed);border-radius:8px;text-decoration:none;color:var(--text-color,#333);transition:all .3s ease;position:relative}.region-option:hover{border-color:var(--accent-color,#20b2aa);box-shadow:0 2px 8px rgba(52,152,219,.15);transform:translateY(-1px)}.region-option.selected{border-color:var(--accent-color,#20b2aa);background:var(--region-selected-bg,#f0f8ff);box-shadow:0 2px 12px rgba(52,152,219,.2)}.region-option.selected:before{content:"✓";position:absolute;top:8px;right:8px;color:var(--accent-color,#20b2aa);font-weight:700;font-size:1.2em}.region-info h4{margin:0 0 8px;color:var(--heading-color,#2c3e50);font-size:1.1rem;font-weight:600}.region-code{font-size:.9rem;font-weight:500}.region-code,.region-population{color:var(--text-muted,#6c757d);margin:4px 0}.region-population,.region-zone{font-size:.85rem}.region-zone{color:var(--zone-color,#dfb129);margin:8px 0 0;font-weight:600;padding:4px 8px;background:var(--zone-badge-bg,rgba(230,126,34,.1));border-radius:4px;display:inline-block}.selected-region-display{border-left:4px solid var(--accent-color,#3498db)}.region-label{color:var(--accent-color,#3498db)}.region-selector-section.compact{margin:16px 0;padding:16px}.region-selector-grid.compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px}.region-option.compact{display:block;padding:12px;background:var(--region-option-bg,#fff);border:2px solid var(--region-option-border,#e0e6ed);border-radius:6px;text-decoration:none;color:var(--text-color,#333);transition:all .2s ease;position:relative;min-height:auto}.region-option.compact:hover{border-color:var(--accent-color,#20b2aa);box-shadow:0 1px 4px rgba(32,178,170,.1);transform:translateY(-1px)}.region-option.compact.selected{border-color:var(--accent-color,#20b2aa);background:var(--region-selected-bg,rgba(32,178,170,.1));box-shadow:0 1px 6px rgba(52,152,219,.2)}.region-option.compact.selected:before{content:"✓";position:absolute;top:6px;right:8px;color:var(--accent-color,#20b2aa);font-weight:700;font-size:1em}.region-option.compact .region-info h4{margin:0 0 4px;color:var(--heading-color,#2c3e50);font-size:1rem;font-weight:600;line-height:1.3}.region-option.compact .region-zone{color:#d97706;font-size:.8rem;margin:0;font-weight:400;padding:2px 6px;background:#fef3c7;border-radius:8px;display:inline-block}@media (max-width:768px){.region-selector-grid.compact{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.region-option.compact{padding:10px}.region-option.compact .region-info h4{font-size:.9rem}.region-option.compact .region-zone{font-size:.75rem}}@media (max-width:480px){.region-selector-grid.compact{grid-template-columns:repeat(2,1fr);gap:8px}.region-selector-section.compact{margin:12px 0;padding:12px}.region-option.compact{padding:8px}}.region-selector-section.compact .selector-description{font-size:.9rem;margin-bottom:8px}.selected-region-display{display:flex;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;background:var(--region-display-bg,rgba(52,152,219,.1));border-radius:6px;border-left:4px solid var(--accent-color,#20b2aa)}.region-label{font-weight:600;color:var(--accent-color,#20b2aa)}.region-value{font-weight:500;color:var(--text-color,#333)}.region-zone-info{color:var(--text-muted,#6c757d);font-size:.9rem;font-style:italic}.rotating-zones .zone-group{border-left:4px solid var(--rotating-zone-accent,#e74c3c);background:var(--rotating-zone-bg,linear-gradient(135deg,#fff 0,#fdf6f6 100%))}.rotating-zones .zone-group.rotating-zone{position:relative}.rotating-zones .zone-group.rotating-zone:before{content:"🔄";position:absolute;top:16px;right:16px;font-size:1.2em;opacity:.7}.zone-title .rotating-indicator{display:inline-block;margin-left:8px;font-size:.8em;opacity:.8;animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.rotation-info{background:var(--rotation-info-bg,rgba(231,76,60,.05));border:1px solid var(--rotation-info-border,rgba(231,76,60,.2));border-radius:8px;padding:16px;margin-top:12px}.rotation-description{color:var(--text-muted,#6c757d);font-size:.9rem;margin-bottom:12px;font-style:italic}.rotation-schedule{display:flex;flex-direction:column;gap:8px}.rotation-year{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid var(--rotation-divider,rgba(231,76,60,.1))}.rotation-year:last-child{border-bottom:none}.rotation-year-label{font-weight:600;min-width:90px;color:var(--rotation-year-color,#e74c3c);font-size:.95rem}.rotation-regions{display:flex;flex-wrap:wrap;gap:6px;flex:1}.rotation-region{background:var(--region-badge-bg,rgba(52,152,219,.1));color:var(--region-badge-text,#2980b9);padding:3px 8px;border-radius:12px;font-size:.8rem;border:1px solid var(--region-badge-border,rgba(52,152,219,.3));white-space:nowrap}.rotation-more{background:var(--more-badge-bg,hsla(184,9%,62%,.1));color:var(--more-badge-text,#7f8c8d);padding:3px 8px;border-radius:12px;font-size:.8rem;font-style:italic;border:1px solid var(--more-badge-border,hsla(184,9%,62%,.3))}.rotating-zone-badge{background:linear-gradient(135deg,var(--rotating-zone-color,#e74c3c) 0,var(--rotating-zone-light,#f39c8f) 100%);color:#fff;padding:4px 8px;border-radius:12px;font-size:.85em;font-weight:500;position:relative;border:none;box-shadow:0 2px 4px rgba(231,76,60,.2)}.rotating-zone-badge:after{content:"🔄";font-size:.7em;margin-left:4px;opacity:.8}.affected-regions-badge{background:var(--regions-badge-bg,rgba(155,89,182,.1));color:var(--regions-badge-text,#8e44ad);padding:4px 8px;border-radius:12px;font-size:.8em;border:1px solid var(--regions-badge-border,rgba(155,89,182,.3));font-weight:500}.zone-info-banner.rotating-zones{background:linear-gradient(135deg,#fef9f9,#fdf2f2);border-left:4px solid var(--rotating-zone-accent,#e74c3c)}.rotating-zones-description{margin-bottom:16px}.rotation-explanation{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:16px}.rotation-feature{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--feature-bg,hsla(0,0%,100%,.7));border-radius:8px;border:1px solid var(--feature-border,rgba(231,76,60,.1))}.rotation-icon{font-size:1.5em;line-height:1;flex-shrink:0}.rotation-text{flex:1}.rotation-text strong{color:var(--rotation-accent,#e74c3c);display:block;margin-bottom:6px;font-size:.95rem}.rotation-text p{margin:0;color:var(--text-muted,#6c757d);font-size:.9rem;line-height:1.4}.zone-legend-item.rotating{background:linear-gradient(135deg,var(--rotating-zone-color,#e74c3c) 0,var(--rotating-zone-light,#f39c8f) 100%);color:#fff;position:relative;font-weight:500}.zone-legend-item.rotating .rotation-indicator{font-size:.8em;margin-left:6px;opacity:.9;animation:rotate 3s linear infinite}.rotating-zones-tip{background:var(--rotating-tip-bg,rgba(231,76,60,.05));border:1px solid var(--rotating-tip-border,rgba(231,76,60,.2));border-radius:8px;padding:20px;margin-top:16px}.rotation-notice{margin-top:12px;padding:12px;background:var(--notice-bg,rgba(241,196,15,.1));border-left:4px solid var(--notice-accent,#f1c40f);border-radius:4px}.rotation-notice strong{color:var(--notice-strong,#f39c12)}@media (max-width:768px){.region-selector-grid,.rotation-explanation{grid-template-columns:1fr;gap:12px}.rotation-year{flex-direction:column;gap:8px}.rotation-year-label{min-width:auto}.selected-region-display{flex-direction:column;align-items:flex-start;gap:4px}.region-option{padding:12px}}@media (max-width:480px){.region-selector-section{margin:16px 0;padding:16px}.rotation-feature{padding:12px}.rotation-regions{gap:4px}.rotation-more,.rotation-region{font-size:.75rem;padding:2px 6px}}.zone-group.rotating-zone{animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.region-selector-grid.loading{opacity:.6;pointer-events:none}.region-option.loading{position:relative;overflow:hidden}.region-option.loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}@media print{.region-selector-section{display:none}.rotation-explanation,.rotation-info,.zone-group{break-inside:avoid}.zone-group{margin-bottom:20px}}.community-selector{margin-bottom:24px}.community-selector.view-options{display:flex;flex-direction:column;gap:12px;background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius);padding:16px;width:100%;max-width:100%}.community-selector .selector-header{margin:0 0 8px;padding:0}.community-selector .selector-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0;padding:0}.community-selector .selector-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:8px}.community-selector .selector-buttons{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:var(--background-light);border-radius:6px;border:1px solid var(--border-light)}.community-toggle{padding:8px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .15s ease;font-size:.875rem;white-space:nowrap;min-width:auto;flex-shrink:0}.community-toggle:hover{background:var(--border-light);color:var(--text-primary)}.community-toggle.active{background:var(--background-white);color:var(--text-primary);box-shadow:var(--shadow-light);font-weight:600;border:1px solid var(--brand-primary);box-shadow:0 2px 4px rgba(32,178,170,.1)}.community-info{display:flex;flex-direction:column;gap:.5rem}.community-name{font-weight:600;font-size:1rem}.community-description{opacity:.8}.community-info-banner{background:var(--clean-gray);color:var(--text-primary);border:1px solid var(--border-light);padding:1rem;border-radius:var(--border-radius);margin-bottom:1rem}.community-info-content h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary);font-weight:600}.community-info-content p{margin:0 0 .75rem;color:var(--text-secondary)}.community-legend{display:flex;flex-wrap:wrap;gap:.25rem}.community-legend-item{display:inline-block;font-weight:500;padding:4px 8px;border-radius:12px;margin:2px;font-size:.85rem;color:#fff}.community-legend-item.community-french{background:var(--text-secondary)}.community-legend-item.community-german{background:var(--text-muted)}.community-legend-item.community-dutch{background:var(--brand-primary)}.community-based-holidays{display:flex;flex-direction:column;gap:2rem}.community-group{background:var(--clean-gray);border-radius:var(--border-radius);padding:1rem;border:1px solid var(--border-light)}.community-group[data-community=french]{border-left:3px solid var(--text-secondary)}.community-group[data-community=german]{border-left:3px solid var(--text-muted)}.community-group[data-community=dutch]{border-left:3px solid var(--brand-primary)}.community-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light)}.community-title-section{flex:1}.community-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.community-academies{margin:.25rem 0 0}.community-academies,.community-description{font-size:.85rem;color:var(--text-secondary);font-style:italic}.community-description{margin:.25rem 0}.community-count{background:var(--text-secondary);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.custom-school-holiday-item.community-specific{background:var(--background-white);border-left:none;border-right:none;padding-left:20px}.community-group[data-community=dutch] .custom-school-holiday-item.community-specific:hover,.community-group[data-community=french] .custom-school-holiday-item.community-specific:hover,.community-group[data-community=german] .custom-school-holiday-item.community-specific:hover{background:var(--clean-gray)}.community-badge{padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:500;color:#fff}.community-badge.community-french{background:var(--text-secondary)}.community-badge.community-german{background:var(--text-muted)}.community-badge.community-dutch{background:var(--brand-primary)}.empty-community{padding:2rem;text-align:center;color:var(--text-secondary);font-style:italic;background:var(--background-white)}.community-comparison-tip{background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius);padding:1rem;margin-top:1.5rem;text-align:center}.community-comparison-tip h4{margin:0 0 .5rem;color:var(--brand-primary);font-size:1rem}.community-comparison-tip p{margin:0;color:var(--text-primary);font-size:.9rem;line-height:1.4}.community-selector-section.compact{background:var(--clean-gray);border:1px solid var(--border-light);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:2rem}.community-selector-section .selector-header h3{color:var(--text-primary);font-size:1.2rem;margin:0 0 .5rem;font-weight:600}.community-selector-section .selector-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.community-selector-grid.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.community-option.compact{display:block;text-decoration:none;background:var(--background-white);border:2px solid var(--border-light);border-radius:var(--border-radius);padding:1rem;transition:all .3s ease;color:inherit}.community-option.compact:hover{border-color:var(--brand-primary);background:var(--clean-gray);text-decoration:none;color:inherit;transform:translateY(-1px);box-shadow:var(--shadow-light)}.community-option.compact.selected{border-color:var(--brand-primary);background:rgba(32,178,170,.1)}.community-option.compact .community-info h4{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary);font-weight:600}.community-option.compact .community-desc{color:var(--text-secondary);font-size:.9rem;margin:0}.selected-community-display{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.community-label{font-weight:600;color:var(--text-primary)}.community-value{color:var(--brand-primary);font-weight:500}@media (max-width:768px){.community-selector .selector-buttons{flex-direction:column;gap:4px}.community-toggle{width:100%;text-align:center;padding:8px 12px}.community-header{flex-direction:column;gap:1rem;align-items:flex-start}.community-count{align-self:flex-end}.community-legend{justify-content:center}.community-selector-grid.compact{grid-template-columns:1fr}}@media (max-width:480px){.community-selector.view-options{padding:10px}.community-selector-section.compact{padding:12px;margin-bottom:16px}}.education-level-badge{background:rgba(101,201,149,.1);color:#059669;border:1px solid rgba(101,201,149,.3);font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--border-radius);text-transform:capitalize;white-space:nowrap}.education-level-badge.level-primary{background:rgba(59,130,246,.1);color:#2563eb;border:1px solid rgba(59,130,246,.3)}.education-level-badge.level-secondary{background:rgba(168,85,247,.1);color:#7c3aed;border:1px solid rgba(168,85,247,.3)}.school-type-based-holidays{display:flex;flex-direction:column;gap:2rem;margin-top:1.5rem}.school-type-group{background:var(--background-white);padding:1rem 1.25rem 1.25rem;transition:box-shadow .15s ease}.school-type-group:hover{box-shadow:var(--shadow-medium)}.school-type-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-light);gap:1rem}.school-type-title-section{flex:1;min-width:0}.school-type-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.school-type-description{font-size:.875rem;color:var(--text-secondary);margin:.5rem 0 0;line-height:1.5}.school-type-count{flex-shrink:0;font-size:.875rem;font-weight:600;padding:.375rem .75rem;white-space:nowrap}.empty-school-type,.school-type-count{color:var(--text-secondary);background:var(--background-light);border-radius:var(--border-radius)}.empty-school-type{padding:2rem;text-align:center}.school-type-comparison-tip{background:linear-gradient(135deg,rgba(59,130,246,.05),rgba(168,85,247,.05));border:1px solid rgba(59,130,246,.2);border-left:4px solid #3b82f6;border-radius:var(--border-radius);padding:1.25rem;margin-top:1.5rem}.school-type-comparison-tip h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.school-type-comparison-tip p{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.5}.custom-school-holiday-item.school-type-specific{border-left:3px solid transparent}.school-type-group[data-school-type=public] .custom-school-holiday-item.school-type-specific{border-left-color:#3b82f6}.school-type-group[data-school-type=international] .custom-school-holiday-item.school-type-specific{border-left-color:#a855f7}.school-type-group[data-school-type=private] .custom-school-holiday-item.school-type-specific{border-left-color:#ec4899}@media (max-width:768px){.school-type-header{flex-direction:column;align-items:flex-start}.school-type-count{align-self:flex-start}}.school-type-badge{border:1px solid rgba(59,130,246,.3);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap;text-transform:capitalize}.school-type-badge,.school-type-badge.type-public{background:linear-gradient(135deg,rgba(59,130,246,.15),rgba(59,130,246,.05));color:#2563eb}.school-type-badge.type-public{border-color:rgba(59,130,246,.3)}.school-type-badge.type-international{background:linear-gradient(135deg,rgba(168,85,247,.15),rgba(168,85,247,.05));color:#9333ea;border-color:rgba(168,85,247,.3)}.school-type-badge.type-private{background:linear-gradient(135deg,rgba(236,72,153,.15),rgba(236,72,153,.05));color:#db2777;border-color:rgba(236,72,153,.3)}.group-counties{font-size:.85rem;color:#666;margin-top:.5rem;line-height:1.6;font-weight:400}.fixed-groups .zone-title-section{flex:1}.fixed-groups .group-counties{max-width:100%;word-wrap:break-word;white-space:normal}.zone-legend-item.clickable-zone{cursor:pointer;transition:all .3s ease;position:relative;padding-right:2rem;border:none}.zone-legend-item.clickable-zone:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.zone-legend-item.clickable-zone:active{transform:translateY(0)}.scroll-indicator{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);opacity:.7;font-size:.8rem}.zone-legend-item.clickable-zone:hover .scroll-indicator{opacity:1;animation:bounce 1s infinite}.zone-legend-help{margin-top:.5rem;font-size:.9rem;opacity:.8;text-align:center;font-style:italic}.zone-group.zone-highlight{animation:zoneHighlight 3s ease-out;border-left:4px solid #007bff}@keyframes zoneHighlight{0%{background-color:rgba(0,123,255,.1);transform:scale(1.02)}50%{background-color:rgba(0,123,255,.05)}to{background-color:transparent;transform:scale(1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(-50%)}40%{transform:translateY(-60%)}60%{transform:translateY(-55%)}}@media (max-width:768px){.zone-legend-item.clickable-zone{padding-right:1.5rem}.scroll-indicator{right:.25rem;font-size:.7rem}}.public-holidays .section-header,.school-holidays .section-header{padding:16px 20px!important;margin:0!important;box-sizing:border-box!important;background:#e2e8f0!important;border-bottom:2px solid #cbd5e1!important}.public-holidays .section-header h2,.school-holidays .section-header h2{margin:0!important;padding:0!important;font-size:1.3em!important;font-weight:700!important;color:#0f172a!important}.public-holidays .custom-holiday-list,.school-holidays .custom-holiday-list{padding:0!important;margin:0!important}.public-holidays .custom-public-holiday-item,.school-holidays .custom-school-holiday-item{padding:16px 20px!important;margin:0!important;box-sizing:border-box!important}.public-holidays .custom-public-holiday-item .holiday-name,.school-holidays .custom-school-holiday-item .holiday-name{margin:0 0 6px!important;padding:0!important}.public-holidays-list-container,.school-holidays-list-container{max-width:100%}.public-holidays-full-width,.school-holidays-full-width{max-width:100%;width:100%}.public-holidays-full-width .custom-holiday-list,.school-holidays-full-width .custom-holiday-list{display:grid;grid-template-columns:1fr;gap:0}@media (min-width:768px){.public-holidays-full-width .custom-holiday-list,.school-holidays-full-width .custom-holiday-list{grid-template-columns:1fr}.public-holidays-full-width .custom-public-holiday-item,.school-holidays-full-width .custom-school-holiday-item{display:flex;flex-direction:column}.public-holidays-full-width .holiday-content,.school-holidays-full-width .holiday-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.public-holidays-full-width .holiday-main-info,.school-holidays-full-width .holiday-main-info{flex:1;min-width:300px}.public-holidays-full-width .holiday-badges,.school-holidays-full-width .holiday-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}}.public-holidays-full-width .bridge-opportunity-details,.school-holidays-full-width .bridge-opportunity-details{margin-top:16px;padding-top:16px;border-top:1px dashed var(--border-light)}.public-holidays-full-width .empty-state,.school-holidays-full-width .empty-state{padding:48px 24px;text-align:center}.public-holidays-full-width .empty-state-text,.school-holidays-full-width .empty-state-text{color:var(--text-secondary);font-size:1rem}.breadcrumb-nav .breadcrumb-link{padding:0;margin:0;border:none;border-radius:0;background:transparent;box-shadow:none;display:inline}.filter-toggle{display:flex;gap:8px;margin-bottom:24px;padding:4px;background:var(--background-light);border-radius:var(--border-radius);border:1px solid var(--border-light);width:fit-content}.filter-btn{padding:10px 18px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.filter-btn:hover{background:rgba(32,178,170,.1);color:var(--brand-primary)}.filter-btn.active{background:var(--background-white);color:var(--brand-primary);border:1px solid var(--brand-primary);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}@media (max-width:480px){.filter-toggle{width:100%;flex-direction:row;padding:3px}.filter-btn{flex:1;justify-content:center;padding:8px 12px;font-size:.8rem}}.zone-selector-section{margin:24px 0;padding:24px;background:var(--selector-bg,#f8f9fa);border-radius:12px;border:1px solid var(--selector-border,#e0e6ed)}.zone-selector-section.compact{margin:16px 0;padding:16px}.zone-selector-section .selector-header{margin-bottom:20px;text-align:center}.zone-selector-section .selector-header h3{margin:0 0 8px;color:var(--heading-color,#2c3e50);font-size:1.25rem;font-weight:600}.zone-selector-section .selector-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.zone-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:20px}.zone-selector-grid.compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px}.zone-option{padding:16px;border:2px solid var(--region-option-border,#e0e6ed);border-radius:8px}.zone-option,.zone-option.compact{display:block;background:var(--region-option-bg,#fff);text-decoration:none;color:var(--text-color,#333);transition:all .2s ease;position:relative}.zone-option.compact{padding:12px;border:2px solid var(--region-option-border,#e0e6ed);border-radius:6px;min-height:auto}.zone-option.compact:hover,.zone-option:hover{border-color:var(--accent-color,#20b2aa);box-shadow:0 2px 8px rgba(32,178,170,.15);transform:translateY(-1px)}.zone-option.compact.selected,.zone-option.selected{border-color:var(--accent-color,#20b2aa);background:var(--region-selected-bg,rgba(32,178,170,.1));box-shadow:0 2px 12px rgba(32,178,170,.2)}.zone-option.compact.selected:before,.zone-option.selected:before{content:"✓";position:absolute;top:8px;right:12px;color:var(--accent-color,#20b2aa);font-weight:700;font-size:1em}.zone-option .zone-info h4,.zone-option.compact .zone-info h4{margin:0 0 4px;color:var(--heading-color,#2c3e50);font-size:1rem;font-weight:600;line-height:1.3}.zone-option .zone-desc,.zone-option.compact .zone-desc{color:var(--text-secondary);font-size:.8rem;margin:4px 0 0}.zone-option .zone-academies,.zone-option.compact .zone-academies{color:var(--text-secondary);font-size:.75rem;margin:4px 0 0;line-height:1.3}.fixed-groups-selector-section{margin:24px 0;padding:24px;background:var(--selector-bg,#f8f9fa);border-radius:12px;border:1px solid var(--selector-border,#e0e6ed)}.fixed-groups-selector-section.compact{margin:16px 0;padding:16px}.fixed-groups-selector-section .selector-header{margin-bottom:20px;text-align:center}.fixed-groups-selector-section .selector-header h3{margin:0 0 8px;color:var(--heading-color,#2c3e50);font-size:1.25rem;font-weight:600}.fixed-groups-selector-section .selector-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.fixed-groups-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:20px}.fixed-groups-selector-grid.compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:16px}.fixed-group-option{padding:16px;border:2px solid var(--region-option-border,#e0e6ed);border-radius:8px}.fixed-group-option,.fixed-group-option.compact{display:block;background:var(--region-option-bg,#fff);text-decoration:none;color:var(--text-color,#333);transition:all .2s ease;position:relative}.fixed-group-option.compact{padding:12px;border:2px solid var(--region-option-border,#e0e6ed);border-radius:6px;min-height:auto}.fixed-group-option.compact:hover,.fixed-group-option:hover{border-color:var(--accent-color,#20b2aa);box-shadow:0 2px 8px rgba(32,178,170,.15);transform:translateY(-1px)}.fixed-group-option.compact.selected,.fixed-group-option.selected{border-color:var(--accent-color,#20b2aa);background:var(--region-selected-bg,rgba(32,178,170,.1));box-shadow:0 2px 12px rgba(32,178,170,.2)}.fixed-group-option.compact.selected:before,.fixed-group-option.selected:before{content:"✓";position:absolute;top:8px;right:12px;color:var(--accent-color,#20b2aa);font-weight:700;font-size:1em}.fixed-group-option .fixed-group-info h4,.fixed-group-option.compact .fixed-group-info h4{margin:0 0 4px;color:var(--heading-color,#2c3e50);font-size:1rem;font-weight:600;line-height:1.3}.fixed-group-option .fixed-group-desc,.fixed-group-option.compact .fixed-group-desc{color:var(--text-secondary);font-size:.8rem;margin:4px 0 0}.fixed-group-option .fixed-group-counties,.fixed-group-option.compact .fixed-group-counties{color:var(--text-secondary);font-size:.75rem;margin:4px 0 0;line-height:1.3}@media (max-width:768px){.fixed-groups-selector-grid,.fixed-groups-selector-grid.compact,.zone-selector-grid,.zone-selector-grid.compact{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.fixed-group-option,.fixed-group-option.compact,.zone-option,.zone-option.compact{padding:10px}.fixed-group-option .fixed-group-info h4,.fixed-group-option.compact .fixed-group-info h4,.zone-option .zone-info h4,.zone-option.compact .zone-info h4{font-size:.9rem}.fixed-group-option .fixed-group-counties,.fixed-group-option.compact .fixed-group-counties,.zone-option .zone-academies,.zone-option.compact .zone-academies{font-size:.7rem}}@media (max-width:480px){.fixed-groups-selector-grid,.fixed-groups-selector-grid.compact,.zone-selector-grid,.zone-selector-grid.compact{grid-template-columns:repeat(2,1fr);gap:8px}.fixed-groups-selector-section,.fixed-groups-selector-section.compact,.zone-selector-section,.zone-selector-section.compact{margin:12px 0;padding:12px}.fixed-group-option,.fixed-group-option.compact,.zone-option,.zone-option.compact{padding:8px}}@media print{.fixed-groups-selector-section,.zone-selector-section{display:none}}.region-selector-dropdown{width:100%;font-size:.95rem;font-weight:500;color:var(--text-primary,#2c3e50);background:var(--background-white,#fff);border:2px solid var(--border-light,#e0e6ed);border-radius:8px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding:12px 40px 12px 16px;transition:border-color .2s ease,box-shadow .2s ease;margin-top:12px}.region-selector-dropdown:focus,.region-selector-dropdown:hover{border-color:var(--accent-color,#20b2aa)}.region-selector-dropdown:focus{outline:none;box-shadow:0 0 0 3px rgba(32,178,170,.15)}@media (max-width:480px){.region-selector-dropdown{font-size:.875rem;padding:10px 36px 10px 14px}}.holiday-month-section{margin-bottom:1.25rem}.holiday-month-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin:0 0 .5rem;background:linear-gradient(135deg,#f0fffe,#f7fffe);border-left:3px solid #20b2aa;border-radius:0 6px 6px 0;font-size:1.1rem;font-weight:600;color:#1a1a1a;position:sticky;top:0;z-index:5}.holiday-month-name{text-transform:capitalize}.holiday-month-count{font-size:.75rem;font-weight:500;color:#20b2aa;background:rgba(32,178,170,.1);padding:.15rem .5rem;border-radius:10px}