header{background-color:var(--background-color);box-shadow:var(--box-shadow);padding:15px 0;position:sticky;top:0;z-index:100}.header-container{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.nav-menu{display:flex;list-style:none}.nav-item{margin-left:20px}.nav-link{color:var(--text-color);font-weight:500}.nav-link:hover{color:var(--primary-color)}.mobile-nav-toggle{display:none;background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--text-color);padding:5px;z-index:101}@media (max-width: 768px){.mobile-nav-toggle{display:block!important;font-size:1.5rem;padding:8px;border-radius:4px;transition:background-color .2s ease}.mobile-nav-toggle:hover{background-color:var(--background-alt)}}.header-left,.logo{display:flex;align-items:center}.logo-image{height:40px;width:auto}.main-nav{margin-left:30px}.main-nav-menu{display:flex;list-style:none;margin:0;padding:0}.main-nav-menu .nav-item{margin-right:20px}.main-nav-menu .nav-link{color:var(--text-color);font-weight:500;padding:5px 0;position:relative}.main-nav-menu .nav-link:hover{color:var(--primary-color)}.role-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:600;margin-left:10px}.role-badge.superadmin{background-color:var(--primary-dark);color:#fff}.role-badge.city-admin{background-color:var(--secondary-dark);color:#fff}.user-profile-section{display:flex;align-items:center;gap:10px}.profile-dropdown{position:relative}.profile-button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center}.avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:var(--primary-light);color:var(--primary-dark);font-weight:600;font-size:1.2rem;border:2px solid var(--background-color);transition:var(--transition)}.avatar:hover{border-color:var(--primary-color)}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.profile-dropdown-menu{position:absolute;top:50px;right:0;width:250px;background-color:var(--background-color);border-radius:var(--border-radius);box-shadow:0 5px 15px #0000001a;z-index:100;overflow:hidden}.profile-header{padding:15px;border-bottom:1px solid var(--background-alt)}.profile-info{display:flex;flex-direction:column;gap:5px}.profile-name{font-weight:600;margin:0}.profile-email{font-size:.9rem;color:var(--text-light);margin:0}.profile-menu{list-style:none;padding:0;margin:0}.profile-menu li{border-bottom:1px solid var(--background-alt)}.profile-menu li:last-child{border-bottom:none}.profile-menu li a,.profile-menu li button{display:block;padding:12px 15px;color:var(--text-color);text-decoration:none;transition:var(--transition);width:100%;text-align:left;background:none;border:none;cursor:pointer;font-size:1rem}.profile-menu li a:hover,.profile-menu li button:hover{background-color:var(--background-alt);color:var(--primary-color)}.menu-divider{height:1px;background-color:var(--background-alt)}.logout-button{color:var(--error-color)!important}.logout-button:hover{background-color:#f443361a!important}@media (max-width: 768px){.header-left{flex:1}.main-nav{display:none}.main-nav.active{display:block;position:absolute;top:60px;left:0;right:0;background-color:var(--background-color);box-shadow:0 5px 15px #0000001a;z-index:100}.main-nav.active .main-nav-menu{flex-direction:column;padding:10px 0}.main-nav.active .nav-item{margin-right:0;margin-bottom:5px}.main-nav.active .nav-link{display:block;padding:10px 20px}.role-badge{display:none}.profile-dropdown-menu{right:0;left:auto;min-width:200px}}footer{background-color:var(--text-color);color:#fff;padding:50px 0 20px;width:100%;margin-top:auto;position:relative;z-index:5;clear:both;left:0;right:0}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;margin-bottom:30px}.footer-title{font-size:1.2rem;margin-bottom:20px;color:var(--primary-light)}.footer-links{list-style:none}.footer-link{margin-bottom:10px}.footer-link a{color:#fff;opacity:.8}.footer-link a:hover{opacity:1;color:var(--primary-light)}.footer-bottom{text-align:center;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:.9rem;opacity:.8}.footer-bottom p{margin-bottom:10px}.footer-bottom p:last-child{margin-bottom:0}.footer-bottom a{color:#fff;opacity:.8;text-decoration:none}.footer-bottom a:hover{opacity:1;color:var(--primary-light);text-decoration:underline}.app-container>.main-content-wrapper{display:flex;flex-grow:1;overflow:hidden}*/ section{width:100%;display:block}.sidebar{width:250px;background-color:var(--primary-light);border-right:1px solid var(--primary-color);transition:width .3s ease;z-index:10;box-shadow:2px 0 5px #0000001a;overflow-y:auto;display:flex;flex-direction:column;flex-shrink:0}.sidebar-collapsed,.sidebar.collapsed{width:60px}.sidebar-header{padding:15px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--background-alt)}.sidebar-title{font-weight:600;color:var(--primary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-toggle{background:var(--background-alt);border:none;border-radius:50%;color:var(--text-color);cursor:pointer;font-size:1.2rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sidebar-toggle:hover{background:var(--primary-light);color:var(--primary-color)}.toggle-icon{display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700}.sidebar-nav{padding:10px 0}.sidebar-menu{padding:15px 0;list-style:none;margin:0}.sidebar-menu-item,.sidebar-menu li a{padding:10px 15px;display:flex;align-items:center;color:var(--text-color);text-decoration:none;transition:var(--transition)}.sidebar-menu li{padding:0}.sidebar-menu li a{padding:10px 15px 10px 25px;transition:background-color .2s ease}.sidebar-menu-item:hover,.sidebar-menu li a:hover{background-color:#ffffffb3;color:var(--primary-dark)}.sidebar-menu-item.active,.sidebar-menu li.active a{background-color:#fff;color:var(--primary-dark);font-weight:500;border-left:3px solid var(--primary-color)}.sidebar-icon,.menu-icon{margin-right:10px;font-size:1.2rem;min-width:24px;text-align:center;display:flex;align-items:center;justify-content:center}.sidebar-text,.menu-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-collapsed .sidebar-text,.sidebar.collapsed .menu-text,.sidebar-collapsed .sidebar-title,.sidebar.collapsed .sidebar-section-header h3,.sidebar.collapsed .section-toggle{display:none}.sidebar-section{margin-bottom:20px}.section-toggle{display:flex;align-items:center;justify-content:center;font-size:.8rem;transition:transform .3s ease}.section-toggle-icon{transition:transform .2s ease}.section-toggle.open .section-toggle-icon{transform:rotate(0)}.arrow-down,.arrow-right{font-size:1rem;display:inline-block;width:16px;height:16px;line-height:16px;text-align:center}.sidebar-section-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid rgba(0,0,0,.1);background-color:#ffffff4d}.sidebar-section-header:hover{background-color:#ffffff80}.sidebar-section-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--primary-dark)}.sidebar-footer{padding:15px;border-top:1px solid var(--background-alt);display:flex;justify-content:center}.sidebar-collapsed .sidebar-footer,.sidebar.collapsed .sidebar-footer{flex-direction:column;align-items:center}.sidebar.collapsed .sidebar-menu li a{padding:15px;justify-content:center}.sidebar.collapsed .menu-icon,.sidebar-collapsed .sidebar-icon{margin-right:0;font-size:1.4rem}.app-container{display:flex;flex-direction:column;min-height:100vh;position:relative}.sidebar-layout{display:flex;min-height:100%;width:100%}.sidebar-layout-inner-wrapper{flex-grow:1;width:100%;display:flex;flex-direction:row;overflow:hidden}.main-content-area{flex-grow:1;display:flex;flex-direction:column;padding:var(--page-padding, 20px);overflow-y:auto}.main-content{flex:1;box-sizing:border-box}.mobile-sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999}.mobile-sidebar-close{display:none}@media (max-width: 768px){.sidebar{position:fixed;left:-250px;top:60px;bottom:0;z-index:1000;width:250px;height:calc(100vh - 60px);transition:left .3s ease;box-shadow:2px 0 5px #0000001a}.sidebar.mobile-open{left:0}.sidebar.collapsed{width:250px}.mobile-sidebar-overlay{display:block}.sidebar-toggle{display:none}.mobile-sidebar-close{display:block;position:absolute;top:15px;right:15px;background:none;border:none;font-size:20px;color:var(--text-color);cursor:pointer;padding:5px;border-radius:4px;transition:background-color .2s ease}.mobile-sidebar-close:hover{background-color:var(--background-alt)}.sidebar-section-header{padding:15px}.sidebar-menu li a{padding:15px 20px;font-size:16px}.menu-icon{font-size:1.2rem;margin-right:15px}.main-content-area{margin-left:0;width:100%;padding:3px}.sidebar-section:first-child .sidebar-menu li a{padding:10px;border-left:none;border-radius:var(--border-radius);justify-content:center}.sidebar-section:first-child .menu-text{display:none}.sidebar-section:first-child .menu-icon{margin-right:0;font-size:1.4rem}.sidebar-section:not(:first-child){display:none}.sidebar.active .sidebar-section:not(:first-child){display:block}.main-container{margin-left:0;width:100%}}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--background-color);min-height:100vh;display:flex;flex-direction:column}#root{display:flex;flex-direction:column;min-height:100vh}h1,.h1{font-size:1.8rem;font-weight:600;color:var(--text-color);margin-bottom:15px;line-height:1.2}h2,.h2{font-size:1.5rem;font-weight:600;color:var(--primary-color);margin-top:20px;margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid var(--background-alt);line-height:1.3}h3,.h3{font-size:1.2rem;font-weight:600;color:var(--text-color);margin-top:15px;margin-bottom:10px;line-height:1.4}p,.p{margin-bottom:15px;font-size:1rem;color:var(--text-light);line-height:1.6}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 20px}.page-content-padding{padding:30px}.content-section{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--background-alt)}.content-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.btn{display:inline-block;padding:10px 20px;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);font-weight:600;text-align:center}.btn:hover{background-color:var(--primary-dark);color:#fff}.btn-secondary{background-color:var(--secondary-color)}.btn-secondary:hover{background-color:var(--secondary-dark)}.btn-outline{background-color:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background-color:var(--primary-color);color:#fff}.btn-sm{padding:5px 10px;font-size:.9rem}.btn-block{width:100%}.form-label{display:block;margin-bottom:8px;font-weight:600;font-size:.9rem;color:var(--text-color)}.form-input,textarea.form-input,select.form-input{width:100%;padding:12px 15px;border:1px solid var(--border-color, #ddd);border-radius:var(--border-radius);font-size:1rem;background-color:var(--background-color, white);color:var(--text-color);transition:all .2s ease;box-shadow:0 1px 3px #0000000d}textarea.form-input{min-height:80px;line-height:1.5}.form-input:focus,textarea.form-input:focus,select.form-input:focus{outline:none;border-color:var(--primary-color)}.main-content-area-wrapper{flex:1;display:flex;flex-direction:column}section{width:100%;display:block}.app-container{display:flex;flex-direction:column;min-height:100vh}@media (max-width: 768px){.btn{width:100%;max-width:300px;margin-bottom:10px}}.table-header-text{font-weight:600;color:var(--text-color);font-size:.9rem}.table-cell-primary-text{font-weight:500;color:var(--text-color);font-size:.9rem}.table-cell-secondary-text{color:var(--text-light);font-size:.9rem}.text-section-title{color:var(--primary-color);margin-bottom:15px;border-bottom:1px solid var(--background-alt);padding-bottom:5px;font-size:1.5rem;font-weight:600}.text-section-subtitle{font-size:1.2rem;font-weight:600;color:var(--text-color);margin-top:15px;margin-bottom:10px}.text-data-label{font-weight:500;color:var(--text-color);font-size:.95rem}.text-descriptive{color:var(--text-light);font-size:.9rem;line-height:1.5}.text-placeholder{color:var(--text-light);font-style:italic;font-size:.9rem}@media (max-width: 768px){.page-content-padding{padding:3px}}:root{--primary-color: #2E7D32;--primary-dark: #1B5E20;--primary-light: #A5D6A7;--secondary-color: #2196F3;--secondary-dark: #1976D2;--secondary-light: #90CAF9;--text-color: #333333;--text-light: #757575;--background-color: #FFFFFF;--background-alt: #F5F5F5;--error-color: #F44336;--success-color: #2E7D32;--warning-color: #FFC107;--border-radius: 4px;--box-shadow: 0 2px 5px rgba(0, 0, 0, .1);--transition: all .3s ease;--max-width: 1200px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--background-color);min-height:100vh;overflow-x:hidden;max-width:100vw}#root{min-height:100vh;overflow-x:hidden;max-width:100vw}a{color:var(--primary-color);text-decoration:none;transition:var(--transition)}a:hover{color:var(--primary-dark)}.loading-spinner{display:inline-block;width:50px;height:50px;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite;margin:20px auto}@keyframes spin{to{transform:rotate(360deg)}}.success h2{color:var(--success-color)}.error h2{color:var(--error-color)}.status-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:600}.status-badge.available{background-color:var(--success-color);color:#fff}.status-badge.unavailable{background-color:var(--error-color);color:#fff}.status-badge.confirmed{background-color:var(--success-color);color:#fff}.status-badge.pending{background-color:var(--warning-color);color:#fff}.status-badge.cancelled{background-color:var(--error-color);color:#fff}.status-badge.completed{background-color:var(--text-light);color:#fff}.save-status{padding:5px 10px;border-radius:var(--border-radius);font-size:.9rem}.status.saving{background-color:var(--background-alt)}.status.success{background-color:var(--success-color);color:#fff}.status.error{background-color:var(--error-color);color:#fff}@media (max-width: 768px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-buttons{flex-direction:column;align-items:center}.btn{width:100%;max-width:300px;margin-bottom:10px}.profile-header{flex-direction:column;align-items:center;text-align:center}.profile-avatar-large{margin-right:0;margin-bottom:20px}.profile-meta,.profile-actions{justify-content:center}}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:5px;font-weight:500}.form-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:var(--border-radius);font-size:1rem}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15)}.form-input-modified{border-color:var(--primary-color);background-color:rgba(var(--primary-rgb),.05)}.form-input-modified:focus{box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15);background-color:#fafcff}.form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.form-container{background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:20px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto}.form-tabs{display:flex;border-bottom:1px solid var(--background-alt);margin-bottom:20px}.tab-button{padding:10px 15px;background:none;border:none;cursor:pointer;font-weight:500;color:var(--text-light)}.tab-button.active{color:var(--primary-color);border-bottom:2px solid var(--primary-color)}.form-tab-content{margin-bottom:20px}.form-row{display:flex;gap:15px;margin-bottom:15px}.form-row .form-group{flex:1}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-top:20px;padding:15px 0;border-top:1px solid var(--border-color)}.form-actions .save-status{margin-right:auto;font-size:.9rem}.form-actions .btn{min-width:120px}.range-input-container{display:flex;align-items:center;gap:15px}.range-input{flex:1}.range-value{min-width:60px;text-align:right;font-weight:500}.form-action{display:flex;align-items:flex-end}
