:root{--primary-blue:#2e5984;--primary-light:#4a7ba7;--secondary-navy:#1a365d;--available-green:#38a169;--available-bg:#f0fff4;--occupied-coral:#e53e3e;--occupied-bg:#fff5f5;--reserved-blue:#3182ce;--reserved-bg:#ebf8ff;--maintenance-amber:#718096;--maintenance-bg:#f8f9fa;--cleaning-amber:#d69e2e;--cleaning-bg:ivory;--background:#fafafa;--surface:#fff;--border:#e2e8f0;--text-primary:#2d3748;--text-secondary:#4a5568;--text-muted:#718096;--success:#38a169;--success-hover:#2f855a;--warning:#d69e2e;--warning-hover:#b7791f;--error:#e53e3e;--error-hover:#c53030;--info:#3182ce;--info-hover:#2c5282;--shadow-sm:0 1px 3px #2d37481a;--shadow-md:0 4px 6px #2d374812;--shadow-lg:0 10px 15px #2d37481a}.login-container{align-items:center;background:linear-gradient(#2e5984d9,#2e5984d9),url(https://images.unsplash.com/photo-1564013799919-ab600027ffc6?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80) 50%/cover;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:1rem;position:relative}.login-container:before{background:radial-gradient(circle at 30% 20%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 70% 80%,#2e598433 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.login-card{animation:loginCardAppear .8s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:16px;box-shadow:0 20px 40px #0003,0 0 0 1px #ffffff4d;max-width:544px;padding:2rem;position:relative;width:100%;z-index:2}@keyframes loginCardAppear{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{margin-bottom:2rem;text-align:center}.login-header h1{color:#2e5984;color:var(--primary-blue);font-size:2rem;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin-bottom:.5rem;text-shadow:0 2px 10px #2e59844d}.login-header p{color:#4a5568;color:var(--text-secondary);font-size:.95rem;font-weight:500;margin:0;opacity:.8}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-form .form-group{position:relative}.login-form .form-group label{align-items:center;color:#2d3748;color:var(--text-primary);display:flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:.5rem}.login-form .form-group label:before{background:#2e5984;background:var(--primary-blue);border-radius:50%;content:"";height:4px;opacity:.7;width:4px}.login-form .form-group input{background:#ffffffe6;border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:5px;box-sizing:border-box;color:#2d3748;color:var(--text-primary);font-size:1rem;padding:1rem 1.25rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.login-form .form-group input::placeholder{color:#718096;color:var(--text-muted);font-weight:400;opacity:.7}.login-form .form-group input:focus{background:#fff;border-color:#2e5984;border-color:var(--primary-blue);box-shadow:0 0 0 4px #2e59841a,0 2px 8px #2e598426;outline:none;transform:translateY(-1px)}.login-form .form-group input:hover:not(:focus){border-color:#2e5984;border-color:var(--primary-blue);opacity:.8}.login-form .form-group input:invalid:not(:placeholder-shown){background:#f871710d;border-color:#f87171}.login-form .form-group input:valid:not(:placeholder-shown){background:#22c55e0d;border-color:#38a169;border-color:var(--available-green)}.login-form .form-group input:disabled{background:#0000000d;border-color:#e2e8f0;border-color:var(--border);color:#718096;color:var(--text-muted);cursor:not-allowed}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container .password-input{flex:1 1;padding-right:3rem}.password-toggle-btn{align-items:center;background:none;border:none;border-radius:6px;color:#718096;color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:.5rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:all .2s ease;z-index:2}.password-toggle-btn:hover{background:#2e59841a;color:#2e5984;color:var(--primary-blue)}.password-toggle-btn:focus{outline:2px solid #2e5984;outline:2px solid var(--primary-blue);outline-offset:2px}.password-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.password-toggle-btn svg{height:20px;transition:transform .2s ease;width:20px}.password-toggle-btn:active svg{transform:scale(.95)}.login-form .form-group:after{background:#2e5984;background:var(--primary-blue);border-radius:1px;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transition:transform .3s ease}.login-form .form-group:focus-within:after{transform:scaleX(1)}.login-btn{background:linear-gradient(135deg,#2e5984,#1a365d);background:linear-gradient(135deg,var(--primary-blue) 0,var(--secondary-navy) 100%);border:none;border-radius:12px;box-shadow:0 4px 15px #2e59844d,0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.5px;margin-top:.25rem;overflow:hidden;padding:1rem 2rem;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.login-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.login-btn:hover:before{left:100%}.login-btn:hover{box-shadow:0 8px 25px #2e598466,0 4px 8px #00000026;transform:translateY(-2px)}.login-btn:active{transform:translateY(-1px);transition:all .1s ease}.login-btn:disabled{box-shadow:0 2px 8px #2e598433,0 1px 2px #0000001a;cursor:not-allowed;opacity:.6;transform:none}.login-btn:disabled:before{display:none}.login-form .error-message{animation:errorShake .5s ease-in-out;background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #f87171;border-radius:12px;box-shadow:0 2px 8px #f8717133;color:#b91c1c;font-size:.9rem;font-weight:500;margin-bottom:1rem;padding:1rem 1.25rem;position:relative;text-align:center}@keyframes errorShake{0%,20%,40%,60%,80%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}}.login-form .error-message:before{content:"⚠️";font-size:1rem;margin-right:.5rem}.error-message{background:var(--error-bg);border:1px solid var(--error-red);border-radius:8px;color:var(--error-red);font-size:.9rem;margin-bottom:1rem;padding:.875rem 1rem}.logout-btn{color:#718096!important;color:var(--text-muted)!important;font-size:.9rem!important;text-decoration:none!important}.logout-btn:hover{color:#2e5984!important;color:var(--primary-blue)!important}.dashboard-layout{display:flex;flex-direction:column;gap:1.5rem}.dashboard-top{display:grid;width:100%}.dashboard-bottom{width:100%}.alert-panel{background:var(--card-background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);padding:1.5rem}.alert-panel-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;justify-content:between;margin-bottom:1rem;padding-bottom:1rem}.alert-panel-header h3{color:#2e5984;color:var(--primary-blue);font-size:1.1rem;margin:0}.alert-count{background:#2e5984;background:var(--primary-blue);border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;margin:5px;padding:.25rem .5rem}.alerts-container{display:flex;flex-direction:column;gap:.75rem}.alert-item{align-items:flex-start;border-left:4px solid;border-radius:8px;display:flex;gap:.75rem;padding:.875rem}.alert-item.success{background:#f0fff4;background:var(--available-bg);border-left-color:#38a169;border-left-color:var(--available-green)}.alert-item.warning{background:#f8f9fa;background:var(--maintenance-bg);border-left-color:#718096;border-left-color:var(--maintenance-amber)}.alert-item.info{background:#ebf8ff;background:var(--reserved-bg);border-left-color:#3182ce;border-left-color:var(--reserved-blue)}.alert-icon{font-size:1.2rem;line-height:1}.alert-content{flex:1 1}.alert-title{color:#2d3748;color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:.25rem}.alert-message{color:#4a5568;color:var(--text-secondary);font-size:.85rem;margin-bottom:.25rem}.alert-details{color:#718096;color:var(--text-muted);font-size:.8rem}.alert-priority{border-radius:50%;height:8px;position:absolute;right:.5rem;top:.5rem;width:8px}.alert-priority.high{background:#e53e3e;background:var(--occupied-coral)}.alert-priority.medium{background:#718096;background:var(--maintenance-amber)}.alert-priority.low{background:#38a169;background:var(--available-green)}.alert-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);color:#718096;color:var(--text-muted);margin-top:1rem;padding-top:.75rem;text-align:center}.upcoming-events{background:var(--card-background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);padding:1.5rem}.upcoming-events-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.upcoming-events-header h3{color:#2e5984;color:var(--primary-blue);font-size:1.1rem;margin:0}.events-count{background:var(--secondary-teal);border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.events-timeline{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.event-item{align-items:flex-start;border-radius:8px;display:flex;gap:1rem;padding:.75rem;transition:all .2s ease}.event-item:hover{background:var(--accent-light)}.event-item.urgent{background:#fff5f5;background:var(--occupied-bg);border-left:3px solid #e53e3e;border-left:3px solid var(--occupied-coral)}.event-time{align-items:center;display:flex;flex-direction:column;min-width:60px}.time{color:#4a5568;color:var(--text-secondary);font-size:.8rem;font-weight:600;text-align:center}.event-indicator{border-radius:50%;height:8px;margin-top:.25rem;width:8px}.event-content{flex:1 1}.event-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.event-icon{font-size:1rem}.event-title{color:#2d3748;color:var(--text-primary);font-size:.9rem;font-weight:600}.urgent-badge{background:#e53e3e;background:var(--occupied-coral);border-radius:8px;color:#fff;font-size:.7rem;font-weight:600;padding:.125rem .375rem}.event-details{margin-left:1.5rem}.event-guest{color:#4a5568;color:var(--text-secondary);font-size:.85rem;font-weight:500}.event-info{color:#718096;color:var(--text-muted);font-size:.8rem}.events-empty{padding:2rem 1rem;text-align:center}.empty-icon{font-size:2rem;margin-bottom:.5rem}.empty-message strong{color:#2d3748;color:var(--text-primary);font-size:1rem}.empty-message p{color:#718096;color:var(--text-muted);font-size:.85rem;margin:.25rem 0 0}.events-summary{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;justify-content:space-around;padding-top:1rem}.summary-item{align-items:center;color:#4a5568;color:var(--text-secondary);display:flex;font-size:.8rem;font-weight:500;gap:.375rem}.summary-icon{font-size:.9rem}.room-filters{background:var(--card-background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.5rem}.filters-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.filters-left h3{color:#2e5984;color:var(--primary-blue);font-size:1.2rem;margin:0 0 .5rem}.results-info{align-items:center;display:flex;gap:.75rem}.room-count{color:#4a5568;color:var(--text-secondary);font-size:.9rem;font-weight:500}.filter-badge{background:#2e5984;background:var(--primary-blue);border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.filters-right{align-items:center;display:flex;gap:1rem}.view-toggle{background:#fafafa;background:var(--background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.view-btn{background:none;color:#718096;color:var(--text-muted);font-size:1rem}.view-btn:hover{background:var(--accent-light)}.filters-toggle,.view-btn.active{background:#2e5984;background:var(--primary-blue);color:#fff}.filters-toggle{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.filters-toggle:hover{background:#4a7ba7;background:var(--primary-light)}.filters-content{padding-top:1rem}.filters-row{grid-gap:1rem;gap:1rem}@media (max-width:1024px){.filters-row{gap:.75rem;grid-template-columns:1fr 1fr}}@media (max-width:768px){.filters-row{grid-template-columns:1fr}}.filter-select,.search-input{background:#fafafa;background:var(--background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;color:#2d3748;color:var(--text-primary);font-size:.9rem;padding:.5rem .75rem}.filter-select:focus,.search-input:focus{border-color:#2e5984;border-color:var(--primary-blue);box-shadow:0 0 0 2px #2e598420;box-shadow:0 0 0 2px var(--primary-blue)20;outline:none}.quick-filter:disabled{cursor:not-allowed;opacity:.5}.room-list-view{background:var(--card-background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.floor-section{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border)}.floor-section:last-child{border-bottom:none}.floor-header{align-items:center;background:var(--accent-light);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1rem 1.5rem}.floor-header h3{color:#2e5984;color:var(--primary-blue);font-size:1rem;margin:0}.floor-count{color:#718096;color:var(--text-muted);font-size:.85rem}.room-list{display:flex;flex-direction:column}.room-list-item{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;transition:all .2s ease}.room-list-item:hover{background:var(--accent-light)}.room-list-item:last-child{border-bottom:none}.room-main-info{align-items:center;display:flex;gap:1rem}.room-number-section{align-items:center;display:flex;gap:.5rem}.room-list-item .room-number{color:#2d3748;color:var(--text-primary);font-size:1.2rem;font-weight:700}.room-status-indicator{height:12px;width:12px}.room-details{align-items:center;display:flex;gap:1.5rem}.room-price,.room-status,.room-type{align-items:center;display:flex;font-size:.85rem;gap:.375rem}.price-label,.status-icon,.type-icon{font-size:1rem}.room-secondary-info{align-items:center;display:flex;gap:1rem}.guest-info{display:flex;flex-direction:column;gap:.25rem;min-width:200px}.guest-email,.guest-name,.occupancy-dates{align-items:center;display:flex;font-size:.8rem;gap:.375rem}.guest-text{color:#2d3748;color:var(--text-primary);font-weight:600}.date-text,.email-text,.empty-guest{color:#718096;color:var(--text-muted)}.empty-guest{font-size:.85rem;font-style:italic}.room-actions{display:flex;gap:.375rem}.action-btn{background:#fafafa;background:var(--background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:.9rem;padding:.375rem;transition:all .2s ease}.action-btn:hover{background:var(--accent-light);border-color:#2e5984;border-color:var(--primary-blue)}.action-btn.quick-reserve{background:#f0fff4;background:var(--available-bg);border-color:#38a169;border-color:var(--available-green);color:#38a169;color:var(--available-green)}.action-btn.quick-reserve:hover{background:#38a169;background:var(--available-green);color:#fff}.action-btn.view-details{background:#ebf8ff;background:var(--reserved-bg);border-color:#3182ce;border-color:var(--reserved-blue);color:#3182ce;color:var(--reserved-blue)}.action-btn.view-details:hover{background:#3182ce;background:var(--reserved-blue);color:#fff}.action-btn.maintenance-done{background:#f8f9fa;background:var(--maintenance-bg);border-color:#718096;border-color:var(--maintenance-amber);color:#718096;color:var(--maintenance-amber)}.action-btn.maintenance-done:hover{background:#718096;background:var(--maintenance-amber);color:#fff}.no-rooms{color:#718096;color:var(--text-muted);padding:3rem 2rem;text-align:center}.no-rooms-icon{font-size:3rem;margin-bottom:1rem}.no-rooms h3{color:#2d3748;color:var(--text-primary);margin-bottom:.5rem}.simple-dashboard-grid{background:var(--card-background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);padding:1.5rem}.grid-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:1rem}.grid-header h3{color:#2e5984;color:var(--primary-blue);font-size:1.1rem;margin:0}.quick-stats{display:flex;gap:1rem}.stat-item{border-radius:12px;font-size:.8rem;padding:.25rem .5rem}.stat-item.available{background:#f0fff4;background:var(--available-bg);color:#38a169;color:var(--available-green)}.stat-item.occupied{background:#fff5f5;background:var(--occupied-bg);color:#e53e3e;color:var(--occupied-coral)}.stat-item.reserved{background:#ebf8ff;background:var(--reserved-bg);color:#3182ce;color:var(--reserved-blue)}.stat-item.maintenance{background:#f8f9fa;background:var(--maintenance-bg);color:#718096;color:var(--maintenance-amber)}.stat-item.cleaning{background:ivory;background:var(--cleaning-bg);color:#d69e2e;color:var(--cleaning-amber)}.simple-grid{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.simple-floor{align-items:center;display:flex;gap:1rem}.simple-floor-label{color:#4a5568;color:var(--text-secondary);font-size:.85rem;font-weight:600;min-width:40px}.simple-floor-rooms{display:flex;flex-wrap:wrap;gap:.375rem}.simple-room{align-items:center;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.7rem;font-weight:600;height:32px;justify-content:center;transition:all .2s ease;width:32px}.simple-room:hover{box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);transform:scale(1.1)}.grid-legend{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding-top:1rem}.legend-items{display:flex;gap:1rem}.legend-item{color:#718096;color:var(--text-muted);font-size:.8rem;gap:.375rem}.legend-dot{border-radius:50%;height:8px;width:8px}.grid-actions{margin-left:auto}@media (max-width:768px){.filters-header{gap:1rem}.filters-header,.room-details{align-items:flex-start;flex-direction:column}.room-details{gap:.5rem}.quick-stats{flex-wrap:wrap;gap:.5rem}.simple-floor{align-items:flex-start;flex-direction:column;gap:.5rem}.legend-items{flex-wrap:wrap;gap:.5rem}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fafafa;background-color:var(--background);color:#2d3748;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:20px}.header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#2e5984,#1a365d);background:linear-gradient(135deg,var(--primary-blue) 0,var(--secondary-navy) 100%);border-bottom:1px solid #ffffff1a;box-shadow:0 4px 20px #00000026,0 1px 3px #0000001a;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{justify-content:space-between;padding:1.25rem 0}.header-brand,.header-content{align-items:center;display:flex}.header-brand{gap:1rem}.brand-icon{animation:subtle-pulse 3s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:2.5rem}@keyframes subtle-pulse{0%,to{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transform:scale(1)}50%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.4));transform:scale(1.02)}}.brand-info{display:flex;flex-direction:column}.brand-title{color:#fff;font-size:1.75rem;font-weight:600;letter-spacing:-.025em;line-height:1.2;margin:0;text-shadow:0 2px 4px #0000004d}.brand-subtitle{color:#ffffffd9;font-size:.875rem;font-weight:400;letter-spacing:.5px;margin-top:.125rem;opacity:.9;text-transform:uppercase}.header-user{align-items:center;display:flex;gap:1.5rem}.user-info{align-items:flex-end;display:flex;flex-direction:column;text-align:right}.user-welcome{font-size:.875rem;margin-bottom:.125rem;opacity:.8}.user-name{font-size:1rem;font-weight:600}.logout-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.logout-btn:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.logout-icon{font-size:1rem}.logout-text{color:#ff9090;display:inline}.nav{border-top:1px solid #ffffff1a;justify-content:center;margin-top:1.5rem;padding-top:1.5rem}.nav,.nav-item{display:flex;gap:.5rem}.nav-item{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;color:#fff;font-weight:500;padding:.75rem 1.25rem;position:relative;text-decoration:none;transition:all .2s ease}.nav-item:hover{background:#ffffff26;border-color:#fff3;transform:translateY(-1px)}.nav-item.active{background:#fff3;border-color:#ffffff4d;box-shadow:0 4px 12px #0003}.nav-item.active:after{background:#fff;border-radius:50%;bottom:-2px;content:"";height:6px;left:50%;position:absolute;transform:translateX(-50%);width:6px}.nav-icon{font-size:1.1rem;opacity:.9}.nav-label{font-size:.875rem}.nav-item.active .nav-icon,.nav-item.active .nav-label{opacity:1}.dashboard{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{border-radius:12px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);padding:1.5rem}.stat-card h3{color:#718096;color:var(--text-muted);font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.stat-card .value{color:#2e5984;color:var(--primary-blue);font-size:2rem;font-weight:700}.dashboard-header{align-items:center;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.dashboard-header h2{color:#2d3748;color:var(--text-primary);font-weight:600;margin:0}.refresh-info{color:#718096;color:var(--text-muted);gap:1rem}.refresh-btn,.refresh-info{align-items:center;display:flex}.refresh-btn{background:#2e5984;background:var(--primary-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;justify-content:center;padding:.5rem;transition:all .2s ease}.refresh-btn:hover{background:#1a365d;background:var(--secondary-navy);transform:scale(1.05)}.refresh-btn:active{transform:scale(.98)}.stats-grid{display:flex;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 6px #2d374812;box-shadow:var(--shadow-md);overflow:hidden;padding:2rem;position:relative;text-align:center;transition:all .3s ease}.stat-card:before{content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0)}.stat-card.occupancy:before,.stat-card:before{background:#2e5984;background:var(--primary-blue)}.stat-card.revenue:before{background:#38a169;background:var(--success)}.stat-card.arrivals:before{background:#3182ce;background:var(--info)}.stat-card.departures:before{background:#d69e2e;background:var(--warning)}.error-stats,.loading-stats{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-top:3px solid #2e5984;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary-blue);height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-stats button{margin-top:1rem}.room-status-summary{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);padding:2rem}.room-status-summary h3{color:#2d3748;color:var(--text-primary);font-weight:600;margin:0 0 1.5rem}.status-breakdown{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.status-item{align-items:center;background:#fafafa;background:var(--background);border-radius:8px;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1rem}.status-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.status-item.available .status-dot{background:#38a169;background:var(--available-green)}.status-item.occupied .status-dot{background:#e53e3e;background:var(--occupied-coral)}.status-item.reserved .status-dot{background:#3182ce;background:var(--reserved-blue)}.status-item.maintenance .status-dot{background:#718096;background:var(--maintenance-amber)}.status-item.cleaning .status-dot{background:#d69e2e;background:var(--cleaning-amber)}.room-grid{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.room-grid h2{color:#2d3748;color:var(--text-primary);font-weight:600;margin:0 0 1rem}.room-grid-professional{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 15px #2d37481a;box-shadow:var(--shadow-lg);margin-bottom:2rem;overflow:hidden}.grid-header{align-items:flex-start;background:linear-gradient(135deg,#2e5984,#1a365d);background:linear-gradient(135deg,var(--primary-blue) 0,var(--secondary-navy) 100%);color:#fff;display:flex;gap:2rem;justify-content:space-between;padding:2rem}.grid-title-section{flex:1 1}.grid-title{align-items:center;color:#fff;display:flex;font-size:1.75rem;font-weight:700;gap:.75rem;margin:0 0 .5rem;text-shadow:0 2px 4px #0000004d}.title-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:2rem}.grid-subtitle{color:#ffffffd9;font-size:1rem;font-weight:400;margin:0}.grid-legend-compact{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:1rem}.legend-title{color:#ffffffe6;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.75rem;text-transform:uppercase}.legend-items-horizontal{display:flex;flex-wrap:wrap;gap:1rem}.legend-item-compact{align-items:center;color:#fff;display:flex;font-size:.85rem;font-weight:500;gap:.5rem}.legend-indicator{border-radius:50%;box-shadow:0 2px 4px #0003;flex-shrink:0;height:12px;width:12px}.legend-indicator.available{background:#38a169;background:var(--available-green)}.legend-indicator.occupied{background:#e53e3e;background:var(--occupied-coral)}.legend-indicator.reserved{background:#3182ce;background:var(--reserved-blue)}.legend-indicator.maintenance{background:#718096;background:var(--maintenance-amber)}.legend-indicator.cleaning{background:#d69e2e;background:var(--cleaning-amber)}.floors-container{max-height:70vh;overflow-x:hidden;overflow-y:auto;padding:2rem;scrollbar-color:#2e5984 #fafafa;scrollbar-color:var(--primary-blue) var(--background);scrollbar-width:thin}.floors-container::-webkit-scrollbar{width:8px}.floors-container::-webkit-scrollbar-track{background:#fafafa;background:var(--background);border-radius:4px}.floors-container::-webkit-scrollbar-thumb{background:#2e5984;background:var(--primary-blue);border:2px solid #fafafa;border:2px solid var(--background);border-radius:4px}.floors-container::-webkit-scrollbar-thumb:hover{background:#1a365d;background:var(--secondary-navy)}.floor-section-pro{background:var(--card-background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);margin-bottom:3rem;overflow:hidden}.floor-header-pro{align-items:center;background:linear-gradient(135deg,#fff,#fafafa);background:linear-gradient(135deg,var(--surface) 0,var(--background) 100%);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;gap:2rem;justify-content:space-between;padding:1.5rem 2rem}.floor-info{flex:1 1}.floor-label-pro{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.floor-icon{font-size:1.5rem}.floor-text{font-size:1.25rem}.floor-stats{align-items:center;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem}.stat-item{color:#4a5568;color:var(--text-secondary);font-weight:600}.stat-separator{color:#718096;color:var(--text-muted);font-weight:400}.stat-available{color:#38a169;color:var(--available-green);font-weight:600}.stat-occupied{color:#e53e3e;color:var(--occupied-coral);font-weight:600}.stat-reserved{color:#3182ce;color:var(--reserved-blue);font-weight:600}.floor-occupancy{align-items:center;display:flex;gap:1rem;min-width:200px}.occupancy-bar{background:#fafafa;background:var(--background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.occupancy-fill{border-radius:3px;height:100%;transition:width .3s ease}.occupancy-text{color:#4a5568;color:var(--text-secondary);font-size:.875rem;font-weight:600;white-space:nowrap}.floor-rooms-pro{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:2rem}.room-card-pro{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:16px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;height:140px;overflow:hidden;padding:1.25rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.room-card-pro:hover{border-width:3px;box-shadow:0 10px 15px #2d37481a;box-shadow:var(--shadow-lg);transform:translateY(-4px) scale(1.02)}.room-card-pro:focus{outline:2px solid #2e5984;outline:2px solid var(--primary-blue);outline-offset:2px}.room-card-pro:active{transform:translateY(-2px) scale(1.01);transition:all .1s ease-out}.room-card-pro.available{background:#38a169;background:var(--available-green);border-color:#38a169;border-color:var(--available-green);color:#fff}.room-card-pro.occupied{background:#e53e3e;background:var(--occupied-coral);border-color:#e53e3e;border-color:var(--occupied-coral);color:#fff}.room-card-pro.reserved{background:#3182ce;background:var(--reserved-blue);border-color:#3182ce;border-color:var(--reserved-blue);color:#fff}.room-card-pro.maintenance{background:#718096;background:var(--maintenance-amber);border-color:#718096;border-color:var(--maintenance-amber);color:#fff}.room-card-pro.cleaning{background:#d69e2e;background:var(--cleaning-amber);border-color:#d69e2e;border-color:var(--cleaning-amber);color:#fff}.room-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.room-number-pro{font-size:1.125rem;font-weight:700;text-shadow:0 1px 2px #0003}.room-status-indicator{border:2px solid #fffc;border-radius:50%;box-shadow:0 2px 4px #0003;height:10px;width:10px}.room-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.room-type-pro{align-items:center;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;opacity:.9}.type-icon{font-size:1rem}.type-text{text-transform:capitalize}.room-guest{align-items:center;display:flex;font-size:.8rem;font-weight:500;gap:.5rem;opacity:.9}.guest-icon{font-size:.9rem}.guest-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-available{align-items:center;display:flex;font-size:.8rem;font-weight:500;opacity:.8}.available-text{font-style:italic}.room-footer{align-items:center;border-top:1px solid #fff3;display:flex;gap:.5rem;justify-content:space-between;margin-top:auto;padding-top:.75rem}.room-price{flex:1 1;font-size:.875rem;font-weight:600;opacity:.9}.modal-quick-reservation-btn{align-items:center!important;border:none!important;border-radius:12px!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;font-size:1rem!important;font-weight:600!important;gap:.5rem!important;padding:.875rem 2rem!important;transition:all .3s ease!important}.modal-quick-reservation-btn:hover{box-shadow:0 4px 12px #3b82f64d!important;transform:translateY(-2px)!important}.modal-quick-reservation-btn:active{transform:translateY(0)!important}.room-list-view-professional{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 15px #2d37481a;box-shadow:var(--shadow-lg);margin-bottom:2rem;overflow:hidden}.list-view-header{background:linear-gradient(135deg,#2e5984,#1a365d);background:linear-gradient(135deg,var(--primary-blue) 0,var(--secondary-navy) 100%);color:#fff;justify-content:space-between;padding:2rem}.list-view-header,.view-title{align-items:center;display:flex}.view-title{gap:.75rem}.view-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:2rem}.view-title h2{color:#fff;font-size:1.75rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0000004d}.view-summary{color:#ffffffd9;font-size:1rem;font-weight:500}.floors-scrollable-container{max-height:65vh;overflow-x:hidden;overflow-y:auto;padding:1.5rem;scrollbar-color:#2e5984 #fafafa;scrollbar-color:var(--primary-blue) var(--background);scrollbar-width:thin}.floors-scrollable-container::-webkit-scrollbar{width:8px}.floors-scrollable-container::-webkit-scrollbar-track{background:#fafafa;background:var(--background);border-radius:4px}.floors-scrollable-container::-webkit-scrollbar-thumb{background:#2e5984;background:var(--primary-blue);border:2px solid #fafafa;border:2px solid var(--background);border-radius:4px}.floors-scrollable-container::-webkit-scrollbar-thumb:hover{background:#1a365d;background:var(--secondary-navy)}.floor-section-list{background:var(--card-background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);margin-bottom:2rem;overflow:hidden}.floor-header-list{align-items:center;background:linear-gradient(135deg,#fff,#fafafa);background:linear-gradient(135deg,var(--surface) 0,var(--background) 100%);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.floor-title-section{flex:1 1}.floor-label-list{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.floor-icon{color:#2e5984;color:var(--primary-blue);font-size:1.25rem}.floor-text{color:#2d3748;color:var(--text-primary);font-size:1.1rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.floor-stats-compact{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.stat-badge{border-radius:8px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.stat-badge.total{background:#4a5568;background:var(--text-secondary);color:#fff}.stat-badge.available{background:#38a169;background:var(--available-green);color:#fff}.stat-badge.occupied{background:#e53e3e;background:var(--occupied-coral);color:#fff}.stat-badge.reserved{background:#3182ce;background:var(--reserved-blue);color:#fff}.floor-progress-mini{align-items:center;display:flex;gap:.75rem;min-width:120px}.progress-bar-mini{background:#fafafa;background:var(--background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:3px;flex:1 1;height:6px;overflow:hidden}.progress-fill-mini{background:linear-gradient(90deg,#e53e3e,#3182ce);background:linear-gradient(90deg,var(--occupied-coral) 0,var(--reserved-blue) 100%);height:100%;transition:width .3s ease}.progress-text-mini{color:#4a5568;color:var(--text-secondary);font-size:.8rem;font-weight:600;white-space:nowrap}.room-list-container{display:flex;flex-direction:column;gap:1rem;padding:1rem}.room-list-item-pro{align-items:center;background:#fff;border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;gap:1.5rem;min-height:100px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.room-list-item-pro:hover{border-width:3px;box-shadow:0 10px 15px #2d37481a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.room-list-item-pro:focus{outline:2px solid #2e5984;outline:2px solid var(--primary-blue);outline-offset:2px}.room-card-left{flex-shrink:0;gap:1rem;min-width:180px}.room-card-left,.room-identity{display:flex;flex-direction:column}.room-identity{gap:.5rem}.room-number-large{color:#2d3748;color:var(--text-primary);font-size:1.5rem;font-weight:700;text-shadow:0 1px 2px #0000001a}.room-status-badge{align-items:center;align-self:flex-start;border-radius:8px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:600;gap:.375rem;padding:.375rem .75rem;text-shadow:0 1px 2px #0003}.status-icon-small{font-size:.9rem}.status-text{letter-spacing:.5px;text-transform:uppercase}.room-specs{display:flex;flex-direction:column;gap:.5rem}.spec-item{align-items:center;color:#4a5568;color:var(--text-secondary);display:flex;font-size:.9rem;gap:.5rem}.spec-item.price{color:#2d3748;color:var(--text-primary);font-weight:600}.price-icon,.spec-icon{font-size:1rem}.price-period{color:#718096;color:var(--text-muted);font-weight:400}.room-card-center{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:80px}.guest-details-card{display:flex;flex-direction:column;gap:.5rem;width:100%}.guest-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.25rem}.guest-icon-main{color:#2e5984;color:var(--primary-blue);font-size:1.25rem}.guest-name-main{color:#2d3748;color:var(--text-primary);font-size:1.1rem;font-weight:600}.guest-contact,.guest-dates{align-items:center;color:#4a5568;color:var(--text-secondary);display:flex;font-size:.85rem;gap:.5rem}.contact-icon,.dates-icon{font-size:.9rem;opacity:.8}.available-card{align-items:center;background:linear-gradient(135deg,#38a169,#38a169);background:linear-gradient(135deg,var(--available-green) 0,var(--available-green) 100%);border-radius:8px;color:#fff;display:flex;gap:1rem;opacity:.9;padding:1rem}.available-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));font-size:2rem}.available-message{display:flex;flex-direction:column;gap:.25rem}.available-title{font-size:1rem;font-weight:600}.available-subtitle{font-size:.85rem;font-style:italic;opacity:.8}.room-card-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;min-width:120px}.room-actions-pro{display:flex;flex-direction:column;gap:.5rem;width:100%}.action-btn-pro{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.5px;padding:.75rem 1rem;text-transform:uppercase;transition:all .2s ease;white-space:nowrap}.action-btn-pro.primary{background:#2e5984;background:var(--primary-blue);color:#fff}.action-btn-pro.primary:hover{background:#1a365d;background:var(--secondary-navy);transform:translateY(-1px)}.action-btn-pro.secondary{background:#38a169;background:var(--available-green);color:#fff}.action-btn-pro.secondary:hover{background:#38a169;background:var(--available-green);opacity:.9;transform:translateY(-1px)}.action-btn-pro.success{color:#fff}.action-btn-pro.success,.action-btn-pro.success:hover{background:#718096;background:var(--maintenance-amber)}.action-btn-pro.success:hover{opacity:.9;transform:translateY(-1px)}.btn-icon{font-size:1rem}.btn-text{font-size:.8rem}.no-rooms-professional{color:#718096;color:var(--text-muted);padding:4rem 2rem;text-align:center}.no-rooms-professional .no-rooms-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.no-rooms-professional h3{color:#2d3748;color:var(--text-primary);margin-bottom:.5rem}.no-rooms-professional p{color:#718096;color:var(--text-muted);font-size:.9rem}.floor{margin-bottom:1.5rem}.floor-label{color:#4a5568;color:var(--text-secondary);font-size:.95rem;font-weight:700;letter-spacing:.5px;margin-bottom:.75rem;text-transform:uppercase}.floor-rooms{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);max-width:600px}.room{align-items:center;background:#fff;background:var(--surface);border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);color:#2d3748;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-weight:600;height:80px;justify-content:center;max-width:140px;min-height:44px;min-width:120px;padding:.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.room:hover{border-width:3px;box-shadow:0 10px 15px #2d37481a;box-shadow:var(--shadow-lg);transform:translateY(-3px) scale(1.02)}.room:focus{outline:2px solid #4a7ba7;outline:2px solid var(--primary-light);outline-offset:2px}.room:active{transform:translateY(-1px) scale(1.01);transition:all .1s ease-out}.room.available{background-color:#38a169;background-color:var(--available-green);border-color:#38a169;border-color:var(--available-green);color:#fff;opacity:.85}.room.occupied{background-color:#e53e3e;background-color:var(--occupied-coral);border-color:#e53e3e;border-color:var(--occupied-coral);color:#fff}.room.reserved{background-color:#3182ce;background-color:var(--reserved-blue);border-color:#3182ce;border-color:var(--reserved-blue);color:#fff}.room.maintenance{background-color:#718096;background-color:var(--maintenance-amber);border-color:#718096;border-color:var(--maintenance-amber);color:#fff}.room.cleaning{background-color:#d69e2e;background-color:var(--cleaning-amber);border-color:#d69e2e;border-color:var(--cleaning-amber);color:#fff}.room-number{font-size:1.1rem;font-weight:700;letter-spacing:.5px;margin-bottom:.2rem}.room-type{font-size:.75rem;font-weight:500;opacity:.85;text-transform:capitalize}.legend{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:1rem}.legend-item{align-items:center;display:flex;font-size:.9rem;gap:.5rem}.legend-color{border:1px solid #ddd;border-radius:4px;height:16px;width:16px}.modal{align-items:center;background-color:#00000080;height:100%;justify-content:center;left:0;position:fixed;top:0;z-index:1000}.modal,.modal-content{display:flex;width:100%}.modal-content{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 15px #2d37481a;box-shadow:var(--shadow-lg);flex-direction:column;max-height:85vh;max-width:720px;overflow-y:auto}.modal-header{background:#fafafa;background:var(--background);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);flex-shrink:0;padding:1.5rem 2rem}.modal-header h2{font-weight:600;margin:0}.close-btn{align-items:center;border-radius:50%;color:#718096;color:var(--text-muted);display:flex;height:30px;justify-content:center;padding:0;transition:all .2s;width:30px}.close-btn:hover{background-color:#fafafa;background-color:var(--background);color:#4a5568;color:var(--text-secondary)}.modal-body{flex:1 1;overflow-y:auto;padding:2rem}.modal-section{margin-bottom:2rem}.modal-section:last-child{margin-bottom:0}.modal-section h3,.modal-section h4{color:#2d3748;color:var(--text-primary);font-weight:600;margin:0 0 1rem}.room-info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.info-item{align-items:center;background:#fafafa;background:var(--background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;display:flex;gap:.5rem;padding:.75rem 1rem}.info-label{color:#4a5568;color:var(--text-secondary);font-weight:600;min-width:-webkit-fit-content;min-width:fit-content}.info-value{color:#2d3748;color:var(--text-primary);font-weight:500}.guest-details-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 3px #0000000d,0 4px 6px #00000005;margin-bottom:1.5rem;overflow:hidden;padding:2rem;position:relative;transition:all .3s ease}.guest-details-card:before{background:linear-gradient(90deg,#2e5984,var(--accent-blue));background:linear-gradient(90deg,var(--primary-blue),var(--accent-blue));border-radius:16px 16px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.guest-details-card:hover{box-shadow:0 4px 12px #00000014,0 8px 20px #0000000a;transform:translateY(-2px)}.guest-info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.guest-details-card .info-item{background:#f8fafc99;border:1px solid #e2e8f0cc;border-radius:12px;display:flex;flex-direction:column;gap:.5rem;padding:1rem;transition:all .2s ease}.guest-details-card .info-item:hover{background:#f1f5f9cc;border-color:#94a3b899;transform:translateY(-1px)}.guest-details-card .info-label{color:#64748b;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.guest-details-card .info-value{color:#1e293b;font-size:1.1rem;font-weight:600;line-height:1.4;word-break:break-word}.total-amount{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #3b82f633;border-radius:16px;display:flex;justify-content:space-between;margin-top:1.5rem;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.total-amount:before{background:linear-gradient(90deg,#3b82f6,#1d4ed8);content:"";height:3px;left:0;position:absolute;right:0;top:0}.total-amount:hover{border-color:#3b82f64d;box-shadow:0 8px 25px #3b82f626;transform:translateY(-1px)}.total-amount-label{color:#475569;font-size:1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.total-amount-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-background-clip:text;background-clip:text;color:#1e40af;font-size:1.5rem;font-weight:800}.charges-table-container{margin:1rem 0;overflow-x:auto}.quick-actions{justify-content:center;margin-top:1.5rem;position:relative}.quick-actions:before{border-radius:16px 16px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}@media (max-width:768px){.quick-actions{gap:.75rem;padding:1.5rem}.quick-actions .btn-small{flex:1 1;min-width:auto}}.charge-form{background:#fafafa;background:var(--background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;margin-top:1rem;padding:1.5rem}.charge-form h4{color:#2d3748;color:var(--text-primary);margin-bottom:1.5rem}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.form{gap:1rem}.form,.form-group{display:flex;flex-direction:column}.form-group label{font-size:.9rem}.form-group input,.form-group select{background-color:#fff;background-color:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;color:#2d3748;color:var(--text-primary);font-size:1rem;padding:.75rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#2e5984;border-color:var(--primary-blue);box-shadow:0 0 0 3px #2e59841a;outline:none}.btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.btn-primary{background-color:#2e5984;background-color:var(--primary-blue);border:1px solid #2e5984;border:1px solid var(--primary-blue);border-radius:12px;color:#fff;height:64px}.btn-primary:hover{background-color:#4a7ba7;background-color:var(--primary-light);border-color:#4a7ba7;border-color:var(--primary-light);transform:translateY(-1px)}.btn-secondary{background-color:#718096;background-color:var(--text-muted);border:1px solid #718096;border:1px solid var(--text-muted);color:#fff}.btn-secondary:hover{background-color:#4a5568;background-color:var(--text-secondary);border-color:#4a5568;border-color:var(--text-secondary)}.btn-success{background-color:#38a169;background-color:var(--success);border:1px solid #38a169;border:1px solid var(--success);color:#fff}.btn-success:hover{background-color:#2f855a;background-color:var(--success-hover);border-color:#2f855a;border-color:var(--success-hover)}.btn-danger{background-color:#e53e3e;background-color:var(--error);border:1px solid #e53e3e;border:1px solid var(--error);color:#fff}.btn-danger:hover{background-color:#c53030;background-color:var(--error-hover);border-color:#c53030;border-color:var(--error-hover)}.btn-small{align-items:center;border:2px solid #0000;border-radius:12px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;min-height:44px;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all .2s ease;white-space:nowrap}.btn-small:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn-small:active{transform:translateY(0);transition:transform .1s ease}.guest-details-card .btn-small{font-size:1rem;font-weight:600;letter-spacing:.025em;min-width:120px;padding:.875rem 1.75rem}.table{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-collapse:collapse;border-radius:12px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);overflow:hidden;width:100%}.table td,.table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);padding:1rem;text-align:left}.table th{color:#2d3748;color:var(--text-primary);font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.table th,.table tr:hover{background-color:#fafafa;background-color:var(--background)}.alert{border-radius:8px;font-weight:500;margin-bottom:1rem;padding:1rem}.alert-success{background-color:#f0fff4;background-color:var(--available-bg);border:1px solid #38a169;border:1px solid var(--available-green);color:#38a169;color:var(--available-green)}.alert-error{background-color:#fff5f5;background-color:var(--occupied-bg);border:1px solid #e53e3e;border:1px solid var(--occupied-coral);color:#e53e3e;color:var(--occupied-coral)}.loading{color:#718096;color:var(--text-muted);padding:2rem;text-align:center}.quick-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}@media (max-width:768px){.container{padding:15px}.nav{flex-direction:column;gap:.5rem}.dashboard{gap:.75rem}.dashboard,.floor-rooms{grid-template-columns:repeat(2,1fr)}.floor-rooms{gap:.5rem;max-width:100%}.grid-header{align-items:stretch;flex-direction:column;gap:1.5rem;padding:1.5rem}.grid-legend-compact{order:-1}.legend-items-horizontal{gap:.75rem}.legend-item-compact{font-size:.8rem}.floor-header-pro{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem 1.5rem}.floor-occupancy{min-width:auto}.floors-container{padding:1rem}.floor-rooms-pro{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));padding:1rem}.room-card-pro{height:120px;padding:1rem}.grid-title{font-size:1.5rem}.grid-subtitle{font-size:.9rem}.list-view-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1.5rem}.view-title h2{font-size:1.5rem}.view-summary{font-size:.9rem}.floors-scrollable-container{max-height:60vh;padding:1rem}.floor-header-list{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem}.floor-progress-mini{min-width:auto}.floor-stats-compact{gap:.375rem}.stat-badge{font-size:.7rem;padding:.2rem .4rem}.room-list-item-pro{align-items:stretch;flex-direction:column;gap:1rem;min-height:auto;padding:1rem}.room-card-left{justify-content:space-between;min-width:auto}.room-card-left,.room-identity{align-items:center;flex-direction:row}.room-identity{gap:1rem}.room-number-large{font-size:1.25rem}.room-specs{flex-direction:row;gap:1rem}.room-card-center{min-height:auto}.room-card-right{align-items:stretch;min-width:auto}.room-actions-pro{flex-direction:row;gap:.5rem}.action-btn-pro{flex:1 1;font-size:.8rem;padding:.5rem}.btn-text{font-size:.75rem}.room{height:70px;min-width:110px}.room-number{font-size:1rem}.room-type{font-size:.7rem}.legend{flex-wrap:wrap;gap:1rem;justify-content:flex-start}.modal-content{max-height:85vh;padding:1rem;width:95%}}@media (max-width:480px){.floor-rooms{grid-template-columns:repeat(1,1fr);margin:0 auto;max-width:280px}.room{height:60px;max-width:260px;width:100%}.dashboard{grid-template-columns:1fr}}@media (min-width:1200px){.floor-rooms{max-width:700px}.room{height:90px;max-width:160px}.room-number{font-size:1.2rem}}@media (prefers-color-scheme:dark){.room{border-color:#555}.room.available{background-color:#1e4620;border-color:#28a745;color:#90ee90}.room.occupied{background-color:#4a1e1e;border-color:#dc3545;color:#ffb3b3}.room.reserved{background-color:#1e3a4a;border-color:#17a2b8;color:#87ceeb}.room.maintenance{background-color:#4a4d50;border-color:#9ca3af;color:#d1d5db}.room.cleaning{background-color:#4a3d1e;border-color:#ffc107;color:#fff59d}}@media (prefers-reduced-motion:reduce){.room{transition:none}.room:hover{transform:none}}.room:focus-visible{outline:3px solid #4a7ba7;outline:3px solid var(--primary-light);outline-offset:3px}@media (max-width:1024px){.header-content{flex-direction:column;gap:1rem;text-align:center}.header-brand{order:1}.header-user{justify-content:center;order:2}.nav{margin-top:1rem;order:3;padding-top:1rem}}@media (max-width:768px){.header-content{padding:1rem 0}.brand-title{font-size:1.5rem}.brand-subtitle{font-size:.8rem}.user-info{align-items:center;text-align:center}.logout-text{display:none}.login-container{background-position:50%;background-size:cover;padding:.5rem}.login-card{border-radius:14px;margin:0 .5rem;max-width:100%;padding:1.75rem}.login-header h1{font-size:1.8rem}.login-header p{font-size:.9rem}.login-form{gap:1.5rem}.login-form .form-group input{font-size:1rem;padding:.875rem 1rem}.login-btn{font-size:1rem;padding:.875rem 1.5rem}.nav{flex-wrap:wrap;gap:.25rem}.nav-item{padding:.5rem .75rem}.nav-label{font-size:.8rem}}@media (max-width:480px){.header-brand{flex-direction:column;gap:.5rem;text-align:center}.brand-icon{font-size:2rem}.brand-title{font-size:1.25rem}.header-user{gap:.75rem}.header-user,.nav{flex-direction:column}.nav{align-items:center;gap:.5rem}.nav-item{justify-content:center;max-width:200px;width:100%}}@media (max-width:768px){.modal-content{margin:.5rem;max-height:90vh;width:95%}.modal-header{padding:1rem 1.5rem}.modal-body{padding:1.5rem}.guest-info-grid,.room-info-grid{gap:.75rem;grid-template-columns:1fr}.quick-actions{flex-direction:column;gap:.5rem}.quick-actions .btn{width:100%}.form-actions{flex-direction:column;gap:.5rem}.form-actions .btn{width:100%}.total-amount{flex-direction:column;gap:.5rem;text-align:center}}@media (max-width:480px){.modal-content{margin:.2rem;max-height:95vh;width:98%}.modal-body,.modal-header{padding:1rem}.modal-section{margin-bottom:1.5rem}.info-item{align-items:flex-start;flex-direction:column;gap:.25rem}.table{font-size:.85rem}}.agenda-container{background:#fafafa;background:var(--background);min-height:calc(100vh - 120px)}.agenda-header{background:linear-gradient(135deg,#2e5984,#1a365d);background:linear-gradient(135deg,var(--primary-blue) 0,var(--secondary-navy) 100%);border-radius:12px;box-shadow:0 8px 32px #2196f34d;color:#fff;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;padding:2rem}.agenda-title-section{flex:1 1;min-width:0}.agenda-title{align-items:center;color:#fff;display:flex;font-size:1.75rem;font-weight:700;gap:.75rem;line-height:1.3;margin:0 0 .5rem}.agenda-title .title-icon{font-size:2rem}.agenda-subtitle{color:#ffffffe6;font-size:1rem;font-weight:400;line-height:1.4;margin:0}.agenda-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between}.view-selector{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;display:flex;padding:4px}.view-btn{background:#0000;border:none;border-radius:6px;color:#ffffffe6;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease}.view-btn:hover{background:#ffffff26}.view-btn.active{background:#ffffffe6;color:#2e5984;color:var(--primary-blue);font-weight:600}.nav-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;height:36px;justify-content:center;padding:.5rem;transition:all .2s ease;width:36px}.nav-btn:hover{background:#fff3;border-color:#fff6}.current-date{color:#fff;font-size:1.1rem;font-weight:600;margin:0 .5rem;min-width:180px;text-align:center;text-transform:capitalize}.create-task-btn{border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.create-task-btn:hover{transform:translateY(-2px)}.agenda-day-view{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.day-timeline{display:flex;flex-direction:column}.hour-slot{border-bottom:1px solid var(--border-light);display:flex;min-height:60px}.hour-slot:last-child{border-bottom:none}.hour-label{align-items:flex-start;background:var(--background-light);border-right:1px solid var(--border-light);color:#718096;color:var(--text-muted);display:flex;font-size:.875rem;font-weight:600;padding:1rem;width:80px}.hour-tasks{display:flex;flex:1 1;flex-direction:column;gap:.5rem;padding:.5rem}.task-item{background:#fff;border-left:4px solid #2e5984;border:1px solid var(--border-light);border-left:4px solid var(--primary-blue);border-radius:8px;cursor:pointer;padding:.75rem;position:relative;transition:all .3s ease}.task-item:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-1px)}.task-item.completed{background:var(--background-light);opacity:.7}.task-item.in_progress{background:linear-gradient(90deg,#2196f30d,#fff);border-left-color:#3182ce;border-left-color:var(--reserved-blue)}.task-item.overdue{background:linear-gradient(90deg,#ff47570d,#fff);border-left-color:#e53e3e;border-left-color:var(--occupied-coral)}.task-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.task-icon{font-size:1.1rem}.task-title{color:#2d3748;color:var(--text-primary);flex:1 1;font-weight:600}.task-time{font-weight:500}.task-details,.task-time{color:#718096;color:var(--text-muted);font-size:.875rem}.task-details{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.task-assignee,.task-department,.task-room{align-items:center;display:flex;gap:.25rem}.task-department{background:var(--background-light);border-radius:6px;padding:.25rem .5rem}.complete-btn,.task-department{font-size:.75rem;font-weight:500}.complete-btn{background:#38a169;background:var(--available-green);border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:.5rem;padding:.25rem .75rem;transition:all .3s ease}.complete-btn:hover{background:#27ae60;transform:translateY(-1px)}.task-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.task-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{background:linear-gradient(135deg,#2e5984,#1a365d);background:linear-gradient(135deg,var(--primary-blue) 0,var(--secondary-navy) 100%);border-bottom:1px solid var(--border-light);border-radius:16px 16px 0 0;color:#fff;justify-content:space-between;padding:1.5rem}.modal-header,.modal-header h3{align-items:center;display:flex}.modal-header h3{font-size:1.25rem;gap:.5rem;margin:0}.close-btn{background:none;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.5rem;padding:.25rem;transition:all .3s ease}.close-btn:hover{background:#ffffff1a}.task-form{padding:1.5rem}.form-group{margin-bottom:1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group label{color:#2d3748;color:var(--text-primary);display:block;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-light);border-radius:8px;font-size:.95rem;padding:.75rem;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2e5984;border-color:var(--primary-blue);box-shadow:0 0 0 3px #2196f31a;outline:none}.modal-actions{border-top:1px solid var(--border-light);display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem}.task-details-modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.task-details-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:90%}.task-details-header{align-items:center;background:linear-gradient(135deg,#2e5984,#1a365d);background:linear-gradient(135deg,var(--primary-blue) 0,var(--secondary-navy) 100%);border-bottom:1px solid var(--border-light);border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.task-details-header-actions{align-items:center;display:flex;gap:1rem}.keyboard-hint{font-size:.75rem;font-style:italic;opacity:.8}.task-details-header h3{font-size:1.25rem;margin:0}.task-details-header button{background:none;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.5rem;padding:.25rem;transition:all .3s ease}.task-details-header button:hover{background:#ffffff1a}.task-details-body{padding:1.5rem}.task-details-body p{line-height:1.5;margin:0 0 .75rem}.task-details-body strong{color:#2d3748;color:var(--text-primary);margin-right:.5rem}.agenda-container .loading{align-items:center;color:#718096;color:var(--text-muted);display:flex;font-size:1.1rem;height:200px;justify-content:center}:root{--priority-high:#ff4757;--priority-medium:#ffa502;--priority-low:#2ed573}@media (max-width:768px){.agenda-header{align-items:stretch}.agenda-controls,.agenda-header{flex-direction:column;gap:1rem}.date-navigation{justify-content:center}.current-date{min-width:auto}.form-row{grid-template-columns:1fr}.hour-slot{flex-direction:column}.hour-label{border-bottom:1px solid var(--border-light);border-right:none;justify-content:center;padding:.5rem;width:100%}.hour-tasks{padding:1rem}}.alert-item{position:relative}.alert-actions{margin-top:.75rem}.schedule-task-btn{align-items:center;background:linear-gradient(135deg,#2e5984,#1a365d);background:linear-gradient(135deg,var(--primary-blue) 0,var(--secondary-navy) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.5rem .75rem;transition:all .3s ease}.schedule-task-btn:hover:not(:disabled){box-shadow:0 4px 15px #2196f34d;transform:translateY(-1px)}.schedule-task-btn:disabled{cursor:not-allowed;opacity:.6}.event-item.completed{background:linear-gradient(90deg,#2ed5730d,#fff);opacity:.7}.completed-badge{background:#38a169;background:var(--available-green);border-radius:4px;color:#fff;font-size:.625rem;font-weight:600;padding:.125rem .375rem}.event-room{color:#2e5984;color:var(--primary-blue);font-weight:500}.event-actions{margin-top:.5rem}.task-complete-btn{background:#38a169;background:var(--available-green);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;padding:.375rem .75rem;transition:all .3s ease}.task-complete-btn:hover{background:#27ae60;transform:translateY(-1px)}.event-item.scheduled_task{border-left:3px solid #2e5984;border-left:3px solid var(--primary-blue)}.event-item.scheduled_task.completed{border-left-color:#38a169;border-left-color:var(--available-green)}.date-navigation{align-items:center;display:flex;gap:.75rem;margin-top:.5rem}.today-btn{background:#ffffffe6;border:1px solid #ffffffe6;border-radius:6px;color:#2e5984;color:var(--primary-blue);cursor:pointer;font-size:.875rem;font-weight:600;margin-left:.5rem;padding:.5rem 1rem;transition:all .2s ease}.today-btn:hover{background:#fff;border-color:#fff;box-shadow:0 2px 8px #ffffff4d;transform:translateY(-1px)}.hour-grid{background:#fff;border:1px solid #e1e5e9;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.hour-row{border-bottom:1px solid #e8eaed;display:grid;grid-template-columns:80px 1fr;min-height:60px;position:relative}.hour-row:last-child{border-bottom:none}.hour-label-gcal{align-items:flex-start;background:#fafbfc;border-right:1px solid #e8eaed;color:#70757a;display:flex;font-size:.75rem;font-weight:500;justify-content:center;padding:.5rem}.hour-slot-gcal{cursor:pointer;min-height:58px;padding:2px;position:relative;transition:background-color .2s ease}.hour-slot-gcal:hover{background:#4285f40a}.task-event{border-left:4px solid #0000;border-radius:4px;box-shadow:0 1px 3px #3c40434d;color:#fff;cursor:pointer;font-size:.75rem;margin:1px 4px;padding:4px 8px;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none}.task-event:hover{box-shadow:0 2px 8px #3c404366;transform:translateY(-1px)}.task-event.completed{opacity:.7;text-decoration:line-through}.task-event-content{display:flex;flex-direction:column;gap:2px}.task-event-title{align-items:center;display:flex;font-weight:600;gap:4px;line-height:1.2}.task-event-icon{font-size:.7rem}.task-event-assignee,.task-event-time{font-size:.65rem;font-weight:400;opacity:.9}.week-view{background:#fff;border:1px solid #dadce0;border-radius:8px;box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326;overflow:hidden}.week-header{background:#fafbfc;border-bottom:1px solid #e8eaed;display:grid;grid-template-columns:80px repeat(7,1fr)}.week-day-header,.week-time-column{border-right:1px solid #e8eaed}.week-day-header{align-items:center;display:flex;flex-direction:column;padding:1rem .5rem;text-align:center}.week-day-header:last-child{border-right:none}.week-day-name{color:#70757a;font-size:.75rem;font-weight:500;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.week-day-number{color:#3c4043;font-size:1.5rem;font-weight:600}.week-content{display:grid;grid-template-columns:80px 1fr;max-height:600px;overflow-y:auto}.week-hours{background:#fafbfc;border-right:1px solid #e8eaed}.week-hour-label{align-items:flex-start;border-bottom:1px solid #f1f3f4;color:#70757a;display:flex;font-size:.75rem;font-weight:500;height:60px;justify-content:center;padding:.5rem}.week-grid{display:grid;grid-template-columns:repeat(7,1fr)}.week-day-column{border-right:1px solid #e8eaed}.week-day-column:last-child{border-right:none}.week-hour-slot{border-bottom:1px solid #f1f3f4;cursor:pointer;height:60px;padding:2px;position:relative;transition:background-color .2s ease}.week-hour-slot:hover{background:#4285f40a}.week-task-event{border-left:3px solid #0000;border-radius:3px;box-shadow:0 1px 2px #3c40434d;color:#fff;cursor:pointer;font-size:.7rem;margin:1px 2px;padding:2px 6px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.week-task-event:hover{box-shadow:0 2px 6px #3c404366;transform:translateY(-1px)}.week-task-event.completed{opacity:.7;text-decoration:line-through}.week-task-title{align-items:center;display:flex;font-weight:600;gap:3px;line-height:1.2}.month-view{background:#fff;border:1px solid #dadce0;border-radius:8px;box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326;overflow:hidden}.month-header{background:#fafbfc;border-bottom:1px solid #e8eaed;display:grid;grid-template-columns:repeat(7,1fr)}.month-day-header{border-right:1px solid #e8eaed;color:#70757a;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:center;text-transform:uppercase}.month-day-header:last-child{border-right:none}.month-grid{display:flex;flex-direction:column}.month-week{border-bottom:1px solid #e8eaed;display:grid;grid-template-columns:repeat(7,1fr)}.month-week:last-child{border-bottom:none}.month-day{border-right:1px solid #e8eaed;cursor:pointer;display:flex;flex-direction:column;min-height:120px;padding:8px;position:relative;transition:background-color .2s ease}.month-day:last-child{border-right:none}.month-day:hover{background:#4285f40a}.month-day.other-month{background:#fafbfc;color:#9aa0a6}.month-day.today{background:#4285f41a}.month-day.today .month-day-number{align-items:center;background:#1a73e8;border-radius:50%;color:#fff;display:flex;font-weight:700;height:28px;justify-content:center;width:28px}.month-day-number{align-self:flex-start;color:#3c4043;font-size:.875rem;font-weight:600;margin-bottom:4px}.month-day-tasks{display:flex;flex:1 1;flex-direction:column;gap:2px}.month-task-event{align-items:center;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:.7rem;gap:4px;max-width:100%;overflow:hidden;padding:2px 6px;transition:all .2s ease}.month-task-event:hover{box-shadow:0 2px 6px #3c40434d;transform:translateY(-1px)}.month-task-icon{flex-shrink:0;font-size:.65rem}.month-task-title{flex:1 1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-detail-item{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.task-detail-item strong{color:#2d3748;color:var(--text-primary);font-weight:600;min-width:80px}.priority-badge,.status-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:capitalize}.priority-badge.high{background:#ff4757;color:#fff}.priority-badge.medium{background:#ffa502;color:#fff}.priority-badge.low{background:#2ed573;color:#fff}.status-badge.pending{background:#f39c12;color:#fff}.status-badge.in_progress{background:#3498db;color:#fff}.status-badge.completed{background:#2ecc71;color:#fff}.task-detail-actions{border-top:1px solid var(--border-light);display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem}.btn-small{font-size:.75rem;padding:.375rem .75rem}.hour-slot-gcal.drag-over,.week-hour-slot.drag-over{background:#4285f41a;border:2px dashed #1a73e8}.task-event[draggable=true]:hover{cursor:grab}.task-event[draggable=true]:active{cursor:grabbing}@media (max-width:1024px){.week-view{font-size:.875rem}.week-hour-slot{height:50px}.month-day{min-height:100px}}@media (max-width:768px){.agenda-header{gap:1.5rem;margin-bottom:1rem;padding:1.5rem}.agenda-controls{align-items:stretch;flex-direction:column;gap:1rem}.view-selector{justify-content:space-around;order:1;width:100%}.date-navigation{justify-content:space-between;margin-top:0;order:2;width:100%}.create-task-btn{align-self:center;margin-top:.5rem;order:3}.current-date{flex:1 1;margin:0;min-width:auto;text-align:center}.today-btn{font-size:.8rem;margin-left:0;padding:.5rem .75rem}.week-view{overflow-x:auto}.month-day{min-height:80px;padding:4px}.month-task-event{font-size:.65rem;padding:1px 4px}.task-event{font-size:.7rem;padding:3px 6px}}.reservation-layout{background:#fafafa;background:var(--background);min-height:calc(100vh - 120px)}.reservation-filters{background:var(--card-background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #2d37481a;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.5rem}.filters-row{grid-gap:1.5rem;align-items:end;display:grid;gap:1.5rem;grid-template-columns:2fr 1fr 1fr auto auto;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.375rem}.filter-group label{color:#4a5568;color:var(--text-secondary);font-size:.85rem;font-weight:600}.filter-actions{align-items:end;display:flex}.filter-actions .btn{-webkit-font-smoothing:antialiased;align-items:center;border:2px solid #0000;border-radius:12px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:.5rem;justify-content:center;margin:0;min-height:44px;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:all .2s ease;white-space:nowrap}.filter-actions .btn-secondary{background-color:#718096;background-color:var(--text-muted);border-color:#718096;border-color:var(--text-muted);color:#fff}.filter-actions .btn-secondary:hover{background-color:#4a5568;background-color:var(--text-secondary);border-color:#4a5568;border-color:var(--text-secondary);box-shadow:0 4px 6px #2d374812;box-shadow:var(--shadow-md);transform:translateY(-1px)}.quick-filters{align-items:center;border-top:1px solid var(--border-light);display:flex;flex-wrap:wrap;gap:.5rem}.quick-label{color:#718096;color:var(--text-muted);font-size:.85rem;font-weight:500}.quick-filter{background:#fafafa;background:var(--background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;color:#4a5568;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;padding:.375rem .75rem;transition:all .2s ease}.quick-filter:hover:not(:disabled){border-color:#2e5984;border-color:var(--primary-blue);color:#2e5984;color:var(--primary-blue)}.quick-filter.active{background:#2e5984;background:var(--primary-blue);border-color:#2e5984;border-color:var(--primary-blue);color:#fff}.reservations-table-container{background:var(--card-background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.reservations-table{border-collapse:collapse;font-size:.9rem;width:100%}.reservations-table thead{background:var(--accent-light);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border)}.reservations-table thead th{border-bottom:none;color:#2d3748;color:var(--text-primary);font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.sortable-header{cursor:pointer;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none}.sortable-header:hover{background:#2196f31a;color:#2e5984;color:var(--primary-blue)}.reservations-table tbody tr{border-bottom:1px solid var(--border-light);transition:all .2s ease}.reservations-table tbody tr:hover{background:var(--accent-light)}.reservations-table tbody tr:last-child{border-bottom:none}.reservations-table td{border:none;padding:1rem;vertical-align:top}.reservations-table td:first-child{font-weight:600}.reservation-status-badge{align-items:center;border:1px solid #0000;border-radius:16px;display:inline-flex;font-size:.75rem;font-weight:600;padding:.375rem .75rem;text-transform:capitalize;white-space:nowrap}.reservation-status-badge.status-confirmed{background:#e3f2fd;border-color:#bbdefb;color:#1565c0}.reservation-status-badge.status-checked-in{background:#e8f5e8;border-color:#c8e6c9;color:#2e7d32}.reservation-status-badge.status-checked-out{background:#f5f5f5;border-color:#e0e0e0;color:#424242}.reservation-status-badge.status-cancelled{background:#ffebee;border-color:#ffcdd2;color:#c62828}.reservation-status-badge.status-default{background:#f5f5f5;border-color:#e0e0e0;color:#757575}.reservations-table .actions-cell{align-items:center;display:flex;flex-wrap:nowrap;gap:.5rem;justify-content:flex-start;min-width:140px}.reservations-table .btn-small{border-radius:4px;flex-shrink:0;font-size:.75rem;min-width:-webkit-fit-content;min-width:fit-content;padding:.25rem .5rem;white-space:nowrap}.reservations-table .actions-cell .btn-small{flex:0 0 auto;max-width:120px}@media (max-width:1024px){.filters-row{gap:1rem;grid-template-columns:1fr 1fr}.reservations-table{font-size:.85rem}.reservations-table td,.reservations-table th{padding:.75rem .5rem}}@media (max-width:768px){.reservation-layout{padding:1rem}.filters-header{align-items:flex-start;flex-direction:column;gap:1rem}.filters-row{gap:1rem;grid-template-columns:1fr}.quick-filters{align-items:flex-start;flex-direction:column;gap:.75rem}.reservations-table-container{overflow-x:auto}.reservations-table{font-size:.8rem;min-width:800px}.reservations-table td,.reservations-table th{padding:.5rem .375rem}.actions-cell{flex-direction:column;gap:.125rem}.btn-small{font-size:.7rem;padding:.2rem .4rem}}
/*# sourceMappingURL=main.c243e5ea.css.map*/