.calendar-layout{display:flex;gap:20px;width:100%;align-items:flex-start}.calendar-sidebar{flex:0 0 220px;background:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color);box-shadow:0 2px 12px rgba(0,0,0,.06);padding:0;position:sticky;top:20px}.sidebar-header{padding:12px 16px;font-size:.85em;font-weight:700;color:var(--text-primary);border-bottom:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px 12px 0 0;display:flex;align-items:center;gap:8px}.sidebar-header i:first-child{color:var(--brand-primary)}.sidebar-title{flex:1}.sidebar-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-toggle i{transition:transform .3s ease}.calendar-layout.sidebar-collapsed .calendar-sidebar{flex:0 0 auto;width:auto;min-width:0}.calendar-layout.sidebar-collapsed .calendar-sidebar .calendar-filters-form{display:none}.calendar-layout.sidebar-collapsed .sidebar-header{border-radius:12px;border-bottom:none}.calendar-layout.sidebar-collapsed .sidebar-title{display:none}.calendar-layout.sidebar-collapsed .sidebar-toggle i{transform:rotate(180deg)}.calendar-sidebar .calendar-filters-form{padding:14px;display:flex;flex-direction:column;gap:14px}.calendar-sidebar .filter-group{display:flex;flex-direction:column;gap:5px;width:100%}.calendar-sidebar .filter-label{font-size:.7em;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;display:flex;align-items:center;gap:5px}.calendar-sidebar .filter-label i{font-size:.9em;color:var(--brand-primary)}.calendar-sidebar .filter-input{padding:8px 10px;font-size:.8em;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);transition:all .15s ease;width:100%}.calendar-sidebar .filter-input:focus{outline:none;border-color:var(--brand-primary);background:var(--bg-primary)}.calendar-sidebar .filter-types-container{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-x:hidden;overflow-y:auto;padding:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;width:100%;box-sizing:border-box}.calendar-sidebar .filter-type-checkbox{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease;width:100%}.calendar-sidebar .filter-type-checkbox:hover{border-color:var(--brand-primary)}.calendar-sidebar .filter-type-checkbox:has(input:checked) {background:var(--brand-primary);border-color:var(--brand-primary)}.calendar-sidebar .filter-type-checkbox:has(input:checked) .filter-type-label {color:#fff}.calendar-sidebar .filter-type-checkbox input{display:none}.calendar-sidebar .filter-type-label{font-size:.75em;font-weight:500;color:var(--text-secondary)}.calendar-sidebar .filter-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 10px;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.calendar-sidebar .filter-checkbox-custom{width:16px;height:16px;border:2px solid var(--border-color);border-radius:4px;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.calendar-sidebar .filter-checkbox-custom::after{content:'';width:8px;height:8px;background:var(--brand-primary);border-radius:2px;transform:scale(0);transition:transform .1s ease}.calendar-sidebar .filter-checkbox input:checked+.filter-checkbox-custom{border-color:var(--brand-primary)}.calendar-sidebar .filter-checkbox input:checked+.filter-checkbox-custom::after{transform:scale(1)}.calendar-sidebar .filter-checkbox input{display:none}.calendar-sidebar .filter-checkbox-label{font-size:.75em;color:var(--text-secondary);font-weight:500}.calendar-sidebar .filter-actions{display:flex;gap:8px;padding-top:6px;border-top:1px solid var(--border-color)}.calendar-sidebar .filter-btn{flex:1;padding:8px 12px;font-size:.75em;font-weight:600;border:none;border-radius:6px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:5px}.calendar-sidebar .filter-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(74,174,220,.3)}.calendar-sidebar .filter-btn-clear{padding:8px 12px;font-size:.75em;font-weight:600;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:4px;text-decoration:none}.calendar-sidebar .filter-btn-clear:hover{border-color:var(--text-muted);color:var(--text-primary)}.calendar-layout .calendar{flex:1;min-width:0}.calendar{position:relative;width:100%;padding:0;display:flex;flex-flow:column;min-height:calc(100vh - 80px);overflow:visible;background:var(--bg-primary);border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);border:1px solid var(--border-color);font-size:14px}.calendar-header-combined{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);gap:12px}.calendar-header-left{display:flex;align-items:center;gap:6px;flex-shrink:0}.calendar-icon{color:var(--brand-primary);font-size:.9em}.calendar-label{font-size:.9em;font-weight:600;color:var(--text-primary)}.calendar-header-center{display:flex;align-items:center;justify-content:center;gap:10px;flex:1}.calendar-header-right{flex-shrink:0}.calendar-timezone-note{font-size:.65em;color:var(--text-muted);white-space:nowrap}.calendar h2{padding:10px 14px 0;margin:0;font-size:.95em;font-weight:600;color:var(--text-primary)}.calendar>p{padding:2px 14px 8px;margin:0;font-size:.65em;color:var(--text-muted)}.calendar .prev-button,.calendar .next-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;transition:all .15s ease}.calendar .prev-button:hover,.calendar .next-button:hover{background:var(--brand-primary);border-color:var(--brand-primary)}.calendar .prev-button:hover img,.calendar .next-button:hover img{filter:brightness(10)}.calendar .prev-button img,.calendar .next-button img{width:12px;height:12px;opacity:.7;transition:all .15s ease}.calendar .month-year{font-size:1.1em;font-weight:700;color:var(--text-primary);min-width:160px;text-align:center}.calendar .month-year{margin:0;display:inline-flex;justify-content:center}.calendar-filters{padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.calendar-filters-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.filter-row{display:contents}.filter-group{display:flex;flex-direction:column;gap:3px;min-width:0}.filter-group-search{flex:1.5;min-width:140px}.filter-group:not(.filter-group-search):not(.filter-group-checkbox) {flex:1;min-width:120px}.filter-group-checkbox{flex:0 0 auto}.filter-label{font-size:.65em;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;display:flex;align-items:center;gap:4px}.filter-label i{font-size:.85em;color:var(--brand-primary)}.filter-input,.filter-select{padding:6px 10px;font-size:.8em;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);transition:all .15s ease;width:100%}.filter-input::placeholder{color:var(--text-muted);font-size:.95em}.filter-select{appearance:none;cursor:pointer;background-image:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ width=\'10\'\ height=\'10\'\ viewBox=\'0\ 0\ 12\ 12\'%3E%3Cpath\ fill=\'%23666\'\ d=\'M6\ 8L1\ 3h10z\'/%3E%3C/svg%3E);background-repeat:no-repeat;background-position:right 8px center;padding-right:26px}.filter-input:hover,.filter-select:hover{border-color:var(--text-muted)}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px rgba(74,174,220,.1)}.filter-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 0}.filter-checkbox input{display:none}.filter-checkbox-custom{width:14px;height:14px;border:1.5px solid var(--border-color);border-radius:3px;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.filter-checkbox-custom::after{content:'';width:8px;height:8px;background:var(--brand-primary);border-radius:1px;transform:scale(0);transition:transform .1s ease}.filter-checkbox input:checked+.filter-checkbox-custom{border-color:var(--brand-primary)}.filter-checkbox input:checked+.filter-checkbox-custom::after{transform:scale(1)}.filter-checkbox:hover .filter-checkbox-custom{border-color:var(--brand-primary)}.filter-checkbox-label{font-size:.75em;color:var(--text-secondary);font-weight:500;white-space:nowrap}.filter-group-types{flex:2;min-width:200px}.filter-types-container{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;max-height:140px;overflow-y:auto}.filter-type-checkbox{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.filter-type-checkbox:hover{border-color:var(--brand-primary);background:var(--bg-tertiary)}.filter-type-checkbox:has(input:checked) {background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.filter-type-checkbox:has(input:checked) .filter-type-label {color:#fff}.filter-type-checkbox input{display:none}.filter-type-label{font-size:.7em;font-weight:500;color:var(--text-secondary);white-space:nowrap}.filter-actions{display:flex;gap:6px;flex:0 0 auto}.filter-btn{padding:6px 12px;font-size:.75em;font-weight:600;border:none;border-radius:6px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.filter-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(74,174,220,.25)}.filter-btn:active{transform:translateY(0)}.filter-btn i{font-size:.85em}.filter-btn-clear{padding:6px 10px;font-size:.75em;font-weight:600;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;text-decoration:none}.filter-btn-clear:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-tertiary)}.filter-btn-clear i{font-size:.8em}.calendar-selector{display:none}.calendar .days{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:auto;grid-auto-rows:1fr;padding:0;flex:1}.calendar .days .day_name{padding:6px 4px;text-transform:uppercase;font-size:16px;font-weight:600;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,#1e3a5f,#0d2137);text-align:center;border:none}.calendar .days .day_name:first-child{border-radius:0}.calendar .days .day_name:last-child{border-radius:0}.calendar .days .day_num{display:flex;flex-flow:column;padding:4px;min-height:90px;overflow:hidden;background:var(--bg-primary);border:1px solid var(--border-color);border-top:none;cursor:pointer;transition:background-color .15s ease;position:relative}.calendar .days .day_num:hover{background:var(--bg-secondary)}.calendar .days .day_num.ignore{background:var(--bg-tertiary);opacity:.5;cursor:default}.calendar .days .day_num.ignore:hover{background:var(--bg-tertiary)}.calendar .days .day_num.selected{background:rgba(74,174,220,.08)}.calendar .days .day_num.selected>span{background:var(--brand-primary);color:#fff}.calendar .days .day_num>span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:.75em;font-weight:600;color:var(--text-primary);border-radius:6px;margin-bottom:3px;transition:all .15s ease}.calendar-arrow-cont{position:absolute;top:3px;right:3px;z-index:2}.calendar-right-arrow{width:16px;height:16px;padding:3px;border-radius:4px;background:var(--bg-tertiary);opacity:.5;transition:all .15s ease;cursor:pointer}.calendar-right-arrow:hover{opacity:1;background:var(--bg-secondary)}.calendar .days .day_num .event,.event{position:relative;margin-top:3px;font-weight:500;font-size:.7em;padding:6px 6px;border-radius:4px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8) , 0 0 4px rgba(0,0,0,.6) , 0 0 1px rgba(0,0,0,.9);word-wrap:break-word;cursor:pointer;transition:transform .1s ease , box-shadow .1s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.calendar .days .day_num .event:hover,.event:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.15)}.event-modal{white-space:normal;margin:4px 0;padding:8px 10px;font-size:.8em}.green{background-color:#10b981}.blue{background-color:#3b82f6}.red{background-color:#ef4444}.medturquoise{background-color:#14b8a6}.dodgerblue{background-color:#0ea5e9}.tomato{background-color:#f97316}.medvioletred{background-color:#ec4899}.springgreen{background-color:#22c55e}.darkkhaki{background-color:#eab308}.medseagreen{background-color:#34d399}.greenyellow{background-color:#84cc16}.aquamarine{background-color:#2dd4bf}.orange{background-color:#f59e0b}.grey{background-color:#6b7280;opacity:.7}.extra-events-cont{position:fixed!important;top:50%;left:50%;transform:translate(-50%,-50%);padding:0;width:94%;max-width:520px;max-height:85vh;display:none;background:var(--bg-primary);color:var(--text-primary);z-index:1001;box-shadow:0 25px 60px rgba(0,0,0,.3);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;animation:modalPop .25s ease-out}.extra-events-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.extra-events-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));border-radius:10px;color:#fff;font-size:1em;flex-shrink:0}.extra-events-title{flex:1;min-width:0}.extra-events-label{display:block;font-size:.75em;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.extra-events-date{display:block;font-size:1.1em;font-weight:700;color:var(--text-primary)}.extra-events-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;flex-shrink:0}.extra-events-close:hover{background:#ef4444;color:#fff}.extra-events-list{padding:10px 14px;max-height:65vh;overflow-y:auto}.extra-event-item{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:6px;background:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.extra-event-item:last-child{margin-bottom:0}.extra-event-item:hover{background:var(--bg-tertiary);border-color:var(--border-color);transform:translateX(4px)}.extra-event-color{width:4px;height:28px;border-radius:2px;flex-shrink:0}.extra-event-color.green{background:#10b981}.extra-event-color.blue{background:#3b82f6}.extra-event-color.red{background:#ef4444}.extra-event-color.medturquoise{background:#14b8a6}.extra-event-color.dodgerblue{background:#0ea5e9}.extra-event-color.tomato{background:#f97316}.extra-event-color.medvioletred{background:#ec4899}.extra-event-color.springgreen{background:#22c55e}.extra-event-color.darkkhaki{background:#eab308}.extra-event-color.medseagreen{background:#34d399}.extra-event-color.greenyellow{background:#84cc16}.extra-event-color.aquamarine{background:#2dd4bf}.extra-event-color.orange{background:#f59e0b}.extra-event-color.grey{background:#6b7280}.extra-event-info{flex:1;min-width:0}.extra-event-name{font-size:.85em;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px}.extra-event-time{font-size:.7em;color:var(--text-muted);display:flex;align-items:center;gap:4px}.extra-event-time i{font-size:.85em}.extra-event-arrow{color:var(--text-muted);font-size:.8em;transition:transform .2s ease}.extra-event-item:hover .extra-event-arrow{transform:translateX(3px);color:var(--brand-primary)}.extra-events-cont>.close-button{display:none}.extra-events-cont .event-modal{display:block;margin:8px 12px;padding:12px 16px;font-size:.85em;font-weight:500;border-radius:10px;cursor:pointer;transition:transform .15s ease , box-shadow .15s ease;white-space:normal;line-height:1.4}.extra-events-cont .event-modal:hover{transform:translateX(4px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.event-info-container{position:fixed!important;top:50%;left:50%;transform:translate(-50%,-50%);padding:24px;width:90%;max-width:600px;max-height:80vh;display:none;background:var(--bg-primary);color:var(--text-primary);z-index:1001;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);border-radius:20px;border:1px solid var(--border-color);overflow-y:auto;animation:modalPop .35s cubic-bezier(.34,1.56,.64,1)}.info-cont{height:auto;overflow:auto;font-size:.95em}.info-cont h2{margin:0 0 16px;padding:0;font-size:1.4em;color:var(--text-primary)}.event-info-cont{text-align:left;margin-bottom:12px;padding:12px;background:var(--bg-secondary);border-radius:10px}.event-info-cont h3{margin:0 0 4px;font-size:.85em;color:var(--text-secondary);font-weight:600}.event-info-cont p{margin:0;color:var(--text-primary)}.event-info-cont a{color:var(--brand-primary);text-decoration:none}.event-info-cont a:hover{text-decoration:underline}.inline-event-datetime{display:inline-block;margin-right:24px;margin-bottom:8px}.close-button{position:absolute;top:16px;right:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.2em;color:var(--text-muted);background:var(--bg-tertiary);border-radius:8px;cursor:pointer;transition:all .2s ease;z-index:10}.close-button::before{content:"×";font-weight:300;line-height:1}.close-button:hover{background:#ef4444;color:#fff}.container-shadow{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:none;overflow:hidden}.container-shadow[style*="display: block"]{display:block!important}body:has(.container-shadow[style*="display: block"]) {overflow:hidden}@media only screen and (max-width:1000px){.calendar-layout{flex-direction:column;gap:16px}.calendar-sidebar{flex:none;width:100%;position:static}.calendar-sidebar .calendar-filters-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:12px}.calendar-sidebar .filter-group:has(.filter-types-container) {grid-column:span 2}.calendar-sidebar .filter-types-container{flex-direction:column;max-height:120px;overflow-y:auto}.calendar-sidebar .filter-actions{grid-column:span 2;border-top:none;padding-top:0}.calendar{border-radius:10px;font-size:13px;min-height:auto}.calendar .days{flex:none;grid-template-rows:auto;grid-auto-rows:auto}.calendar h2{padding:12px 12px 0;font-size:1.1em}.calendar>p{padding:4px 12px 8px;font-size:.7em}.calendar-header-combined{padding:6px 10px;gap:8px}.calendar-header-right{display:none}.calendar .month-year{font-size:1em;min-width:auto}.calendar .prev-button,.calendar .next-button{width:28px;height:28px}.calendar .prev-button img,.calendar .next-button img{width:10px;height:10px}.calendar .days .day_name{padding:6px 2px;font-size:.55em}.calendar .days .day_num{padding:3px;min-height:70px;max-height:100px}.calendar .days .day_num>span{width:18px;height:18px;font-size:.7em}.calendar .days .day_num .event{font-size:.55em;padding:4px 4px}.calendar-filters{padding:10px 12px}.calendar-filters-form{gap:8px}.filter-group{min-width:100px}.filter-group-search{min-width:120px}.filter-input,.filter-select{padding:6px 8px;font-size:.75em}.filter-label{font-size:.6em}.filter-checkbox-label{font-size:.7em}.filter-btn,.filter-btn-clear{padding:6px 10px;font-size:.7em}.calendar-selector input[type="date"],.calendar-selector select{padding:8px 10px;font-size:.85em}.calendar-selector input[type="submit"]{padding:8px 16px}.calendar .days .day_name{padding:10px 4px;font-size:.65em}.calendar .days .day_num{padding:4px;min-height:80px;max-height:100px}.calendar .days .day_num>span{width:24px;height:24px;font-size:.75em;margin-bottom:4px}.calendar .days .day_num .event,.event{font-size:0;padding:6px 6px;margin-top:2px;min-height:10px}.calendar-arrow-cont{top:4px;right:4px}.calendar-right-arrow{width:28px;height:28px;padding:6px}.event-modal{font-size:.85em;padding:8px 10px}.extra-events-cont{width:95%;max-width:none;max-height:70vh}.extra-events-header{padding:14px 16px;gap:10px}.extra-events-icon{width:36px;height:36px;font-size:.9em}.extra-events-label{font-size:.7em}.extra-events-date{font-size:1em}.extra-events-list{padding:10px;max-height:45vh}.extra-event-item{padding:10px;gap:10px}.extra-event-name{font-size:.85em}.extra-event-time{font-size:.7em}.extra-event-color{height:32px}.event-info-container{width:95%;padding:20px;max-height:80vh}.close-button{top:12px;right:12px;width:32px;height:32px;font-size:1.3em}}@media only screen and (max-width:480px){.calendar-sidebar .calendar-filters-form{grid-template-columns:1fr;gap:10px}.calendar-sidebar .filter-group:has(.filter-types-container),
    .calendar-sidebar .filter-actions {grid-column:span 1}.sidebar-header{padding:10px 14px;font-size:.8em}.calendar{font-size:12px}.calendar h2{padding:10px 10px 0;font-size:1em}.calendar>p{padding:2px 10px 6px;font-size:.65em}.calendar .days .day_name{padding:5px 1px;font-size:.5em;letter-spacing:0}.calendar .days .day_num{padding:2px;min-height:55px;max-height:70px}.calendar .days .day_num>span{width:16px;height:16px;font-size:.65em;margin-bottom:2px}.calendar .days .day_num .event{font-size:0;padding:5px 4px;margin-top:1px}.calendar .month-year{font-size:.9em;min-width:100px}.calendar-header-combined{padding:5px 8px;gap:6px}.calendar-header-left{display:none}.calendar .prev-button,.calendar .next-button{width:26px;height:26px}.calendar-arrow-cont{top:2px;right:2px}.calendar-right-arrow{width:18px;height:18px}.calendar-filters{padding:10px}.calendar-filters-form{gap:8px}.filter-group{flex:1 1 calc(50% - 4px);min-width:calc(50% - 4px)}.filter-group-search{flex:1 1 100%;min-width:100%}.filter-group-checkbox{flex:1 1 100%}.filter-group-types{flex:1 1 100%;min-width:100%}.filter-types-container{max-height:100px}.filter-actions{flex:1 1 100%;justify-content:center}.filter-btn,.filter-btn-clear{flex:1;justify-content:center;padding:8px}.calendar-selector form{flex-direction:column;width:100%}.calendar-selector input[type="date"],.calendar-selector select,.calendar-selector input[type="submit"]{width:100%}.extra-events-cont{position:fixed!important;top:10px!important;left:5px!important;right:5px!important;bottom:10px!important;transform:none!important;width:auto!important;max-width:none!important;max-height:none!important;height:auto!important;border-radius:12px}.extra-events-header{padding:12px 14px;gap:8px;position:sticky;top:0;z-index:10}.extra-events-icon{width:32px;height:32px;font-size:.85em;border-radius:8px}.extra-events-close{width:36px;height:36px;font-size:1.1em}.extra-events-list{max-height:calc(100vh - 120px);overflow-y:auto;padding:8px}.extra-event-item{padding:8px 10px;gap:8px}.event-info-container{position:fixed!important;top:10px!important;left:5px!important;right:5px!important;bottom:10px!important;transform:none!important;width:auto!important;max-width:none!important;max-height:none!important;padding:16px;border-radius:12px}.close-button{top:10px;right:10px;width:36px;height:36px;font-size:1.4em;z-index:20}.container-shadow{padding:0}}.holiday-event{cursor:default!important;padding:4px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;text-shadow:0 1px 2px rgba(0,0,0,.8) , 0 0 4px rgba(0,0,0,.6) , 0 0 1px rgba(0,0,0,.9)}.holiday-event i{font-size:.9em;flex-shrink:0}.extra-holiday-item{cursor:default!important;opacity:.9}.extra-holiday-item:hover{background:transparent!important}.extra-holiday-item .extra-event-color{width:4px;border-radius:4px}.event .event-icon{font-size:9px;margin-right:4px;opacity:.9;flex-shrink:0}.event .event-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event .day-badge{font-size:9px;background:rgba(0,0,0,.2);padding:1px 5px;border-radius:3px;margin-left:4px;flex-shrink:0;font-weight:600}.event{display:flex;align-items:center;position:relative}.event.pattern-solid,.extra-event-color.pattern-solid{}.event.pattern-stripes-h{background-image: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 4px,
        rgba(255, 255, 255, 0.4) 4px,
        rgba(255, 255, 255, 0.4) 7px
    )}.event.pattern-stripes-v{background-image: repeating-linear-gradient(
        90deg,
        transparent,
        transparent 4px,
        rgba(255, 255, 255, 0.4) 4px,
        rgba(255, 255, 255, 0.4) 7px
    )}.event.pattern-stripes-diag{background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 4px,
        rgba(255, 255, 255, 0.4) 4px,
        rgba(255, 255, 255, 0.4) 7px
    )}.event.pattern-stripes-diag-rev{background-image: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 4px,
        rgba(255, 255, 255, 0.4) 4px,
        rgba(255, 255, 255, 0.4) 7px
    )}.event.pattern-dots{background-image: radial-gradient(
        circle,
        rgba(255, 255, 255, 0.5) 2px,
        transparent 2px
    );background-size:8px 8px}.event.pattern-crosshatch{background-image:
        repeating-linear-gradient(
            45deg,
            transparent,
            transparent 3px,
            rgba(255, 255, 255, 0.3) 3px,
            rgba(255, 255, 255, 0.3) 5px
        ),
        repeating-linear-gradient(
            -45deg,
            transparent,
            transparent 3px,
            rgba(255, 255, 255, 0.3) 3px,
            rgba(255, 255, 255, 0.3) 5px
        )}.event.pattern-chevrons{background-image: repeating-linear-gradient(
        135deg,
        transparent,
        transparent 4px,
        rgba(255, 255, 255, 0.35) 4px,
        rgba(255, 255, 255, 0.35) 8px,
        transparent 8px,
        transparent 12px
    )}.event.pattern-zigzag{background-image:linear-gradient(135deg,rgba(255,255,255,.35) 25%,transparent 25%) , linear-gradient(225deg,rgba(255,255,255,.35) 25%,transparent 25%) , linear-gradient(45deg,rgba(255,255,255,.35) 25%,transparent 25%) , linear-gradient(315deg,rgba(255,255,255,.35) 25%,transparent 25%);background-size:10px 10px;background-position:0 0 , 5px 0 , 5px -5px , 0 5px}.event.pattern-waves{background-image: repeating-linear-gradient(
        0deg,
        transparent 0px,
        transparent 3px,
        rgba(255, 255, 255, 0.35) 3px,
        rgba(255, 255, 255, 0.35) 6px,
        transparent 6px,
        transparent 9px
    )}.event.pattern-dashes{background-image: repeating-linear-gradient(
        90deg,
        transparent,
        transparent 5px,
        rgba(255, 255, 255, 0.4) 5px,
        rgba(255, 255, 255, 0.4) 10px,
        transparent 10px,
        transparent 15px
    )}.event.pattern-grid{background-image:linear-gradient(rgba(255,255,255,.35) 2px,transparent 2px) , linear-gradient(90deg,rgba(255,255,255,.35) 2px,transparent 2px);background-size:8px 8px}.event.pattern-triangles{background-image:linear-gradient(135deg,rgba(255,255,255,.4) 25%,transparent 25%) , linear-gradient(225deg,rgba(255,255,255,.4) 25%,transparent 25%);background-size:10px 10px}.event.pattern-none{}.event.multiday-start{border-radius:4px 0 0 4px;padding-right:12px}.event.multiday-start::after{content:'';position:absolute;right:2px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid rgba(255,255,255,.6)}.event.multiday-middle{border-radius:0;padding-left:10px;padding-right:12px}.event.multiday-middle::before{content:'';position:absolute;left:2px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:5px solid rgba(255,255,255,.6)}.event.multiday-middle::after{content:'';position:absolute;right:2px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid rgba(255,255,255,.6)}.event.multiday-end{border-radius:0 4px 4px 0;padding-left:10px}.event.multiday-end::before{content:'';position:absolute;left:2px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:5px solid rgba(255,255,255,.6)}.extra-event-icon-indicator{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary,#f0f0f0);border-radius:4px;margin-right:10px;flex-shrink:0}.extra-event-icon-indicator i{font-size:11px;color:var(--text-secondary,#666)}.extra-day-badge{display:inline-block;font-size:10px;background:rgba(0,0,0,.1);padding:2px 6px;border-radius:3px;margin-left:8px;font-weight:600}.extra-event-color.pattern-stripes-h{background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.3) 2px,rgba(255,255,255,.3) 4px)}.extra-event-color.pattern-stripes-v{background-image:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,255,255,.3) 2px,rgba(255,255,255,.3) 4px)}.extra-event-color.pattern-stripes-diag{background-image:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(255,255,255,.3) 2px,rgba(255,255,255,.3) 4px)}.extra-event-color.pattern-stripes-diag-rev{background-image:repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(255,255,255,.3) 2px,rgba(255,255,255,.3) 4px)}.extra-event-color.pattern-dots{background-image:radial-gradient(circle,rgba(255,255,255,.4) 1px,transparent 1px);background-size:4px 4px}.extra-event-color.pattern-crosshatch{background-image:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(255,255,255,.2) 2px,rgba(255,255,255,.2) 4px) , repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(255,255,255,.2) 2px,rgba(255,255,255,.2) 4px)}.extra-event-color.pattern-chevrons,.extra-event-color.pattern-zigzag,.extra-event-color.pattern-waves,.extra-event-color.pattern-dashes,.extra-event-color.pattern-grid,.extra-event-color.pattern-triangles{background-image:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(255,255,255,.25) 2px,rgba(255,255,255,.25) 4px)}