.popup{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--popup-overlay-bg, rgba(0, 0, 0, .5));z-index:1000}.popup-content{background:var(--popup-bg, #fff);color:var(--body-text-color, #222);padding:1rem;border-radius:var(--popup-border-radius, 6px);max-width:450px;width:100%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;box-shadow:0 4px 12px #0003}.top-right-icons{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:.5rem}.icon-button{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.2rem;color:var(--icon-color, #444);transition:color .2s}.icon-button:hover{color:var(--icon-hover-color, #646262)}.popup-title{font-size:1.5rem;font-weight:600;margin:.5rem 0 1rem;color:var(--button-bg-color, #222)}.popup-field{margin-bottom:.8rem}.popup-label{margin-bottom:.2rem;font-weight:600;color:var(--button-bg-color, #333)}.popup-input{width:100%;font-size:1rem;padding:.2rem 0;border:none;border-bottom:1px solid var(--grid-border-color, #ccc);background:transparent;outline:none;color:var(--body-text-color, #222)}.popup-input:focus{border-bottom-color:var(--button-bg-color, #007bff)}.section{margin-top:1.5rem}.list{list-style:none;padding:0;margin-bottom:.5rem}.list li{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}.input-row{display:flex;gap:.5rem;margin-top:.3rem}.add-inline-button{background:var(--button-inline-bg, #ffffff);color:var(--button-inline-color, #444);width:2.2rem;height:2.2rem;border:none;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:.2s;font-size:1rem}.add-inline-button:hover{color:var(--button-inline-hover-color, #646262)}.popup-footer{margin-top:1.5rem;text-align:center}.save-button{background:var(--button-bg-color, #444);color:var(--button-color, #fff);border:none;padding:.6rem 1.2rem;font-size:1rem;border-radius:var(--button-border-radius, 6px);cursor:pointer;transition:.2s}.save-button:hover{background:var(--button-hover-bg-color, #646262)}.calendar-theme{--body-bg-color: #ffffff;--body-text-color: #000000;--form-bg-color: #ffffff;--form-padding: 1rem;--form-border-radius: 8px;--form-border: 1px solid #ccc;--form-gap: 1rem;--label-color: #333333;--label-font-weight: bold;--input-height: 40px;--input-padding: .5rem;--input-font-size: 1rem;--input-border: 1px solid #ccc;--input-border-radius: 6px;--input-bg-color: #ffffff;--input-color: #000000;--accent-color: #007bff;--accent-contrast: #ffffff;--calendar-primary-color: #a4d8ff;--grid-border-color: #cccccc;--button-bg-color: var(--accent-color);--button-hover-bg-color: #0056b3;--button-color: var(--accent-contrast);--button-padding: .6rem 1rem;--button-border-radius: 6px;--event-border-radius: 8px;--arrow-button-bg: var(--accent-color);--arrow-button-color: var(--accent-contrast);--current-week-color: #000000;--popup-bg: #ffffff;--popup-overlay-bg: rgba(0, 0, 0, .5);--popup-border-radius: 5px;--danger-bg: #e53e3e;--danger-text: #ffffff;color:var(--body-text-color)}.calendar-theme.dark{--body-text-color: #ffffff;--form-bg-color: #1c1c1c;--form-border: 1px solid rgba(255, 255, 255, .1);--label-color: #ffffff;--input-bg-color: #1e1e1e;--input-border: 1px solid rgba(255, 255, 255, .15);--input-color: #ffffff;--accent-color: #D2F7D8;--accent-contrast: #121212;--calendar-primary-color: #D2F7D8;--grid-border-color: rgba(255, 255, 255, .12);--button-bg-color: var(--accent-color);--button-hover-bg-color: #b2e7c0;--button-color: var(--accent-contrast);--current-week-color: #ffffff;--popup-bg: rgba(18, 18, 18, .95);--popup-overlay-bg: rgba(0, 0, 0, .7)}@media(prefers-color-scheme:dark){.calendar-theme:not(.dark):not(.light){--body-bg-color: #121212;--body-text-color: #ffffff;--form-bg-color: #1c1c1c;--form-border: 1px solid rgba(255, 255, 255, .1);--label-color: #ffffff;--input-bg-color: #1e1e1e;--input-border: 1px solid rgba(255, 255, 255, .15);--input-color: #ffffff;--accent-color: #D2F7D8;--accent-contrast: #121212;--calendar-primary-color: #D2F7D8;--grid-border-color: rgba(255, 255, 255, .12);--button-bg-color: var(--accent-color);--button-hover-bg-color: #b2e7c0;--button-color: var(--accent-contrast);--current-week-color: #ffffff;--popup-bg: rgba(18, 18, 18, .95);--popup-overlay-bg: rgba(0, 0, 0, .7)}}.calendar-theme .small-logo{width:20px;height:20px}.calendar-theme .form-container{display:flex;flex-wrap:wrap;gap:var(--form-gap);background-color:var(--form-bg-color);padding:var(--form-padding);border-radius:var(--form-border-radius);border:var(--form-border);margin-bottom:20px}.calendar-theme .form-group{flex:1;min-width:200px;margin-bottom:10px}.calendar-theme .form-label{display:block;color:var(--label-color);font-weight:var(--label-font-weight);margin-bottom:4px}.calendar-theme .form-input,.calendar-theme .form-select{width:100%;height:var(--input-height);padding:var(--input-padding);font-size:var(--input-font-size);border:var(--input-border);border-radius:var(--input-border-radius);box-sizing:border-box;appearance:none;background:var(--input-bg-color);color:var(--input-color)}.calendar-theme .form-input:focus,.calendar-theme .form-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #007bff26}.calendar-theme .submit-button{background-color:var(--button-bg-color);color:var(--button-color);padding:var(--button-padding);border-radius:var(--button-border-radius);border:none;cursor:pointer;transition:background-color .2s ease;font-size:1rem}.calendar-theme .submit-button:hover{background-color:var(--button-hover-bg-color)}.calendar-theme .calendar{display:flex;flex-direction:column}.calendar-theme .hours-and-days{display:flex;align-items:stretch}.calendar-theme .hours{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:50px;height:100%}.calendar-theme .hours .hour{min-height:40px;border-bottom:1px solid var(--grid-border-color);display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex-grow:1}.calendar-theme .weekdays-container{display:flex;flex-direction:column;width:100%}.calendar-theme .weekdays{list-style-type:none;display:flex;justify-content:center;align-items:center;padding:0;border-bottom:1px solid var(--grid-border-color);margin:0;height:40px}.calendar-theme .weekday{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;text-align:center;margin-bottom:13px}.calendar-theme .days{display:flex;flex-grow:1}.calendar-theme .day{flex:1;border-left:1px solid var(--grid-border-color);position:relative}.calendar-theme .day .hour{min-height:40px;border-bottom:1px solid var(--grid-border-color);display:flex;align-items:center;box-sizing:border-box;flex-grow:1}.calendar-theme .event{background-color:var(--calendar-primary-color);padding:2px;font-size:12px;border-radius:var(--event-border-radius);width:95%;box-sizing:border-box;position:absolute;cursor:grab;transition:box-shadow .15s ease,transform .15s ease}.calendar-theme .event:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.calendar-theme .event:active{cursor:grabbing}.calendar-theme .event span{color:var(--event-title-color, #000);font-size:var(--event-title-size, 16px)}.calendar-theme .empty-slot{height:40px}.calendar-theme .navigation{display:flex;justify-content:center;align-items:center;margin-bottom:2rem}.calendar-theme .arrow-button{background-color:var(--arrow-button-bg);color:var(--arrow-button-color);border:none;padding:.5rem 1rem;cursor:pointer;border-radius:5px;margin:0 1rem;transition:background-color .15s ease}.calendar-theme .arrow-button:hover{background-color:var(--button-hover-bg-color)}.calendar-theme .current-week{font-size:1.2rem;font-weight:700;color:var(--current-week-color)}.calendar-theme .info-button{position:absolute;top:2px;right:2px;background-color:transparent;border:none;color:var(--accent-color);font-weight:700;cursor:pointer;padding:2px;border-radius:4px;transition:background-color .15s ease}.calendar-theme .info-button:hover{background-color:#0000001a}.calendar-theme .remove-button{background-color:var(--danger-bg);color:var(--danger-text);border:none;padding:.5rem 1rem;cursor:pointer;border-radius:5px;margin-top:1rem;transition:filter .15s ease}.calendar-theme .remove-button:hover{filter:brightness(.9)}.calendar-theme .popup{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--popup-overlay-bg);display:flex;justify-content:center;align-items:center;z-index:1000}.calendar-theme .popup-content{background-color:var(--popup-bg);padding:1rem;border-radius:var(--popup-border-radius);max-width:400px;width:100%}.calendar-theme .close-button{background-color:var(--button-bg-color);color:var(--button-color);border:none;padding:.5rem 1rem;cursor:pointer;border-radius:5px;margin-top:1rem}@media(max-width:768px){.calendar-theme .form-container{flex-direction:column}.calendar-theme .form-group{min-width:100%}.calendar-theme .weekday span:first-child{font-size:.75rem}.calendar-theme .event{font-size:10px}.calendar-theme .event span{font-size:12px!important}}body{background-color:var(--body-bg-color, #ffffff);color:var(--body-text-color, #000)}:root{--body-bg-color: #ffffff;--body-text-color: #000;--form-bg-color: #ffffff;--form-padding: 1rem;--form-border-radius: 8px;--form-border: 1px solid #ccc;--label-color: #333;--label-font-weight: bold;--input-height: 40px;--input-padding: .5rem;--input-font-size: 1rem;--input-border: 1px solid #ccc;--input-border-radius: 6px;--input-bg-color: #ffffff;--input-color: #000;--button-bg-color: #007bff;--button-hover-bg-color: #0056b3;--button-color: #fff;--button-padding: .6rem 1rem;--button-border-radius: 6px;--calendar-bg-color: #ffffff;--calendar-primary-color: #a4d8ff;--calendar-border-color: #ccc;--calendar-border-radius: 8px;--weekday-bg-color: #f8f9fa;--weekday-text-color: #333;--weekday-border-color: #ccc;--hour-cell-bg-color: #ffffff;--hour-cell-border-color: #ccc;--hour-text-color: #666;--event-bg-color: #a4d8ff;--event-text-color: #000;--event-font-size: 14px;--event-border-radius: 8px;--event-padding: 4px;--nav-bg-color: transparent;--nav-text-color: #000;--arrow-button-bg: #007bff;--arrow-button-color: #fff;--arrow-button-border-radius: 5px;--current-week-text-color: #000;--current-week-font-weight: bold;--popup-bg-color: #ffffff;--popup-overlay-bg: rgba(0, 0, 0, .5);--popup-border-radius: 5px;--popup-padding: 1rem;--popup-shadow: 0 2px 8px rgba(0, 0, 0, .1);--remove-button-bg: #e53e3e;--remove-button-text-color: #fff;--close-button-bg: var(--button-bg-color);--close-button-text-color: var(--button-color);--info-button-color: blue;--info-button-size: 20px}@media(prefers-color-scheme:dark){:root:not(.light){--body-bg-color: #121212;--body-text-color: #ffffff;--form-bg-color: #1c1c1c;--form-border: 1px solid rgba(255, 255, 255, .1);--label-color: #fff;--input-bg-color: #1e1e1e;--input-border: 1px solid rgba(255, 255, 255, .15);--input-color: #ffffff;--button-bg-color: #D2F7D8;--button-hover-bg-color: #b2e7c0;--button-color: #121212;--calendar-bg-color: #1a1a1a;--calendar-border-color: rgba(255, 255, 255, .1);--weekday-bg-color: #1e1e1e;--weekday-text-color: #D2F7D8;--hour-cell-bg-color: #1e1e1e;--hour-text-color: #cccccc;--event-bg-color: #D2F7D8;--event-text-color: #121212;--event-border-radius: 10px;--popup-bg-color: rgba(18, 18, 18, .95);--popup-overlay-bg: rgba(0, 0, 0, .7);--popup-shadow: 0 8px 24px rgba(0, 0, 0, .4);--current-week-text-color: #ffffff;--current-week-font-weight: 600;--arrow-button-bg: #D2F7D8;--arrow-button-color: #121212;--arrow-button-border-radius: 8px;--remove-button-bg: #e5484d;--remove-button-text-color: #ffffff;--info-button-color: #D2F7D8}}:root.dark{--body-bg-color: #121212;--body-text-color: #ffffff;--form-bg-color: #1c1c1c;--form-border: 1px solid rgba(255, 255, 255, .1);--label-color: #ffffff;--input-bg-color: #1e1e1e;--input-border: 1px solid rgba(255, 255, 255, .15);--input-color: #ffffff;--button-bg-color: #D2F7D8;--button-hover-bg-color: #b2e7c0;--button-color: #121212;--calendar-bg-color: #1a1a1a;--calendar-border-color: rgba(255, 255, 255, .1);--weekday-bg-color: #1e1e1e;--weekday-text-color: #ffffff;--hour-cell-bg-color: #1e1e1e;--hour-text-color: #cccccc;--event-bg-color: #D2F7D8;--event-text-color: #121212;--popup-bg-color: rgba(18, 18, 18, .95);--popup-overlay-bg: rgba(0, 0, 0, .7);--popup-shadow: 0 8px 24px rgba(0, 0, 0, .4);--current-week-text-color: #ffffff;--current-week-font-weight: 600;--arrow-button-bg: #D2F7D8;--arrow-button-color: #121212;--remove-button-bg: #e5484d;--remove-button-text-color: #ffffff;--info-button-color: #D2F7D8}
