:root{--light-bg-primary: #f8f9fa;--light-bg-secondary: #ffffff;--light-text-primary: #212529;--light-text-secondary: #6c757d;--light-border: #dee2e6;--light-accent: #862633;--light-accent-hover: #6e1f2a;--light-accent-light: rgba(134, 38, 51, .1);--dark-bg-primary: #1a1d23;--dark-bg-secondary: #252a33;--dark-text-primary: #f8f9fa;--dark-text-secondary: #adb5bd;--dark-border: #343a40;--dark-accent: #d1515f;--dark-accent-hover: #e06b78;--dark-accent-light: rgba(209, 81, 95, .1)}body{--bg-primary: var(--light-bg-primary);--bg-secondary: var(--light-bg-secondary);--text-primary: var(--light-text-primary);--text-secondary: var(--light-text-secondary);--border: var(--light-border);--accent: var(--light-accent);--accent-hover: var(--light-accent-hover);--accent-light: var(--light-accent-light);background-color:var(--bg-primary);color:var(--text-primary);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}body[data-theme=dark]{--bg-primary: var(--dark-bg-primary);--bg-secondary: var(--dark-bg-secondary);--text-primary: var(--dark-text-primary);--text-secondary: var(--dark-text-secondary);--border: var(--dark-border);--accent: var(--dark-accent);--accent-hover: var(--dark-accent-hover);--accent-light: var(--dark-accent-light)}a{font-weight:500;color:var(--text-primary);text-decoration:inherit}p,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}button{background-color:var(--accent);color:#fff;padding:.6em 1.2em;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:background-color .25s;font-size:1em}button:hover{background-color:var(--accent-hover)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:2rem;text-align:center}.loading-spinner{width:50px;height:50px;border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:var(--accent, #862833);animation:spinPauseAtTop 1.4s ease-in-out infinite;margin-bottom:1.5rem}@keyframes spinPauseAtTop{0%{transform:rotate(0)}90%{transform:rotate(360deg)}to{transform:rotate(360deg)}}#root{width:100%;height:100%}.app-wrapper{width:100%;margin:0 auto;flex:1;display:flex;flex-direction:column}.calendar-day{position:relative;display:flex;flex-direction:column;justify-content:flex-start;border:1px solid var(--border);background-color:var(--bg-secondary);text-align:center;height:120px;min-height:120px;width:100%;box-sizing:border-box}.calendar-day:hover{box-shadow:0 2px 10px #0000001a;transform:translateY(-2px);background-color:var(--accent-light)}.calendar-day.faded{opacity:.6;background-color:var(--bg-primary)}.calendar-day.blocked{background-color:rgba(var(--accent-rgb),.1)}.calendar-day-number{position:absolute;font-size:.9rem;font-weight:700;top:1px;right:1px;color:var(--text-primary);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%}.calendar-day-number.today{background-color:var(--accent);color:#fff;font-weight:600}.calendar-day.has-event{position:relative}.calendar-day.has-event .calendar-day-number{border-radius:50%}.event-list{margin-top:28px;display:flex;flex-direction:column;flex:1}.calendar-event{padding:6px 10px;margin:2px 6px;border-radius:4px;font-size:.75rem;border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--text-primary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 3px #0000001a;transition:all .2s ease;text-align:left}.calendar-event:hover{transform:translate(2px);box-shadow:0 2px 6px #00000026}.calendar-event.pending{border-left:3px solid #f6b93b}.calendar-event.confirmed{border-left:3px solid #2ed573}.calendar-event.rejected{border-left:3px solid #ff4757}.more-events{font-size:.75rem;color:var(--text-secondary);cursor:pointer;padding:2px 8px;margin-top:2px;text-align:right;font-weight:400}.event-dot-container{display:flex;justify-content:center;align-items:center;margin-top:28px;padding-bottom:8px;gap:4px;min-height:20px}.event-dot{width:15px;height:15px;border-radius:50%;cursor:pointer;transition:transform .2s ease}.event-dot:hover{transform:scale(1.3)}.more-dots{font-size:.7rem;color:var(--text-secondary);cursor:pointer;margin-left:4px}@media screen and (max-width: 768px){.calendar-day-number{width:22px;height:22px}}.edit-form::-webkit-scrollbar{width:8px}.edit-form::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.block-details{margin-top:1.5rem;background-color:var(--bg-primary);border-radius:8px;padding:1rem;border:1px solid var(--border);position:relative}.block-details h4{margin-top:0;margin-bottom:1rem;font-size:1.1rem;color:var(--text-primary)}.block-info-item{display:flex;margin-bottom:1rem;align-items:center}.block-info-item svg{color:var(--accent);margin-right:.5rem}.block-info-label{min-width:120px;font-weight:500;color:var(--text-secondary)}.block-info-value{flex:1;color:var(--text-primary)}.block-event-indicator{display:inline-block}.event-view{padding:.5rem 0;position:relative}.event-view h3{margin:0 0 1rem;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.event-view p{margin-bottom:.75rem;color:var(--text-secondary);line-height:1.6}.event-view .event-date,.event-view .event-time,.event-view .event-location{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--text-secondary)}.event-view svg{color:var(--accent)}.status-tag{padding:4px 10px;border-radius:20px;font-size:.85em;text-transform:capitalize;display:inline-block;margin-top:5px}.status-tag.pending{background:#ffc10733;color:#ffc107}.status-tag.confirmed{background:#28a74533;color:#28a745}.admin-actions{margin-top:20px;display:flex;gap:10px}.approve-button{background-color:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;transition:background-color .2s}.reject-button{background-color:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;transition:background-color .2s}.approve-button:hover{background-color:#218838}.reject-button:hover{background-color:#c82333}.booking-details{margin-top:2rem;border-top:1px solid var(--border);padding-top:1rem}.booking-details h4{margin-bottom:1rem;font-size:1.1rem;font-weight:500;color:var(--text-primary)}.booking-info-items{margin-bottom:.75rem;display:flex;flex-direction:column}.booking-info-item{display:flex;align-items:center;font-size:.9rem;gap:.5rem}.booking-info-left{display:flex;align-items:center;min-width:64px;justify-content:space-between;gap:.5rem}.booking-info-item-title{font-weight:600;white-space:nowrap}.booking-info-separator{width:2px;height:1.2rem;background-color:var(--border)}.booking-info-item-info{font-weight:400;white-space:nowrap}.booking-info-items label{display:block;font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.admin-view-actions{position:absolute;top:0;right:0;display:flex;gap:8px}.edit-button,.delete-button{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:4px;font-size:.8rem;cursor:pointer;border:none;transition:all .2s ease}.edit-button{background-color:var(--accent-light);color:var(--accent)}.delete-button{background-color:#dc35451a;color:#dc3545}.edit-button:hover{background-color:var(--accent);color:#fff}.delete-button:hover{background-color:#dc3545;color:#fff}.edit-form{display:flex;flex-direction:column;gap:12px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-weight:500;font-size:.9rem;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:8px 12px;border:1px solid var(--border);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);font-size:.95rem}.edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;margin-bottom:40px}.cancel-edit-button{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);padding:8px 16px;border-radius:4px;cursor:pointer;transition:all .2s ease}.save-edit-button{background-color:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;transition:background-color .2s}.cancel-edit-button:hover{background-color:var(--bg-primary)}.save-edit-button:hover{background-color:var(--accent-hover)}.action-feedback{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem;border-radius:8px;animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.action-feedback h3{margin:1rem 0 .5rem;color:var(--text-primary);font-weight:600}.action-feedback p{margin-bottom:1.5rem;color:var(--text-secondary);line-height:1.5}.action-feedback.loading{padding:2.5rem 1rem}.action-feedback .spinner{animation:spin 1.5s linear infinite;color:var(--accent);margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.action-feedback.success svg{color:#2ed573}.action-feedback.error svg{color:#ff4757}.action-buttons{display:flex;gap:1rem;margin-top:.5rem}.action-button{padding:.6rem 1.2rem;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s;border:none}.action-button.retry{background-color:var(--accent);color:#fff}.action-button.retry:hover{background-color:var(--accent-hover)}.action-button.dismiss{background-color:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary)}.action-button.dismiss:hover{background-color:var(--bg-secondary)}.button-toggle-row{display:flex;gap:.5rem;margin-bottom:1rem;width:100%}.button-toggle-row button{flex:1;padding:.5rem .75rem;font-size:.9rem;background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s ease}.custom-time-input{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.custom-time-input select{background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:.55rem .75rem;font-size:.95rem;flex:1;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .5rem center;background-size:1em}.custom-time-input select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.custom-time-input span{font-weight:700;color:var(--text-primary)}input[type=time]{width:100%;padding:.55rem .75rem;font-size:.95rem;border:1px solid var(--border);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;margin-bottom:1rem}input[type=time]::-webkit-calendar-picker-indicator{color:var(--accent-light);cursor:pointer;opacity:.8}input[type=time]::-webkit-datetime-edit{color:var(--text-primary)}input[type=time]::-webkit-datetime-edit-fields-wrapper{padding:0}input[type=time]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.country-select-wrapper{width:100%;position:relative}button.country-select-button{width:100%;display:flex;padding:.32rem .75rem;font-size:.95rem;background-color:var(--color-secondary);color:var(--color-text-primary);border:1px solid var(--color-border, #444);border-radius:6px;text-align:left;cursor:pointer}.country-select-options{position:absolute;display:flex;flex-direction:column;margin-top:4px;width:max-content;max-height:160px;overflow-y:auto;background:var(--color-secondary, #1f1f1f);border:1px solid var(--color-border, #444);border-radius:6px;z-index:10}.country-option{padding:.5rem .75rem;cursor:pointer;white-space:nowrap;display:flex;gap:.5rem;font-size:.95rem}.country-option:hover{background-color:var(--color-tertiary, #333)}.no-availability-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffffeb;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;z-index:100;border-radius:6px}.no-availability-content{text-align:center;padding:2rem 1.5rem;background:#fff;box-shadow:0 4px 18px #00000026;border-radius:8px;max-width:80%}.no-availability-content h3{margin-bottom:1rem;color:#666}.no-availability-content button{margin-top:1.25rem;padding:.5rem 1rem;background:#4f6cff;color:#fff;border:none;cursor:pointer}.no-availability-content button:hover{filter:brightness(1.1)}.no-availability-content p{color:#666}.feedback-message{padding:2rem;border-radius:8px;margin-bottom:1.5rem;animation:fadeIn .3s ease-out;text-align:center}@keyFrames fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.feedback-message h3{margin-top:0;margin-bottom:1.25rem;font-size:1.5rem;font-weight:600}.feedback-message p{margin-bottom:1rem;line-height:1.6}.feedback-message.success{background-color:#43a0471a;border:1px solid rgba(67,160,71,.3)}.feedback-message.success h3{color:#2e7d32}.feedback-message.error{background-color:#d32f2f1a;border:1px solid rgba(211,47,47,.3)}.feedback-message.error h3{color:#c62828}.feedback-note{font-style:italic;font-size:.9rem;margin-top:1.5rem;color:var(--text-secondary)}.feedback-actions{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.feedback-actions button{padding:.6rem 1.25rem;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s}.try-again{background-color:var(--accent);color:#fff;border:none}.try-again:hover{background-color:var(--accent-hover)}[data-theme=dark] .feedback-message.success{background-color:#66bb6a1a;border-color:#66bb6a4d}[data-theme=dark] .feedback-message.error{background-color:#e573731a;border-color:#e573734d}.side-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;z-index:100;animation:fade-in .2s ease-out forwards}.panel-content{margin-top:2rem}.side-panel{background:var(--bg-primary);color:var(--color-text-primary);width:clamp(280px,85vw,380px);max-width:100%;height:100%;max-height:90vh;padding:1.25rem 1.5rem 2rem;box-shadow:-6px 0 18px #00000040;overflow-y:auto;position:relative;transform:translate(100%);animation:slide-in .25s cubic-bezier(.4,0,.2,1) forwards;transition:transform .3s ease}.side-panel::-webkit-scrollbar{width:6px}.side-panel::-webkit-scrollbar-track{background:transparent}.side-panel::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:6px}.side-panel.open{transform:translate(0)}.side-panel.closing{transform:translate(100%);animation:fade-out .2s ease-out forwards}@keyframes slide-in{to{transform:translate(0)}}.close-btn{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.35rem;color:var(--text-secondary);cursor:pointer;line-height:1;opacity:.8;transition:opacity .2s;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-btn:hover{opacity:1;background-color:#ffffff1a}.side-panel h3{margin:0 0 1.25rem;font-size:1.35rem;font-weight:600}.side-panel input,.side-panel textarea,.side-panel select{width:100%;margin-bottom:1rem;padding:.55rem .85rem;font-size:.95rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.side-panel select[error],.side-panel input[error]{border:2px solid var(--accent)}.side-panel input:focus,.side-panel textarea:focus,.side-panel select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.25);outline:none}.side-panel label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}.error{color:#e03;font-size:.8rem;display:block}@media (prefers-color-scheme: dark){:root{--panel-bg: #1f1f1f;--panel-fg: #e5e5e5;--field-bg: #2a2a2a}.side-panel input,.side-panel textarea,.side-panel select{border:1px solid #444}}.event-name-row{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin-bottom:1rem}.event-name-row button{flex:1 0 2.5rem;padding:.5rem 0;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all}.event-name-row button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.event-name-row button:hover{background-color:var(--accent-light);border-color:var(--accent)}.event-name-row button:focus,.slot-grid button:focus{outline:none;box-shadow:0 0 0 2px rgba(var(--accent-rgb),.25)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:.4rem;margin-bottom:1rem}.slot-grid button{padding:.45rem 0;font-size:.85rem;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);border-radius:4px;transition:all .2s}.slot-grid button:hover{background-color:var(--accent-light);border-color:var(--accent)}.slot-grid button.chosen{background:var(--accent);border-color:var(--accent);color:#fff}@media screen and (max-width: 768px){.side-panel-overlay{justify-content:center;align-items:center}.side-panel{height:auto;border-radius:12px;padding:1.5rem 1.25rem 2rem;transform:scale(.95);animation:fadeInCenter .25s ease forwards;box-shadow:0 0 20px #0000004d}@keyframes fadeInCenter{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.close-btn{background-color:var(--accent);color:#fff;border-radius:50%;width:32px;height:32px}.close-btn:hover{background-color:var(--accent-light)}}.day-events-panel{display:flex;flex-direction:column}.day-date-header{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:1.25rem 0}.day-date-header svg{color:var(--accent)}.day-date-header h3{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-primary);padding-bottom:.5rem;border-bottom:1px solid var(--border)}.event-count{font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem;font-style:italic}.day-events-list{display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto;padding-right:.5rem;margin-bottom:1rem}.day-event-item{background-color:var(--bg-secondary);border-radius:6px;padding:1rem;border-left:4px solid var(--accent);box-shadow:0 2px 4px #00000059;cursor:pointer;transition:all .2s ease}.day-event-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.day-event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.day-event-item h4{margin:0;font-size:1rem;color:var(--text-primary)}.event-status{font-size:.75rem;padding:.2rem .5rem;border-radius:12px;text-transform:capitalize}.event-status.pending{background-color:#f6b93b33;color:#f6b93b}.event-status.confirmed{background-color:#2ed57333;color:#2ed573}.event-status.rejected{background-color:#ff475733;color:#ff4757}.day-event-time,.day-event-location{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.day-event-time svg,.day-event-location svg{color:var(--accent)}.event-blocked-badge{margin-top:.5rem;font-size:.8rem;padding:.25rem .5rem;background-color:#ff47571a;color:#ff4757;border-radius:4px;display:inline-block}.day-events-footer{margin-top:auto;padding-top:1rem}.add-event-button{width:100%;padding:.75rem;background-color:var(--accent);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.add-event-button:hover{background-color:var(--accent-hover)}.day-event-item.block{background-color:#ff47570d}.day-events-list::-webkit-scrollbar{width:6px}.day-events-list::-webkit-scrollbar-track{background:transparent}.day-events-list::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:6px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-header h2{font-size:1.75rem;font-weight:600;color:var(--text-primary)}.calendar-nav-btn svg{background-color:var(--bg-secondary);border:1px solid var(--border);color:var(--accent);border-radius:50%;width:25px;height:25px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.calendar-nav-btn svg:hover{background-color:var(--accent-light)}.calendar-nav-btn svg:disabled{opacity:.5;cursor:not-allowed;color:var(--text-secondary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(6,120px);gap:4px;border-radius:0;overflow:hidden}.calendar-day-label{text-align:center;font-weight:500;padding:.75rem 0;color:var(--text-secondary);text-transform:uppercase;font-size:.85rem;letter-spacing:.5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0rem}.calendar-day-label{text-align:center;font-weight:700;padding:.5rem 0;color:var(--color-text-primary)}.calendar-header h2{font-size:1.2rem;font-weight:600;color:var(--color-text-primary)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-header h2{font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.calendar-header button{background-color:var(--color-tertiary);border:1px solid var(--color-tertiary-outline);color:var(--color-text-primary);border-radius:6px;padding:.4rem .7rem;cursor:pointer;transition:background-color .2s}.calendar-header button:hover{background-color:var(--color-tertiary-faded)}.calendar-header button:disabled{opacity:.5;cursor:not-allowed}.year-view{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem}.year-month-cell{background-color:var(--color-secondary);border:1px solid var(--color-border, #444);border-radius:8px;padding:1rem;text-align:center;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;height:100px}.year-month-cell:hover{background-color:var(--color-tertiary-faded)}.year-month-cell h3{margin:0;font-size:1rem;color:var(--color-text-primary)}@media screen and (max-width: 768px){.year-view{grid-template-columns:repeat(2,1fr)}}.day-scroll-container{width:100%;max-width:100%;overflow-x:auto;display:flex;flex-direction:column;position:relative;box-sizing:border-box}.day-timeline{width:max-content;min-width:100%;position:relative}.hour-label-row{display:flex;border-bottom:1px solid var(--border)}.hour-label-cell{width:100px;text-align:center;padding:.5rem 0;color:var(--text-secondary);font-size:.9rem;border-left:1px solid var(--border)}.hour-label-cell:first-child{border-left:none}.event-row{position:relative;height:48px;background:transparent}.event-container{position:absolute;height:100%;display:flex;box-sizing:border-box}.hour-event{height:100%;border-radius:4px 0 0 4px;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-size:.85rem;background-color:var(--accent-light);color:var(--accent);box-sizing:border-box;margin:0}.hour-event span{position:relative;z-index:1}:not(.admin-view) .hour-event{position:relative;overflow:hidden}:not(.admin-view) .hour-event.block{position:relative;overflow:hidden}:not(.admin-view) .hour-event:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.admin-view .hour-event.pending{background-color:#f6b93b33;color:#f6b93b;border-radius:4px}.admin-view .hour-event.confirmed{background-color:#2ed57333;color:#2ed573}.admin-view .hour-event.block{background-color:#ff47571a;color:#ff4757;border-radius:4px;position:relative;overflow:hidden}.admin-view .hour-event.block:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(45deg,rgba(255,71,87,.4),rgba(255,71,87,.4) 5px,transparent 5px,transparent 12px);z-index:0}.buffer-time{height:100%;background-color:#ff475733;border-radius:0 4px 4px 0;box-sizing:border-box;margin:0;padding:0;position:relative;overflow:hidden}.buffer-time:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(45deg,var(--accent),var(--accent-light) 2px,transparent 5px,transparent 12px)}.hour-event:only-child{border-radius:4px}.hour-event.block span{position:relative;z-index:1}.day-scroll-container::-webkit-scrollbar{height:6px}.day-scroll-container::-webkit-scrollbar-thumb{background-color:#80808080;border-radius:3px}.day-scroll-container::-webkit-scrollbar-track{background:transparent}.calendar{max-width:1000px;margin:0 auto;width:100%}.calendar-view-toggle{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.calendar-view-toggle label{font-weight:500;color:var(--text-secondary)}.view-mode-buttons{display:flex;background-color:var(--bg-secondary);border-radius:8px;overflow:hidden;border:1px solid var(--border)}.view-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:none;border:none;color:var(--text-primary);cursor:pointer;transition:all .2s ease;border-right:1px solid var(--border)}.view-btn:last-child{border-right:none}.view-btn:hover{background-color:var(--accent-light)}.view-btn.active{background-color:var(--accent);color:#fff}.view-btn.active svg{color:#fff}.view-btn svg{color:var(--accent)}.main-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border);padding:.75rem 0;width:100%}.header-container{max-width:1400px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between}.header-logo a{display:flex;align-items:center;gap:.75rem;text-decoration:none}.header-logo .logo{border-radius:8px}.site-info{display:flex;flex-direction:column;text-align:center}.site-name{font-size:1.7rem;font-weight:800;color:var(--text-primary);margin-bottom:1.5rem;border-bottom:2px solid var(--border)}.bible-verse{font-size:.95rem}.site-subtitle{font-size:.9rem;color:var(--text-secondary)}.header-nav{display:flex;align-items:center;gap:1.5rem}.admin-badge{background-color:var(--accent-light);color:var(--accent);padding:.35rem .75rem;border-radius:4px;font-weight:600;font-size:.85rem}.header-actions{display:flex;align-items:center;gap:1rem}.theme-toggle{background:none;border:none;cursor:pointer;color:#fff;padding:.4rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.theme-toggle:hover{background-color:var(--accent-light);color:var(--accent)}.main-header.light .theme-toggle{color:var(--text-primary)}.main-header.light .theme-toggle:hover{background-color:#0000001a;color:var(--text-primary)}.header-button{background-color:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.4rem .75rem;border-radius:4px;text-decoration:none;font-size:.9rem;transition:background-color .2s}.header-button:hover{background-color:var(--accent-light);color:var(--accent)}@media screen and (max-width: 768px){.header-container,.header-nav,.header-actions{flex-direction:column;align-items:center;gap:1rem}}.home-wrapper{display:flex;flex-direction:column;min-height:100vh}.user-dashboard{width:100%}.intro-box{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;align-items:center;justify-content:center}.intro-box h3{width:100%;display:flex;justify-content:center;color:var(--text-primary);margin-top:0;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.intro-box p{width:100%;line-height:1.6;text-align:center;margin-bottom:0}.intro-box .info-intro{font-size:.95rem;margin-bottom:1rem;line-height:1.5}.intro-box .info-instructions{list-style:none;padding-left:1.25rem;font-size:.9rem}.intro-box .info-instructions li{margin-bottom:.5rem}.dashboard-container{display:flex;justify-content:center;gap:1.5rem}.calendar-wrapper{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.info-box,.contact-box,.upcoming-box{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;gap:.75rem}.info-box,.contact-box{display:flex;flex-direction:row;align-items:flex-start;gap:.75rem}.info-box svg,.contact-box svg{color:var(--accent);flex-shrink:0;margin-top:.25rem}.info-box p,.contact-box p{margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.5;text-align:center}.contact-box a{color:var(--accent);text-decoration:none;font-weight:500;text-decoration:underline}.upcoming-box{border-radius:8px;padding:1.25rem}.upcoming-box h4{margin-top:0;margin-bottom:1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;font-size:1.1rem}.upcoming-event h4{margin:0;font-size:1rem;margin-bottom:.5rem}.upcoming-box h4 svg{color:var(--accent)}.upcoming-events{display:flex;flex-direction:column;gap:.5rem}.upcoming-event{padding:.75rem;font-size:.9rem;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;cursor:pointer}.upcoming-event:hover{border:1px solid var(--accent);transform:translateY(-2px)}.event-info-section{display:flex;gap:.5rem}.event-info-section svg{color:var(--accent)}@media screen and (max-width: 768px){.dashboard-container{flex-direction:column;align-items:center}}.admin-login-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background-color:var(--bg-primary);position:relative}.back-link{position:absolute;top:1.5rem;left:1.5rem;display:flex;align-items:center;gap:.5rem;text-decoration:none;padding:.5rem .75rem;border-radius:4px;transition:all .2s ease}.back-link:hover{background-color:var(--accent-light);color:var(--accent)}.login-card{background-color:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 24px #0000001a;width:100%;max-width:420px;overflow:hidden;animation:fadeIn .5s ease-out;padding:2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}.login-header{padding:0 2rem 2rem;text-align:center;border-bottom:1px solid var(--border)}.login-logo{max-width:128px;margin-bottom:1rem;border-radius:4px}.login-header h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.login-subtitle{color:var(--text-secondary);margin:0;font-size:.9rem}.login-form{padding:1.5rem 2rem}.form-group{margin-bottom:1.25rem}.login-form input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--border);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.login-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.login-form input.input-error{border-color:#dc3545}.login-form input.input-error:focus{box-shadow:0 0 0 2px #dc354540}.field-error{color:#dc3545;font-size:.85rem;margin-top:.4rem;animation:fadeIn .3s ease-in}.error-message{background-color:#dc35451a;color:#dc3545;padding:.75rem 1rem;border-radius:4px;margin-bottom:1.25rem;font-size:.9rem;animation:shake .5s ease-in-out;border-left:3px solid #dc3545}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.login-button{width:100%;padding:.75rem 1rem;background-color:var(--accent);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.login-button:hover{background-color:var(--accent-hover)}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-footer{padding:1rem 2rem 1.5rem;text-align:center;color:var(--text-secondary);font-size:.85rem;border-top:1px solid var(--border)}@media (max-width: 480px){.login-card{box-shadow:none;background-color:transparent}.login-header{padding:1.5rem 1.5rem 1rem;border-bottom:none}.login-form{padding:0 1.5rem 1.5rem}.login-footer{padding:1.5rem 1.5rem 1rem;border-top:none}}.admin-wrapper{display:flex;flex-direction:column;min-height:100vh}.admin-layout{display:flex;min-height:100vh}.sidebar{margin-top:1rem;background-color:var(--bg-secondary);width:250px;border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .3s ease;border-radius:12px;height:70vh}.sidebar-collapsed .sidebar{width:70px}.sidebar-header{padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid var(--border);position:relative;height:80px}.logo-container{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.sidebar-header .logo{width:100%;height:100%;object-fit:contain}.sidebar-header h2{margin-top:.5rem;margin-bottom:0;font-size:1.2rem;color:var(--text-primary);white-space:nowrap;text-align:center;transition:opacity .2s,max-width .3s}.sidebar-collapsed .sidebar-header h2{display:none}.collapse-btn{position:absolute;top:15px;right:-12px;width:24px;height:24px;border-radius:50%;transform:translateY(-25%);background:var(--accent);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;padding:0;box-shadow:0 2px 5px #0003}.sidebar-nav{flex:1;overflow-y:auto;padding:1rem 0}.sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar-nav li{margin-bottom:.5rem}.sidebar-nav a{display:flex;align-items:center;padding:.75rem 1rem;color:var(--text-primary);text-decoration:none;border-radius:.25rem;transition:background-color .2s;margin:0 .5rem}.sidebar-nav a:hover{background-color:var(--accent-light)}.sidebar-nav li.active a{background-color:var(--accent-light);color:var(--accent);font-weight:700}.sidebar-nav .icon{font-size:1.2rem;min-width:24px;margin-right:.75rem;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.sidebar-nav li.active .icon{color:var(--accent)}.sidebar-collapsed .sidebar-nav .text{display:none}.sidebar-footer{padding:1rem;border-top:1px solid var(--border)}.logout-btn{display:flex;align-items:center;color:var(--text-secondary);text-decoration:none;padding:.5rem;border-radius:.25rem;transition:all .2s}.logout-btn:hover{background-color:var(--accent-light);color:var(--accent)}.sidebar-collapsed .logout-btn .text{display:none}.main-content{flex:1;background-color:var(--bg-primary);display:flex;flex-direction:column;overflow-x:hidden}.admin-header{height:60px;padding:0 1.5rem;margin-top:1rem;display:flex;align-items:center;justify-content:center}.header-title h1{margin:0;font-size:1.5rem;color:var(--text-primary)}main{padding:1.5rem;flex:1;overflow-y:auto}@media screen and (max-width: 768px){.admin-layout{flex-direction:column;align-items:center}.sidebar{width:90%;height:51vh}}.admin-card{background-color:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:1.5rem;overflow:hidden}.card-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.card-header h3{margin:0;font-size:1.2rem;font-weight:500;color:var(--text-primary)}.card-content{padding:1.5rem}[data-theme=dark] .admin-card{box-shadow:0 2px 10px #00000040}.rules-list{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.rule-specific-days-preview::-webkit-scrollbar{width:8px}.rule-specific-days-preview::-webkit-scrollbar-thumb{background-color:#80808080;border-radius:3px}.rule-specific-days-preview::-webkit-scrollbar{background:transparent}.rule-card{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.rule-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.rule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.rule-header h4{margin:0;font-size:1.1rem;color:var(--text-primary)}.rule-days{font-size:.85rem;padding:.25rem .5rem;background-color:var(--accent-light);color:var(--accent);border-radius:4px;font-weight:500}.rule-details{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.rule-detail{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.rule-detail svg{color:var(--accent)}.rule-detail-day-title{border-bottom:1px solid var(--border);max-width:64px;padding:.25rem 0;margin-bottom:.75rem}.specific-rule-details{display:flex;flex-direction:column;gap:.5rem}.rule-specific-indicator{background-color:var(--accent-light);padding:.75rem;border-radius:4px;font-weight:500;color:var(--accent);max-width:175px}.rule-specific-days-preview{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding:.75rem 0;border-radius:6px;max-height:200px;overflow-y:auto}.rule-day-preview{display:flex;flex-direction:column}.rule-day-preview:last-child{border-bottom:none}.day-label{font-weight:600;min-width:48px;color:var(--text-primary)}.rule-actions{display:flex;gap:.75rem}.rule-actions button{flex:1;padding:.5rem 0;border-radius:4px;font-weight:500;font-size:.9rem;display:flex;align-items:center;justify-content:center}.btn-edit{background-color:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary)}.btn-edit:hover{background-color:var(--accent-light);border-color:var(--accent-light);color:var(--accent)}.btn-delete{background-color:#dc35451a;border:1px solid rgba(220,53,69,.2);color:var(--accent)}.btn-delete:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.rules-empty{color:var(--text-secondary);font-style:italic;padding:1rem 0;text-align:center}.rules-list.compact .rule-card{padding:.75rem}.rules-list.compact .rule-title{font-size:1rem}.rules-list.compact .rule-details{margin-bottom:.75rem;gap:.75rem}.rules-list.compact .rule-detail{font-size:.8rem}.rules-list.compact .rule-actions button{padding:.35rem 0;font-size:.8rem}.event-config{display:grid;grid-template-columns:1fr;gap:2rem}.config-header{display:flex;justify-content:space-between;align-items:center}.config-section{display:flex;flex-direction:column;gap:1rem;background-color:var(--bg-secondary);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.config-title{font-size:1.2rem;font-weight:600;margin:0;color:var(--text-primary)}.config-add-btn{background-color:var(--accent);color:#fff;padding:.4rem .75rem;font-size:.85rem;border-radius:4px;display:flex;align-items:center;gap:.4rem;border:none;cursor:pointer;transition:background-color .2s}.config-add-btn:hover{background-color:var(--accent-hover)}.config-items{display:flex;flex-direction:column;gap:1rem}.config-empty{color:var(--text-secondary);font-style:italic;padding:1rem;text-align:center}.config-list{display:flex;flex-direction:column;gap:1rem}.config-item{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.config-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.config-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.config-item-extra-fields{font-size:.75rem;padding:.25rem .5rem;background-color:var(--accent-light);color:var(--accent);border-radius:5px;font-weight:500}.extra-fields-preview{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.field-labels{display:flex;justify-content:space-between;align-items:center;width:100%}.field-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.config-item-description{font-size:.85rem;color:var(--text-secondary);margin-top:.75rem;margin-bottom:.75rem;line-height:1.5}.required-icon{color:var(--accent)}.field-label svg{color:var(--accent)}.config-item-actions{display:flex;gap:.75rem;margin-top:1rem;justify-content:flex-end}.config-item-actions button{padding:.5rem 1rem;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.config-edit-btn{background-color:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary)}.config-delete-btn{background-color:#dc35451a;border:1px solid rgba(220,53,69,.2);color:var(--accent)}.config-delete-btn:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}@media (min-width: 768px){.event-config{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width: 640px){.config-header{flex-direction:column;align-items:flex-start;gap:.75rem}.config-add-btn{align-self:stretch;justify-content:center}}.rule-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;z-index:100;animation:fade-in .2s ease-out forwards}.rule-drawer{background:var(--bg-primary, #fff);color:var(--panel-fg, #222);width:clamp(300px,90vw,420px);max-height:90vh;padding:1.5rem 2rem 2rem;box-shadow:0 12px 28px #00000059;overflow-y:auto;position:relative;animation:slide-in .25s cubic-bezier(.4,0,.2,1) forwards;border-radius:12px}@keyframes slide-in{0%{transform:translateY(-40px);opacity:0}to{transform:translateY(0);opacity:1}}.close-btn{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.35rem;color:var(--text-secondary);cursor:pointer;line-height:1;opacity:.8;transition:opacity .2s;width:360x;height:36x;display:flex;align-items:center;justify-content:center;border-radius:4px}.rule-drawer h3{margin:0 0 1.25rem;font-size:1.35rem;font-weight:600;color:var(--text-primary)}.rule-drawer label{display:block;margin:1rem 0 .35rem;font-weight:500;color:var(--text-secondary)}.rule-drawer input,.rule-drawer textarea,.rule-drawer select{width:100%;margin-bottom:1rem;padding:.55rem .85rem;font-size:.95rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.rule-drawer input:focus,.rule-drawer textarea:focus,.rule-drawer select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb) .25);outline:none}.dow-row{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin-bottom:1rem}.dow-row button{flex:1 0 2.5rem;padding:.4rem 0;border:1px solid var(--border);border-radius:4px;cursor:pointer;background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease}.dow-row button:hover{background-color:var(--accent-light);border-color:var(--accent)}.dow-row button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.save{width:100%;margin-top:1.25rem;padding:.6rem .75rem;font-weight:600;background:#2ba745;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:filter .2s}.save:hover{background-color:#2ba745;filter:brightness(1.05)}.rule-toggle-container{margin:1rem 0;padding:.8rem;border-radius:8px}.rule-toggle-label{display:flex;align-items:center;gap:.8rem;cursor:pointer;margin:0}.rule-mode-toggle{width:auto!important;margin:0 12px 0 0!important;cursor:pointer}.day-tabs{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.5rem;border-radius:8px;position:relative}.day-tabs button{flex:1 0 2.5rem;padding:.4rem 0;border:1px solid var(--border);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.day-tabs button:hover{background-color:var(--accent-light)}.day-tabs button.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 1200px){.dashboard-grid{grid-template-columns:2fr 1fr}}.main-section,.side-section{display:flex;flex-direction:column}.admin-btn.primary-sm{background-color:var(--accent);color:#fff;padding:.35rem .75rem;font-size:.85rem;border-radius:4px}.admin-btn.primary-sm:hover{background-color:var(--accent-hover)}.event-config-builder-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.event-config-builder{background-color:var(--bg-secondary);border-radius:8px;box-shadow:0 8px 24px #0003;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:tranlsateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.builder-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background-color:var(--bg-secondary);z-index:10}.builder-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.close-btn{background:none;color:var(--text-secondary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:4px;transition:all .2s}.close-btn:hover{background-color:var(--accent-light);color:var(--accent)}.builder-form{padding:1.5rem}.form-group{margin-bottom:1.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group textarea{width:100%;padding:.75rem;box-sizing:border-box;border:1px solid var(--border);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.color-swatches{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;width:100%;padding:.5rem 0}.color-swatch{width:36px;height:36px;border-radius:4px;cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{box-shadow:0 0 0 2px var(--text-primary),0 0 0 4px var(--accent)}.field-help{margin-top:.25rem;margin-bottom:1rem;font-size:.85rem;color:var(--text-secondary);width:100%}.extra-fields-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;width:100%}.extra-field-item{display:flex;align-items:flex-start;justify-content:center;gap:2rem;padding:.75rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border);box-shadow:0 2px 4px #0000001a}.extra-field-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.extra-field-content input{display:flex}.field-required{display:flex;align-items:center;gap:.5rem}.field-required label{margin:0;font-weight:500;font-size:.9rem}.field-required input{width:5%}.remove-field-btn{background:transparent;color:var(--text-secondary);border:none;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:4px;transition:all .2s}.remove-field-btn:hover{color:#dc3545;background-color:#dc35451a}.add-field-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--bg-primary);color:var(--accent);border:1px dashed var(--accent);border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s;width:100%}.add-field-btn:hover{background-color:var(--accent-light)}.no-fields{padding:1.5rem;text-align:center;color:var(--text-secondary);background-color:var(--bg-primary);border-radius:6px;margin-bottom:1rem;font-style:italic}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.cancel-btn{padding:.75rem 1.5rem;background-color:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:4px;font-weight:500;transition:all .2s}.cancel-btn:hover{background-color:var(--bg-primary)}.save-btn{padding:.75rem 1.5rem;background-color:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.save-btn:hover{background-color:var(--accent-hover)}.admin-calendar-controls{position:relative;margin-bottom:1.5rem}.toggle-controls-btn{display:flex;align-items:center;gap:.5rem;background-color:var(--accent-light);color:var(--accent);border:none;border-radius:6px;padding:.6rem 1rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.toggle-controls-btn:hover{background-color:var(--accent);color:#fff}.calendar-controls-panel{margin-top:1rem;background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;border:1px solid var(--border);animation:slide-down .3s ease-out}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.controls-tabs{display:flex;gap:1rem;margin-bottom:1.5rem}.controls-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);font-weight:500;cursor:pointer;transition:all .2s ease}.controls-tabs button.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.controls-tabs button.active svg{color:#fff}.controls-tabs button svg{color:var(--accent)}.calendar-controls-panel h3{font-size:1.2rem;margin-bottom:1.5rem;color:var(--text-primary)}.date-range-selector{display:flex;flex-direction:column}.form-row{display:flex;gap:1rem;align-items:flex-start}.form-group{flex:1;display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid var(--border);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.form-arrow{display:flex;align-items:center;justify-content:center;padding-top:2rem;color:var(--text-secondary)}.checkbox-group{padding-top:.5rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.checkbox-label input{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.cancel-btn,.submit-btn{padding:.75rem 1.25rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn{background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border)}.cancel-btn:hover{background-color:var(--bg-secondary)}.submit-btn{background-color:var(--accent);color:#fff;border:none}.submit-btn:hover{background-color:var(--accent-hover)}.submit-btn.danger{background-color:#dc3545}.submit-btn.danger:hover{background-color:#c82333}.submit-btn:disabled,.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.info-box{margin-top:1.5rem;padding:1rem;background-color:var(--accent-light);border-radius:6px;color:var(--accent);font-size:.9rem}.success-message,.error-message{padding:1rem;border-radius:6px;margin-bottom:1.5rem;animation:fade-in .3s ease-out}.success-message{background-color:#28a7451a;border:1px solid rgba(40,167,69,.2);color:#28a745}.error-message{background-color:#dc35451a;border:1px solid rgba(220,53,69,.2);color:#dc3545}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.button-toggle-row{display:flex;gap:.5rem;width:100%}.button-toggle-row button{flex:1;padding:.75rem .5rem;font-size:.9rem;background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s ease}.button-toggle-row button:hover{background-color:var(--accent-light)}.button-toggle-row button.on{background-color:var(--accent);color:#fff;border-color:var(--accent)}@media (max-width: 768px){.form-row{flex-direction:column}.form-arrow{display:none}.controls-tabs{flex-direction:column}}.stats-card{background-color:var(--bg-secondary);border-radius:8px;padding:1.25rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:0 2px 10px #0000001a}.stats-icon{color:var(--accent);display:flex;align-items:center;justify-content:center;background-color:var(--accent-light);border-radius:8px;width:48px;height:48px;padding:12px;flex-shrink:0}.stats-content{flex:1}.stats-title{color:var(--text-secondary);font-size:.85rem;margin-bottom:.25rem}.stats-value{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.stats-trend{font-size:.8rem;font-weight:500;display:inline-block;padding:.15rem .4rem;border-radius:4px}.stats-trend.up{background-color:#2ed57326;color:#2ed573}.stats-trend.down{background-color:#ff475726;color:#ff4757}.stats-trend.neutral{background-color:#9fa2b426;color:#9fa2b4}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-stats>*{min-width:0}.booking-filters{display:flex;gap:.5rem;margin-bottom:1.5rem}.filter-btn{background-color:var(--bg-secondary);color:var(--text-primary);padding:.5rem 1rem;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s}.filter-btn:hover{background-color:var(--accent)}.filter-btn.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.bookings-table-container{overflow-x:auto}.bookings-table{width:100%;border-collapse:collapse}.bookings-table th,.bookings-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.bookings-table th{font-weight:600;color:var(--text-secondary);font-size:.9rem}.bookings-table tr:hover{background-color:var(--accent-light)}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:500;text-transform:capitalize}.status-badge.pending{background-color:#f6b93b33;color:#f6b93b}.status-badge.confirmed{background-color:#2ed57333;color:#2ed573}.status-badge.rejected{background-color:#ff475733;color:#ff4757}.action-buttons{display:flex;gap:.5rem}.approve-btn,.reject-btn{display:flex;align-items:center;justify-content:center;padding:.25rem;border-radius:4px;background:none;border:bone;cursor:pointer}.approve-btn{color:#2ed573;background-color:#2ed5731a}.reject-btn{color:#ff4757;background-color:#ff47571a}.approve-btn:hover{background-color:#2ed57333}.reject-btn:hover{background-color:#ff475733}.loading{padding:2rem;text-align:center;color:var(--text-secondary)}.no-bookings{padding:4rem 2rem;text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}@media screen and (max-width: 768px){.bookings-table-container{overflow-x:unset}.bookings-table{display:none}.mobile-booking-card{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.mobile-booking-card .booking-row{display:flex;justify-content:space-between;font-size:.9rem}.mobile-booking-card .booking-row strong{color:var(--text-secondary);margin-right:.5rem;min-width:80px}.mobile-booking-card .status-badge{align-self:flex-start}.mobile-booking-card .action-buttons{display:flex;gap:.5rem;margin-top:.5rem}}.cancel-booking-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem}.cancel-booking-card{background-color:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:2rem;max-width:600px;width:100%;text-align:center}.cancel-booking-card h1{color:var(--text-primary);margin-bottom:2rem;font-size:1.8rem}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:2rem 0}.spinner{width:50px;height:50px;border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:var(--accent);animation:spin 1s ease-in-out infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.success-message,.error-message{padding:1.5rem;border-radius:8px;margin:2rem 0}.success-message{background-color:#2ed5731a;border:1px solid rgba(46,213,115,.1)}.error-message{background-color:#ff47571a;border:1px solid rgba(255,71,87,.3)}.success-icon,.error-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;margin-bottom:1rem;font-size:1.8rem}.success-icon{background-color:#2ed573;color:#fff}.error-icon{background-color:#ff4757;color:#fff}.success-message h2{color:#2ed573;margin-bottom:1rem}.error-message h2{color:#ff4757;margin-bottom:1rem}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn{padding:.75rem 1.5rem;border-radius:4px;font-weight:600;text-decoration:none;transition:all .2s ease}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--accent-light)}
