@import url(https://fonts.cdnfonts.com/css/playbill);.login-container{align-items:center;background:linear-gradient(135deg,#f1f7ff,#d9ecff);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#fff;border:1px solid #d6e5fb;border-radius:18px;box-shadow:0 24px 48px #0c4f8229;max-width:420px;padding:42px 40px 36px;text-align:center;width:100%}.login-logo{display:block;margin:0 auto 1.25rem;width:140px}.login-box h1{color:#0b3d70;font-size:28px;margin-bottom:10px}.login-box h2{color:#333;font-size:22px;margin-bottom:10px;text-align:center}.form-group-inline{grid-gap:12px;display:grid;gap:12px;grid-template-columns:140px 1fr;margin-bottom:18px;text-align:left}.form-hint{color:#666;font-size:12px;margin-top:6px}.form-group input,.form-group select{border:1px solid #ddd;padding:11px 14px;transition:all .3s ease}.btn-forgot{background-color:initial;border:1px solid #0b78d1;border-radius:999px;color:#0b78d1;cursor:pointer;font-size:14px;margin-bottom:8px;padding:10px;transition:all .3s ease;width:100%}.btn-forgot:hover{background-color:#0b78d1;color:#fff}.btn-back{background-color:#f0f4fb;border:none;border-radius:999px;color:#0b3d70;cursor:pointer;font-size:14px;padding:10px;transition:all .3s ease;width:100%}.btn-back:hover{background-color:#e1edfb;color:#0b3d70}.error{border-radius:6px;text-align:center}@media (max-width:768px){.login-container{padding:15px}.login-box{max-width:100%;padding:30px 25px}.login-logo{margin-bottom:1rem;width:120px}.login-box h1{font-size:24px}.login-box h2{font-size:20px}}@media (max-width:480px){.login-container{padding:10px}.login-box{border-radius:12px;padding:25px 20px}.login-logo{width:100px}.login-box h1{font-size:22px}.login-box h2{font-size:18px}.form-group label,.subtitle{font-size:13px}.form-group-inline{grid-template-columns:1fr}.form-group input,.form-group select{font-size:14px;padding:10px 12px}.btn-submit{font-size:14px;padding:11px}.forgot-password{font-size:13px}}.login-footer{color:#999;font-size:12px;margin-top:30px;text-align:center}.desk-map-wrapper{background:linear-gradient(135deg,#f9fcff,#edf6ff);border-radius:18px;box-shadow:0 18px 38px #0c4f8214;padding:2rem}@media (min-width:1200px){.desk-map-wrapper{padding:2rem}}.map-header{margin-bottom:1.5rem;text-align:center}.map-header h3{color:#333;font-size:1.8rem;margin:.5rem 0;.desk-seat.other-booking{fill:#fff;stroke:orange}}.booking-date{color:#666;font-size:1rem;margin:.5rem 0 0;.desk-seat.reserved-for-me{fill:#fff;stroke:orange}}.booking-date strong{color:#2c3e50;font-weight:600;.desk-seat.reserved-other{fill:#fff;stroke:orange;cursor:not-allowed}}.map-instructions{background:#e9f3ff;border-radius:12px;color:#0b3d70;font-size:.95rem;margin-bottom:2rem;padding:1rem;text-align:center;.desk-seat.maintenance{fill:#fff;stroke:orange;cursor:not-allowed}.table-divider{stroke:#ffa50080;stroke-width:2.5;stroke-linecap:round}}.map-instructions.warning{background:#fff3cd;border:1px solid #ffc107;color:#856404}.desk-map-container{background:#fff;border-radius:8px;flex:1 1;margin-bottom:2rem;max-height:85vh;overflow-y:auto;padding:1.5rem}@media (min-width:1200px){.desk-map-container{max-height:90vh;padding:2rem}}.desk-groups{align-items:flex-start;flex-wrap:wrap;gap:3rem;overflow-x:auto;overflow-y:hidden;padding-bottom:1rem}.desk-group,.desk-groups{display:flex;justify-content:center}.desk-group{background:#fff;border:1px solid #d6e5fb;border-radius:18px;box-shadow:0 18px 34px #0b78d114;flex-shrink:0;min-width:420px;padding:2rem}.desk-group-svg{height:460px;width:380px}.group-banner .banner-bg{fill:#0b78d1;stroke:#003f7f;stroke-width:2}.group-banner .banner-text{fill:#fff;text-anchor:middle;dominant-baseline:middle;font-size:.85rem;font-weight:700;letter-spacing:.03em}.table-outline{fill:none;stroke:#000;stroke-width:2;opacity:.9}.table-surface{fill:#fff;stroke:#000;stroke-width:2;filter:drop-shadow(0 12px 20px rgba(80,60,40,.15))}.table-divider{stroke:#ffa50073;stroke-width:2.5;stroke-linecap:round}.chair{opacity:.95}.chair-body{fill:#5a5a5a;stroke:#000;stroke-width:2}.chair-back{fill:#4a4a4a;stroke:#3a3a3a;stroke-width:1.5}.chair-arm,.chair-wheel{fill:#1a1a1a}.chair.preferred-match .chair-body{stroke:#0b78d1;stroke-width:3;filter:drop-shadow(0 0 10px rgba(11,120,209,.6))}.chair.preferred-match .chair-back{stroke:#0b78d1;stroke-width:2}.desk-seat-group{cursor:pointer}.desk-seat{fill:#fff;stroke:orange;stroke-width:3.2;transition:transform .2s ease,filter .2s ease,fill .2s ease,stroke .2s ease}.desk-seat.available{fill:#fff;stroke:#ffdab9}.desk-seat.available.fallback{fill:#fff;stroke:#a68a5e}.desk-seat.user-booking{fill:#fff;stroke:orange}.desk-seat.other-booking{fill:#fff;stroke:#fada9;cursor:not-allowed}.desk-seat.reserved-for-me{fill:#fff;stroke:#fada9d}.desk-seat.maintenance,.desk-seat.reserved-other{fill:#fff;stroke:#fada9d;cursor:not-allowed}.desk-seat-group.disabled,.desk-seat-group.other-booking{cursor:not-allowed}.desk-seat.selected{stroke:#0b3d70;filter:drop-shadow(0 0 14px rgba(11,61,112,.55))}.desk-seat-group:focus-visible .desk-seat.available,.desk-seat-group:hover .desk-seat.available{filter:drop-shadow(0 8px 16px rgba(11,120,209,.18));transform:translateY(-2px)}.desk-seat-group.other-booking:focus-visible .desk-seat,.desk-seat-group.other-booking:hover .desk-seat{filter:none;transform:none}.desk-seat-label{text-anchor:middle;dominant-baseline:middle;fill:#0b78d1;font-family:Stencil,Impact,Arial Black,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:.05em;pointer-events:none}.desk-seat-monitor{display:inline;font-weight:600}.desk-seat-monitor,.desk-seat-status{fill:#000;text-anchor:middle;dominant-baseline:middle;font-family:Arial,sans-serif;font-size:.7rem;opacity:.95;pointer-events:none}.desk-seat-status{font-weight:700}.desk-seat-group.available .desk-seat-status{fill:#099809}.desk-seat-group.user-booking .desk-seat-status{fill:#0b78d1}.desk-seat-group.other-booking .desk-seat-status{fill:#8c959f}.desk-seat-group.reserved-for-me .desk-seat-status{fill:#f0b429}.desk-seat-group.reserved-other .desk-seat-status{fill:#f87777}.desk-seat-group.maintenance .desk-seat-status{fill:#86898b}.chair.available .chair-body{fill:#4fa171;stroke:#000}.chair.user-booking .chair-body{fill:#8dd4ff;stroke:#000}.chair.other-booking .chair-body{fill:#d4d9df;stroke:#000}.chair.reserved-for-me .chair-body{fill:#f4d475;stroke:#000}.chair.reserved-other .chair-body{fill:#f19999;stroke:#000}.chair.maintenance .chair-body{fill:#afb7bc;stroke:#000}.chair.empty .chair-body{fill:#f0f2f3;stroke:#000;opacity:.8}.desk-info-button{cursor:pointer}.info-button-circle{fill:#0b78d1;stroke:#fff;stroke-width:1.5;transition:all .2s ease}.desk-info-button:hover .info-button-circle{fill:#0966b8;r:9}.info-button-text{fill:#fff;text-anchor:middle;dominant-baseline:middle;font-size:10px;font-weight:700;pointer-events:none;-webkit-user-select:none;user-select:none}.desk-info-popup{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);width:100%;z-index:1000}.popup-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:24px;position:relative;width:90%}.popup-close{border-radius:4px;color:#999;height:28px;right:12px;top:12px;transition:color .2s ease;width:28px}.popup-close:hover{background:#f5f5f5;color:#333}.popup-content h4{color:#0b3d70;font-size:18px;font-weight:600;margin:0 0 16px}.popup-info{display:flex;flex-direction:column;gap:12px}.popup-info p{color:#333;font-size:14px;line-height:1.5;margin:0}.popup-info strong{color:#0b3d70;font-weight:600}.legend{background:#fff;border:1px solid #d6e5fb;border-radius:14px;box-shadow:0 12px 24px #0b78d114;padding:1.5rem}.legend-header{align-items:center;display:flex;gap:15px;justify-content:space-between;margin-bottom:1rem}.legend-header h4{color:#2c3e50;font-size:1rem;margin:0}.btn-monitor-match{background:linear-gradient(135deg,#0b78d1,#0966b8);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.btn-monitor-match:hover{background:linear-gradient(135deg,#0966b8,#075099);box-shadow:0 4px 12px #0b78d14d;transform:translateY(-1px)}.legend-content{display:flex;flex-direction:column;gap:1rem}.legend-description{color:#333;font-size:.95rem;line-height:1.5;margin:0}.legend-items{display:flex;flex-wrap:wrap;gap:2rem}.legend-item{align-items:center;display:flex;gap:.8rem}.legend-desk{background:#1a9b4a;border:3px solid #176f3b;border-radius:8px;height:34px;width:48px}.legend-desk.available{background:#6cc591;border-color:#4fa171}.legend-desk.user-booking{background:#8dd4ff;border-color:#0b78d1}.legend-desk.other-booking{background:#d4d9df;border-color:#8c959f}.legend-desk.reserved-for-me{background:#ffd966;border-color:#f0b429}.legend-desk.reserved-other{background:#ffb6b6;border-color:#c92a2a}.legend-desk.maintenance{background:#c6ccd0;border-color:#6b7176}.legend-item span{color:#666;font-size:.95rem}.no-desks{color:#f55151;font-size:1.1rem;padding:3rem;text-align:center}@media (max-width:768px){.desk-map-wrapper{padding:1rem .5rem}.map-header h3{font-size:1.3rem}.booking-date{font-size:.9rem}.map-instructions{font-size:.85rem;padding:.75rem}.desk-map-container{max-height:65vh;padding:.75rem}.desk-groups{align-items:center;flex-direction:column;gap:1rem}.desk-group{max-width:100%;min-width:100%;padding:1rem}.desk-group-svg{height:auto;max-width:380px;width:100%}.desk-seat-label{font-size:.75rem}.desk-seat-status{font-size:.6rem}.legend-items{flex-direction:column;gap:.75rem}.legend-desk{height:28px;width:40px}.legend-item span{font-size:.85rem}}@media (max-width:480px){.desk-map-wrapper{border-radius:12px;padding:.75rem .25rem}.map-header h3{font-size:1.1rem}.booking-date{font-size:.8rem}.desk-map-container{max-height:60vh;padding:.5rem}.desk-group{padding:.75rem}.desk-group-svg{max-width:320px}.legend-content{gap:.75rem}.legend-description{font-size:.8rem}.no-desks{font-size:1rem;padding:2rem 1rem}.desk-seat{-webkit-tap-highlight-color:rgba(11,120,209,.2);cursor:pointer}}.header-bar{background:linear-gradient(135deg,#4ec5ff,#0b78d1);border-radius:18px;box-shadow:0 18px 38px #0b78d12e;color:#fff;justify-content:space-between;margin-bottom:2rem;padding:.75rem 1.75rem}.brand,.header-bar{align-items:center;display:flex}.brand{cursor:pointer;gap:.8rem}.brand:focus{outline:2px solid #ffffffb3;outline-offset:4px}.brand-logo{height:44px;width:auto}.brand-title{font-size:1.25rem;font-weight:700;letter-spacing:.03em}.nav-actions{align-items:center;display:flex;gap:1rem}.nav-btn{background:#003f7f;border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;padding:.55rem 1.25rem;transition:background .2s ease}.nav-btn:focus,.nav-btn:hover{background:#002f5f}.nav-menu{position:relative}.menu-dropdown{background:#fff;border-radius:10px;box-shadow:0 10px 25px #00469226;left:0;min-width:210px;padding:.5rem 0;position:absolute;top:calc(100% + .5rem);z-index:20}.menu-dropdown button{background:#0000;border:none;color:#003f7f;cursor:pointer;font-weight:600;padding:.65rem 1rem;text-align:left;width:100%}.menu-dropdown button:hover{background:#003f7f1a}.user-section{align-items:center;display:flex;gap:1rem}.profile-menu{position:relative}.profile-trigger{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;gap:12px;padding:0;transition:opacity .2s}.profile-trigger:hover{opacity:.9}.profile-avatar{align-items:center;background:linear-gradient(135deg,#fff,#e0e7ff);border:2px solid #ffffff80;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:#0b78d1;display:flex;font-size:18px;font-weight:700;height:44px;justify-content:center;overflow:hidden;width:44px}.profile-avatar .avatar-image{height:100%;object-fit:cover;width:100%}.user-meta{color:#fff!important;display:flex;flex-direction:column;text-align:left}.user-name{color:#fff!important;font-size:15px}.user-unit{color:#fff!important;font-size:.8rem;opacity:.85}.profile-dropdown{left:auto;min-width:180px;right:0}.layout-btn{background:#0b78d1;border:2px solid #ffffff4d}.layout-btn:hover{background:#0863ac;border-color:#ffffff80;transform:translateY(-1px)}.layout-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.layout-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;height:85vh;max-height:800px;max-width:1200px;width:90vw}.layout-modal-header{align-items:center;background:linear-gradient(135deg,#f8fbff,#edf6ff);border-bottom:2px solid #e2ecf9;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.layout-modal-header h3{color:#0b3d70;font-size:1.2rem;font-weight:600;margin:0}.zoom-controls{align-items:center;display:flex;gap:.5rem}.zoom-btn{background:#0b78d1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.4rem .8rem;transition:all .2s ease}.zoom-btn:hover:not(:disabled){background:#0863ac;transform:translateY(-1px)}.zoom-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.reset-btn{background:#6c757d}.reset-btn:hover{background:#5a6268}.zoom-level{color:#0b3d70;font-weight:600;min-width:50px;text-align:center}.modal-close-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.modal-close-btn:hover{background:#c82333;transform:scale(1.1)}.layout-modal-body{flex:1 1;overflow:hidden;position:relative}.pdf-viewer-container{align-items:center;background:#f8f9fa;display:flex;height:100%;justify-content:center;overflow:auto;width:100%}.pdf-viewer{border:none;height:100%;transform-origin:center center;transition:transform .3s ease;width:100%}.pdf-fallback{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.pdf-fallback p{color:#666;font-size:1.1rem;margin-bottom:1rem}.pdf-download-btn{background:#0b78d1;border-radius:8px;color:#fff;font-weight:600;padding:.8rem 1.5rem;text-decoration:none;transition:background .2s ease}.pdf-download-btn:hover{background:#0863ac;color:#fff;text-decoration:none}@media (max-width:900px){.header-bar{align-items:flex-start;flex-direction:column;gap:1rem}.nav-actions{flex-wrap:wrap;justify-content:flex-start}.user-section{justify-content:space-between;width:100%}.layout-modal-content{height:90vh;width:95vw}.layout-modal-header{padding:.8rem 1rem}.layout-modal-header h3{font-size:1rem}.zoom-controls{gap:.3rem}.zoom-btn{font-size:.8rem;padding:.3rem .6rem}}@media (max-width:768px){.header-bar{flex-direction:column;gap:12px;padding:12px 15px}.brand{justify-content:center;width:100%}.brand-logo{height:36px}.brand-title{font-size:1.1rem}.nav-actions{flex-wrap:wrap;gap:8px;justify-content:center;width:100%}.nav-btn{font-size:13px;padding:.5rem 1rem}.user-section{flex-direction:column;gap:10px;width:100%}.profile-trigger,.user-section{justify-content:center}.profile-pic{height:40px;width:40px}.profile-info{text-align:center}.profile-name{font-size:14px}.profile-unit{font-size:12px}.header-content{align-items:stretch;flex-direction:column;gap:10px}.header-left,.header-right{justify-content:center}.header-title{font-size:1.2rem}.header-buttons{gap:8px;justify-content:center;width:100%}.header-button{flex:1 1;font-size:13px;padding:8px 12px}.menu-dropdown{left:50%;min-width:180px;transform:translateX(-50%)}}@media (max-width:480px){.header-bar{padding:10px}.brand-logo{height:32px}.brand-title{font-size:1rem}.nav-btn{font-size:12px;padding:.45rem .9rem}.profile-pic{height:36px;width:36px}.profile-name{font-size:13px}.profile-unit{font-size:11px}.header-title{font-size:1.1rem}.header-button{font-size:12px;padding:7px 10px}.user-info{font-size:13px}.menu-dropdown{min-width:160px}.menu-dropdown button{font-size:13px;padding:.55rem .85rem}}.booking-wizard{background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:2rem}.wizard-container{margin:0 auto;max-width:1400px;padding:0 1rem 2rem}.wizard-content{background:#f9fbff;border:1px solid #e2ecf9;border-radius:18px;box-shadow:0 20px 40px #0f34601f;min-height:600px;padding:2.5rem}.error,.success{animation:slideDown .3s ease;border-radius:8px;font-weight:500;padding:15px}.error{background:#fdecea;border-left:5px solid #f5c0b8}.success{background:#e8f8ee;border-left:5px solid #a8e0c5}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.step h2{color:#0b3d70;font-size:1.65rem;margin-bottom:2rem}.options{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:30px 0}.option-btn{background:#fff;border:2px solid #d6e5fb;border-radius:16px;box-shadow:0 12px 24px #0b78d114;cursor:pointer;font-family:inherit;padding:30px 20px;text-align:center;transition:all .3s ease}.option-btn:hover{box-shadow:0 16px 30px #0b78d12e;transform:translateY(-2px)}.option-btn.selected,.option-btn:hover{background:#e9f3ff;border-color:#0b78d1}.option-btn.selected{box-shadow:0 0 0 3px #0b78d133}.option-icon{font-size:40px;margin-bottom:15px}.option-title{color:#333;font-size:18px;font-weight:600;margin-bottom:8px}.option-desc{color:#666;font-size:14px}.date-input-group{display:flex;gap:10px;margin:20px 0}.date-input{border:2px solid #d6e5fb;border-radius:10px;font-family:inherit;font-size:16px;min-width:200px;padding:12px}.date-input:focus{box-shadow:0 0 0 3px #0b78d126}.step-info{color:#666;font-size:14px;margin-top:10px}.multi-date-container{margin:30px 0}.date-picker-grid{grid-gap:16px;background:#f9f9f9;border-radius:12px;display:grid;gap:16px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(2,1fr);margin-bottom:20px;padding:20px}.date-btn-large{align-items:center;background:linear-gradient(135deg,#0a3d7a,#1e5fa8 50%,#0a3d7a);border:none;border-radius:12px;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:14px;gap:8px;justify-content:center;min-height:140px;overflow:hidden;padding:24px 16px;position:relative;transition:all .3s ease}.date-btn-large:before{background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 200"><defs><linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgba(255,255,255,0.1);stop-opacity:1" /><stop offset="100%" style="stop-color:rgba(255,255,255,0);stop-opacity:1" /></linearGradient></defs><rect fill="url(%23grad)" width="300" height="200"/><g opacity="0.3" fill="rgba(135,206,250,0.3)"><rect x="20" y="80" width="15" height="60" rx="2"/><rect x="45" y="60" width="15" height="80" rx="2"/><rect x="70" y="50" width="15" height="90" rx="2"/><rect x="95" y="70" width="15" height="70" rx="2"/><rect x="120" y="40" width="15" height="100" rx="2"/><rect x="145" y="55" width="15" height="85" rx="2"/><rect x="170" y="65" width="15" height="75" rx="2"/><rect x="195" y="45" width="15" height="95" rx="2"/><rect x="220" y="75" width="15" height="65" rx="2"/><rect x="245" y="50" width="15" height="90" rx="2"/><rect x="270" y="60" width="15" height="80" rx="2"/></g><path d="M 50 100 L 80 80 L 110 90 L 140 60 L 170 70 L 200 50 L 230 65 L 260 55" stroke="rgba(135,206,250,0.6)" stroke-width="3" fill="none"/><circle cx="200" cy="50" r="4" fill="rgba(135,206,250,0.8)"/><path d="M 195 45 L 200 50 L 210 35" stroke="rgba(135,206,250,0.8)" stroke-width="2" fill="none"/></svg>') 50%/cover no-repeat;bottom:0;content:"";left:0;opacity:.6;pointer-events:none;position:absolute;right:0;top:0}.date-btn-large>*{position:relative;z-index:1}.date-btn-large:hover:not(:disabled):not(.holiday){background:linear-gradient(135deg,#0d4a94,#2470c4 50%,#0d4a94);box-shadow:0 8px 20px #00000040;transform:translateY(-4px)}.date-btn-large.selected{background:linear-gradient(135deg,#667eea,#89f 50%,#667eea);border:3px solid #fff;box-shadow:0 6px 16px #667eea66}.date-btn-large.selected .date-btn-date,.date-btn-large.selected .date-btn-day,.date-btn-large.selected .occupancy-rate{color:#fff}.date-btn-large.holiday,.date-btn-large.weekend{background:linear-gradient(135deg,#8b4049,#a85560 50%,#8b4049);cursor:pointer;opacity:1}.date-btn-large.holiday:hover,.date-btn-large.weekend:hover{background:linear-gradient(135deg,#9a4a53,#b8606c 50%,#9a4a53);box-shadow:0 8px 20px #8b404966;transform:translateY(-4px)}.date-btn-large.disabled{background:linear-gradient(135deg,#6c757d,#868e96 50%,#6c757d);cursor:not-allowed;opacity:.5}.date-btn-large.disabled .date-btn-date,.date-btn-large.disabled .date-btn-day,.date-btn-large.disabled .occupancy-rate{color:#fff9}.date-btn-large.holiday .date-btn-date,.date-btn-large.holiday .date-btn-day,.date-btn-large.holiday .occupancy-rate,.date-btn-large.weekend .date-btn-date,.date-btn-large.weekend .date-btn-day,.date-btn-large.weekend .occupancy-rate{color:#fff!important}.date-btn-large.weekend .date-btn-date,.date-btn-large.weekend .date-btn-day{color:#fff}.date-btn-day{color:#fff;font-size:13px;font-weight:700;letter-spacing:1.5px;margin-bottom:4px;text-shadow:0 2px 4px #0000004d;text-transform:uppercase}.date-btn-date-full{align-items:center;display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.date-number{color:#fff;font-size:32px;font-weight:900;line-height:1;text-shadow:0 2px 6px #0006}.date-month-year{color:#fff;font-size:14px;font-weight:600;text-shadow:0 1px 3px #0000004d}.date-btn-date{color:#fff;font-size:24px;font-weight:900;line-height:1;text-shadow:0 2px 6px #0006}.occupancy-info{gap:8px;margin-top:4px;width:100%}.occupancy-info,.occupancy-item{display:flex;flex-direction:column}.occupancy-item{gap:2px}.occupancy-label{font-size:9px;font-weight:600;letter-spacing:.3px;line-height:1.2}.occupancy-label,.occupancy-value{color:#fff;text-shadow:0 1px 3px #0000004d}.occupancy-value{font-size:14px;font-weight:700}.occupancy-rate{color:#fff;font-size:12px;font-weight:600;margin-top:4px;text-shadow:0 1px 3px #0000004d}.occupancy-label{font-size:10px;letter-spacing:.5px;opacity:.9;text-transform:uppercase}.date-btn-holiday{font-size:16px;position:absolute;right:-5px;top:-5px}.date-btn-holiday-info{color:#fff;font-size:10px;font-weight:600;line-height:1.3;margin-top:6px;opacity:.95;text-align:center;text-shadow:0 1px 3px #0000004d}.holiday-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.holiday-modal{animation:modalSlideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:450px;width:90%}.holiday-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.holiday-modal-header h3{color:#333;font-size:20px;margin:0}.holiday-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.holiday-modal-close:hover{background:#f5f5f5;color:#333}.holiday-modal-body{padding:24px}.holiday-modal-body p{color:#555;font-size:15px;margin:12px 0}.holiday-modal-note{background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;color:#856404;font-size:14px;margin-top:16px;padding:12px}.holiday-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-primary{background:#667eea;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.btn-primary:hover{background:#5568d3;transform:translateY(-1px)}.btn-secondary{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.btn-secondary:hover{background:#e0e0e0;border-color:#ccc}.date-btn:hover:not(:disabled){background:#f8f9ff;border-color:#667eea}.date-btn.selected{background:#667eea;border-color:#667eea;color:#fff}.date-btn.selected .date-btn-date,.date-btn.selected .date-btn-day{color:#fff}.date-btn.holiday{cursor:not-allowed;opacity:.9}.date-btn.holiday,.date-btn.holiday:hover{background:#fff;border-color:#e0e0e0}.date-btn.holiday .date-btn-date,.date-btn.holiday .date-btn-day{color:#dc3545!important}.date-btn.weekend .date-btn-date,.date-btn.weekend .date-btn-day{color:#dc3545}.date-btn.weekend.selected .date-btn-date,.date-btn.weekend.selected .date-btn-day{color:#fff}.selected-dates{background:#e9f3ff;border-radius:10px;color:#0b78d1;font-weight:600;margin-top:15px;padding:15px}.selected-dates ol{color:#0b78d1;margin:10px 0 0;padding-left:20px}.selected-dates li{font-weight:500;margin:5px 0}.multi-date-actions{display:flex;justify-content:flex-end;margin-top:20px}.occupancy-info-legend{background:#f8f9fa;border-left:4px solid #0b78d1;border-radius:8px;margin-top:20px;padding:15px 20px}.occupancy-info-legend p{color:#333;font-size:.95rem;line-height:1.6;margin:8px 0}.occupancy-info-legend strong{color:#0b78d1;font-weight:600}.full-calendar-container{margin:30px auto;max-width:600px}.calendar-header{margin-bottom:20px;text-align:center}.calendar-header h3{color:#0b78d1;font-size:24px;font-weight:600;margin:0}.calendar-weekdays{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);margin-bottom:10px}.weekday-header{background:#f5f7fa;border-radius:6px;color:#666;font-size:14px;font-weight:600;padding:12px 8px;text-align:center}.calendar-grid{grid-gap:2px;background:#f5f7fa;border-radius:12px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);padding:10px}.calendar-day{align-items:center;aspect-ratio:1;background:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;font-family:inherit;font-size:16px;font-weight:500;justify-content:center;min-height:45px;transition:all .2s ease}.calendar-day:hover:not(:disabled){background:#e8f4fd;transform:scale(1.05)}.calendar-day.current-month{color:#333}.calendar-day.other-month{background:#fafafa;color:#ccc}.calendar-day.today{background:#0b78d1;color:#fff;font-weight:700}.calendar-day.today:hover{background:#0966b8}.calendar-day.selected{background:#667eea!important;box-shadow:0 0 0 2px #667eea4d;color:#fff!important;font-weight:700}.calendar-day.past{background:#f8f8f8;color:#ccc;cursor:not-allowed}.calendar-day:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.full-calendar-container{margin:20px 0;max-width:100%}.calendar-day{font-size:14px;min-height:40px}.weekday-header{font-size:12px;padding:8px 4px}}.assignment-progress{color:#0b78d1;font-weight:600;margin:10px 0 20px}.assignment-summary{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0 0 20px;padding:0}.assignment-item{background:#f1f7ff;border:1px solid #d6e5fb;border-radius:12px;color:#0b3d70;font-size:14px;padding:10px 14px;transition:box-shadow .2s ease}.assignment-item.completed{background:#e1f5ff;border-color:#8dd4ff}.assignment-item.pending{background:#fff7e3;border-color:#f9d88c}.assignment-item.active{background:#e9f3ff;border-color:#0b78d1;box-shadow:0 0 0 2px #0b78d133}.assignment-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.assignment-list li{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#333;font-size:14px;padding:12px 16px}.assignment-date{color:#0b78d1;display:inline-block;font-weight:600;margin-top:4px}.assignment-equipment{color:#4d637b}.loading-state{color:#0b78d1;font-size:18px}.confirm-details{background:#f1f7ff;border:1px solid #d6e5fb;border-radius:16px;margin:30px 0;padding:30px}.detail-section{margin-bottom:20px}.detail-section:last-child{margin-bottom:0}.detail-section h3{color:#0b3d70;font-size:16px;margin-bottom:12px}.detail-section p{color:#0b3d70;margin:8px 0}.confirm-buttons,.ticket-buttons{display:flex;gap:15px;justify-content:center;margin-top:30px}.btn-confirm,.btn-new-booking,.btn-print{border:none;border-radius:8px;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.btn-confirm{background:#0b78d1;color:#fff}.btn-confirm:hover:not(:disabled){background:#0863ac;box-shadow:0 5px 20px #0b78d14d;transform:translateY(-2px)}.btn-confirm:disabled{cursor:not-allowed;opacity:.6}.btn-back-step{background:#fff;border:2px solid #d6e5fb;border-radius:10px;color:#0b3d70;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.monitor-preference{display:flex;flex-direction:column;gap:.5rem;margin:1.5rem 0}.monitor-preference label{color:#0b3d70;font-weight:600}.monitor-preference select{border:1px solid #c8d9f2;border-radius:10px;font-size:.95rem;max-width:260px;padding:.6rem .75rem}.monitor-preference select:focus{border-color:#0b78d1;box-shadow:0 0 0 3px #0b78d126;outline:none}.monitor-warning{background:#fff7e3;border:1px solid #f9d88c;border-radius:10px;color:#8c6619;margin-bottom:1rem;padding:.75rem 1rem}.btn-back-step:hover{border-color:#667eea;color:#667eea}.wizard-nav{display:flex;gap:15px;justify-content:space-between;margin-top:30px}.btn-back-nav{background:#0000;border:2px solid #fff;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;padding:12px 25px;transition:all .3s ease}.btn-back-nav:hover{background:#ffffff1a}.ticket{background:#f5f5f5;border:2px dashed #ddd;border-radius:12px;margin:30px 0;padding:30px}.ticket pre{word-wrap:break-word;color:#333;font-family:Courier New,monospace;font-size:14px;margin:0;white-space:pre-wrap}.btn-print{background:#667eea;color:#fff}.btn-print:hover{background:#5568d3;transform:translateY(-2px)}.btn-new-booking{background:#fff;border:2px solid #667eea;color:#667eea}.btn-new-booking:hover{background:#f8f9ff}@media (max-width:768px){.wizard-content{padding:20px}.options{grid-template-columns:1fr}.date-picker{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.header-content{align-items:flex-start;flex-direction:column;gap:15px}.booking-wizard h1{font-size:20px}}.alert-warning{background-color:#fff3cd!important;border:2px solid #ffc107!important;border-radius:8px!important;color:#856404!important;margin:20px 0!important;padding:20px!important}.alert-warning h2{color:#856404!important;margin-top:0!important}.alert-warning p,.alert-warning ul{color:#856404!important;margin:10px 0!important}.alert-warning ul{padding-left:20px!important}.alert-warning li{margin:5px 0!important}.flight-ticket{border-radius:20px;box-shadow:0 20px 40px #1e3c724d;display:flex;margin:30px auto;max-width:900px;overflow:hidden}.flight-ticket,.ticket-left{background:linear-gradient(135deg,#1e3c72,#2a5298);position:relative}.ticket-left{color:#fff;flex:1 1;padding:40px}.ticket-divider{background:#fff;position:relative;width:2px}.ticket-divider:after,.ticket-divider:before{background:#f9fbff;border-radius:50%;content:"";height:20px;left:-9px;position:absolute;width:20px}.ticket-divider:before{top:-10px}.ticket-divider:after{bottom:-10px}.ticket-right{background:#fff;color:#333;flex:1.2 1;padding:40px}.employee-info{margin-bottom:30px}.employee-name{font-size:24px;font-weight:700;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.employee-unit{font-size:16px;letter-spacing:2px;opacity:.9;text-transform:uppercase}.desks-info,.duration-info{margin-bottom:25px}.label{font-size:12px;letter-spacing:1px;margin-bottom:5px;opacity:.8;text-transform:uppercase}.value{font-size:18px;font-weight:700}.value.large{font-size:32px;font-weight:900}.date-range{display:flex;gap:30px;margin-bottom:40px}.date-section .label{font-size:12px;margin-bottom:5px;opacity:.8}.date-value{font-size:20px;font-weight:700}.barcode{margin-top:40px}.barcode-lines{align-items:flex-end;display:flex;gap:2px;height:40px}.bar{background:#fff;opacity:.9}.bar.thin{height:60%;width:2px}.bar.thick{height:100%;width:4px}.unicef-header{align-items:center;border-bottom:2px solid #e0e8f0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.unicef-text{color:#1e3c72;font-size:18px;font-weight:700;letter-spacing:3px}.unicef-logo{align-items:center;display:flex;justify-content:center}.unicef-logo img{height:40px;object-fit:contain;width:auto}.assignment-table{margin-bottom:25px}.table-header{grid-gap:15px;border-bottom:2px solid #1e3c72;display:grid;gap:15px;grid-template-columns:1fr 1fr 1fr 1fr;margin-bottom:10px;padding:12px 0}.col-header{color:#1e3c72;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.table-row{grid-gap:15px;border-bottom:1px solid #e0e8f0;display:grid;gap:15px;grid-template-columns:1fr 1fr 1fr 1fr;padding:8px 0}.col-data{color:#333;font-size:14px;font-weight:500}.booking-ref{background:#f0f7ff;border-left:4px solid #1e3c72;border-radius:8px;margin-bottom:20px;padding:15px}.ref-label{color:#666;font-size:12px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.ref-value{color:#1e3c72;font-family:Courier New,monospace;font-size:16px;font-weight:700}.ticket-footer{border-top:1px solid #e0e8f0;color:#666;font-size:12px;font-style:italic;margin-top:20px;padding-top:20px;text-align:center}.btn-new-booking,.btn-print{background:#1e3c72;color:#fff}.btn-new-booking:hover,.btn-print:hover{background:#0f2447;box-shadow:0 5px 20px #1e3c7266;transform:translateY(-2px)}@media (max-width:768px){.booking-wizard{padding:1rem .5rem}.wizard-container{padding:0 .5rem 1rem}.wizard-content{padding:1.5rem 1rem}.step h2{font-size:1.3rem;margin-bottom:1.5rem}.date-picker-grid{gap:10px;grid-template-columns:repeat(3,1fr);padding:12px}.date-btn-large{gap:4px;min-height:110px;padding:12px 8px}.date-btn-day{font-size:10px;letter-spacing:.5px;margin-bottom:2px}.date-number{font-size:24px}.date-month-year{font-size:11px}.date-btn-date{font-size:18px}.occupancy-info{gap:4px;margin-top:2px}.occupancy-label{font-size:7px;letter-spacing:.2px;line-height:1.1}.occupancy-value{font-size:11px}.occupancy-rate{font-size:10px;margin-top:2px}.date-btn-holiday-info{font-size:8px;line-height:1.2;margin-top:3px}.options{gap:15px;grid-template-columns:1fr;margin:20px 0}.option-btn{padding:20px 15px}.option-icon{font-size:32px;margin-bottom:10px}.option-title{font-size:16px}.option-description{font-size:13px}.flight-ticket{flex-direction:column;margin:20px 10px}.ticket-divider{height:2px;width:100%}.ticket-divider:after,.ticket-divider:before{height:20px;left:auto;top:-9px;width:20px}.ticket-divider:before{left:20px}.ticket-divider:after{left:auto;right:20px}.ticket-left,.ticket-right{padding:25px}.date-range{gap:20px}.table-header,.table-row{gap:10px;grid-template-columns:1fr 1fr}.table-header .col-header:nth-child(3),.table-header .col-header:nth-child(4),.table-row .col-data:nth-child(3),.table-row .col-data:nth-child(4){display:none}}@media (max-width:480px){.booking-wizard{padding:.5rem .25rem}.wizard-container{padding:0 .25rem .75rem}.wizard-content{border-radius:12px;padding:1rem .75rem}.step h2{font-size:1.1rem;margin-bottom:1rem}.date-picker-grid{gap:8px;grid-template-columns:repeat(2,1fr);padding:10px}.date-btn-large{border-radius:10px;gap:3px;min-height:130px;padding:10px 6px}.date-btn-day{font-size:9px;letter-spacing:.3px;margin-bottom:1px}.date-number{font-size:28px}.date-month-year{font-size:10px}.date-btn-date{font-size:20px}.occupancy-info{gap:3px;margin-top:2px}.occupancy-item{gap:1px}.occupancy-label{font-size:7.5px;letter-spacing:.2px;line-height:1}.occupancy-value{font-size:12px}.occupancy-rate{font-size:10px;margin-top:2px}.date-btn-holiday-info{font-size:7.5px;line-height:1.1;margin-top:2px}.options{gap:12px}.option-btn{padding:15px 12px}.option-icon{font-size:28px;margin-bottom:8px}.option-title{font-size:15px}.option-description{font-size:12px}.error,.success{font-size:13px;padding:12px}.ticket-left,.ticket-right{padding:20px 15px}.ref-value{font-size:14px}.table-header,.table-row{font-size:13px}}.stats-card{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:12px;box-shadow:0 4px 12px #1e3c7226;color:#fff;margin-bottom:2rem;padding:1.5rem}.stats-card h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.stat-item{text-align:center}.stat-label{color:#fff;font-size:1.7rem;font-weight:500;margin-bottom:.5rem}.stat-value{color:#fff;font-size:4rem}@media (max-width:768px){.stats-grid{gap:1rem;grid-template-columns:1fr}}.hero-occupancy{background:linear-gradient(90deg,#fff,#fbfdff);border:1px solid #eef2f7;border-radius:10px;box-shadow:0 6px 18px #0d263b0f;color:#0f172a;margin-bottom:16px;padding:12px 16px}.hero-occupancy h3{font-size:1rem;margin:0 0 8px}.hero-cards .occupancy-card{padding:10px}.hero-compact{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #1217210f;border-radius:12px;box-shadow:0 18px 40px #02061717,0 6px 18px #0206170f;margin-bottom:18px;padding:16px}.hero-compact .hero-inner{align-items:center;display:flex;gap:18px;justify-content:space-between}.hero-compact .hero-left h3{color:#0f172a;font-size:18px;margin:0 0 6px}.hero-compact .hero-left .hero-sub{color:#6b7280;font-size:13px;margin:0}.hero-stats{align-items:stretch;display:flex;gap:12px}.hero-stat{align-items:center;background:#fff;border:1px solid #1217210f;border-radius:10px;box-shadow:0 8px 30px #0206170f;display:flex;gap:12px;min-width:160px;padding:12px 14px}.hero-stat[role=button]{cursor:pointer}.hero-stat.active{outline:2px solid #667eea26;transform:translateY(-2px)}.hero-stat .stat-icon{align-items:center;background:linear-gradient(135deg,#f7fbff,#fff);border-radius:8px;display:flex;font-size:26px;height:44px;justify-content:center;width:44px}.hero-stat .stat-icon svg{display:block}.hero-stat .stat-icon img{display:block;height:44px;object-fit:contain;width:44px}.hero-stat .stat-body .stat-label{color:#6b7280;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.hero-stat .stat-body .stat-value{color:#0f172a;font-size:18px;font-weight:800;margin-top:4px}.hero-stat .stat-body .stat-sub{color:#9aa4b2;font-size:12px;margin-top:4px}.hero-stat .stat-sep{color:#9aa4b2;font-weight:700;margin:0 6px}@media (max-width:880px){.hero-compact .hero-inner{align-items:flex-start;flex-direction:column}.hero-stats{display:grid;grid-template-columns:1fr;width:100%}.hero-stat{min-width:auto;width:100%}}.hero-next-bookings{background:#fff;border:1px solid #1217210f;border-radius:10px;box-shadow:0 6px 18px #0206170a;min-width:220px;padding:12px}.hero-next-bookings .next-help{color:#6b7280;font-size:12px;margin-top:10px}.btn-clear-selection{background:#e9eefb;border:1px solid #d6e3ff;border-radius:6px;color:#0b4fd6;margin-top:10px;padding:6px 10px}@media (max-width:880px){.hero-inner{align-items:stretch;flex-direction:column}.hero-stats{order:1}.hero-next-bookings{margin-top:12px;order:2;width:100%}}.next-popup-overlay{align-items:center;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1200}.next-popup{background:#fff;border:1px solid #1217210f;border-radius:12px;box-shadow:0 25px 60px #02061740;padding:18px}.popup-header{gap:10px}.popup-title{color:#0f172a;font-size:16px}.popup-close{background:none;font-size:20px;padding:6px}.popup-item{border-bottom:1px solid #00000008;padding:8px 0}.popup-footer{margin-top:14px}@media (max-width:560px){.next-popup{padding:14px;width:100%}.next-popup .popup-title{font-size:14px}}.hero-next-bookings .next-title{color:#0f172a;font-size:13px;font-weight:700;margin-bottom:8px}.next-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.next-item{align-items:center;display:flex;gap:8px;justify-content:space-between}.next-day{color:#6b7280;font-size:13px;text-transform:capitalize}.next-count{color:#0f172a;font-weight:700}.booked-popup-overlay{align-items:center;animation:fadeInOverlay .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02061759;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1200}@keyframes fadeInOverlay{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0}to{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:1}}.booked-popup{animation:slideUpPopup .4s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid #12172114;border-radius:16px;box-shadow:0 30px 80px #0206174d,0 10px 30px #02061726;max-height:90vh;max-width:100%;overflow-y:auto;padding:24px;position:relative;width:580px}@keyframes slideUpPopup{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.popup-header{align-items:center;border-bottom:2px solid #667eea1a;display:flex;gap:12px;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.popup-title{color:#0b3d70;font-size:18px;font-weight:700;letter-spacing:-.3px;margin:0}.popup-close{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;justify-content:center;padding:4px 10px;position:absolute;right:16px;top:16px;transition:all .2s ease;z-index:10}.popup-close:hover{background:#dc3545;color:#fff;transform:scale(1.1)}.booked-content{display:flex;flex-direction:column;gap:20px}.booked-summary{background:linear-gradient(135deg,#f0f9ff,#e9f3ff);border:1px solid #0b78d126;border-radius:12px;display:flex;gap:16px;padding:16px}.summary-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px}.summary-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.summary-value{color:#0b78d1;font-size:24px;font-weight:800}.summary-divider{align-self:stretch;background:#0b78d133;width:1px}.booked-units{display:flex;flex-direction:column;gap:12px}.booked-subtitle{color:#0f172a;font-size:13px;font-weight:700;letter-spacing:.6px;margin:0;padding:0 4px;text-transform:uppercase}.units-list{display:flex;flex-direction:column;gap:12px}.unit-row{grid-gap:14px;align-items:start;background:#fff;border:1px solid #1217210f;border-radius:10px;box-shadow:0 6px 16px #0206170a;display:grid;gap:14px;grid-template-columns:120px 1fr;padding:12px;transition:all .2s ease}.unit-row:hover{background:linear-gradient(135deg,#fff,#f8fbff);border-color:#0b78d133;box-shadow:0 8px 20px #0b78d11f}.unit-name{align-items:center;border-right:2px solid #667eea1a;color:#0b3d70;display:flex;font-size:13px;font-weight:700;padding-right:8px;text-transform:capitalize}.unit-stats{display:flex;flex-direction:column;gap:8px}.stat-badge{align-items:center;border-radius:8px;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:6px 10px;width:-webkit-fit-content;width:fit-content}.booked-badge{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #d9770633;color:#92400e}.available-badge{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b98133;color:#065f46}.badge-value{font-size:14px;font-weight:800}.badge-label{font-size:11px;letter-spacing:.4px;opacity:.8;text-transform:uppercase}.unit-progress{align-items:center;display:flex;gap:10px}.progress-bar{background:#6b72801a;border-radius:3px;flex:1 1;height:6px;min-width:60px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:3px;height:100%;min-width:2px;transition:width .4s ease}.progress-text{color:#6b7280;font-size:11px;font-weight:600;min-width:50px;text-align:right;white-space:nowrap}.empty-message{color:#9aa4b2;font-size:13px;margin:0;padding:20px;text-align:center}.popup-footer{border-top:1px solid #1217210f;margin-top:18px;padding-top:14px;text-align:right}.btn-clear-selection{background:linear-gradient(135deg,#0b78d1,#0963ad);border:1px solid #0b78d14d;border-radius:8px;box-shadow:0 6px 20px #0b78d140;color:#fff;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:all .2s ease}.btn-clear-selection:hover{background:linear-gradient(135deg,#0963ad,#074a8a);box-shadow:0 8px 24px #0b78d159;transform:translateY(-2px)}.btn-clear-selection:active{transform:translateY(0)}.next-popup{animation:slideUpPopup .4s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid #12172114;border-radius:16px;box-shadow:0 30px 80px #0206174d,0 10px 30px #02061726;max-width:100%;padding:20px;width:420px}.next-popup-overlay{animation:fadeInOverlay .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02061759}.popup-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.popup-item{align-items:center;background:#f9fbff;border-bottom:1px solid #667eea14;border-radius:8px;display:flex;font-size:13px;justify-content:space-between;padding:10px;transition:all .2s ease}.popup-item:hover{background:#f0f9ff}.popup-item:last-child{border-bottom:none}.popup-count{color:#0b78d1;font-size:14px;font-weight:800}@media (max-width:640px){.booked-popup{border-radius:14px;padding:18px;width:100%}.popup-header{margin-bottom:16px}.popup-title{font-size:16px}.unit-row{gap:10px;grid-template-columns:1fr}.unit-name{border-bottom:2px solid #667eea1a;border-right:none;padding-bottom:8px;padding-right:0}.booked-summary{flex-direction:column;gap:12px}.summary-divider{display:none}.unit-progress{flex-wrap:wrap}.progress-text{margin-top:4px;text-align:left;width:100%}.next-popup{padding:16px;width:100%}}.admin-page{background-color:#fff;display:flex;flex-direction:column;min-height:100vh}.header{background:linear-gradient(135deg,#4ec5ff,#0b78d1);box-shadow:0 12px 24px #0b78d140;flex-shrink:0;padding:20px 0;z-index:1000}.header-content{box-sizing:border-box;color:#fff;margin:0 auto;max-width:1400px}.user-info{color:#fff;gap:14px}.user-name{font-weight:700}.header h1{color:#fff;font-size:28px;margin:0}.container{align-items:center;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;min-height:calc(100vh - 80px);overflow:auto;width:100%}.container>.card,.container>.error,.container>.success,.container>.tabs{max-width:1400px;width:100%}.tabs{-webkit-overflow-scrolling:touch;align-items:center;background-color:#fff;border-bottom:2px solid #d6e5fb;border-radius:12px 12px 0 0;box-shadow:0 12px 24px #0b78d11f;box-sizing:border-box;display:flex;gap:0;margin-bottom:20px;overflow-x:auto;width:100%}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#4d637b;cursor:pointer;font-size:15px;font-weight:600;margin-bottom:-2px;padding:15px 25px;transition:all .3s ease}.tab:hover{background-color:#edf5ff;color:#0b3d70}.tab.active{border-bottom-color:#0b78d1;color:#0b78d1}.card{align-self:stretch;background:#f9fbff;border:1px solid #e2ecf9;border-radius:18px;box-shadow:0 18px 38px #0c4f8214;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;min-height:300px;min-width:0;overflow:auto;padding:2rem}.card>:not(.table-wrapper){flex-shrink:0}.card .table-wrapper{flex:1 1;min-height:0}.table-scroll,.table-wrapper{-webkit-overflow-scrolling:touch;border:1px solid #e2ecf9;border-radius:12px;box-sizing:border-box;display:block;margin:0;max-height:60vh;overflow-x:auto;overflow-y:auto;width:100%}.table{background-color:#fff;font-size:13px;min-width:800px;table-layout:auto}.table th{background-color:#f5f8fc;border-bottom:2px solid #0b78d1;color:#0b3d70;position:-webkit-sticky;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:10}.table td,.table th{font-size:13px;padding:12px 14px}.table td{border-bottom:1px solid #e2ecf9;overflow-wrap:break-word;word-break:break-word}.table tbody tr:hover{background-color:#f0f7ff}@media (max-width:1024px){.table td:nth-child(4),.table td:nth-child(5),.table th:nth-child(4),.table th:nth-child(5),.users-table td:nth-child(6),.users-table th:nth-child(6){display:none}}@media (max-width:768px){.table td:nth-child(3),.table td:nth-child(4),.table td:nth-child(5),.table th:nth-child(3),.table th:nth-child(4),.table th:nth-child(5),.users-table td:nth-child(6),.users-table th:nth-child(6){display:none}}.section-header{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:25px}.section-header h2{flex:1 1;font-size:22px}.section-subtitle{color:#4d637b;font-size:.95rem;margin:0}.btn-add{background-color:#0b78d1;border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;padding:10px 22px;transition:all .3s ease;white-space:nowrap}.btn-add:hover{background-color:#0863ac}.btn-back-dashboard{background-color:#003f7f;border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;margin-right:10px;padding:8px 20px;transition:all .3s ease}.btn-back-dashboard:hover{background-color:#002f5f}.btn-logout{background-color:#003f7f;border:none;border-radius:999px;color:#fff;cursor:pointer;padding:8px 20px;transition:all .3s ease}.btn-logout:hover{background-color:#002f5f}.action-dropdown{display:inline-block;position:relative}.btn-actions{background-color:#f0f4fb;border:1px solid #d6e5fb;border-radius:6px;color:#0b3d70;cursor:pointer;font-size:16px;min-width:32px;padding:4px 8px;text-align:center;transition:all .3s ease}.btn-actions:hover{background-color:#e9f3ff;border-color:#0b78d1}.dropdown-menu{background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 8px #00000026;display:none;margin-top:4px;min-width:150px;overflow:visible;position:absolute;right:-10px;top:100%;z-index:2001}.action-dropdown:focus-within .dropdown-menu,.action-dropdown:hover .dropdown-menu,.dropdown-menu:hover{display:block}.dropdown-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:13px;padding:10px 15px;text-align:left;transition:background-color .2s ease;width:100%}.dropdown-item:hover{background-color:#f5f5f5}.dropdown-item.edit:hover{background-color:#e3f2fd;color:#1976d2}.dropdown-item.reset:hover{background-color:#fff3e0;color:#f57c00}.dropdown-item.delete:hover{background-color:#ffebee;color:#d32f2f}.modal{background-color:#0009;z-index:2000}.modal.active{overflow:auto}.modal-overlay{background-color:#0009;height:100%;overflow:auto;width:100%;z-index:2000}.admin-page .modal-content{background-color:#fff;border:1px solid #d6e5fb;border-radius:16px;box-shadow:0 28px 48px #0f346059;display:flex;flex-direction:column;flex-shrink:0;margin:20px auto;max-height:95vh;max-width:1100px!important;overflow-y:auto;padding:20px;width:96%!important}.modal-header{border-bottom:1px solid #eee;padding:20px 25px}.modal-header h2{color:#0b3d70;font-size:20px}.close-btn{align-items:center;color:#4d637b;display:flex;font-size:28px;height:30px;justify-content:center;width:30px}.close-btn:hover{color:#0b3d70}.form{display:flex;flex-direction:column;gap:15px;padding:25px}.form-group input[type=date],.form-group input[type=email],.form-group input[type=text],.form-group textarea{border:1px solid #d6e5fb;border-radius:10px;font-family:inherit;font-size:14px;padding:11px}.form-group input[type=date]:focus,.form-group input[type=email]:focus,.form-group input[type=text]:focus,.form-group textarea:focus{border-color:#0b78d1;box-shadow:0 0 0 3px #0b78d126;outline:none}.form-group input[type=checkbox]{margin-right:8px;width:auto}.form-group input[type=checkbox]+label,.form-group label input[type=checkbox]{align-items:center;display:flex;font-weight:400;margin-bottom:0}.btn-save{background-color:#0b78d1;border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;margin-top:10px;padding:12px 24px;transition:all .3s ease}.btn-save:hover{background-color:#0863ac}.btn-save:active{transform:scale(.98)}.error,.success{border-radius:10px;font-size:14px;margin-bottom:20px;padding:15px 20px}.loading-state{color:#666;font-size:16px;padding:40px;text-align:center}.status-change-modal{max-width:700px!important;width:90%!important}.status-change-form{padding:1rem 0}.impacted-bookings{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin:1.5rem 0;padding:1rem}.impacted-bookings h3{color:#856404;font-size:1.1rem;margin:0 0 1rem}.impact-table{border-collapse:collapse;font-size:.9rem;margin-top:1rem;width:100%}.impact-table td,.impact-table th{border-bottom:1px solid #ddd;padding:.75rem .5rem;text-align:left}.impact-table th{background:#f8f9fa;font-weight:600}.modal-actions{border-top:1px solid #eee;margin-top:2rem;padding-top:1rem}.btn-cancel{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;padding:.75rem 1.5rem}.btn-cancel:hover{background:#5a6268}.btn-confirm-status{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;padding:.75rem 1.5rem}.btn-confirm-status:hover{background:#c82333}@media (max-width:1024px){.container{padding:25px 15px}.header-content{gap:20px}.card{padding:clamp(12px,3vw,20px)}}@media (max-width:768px){.admin-container{padding:1rem .5rem}.container{max-width:100%;padding:15px 10px;width:100%}.card{padding:1.5rem}.header-content{align-items:stretch;flex-direction:column;gap:12px;max-width:100%;padding:0 10px}.header h1{font-size:clamp(18px,4vw,22px)}.table{background-color:#fff;border-collapse:collapse;font-size:13px;min-width:720px;table-layout:auto;width:100%}.tab{flex-shrink:0;font-size:clamp(11px,2.5vw,13px);padding:clamp(10px,2vw,12px) clamp(12px,3vw,20px);white-space:nowrap}.card{border-radius:0 0 8px 8px;padding:clamp(12px,2vw,15px)}.section-header{align-items:flex-start;flex-direction:column;gap:10px}.section-header h2{font-size:clamp(15px,3vw,18px)}.btn-add{font-size:clamp(12px,2vw,14px);padding:clamp(8px,2vw,12px) clamp(12px,3vw,20px);width:100%}.admin-header h1{font-size:clamp(1.3rem,4vw,1.5rem)}.admin-tabs{flex-wrap:wrap;gap:8px}.tab-button{font-size:13px;padding:10px 15px}.tab-content{padding:15px}.form-grid{grid-template-columns:1fr}.table{font-size:clamp(11px,2vw,13px)}.table td,.table th{padding:clamp(6px,1.5vw,10px)}.modal-content{margin:0 auto;max-width:calc(100vw - 20px);padding:20px;width:95%}.modal-header{padding:15px 20px}.form{gap:12px;padding:20px}}@media (max-width:600px){.admin-container{padding:.5rem 0}.container{max-width:100%;padding:12px 8px;width:100%}.admin-header{align-items:flex-start;flex-direction:column;gap:10px}.admin-header h1{font-size:clamp(1.1rem,3vw,1.3rem)}.header h1{font-size:clamp(14px,3.5vw,18px)}.header-content{gap:clamp(8px,2vw,12px);padding:0 8px}.tabs{border-radius:6px 6px 0 0;gap:2px}.tab{font-size:clamp(10px,2vw,11px);padding:clamp(8px,1.5vw,10px) clamp(10px,2vw,12px)}.card{border-radius:0 0 6px 6px;padding:clamp(10px,2vw,12px)}.section-header{align-items:flex-start;flex-direction:column;gap:10px}.section-header h2{font-size:clamp(13px,3vw,16px)}.btn-add{font-size:clamp(11px,1.8vw,13px);padding:clamp(8px,1.5vw,10px) clamp(12px,2.5vw,16px);width:100%}.table-wrapper{-webkit-overflow-scrolling:touch;margin:0;overflow-x:auto;padding:0}.table{font-size:clamp(10px,1.8vw,11px)}.table td,.table th{font-size:clamp(9px,1.8vw,11px);padding:clamp(4px,1vw,6px)}.btn-actions{font-size:12px;min-width:24px;padding:3px 6px}.modal-content{max-width:calc(100vw - 20px);padding:15px;width:95%}.form-actions{flex-direction:column}.btn-cancel,.btn-confirm-status,.btn-submit{width:100%}}.admin-kiosks{box-sizing:border-box;display:flex;flex-direction:column;padding:20px;width:100%}.admin-kiosks h2{margin-bottom:12px}.kiosk-form{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;width:100%}.kiosk-form input{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;flex:1 1;min-width:150px;padding:8px 10px}.kiosk-form button{background:#0b78d1;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 12px;white-space:nowrap}.kiosk-table{border-collapse:collapse;box-sizing:border-box;table-layout:auto;width:100%}.kiosk-table td,.kiosk-table th{border:1px solid #e6e6e6;padding:8px 10px;text-align:left}.kiosk-table thead th{background:#f5f7fa}.kiosk-table button{background:#95ecba;border:1px solid #e65921;border-radius:6px;cursor:pointer;margin-right:6px;padding:6px 8px}.kiosk-table button.danger{background:#ec5252;border-color:#ffbcbc}.error{color:#8b1e1e;margin-bottom:12px}.admin-dashboard{background:linear-gradient(135deg,#fbfdff,#eef6fb);min-height:100vh}.dashboard-container{margin:0 auto;max-width:1600px;padding:2rem;width:100%}.dashboard-container h1{color:#354a52;font-size:2rem;margin-bottom:2rem}.month-selector{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem}.month-selector label{color:#2c3e50;font-weight:600}.month-selector input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.5rem 1rem}.analytics-grid{grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:1.5rem;text-align:center;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-4px)}.stat-icon{font-size:3rem}.stat-content h3{color:#666;font-size:.9rem;font-weight:600;margin:0 0 .5rem;text-transform:uppercase}.stat-value{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-label{color:#999;font-size:.85rem}.bookings-management,.top-desks-section,.top-users-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.bookings-management h2,.top-desks-section h2,.top-users-section h2{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem;margin-top:0}.data-table{border-collapse:collapse;margin-top:1rem;width:100%}.data-table th{background:#fbfcfd;border-bottom:2px solid #eef2f4;color:#4a5a60;font-weight:600;padding:1rem;text-align:left}.data-table td{border-bottom:1px solid #f0f0f0;padding:1rem}.data-table tbody tr:hover{background:#f8f9fa}.data-table tbody tr.cancelled-row{background:#f9f9f9;opacity:.6}.filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.search-input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:1rem;min-width:250px;padding:.75rem 1rem}.search-input:focus{border-color:#0b78d1;outline:none}.filter-select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:1rem;padding:.75rem 1rem}.filter-select:focus{border-color:#0b78d1;outline:none}.date-range-filter{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.date-range-filter label{color:#666;font-size:.9rem;font-weight:500}.date-input{background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;padding:.6rem .75rem}.date-input:focus{border-color:#0b78d1;outline:none}.btn-clear-dates{background:#f0f0f0;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:.85rem;padding:.5rem .75rem;transition:all .2s}.btn-clear-dates:hover{background:#e0e0e0;color:#333}.bookings-count{color:#666;font-size:.95rem;margin-bottom:1rem}.bookings-table-wrapper{overflow-x:auto}.bookings-table{min-width:800px}.status-badge{font-size:.85rem;padding:.4rem .8rem;text-transform:capitalize}.status-confirmed{background:#d4edda;color:#155724}.status-cancelled{background:#f8d7da;color:#721c24}.arrival-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:.35rem .7rem;white-space:nowrap}.arrival-confirmed{background:#d1ecf1;color:#0c5460}.arrival-pending{background:#fff;color:#856404}.btn-cancel-small{background:#dc3545;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background .2s}.btn-cancel-small:hover{background:#c82333}.loading{font-size:1.1rem;padding:2rem}@media (max-width:768px){.dashboard-container{max-width:100%;padding:.75rem;width:100%}.dashboard-container h1{font-size:1.5rem;margin-bottom:1rem}.month-selector{align-items:flex-start;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem}.month-selector input{width:100%}.analytics-grid{gap:1rem;grid-template-columns:1fr}.stat-card{padding:1rem}.stat-icon{font-size:2.5rem}.stat-value{font-size:1.75rem}.filters{flex-direction:column;gap:.75rem}.search-input{min-width:100%;width:100%}.filter-select{width:100%}.bookings-management,.top-desks-section,.top-users-section{-webkit-overflow-scrolling:touch;margin-bottom:1rem;overflow-x:auto;padding:1rem}.bookings-management h2,.top-desks-section h2,.top-users-section h2{font-size:1.25rem;margin-bottom:1rem}.data-table{font-size:.85rem;width:100%}.data-table td,.data-table th{font-size:.85rem;padding:.75rem .5rem}.bookings-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.desk-status-container{overflow-x:auto;padding:1rem}.report-section{margin:1rem 0;padding:1rem}.report-section h3{font-size:1.2rem}}.desk-status-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow-x:auto;padding:1.5rem}.desk-status-table{border-collapse:collapse;margin-top:1rem;width:100%}.desk-status-table th{background:#fbfcfd;border-bottom:2px solid #eef2f4;color:#4a5a60;font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.desk-status-table td{border-bottom:1px solid #e9ecef;padding:1rem;vertical-align:middle}.desk-status-table tr:hover{background:#fbfbfb}.desk-unavailable{background:#fff9f6!important}.desk-unavailable:hover{background:#fff3eb!important}.monitor-badge{border-radius:20px;font-size:.85rem;font-weight:500;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.monitor-dual{background:#eaf8f3;border:1px solid #cfeee3;color:#1f6b5b}.monitor-single{background:#fff8e6;border:1px solid #f1e2c0;color:#6f5137}.monitor-none{background:#fff5f5;border:1px solid #f6cfcf;color:#7a2f2f}.booking-status{align-items:center;border-radius:6px;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.booking-occupied{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.booking-free{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.forecast-card,.occupancy-card,.trend-card{background:#fff;color:#2c3e50}.report-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:2rem 0;padding:2rem}.report-section h3{color:#2c3e50;font-size:1.4rem;margin-bottom:.5rem}.report-description{color:#666;font-size:.9rem;margin-bottom:1.5rem}.report-row{border-bottom:1px solid #eee;margin-bottom:1.5rem;padding-bottom:1.5rem}.report-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.report-row h4{color:#555;font-size:1rem;font-weight:600;margin-bottom:1rem}.report-buttons{display:flex;flex-wrap:wrap;gap:1rem}.btn-report{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 6px #0000001a;color:#2c3e50;cursor:pointer;font-size:.9rem;font-weight:600;min-width:160px;padding:.75rem 1.25rem;text-align:center;transition:all .3s ease}.btn-view{background:#f0f7ff;border-color:#0078d4;color:#0078d4}.btn-view:hover:not(:disabled){background:#0078d4;color:#fff}.btn-csv{background:#f0fff4;border-color:#28a745;color:#28a745}.btn-csv:hover:not(:disabled){background:#28a745;color:#fff}.btn-pdf{background:#fff5f5;border-color:#dc3545;color:#dc3545}.btn-pdf:hover:not(:disabled){background:#dc3545;color:#fff}.btn-summary{background:#fff8e6;border-color:#ffc107;color:#856404}.btn-summary:hover:not(:disabled){background:#ffc107;color:#212529}.btn-executive{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;font-size:14px;font-weight:600;padding:12px 24px}.btn-executive:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-report:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.btn-report:disabled{cursor:not-allowed;opacity:.6;transform:none}.sharepoint-section{background:#f8f9fa;border-radius:8px;margin-top:.5rem;padding:1rem}.btn-sharepoint{background:#e6f3ff;border-color:#0078d4;color:#0078d4}.btn-sharepoint-all,.btn-sharepoint:hover:not(:disabled){background:#0078d4;color:#fff}.btn-sharepoint-all{border-color:#0078d4}.btn-sharepoint-all:hover:not(:disabled){background:#005a9e;border-color:#005a9e}.sharepoint-status{border-radius:6px;display:inline-block;font-size:.9rem;margin-bottom:1rem;padding:.5rem 1rem}.sharepoint-connected{background:#d4edda;color:#155724}.sharepoint-disconnected{background:#fff3cd;color:#856404}.sharepoint-not-configured{padding:1rem}.sharepoint-help{color:#666;font-size:.85rem;margin-bottom:.5rem}.sharepoint-env-list{color:#555;font-size:.85rem;list-style-type:disc;margin-left:1.5rem}.sharepoint-env-list code{background:#e9ecef;border-radius:4px;font-family:monospace;font-size:.85em;padding:2px 6px}.uploading-status{animation:pulse 1.5s infinite;color:#0078d4;font-weight:600;margin-top:1rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.scheduler-section{background:linear-gradient(135deg,#f5f7fa,#e8f4f8);border:1px solid #d0e8f2;border-radius:8px;margin-top:.5rem;padding:1rem}.btn-scheduler{background:linear-gradient(135deg,#00b4db,#0083b0);border-color:#0083b0;color:#fff}.btn-scheduler:hover:not(:disabled){background:linear-gradient(135deg,#0083b0,#006080);box-shadow:0 4px 12px #0083b04d;transform:translateY(-2px)}.scheduler-status{border-radius:6px;display:inline-block;font-size:.9rem;margin-bottom:1rem;padding:.5rem 1rem}.scheduler-active{background:#d4edda;color:#155724}.scheduler-inactive{background:#fff3cd;color:#856404}.scheduler-info{background:#fff;border-radius:6px;font-size:.9rem;margin-bottom:1rem;padding:1rem}.scheduler-info ul{margin:.5rem 0 .5rem 1.5rem;padding:0}.scheduler-info li{margin-bottom:.3rem}.scheduler-info p{margin:.5rem 0}.email-configured{color:#28a745;font-weight:500}.scheduler-not-configured{padding:.5rem}.scheduler-help{color:#666;font-size:.85rem;margin-bottom:.5rem}.scheduler-env-list{color:#555;font-size:.85rem;list-style-type:disc;margin-bottom:1rem;margin-left:1.5rem}.scheduler-env-list code{background:#e9ecef;border-radius:4px;font-family:monospace;font-size:.85em;padding:2px 6px}.triggering-status{animation:pulse 1.5s infinite;color:#0083b0;font-weight:600;margin-top:1rem}@media (max-width:480px){.admin-dashboard{padding:.5rem .25rem}.dashboard-container{padding:.5rem}.dashboard-container h1{font-size:1.25rem;margin-bottom:.75rem}.month-selector{margin-bottom:.75rem;padding:.75rem}.month-selector label{font-size:.9rem}.month-selector input{font-size:.9rem;padding:.5rem}.analytics-grid{gap:.75rem}.stat-card{padding:.75rem}.stat-icon{font-size:2rem}.stat-content h3{font-size:.75rem}.stat-value{font-size:1.5rem}.stat-label{font-size:.75rem}.bookings-management,.top-desks-section,.top-users-section{margin-bottom:.75rem;padding:.75rem}.bookings-management h2,.top-desks-section h2,.top-users-section h2{font-size:1.1rem;margin-bottom:.75rem}.filters{gap:.5rem}.filter-select,.search-input{font-size:.9rem;padding:.6rem .75rem}.data-table{font-size:.75rem;min-width:650px}.data-table td,.data-table th{font-size:.75rem;padding:.6rem .4rem}.bookings-table{font-size:.75rem;min-width:700px}.bookings-table td,.bookings-table th{padding:.6rem .4rem}.status-badge{font-size:.7rem;padding:.3rem .6rem}.btn-cancel-small{font-size:.8rem;padding:.4rem .75rem}.desk-status-container{padding:.75rem}.desk-status-table{font-size:.75rem;min-width:650px}.desk-status-table td,.desk-status-table th{padding:.6rem .4rem}.monitor-badge{font-size:.7rem;padding:.2rem .5rem}.booking-status{font-size:.75rem;padding:.4rem .75rem}.report-section{margin:.75rem 0;padding:.75rem}.report-section h3{font-size:1rem;margin-bottom:1rem}.report-buttons{flex-direction:column;gap:.75rem}.btn-report{font-size:.9rem;min-width:100%;padding:.75rem 1rem}.bookings-count{font-size:.85rem}}.btn-cancel-small,.btn-edit-small{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;margin-right:.5rem;padding:.3rem .6rem}.btn-edit-small{background:#3498db;color:#fff}.btn-edit-small:hover{background:#2980b9}.btn-cancel-small{background:#e74c3c;color:#fff}.btn-cancel-small:hover{background:#c0392b}.modal-overlay{background:#00000080}.modal-content{max-height:80vh;padding:2rem}.modal-content h3{margin-top:0}.form-group{margin-bottom:1rem}.form-group label{margin-bottom:.5rem}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.5rem}.modal-actions{gap:1rem;margin-top:1.5rem}.btn-primary,.btn-secondary{border-radius:8px;font-size:1rem;padding:.5rem 1rem}.btn-primary{background:#27ae60}.btn-primary:hover{background:#229954}.btn-secondary{background:#95a5a6}.btn-secondary:hover{background:#7f8c8d}.report-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.report-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.report-modal-header{align-items:flex-start;background:linear-gradient(135deg,#f8fafb,#fff);border-bottom:1px solid #e8ecef;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.report-modal-title h2{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0}.report-modal-subtitle{color:#7f8c8d;display:block;font-size:.9rem;margin-top:4px}.report-modal-close{background:none;border:none;color:#95a5a6;cursor:pointer;font-size:2rem;line-height:1;padding:0;transition:color .2s,transform .2s}.report-modal-close:hover{color:#e74c3c;transform:scale(1.1)}.report-modal-content{flex:1 1;overflow-y:auto;padding:1.5rem 2rem}.report-section-card{background:#f8fafb;border:1px solid #e8ecef;border-radius:12px;margin-bottom:1rem;padding:1.25rem;transition:box-shadow .2s}.report-section-card:hover{box-shadow:0 4px 12px #00000014}.report-section-card:last-child{margin-bottom:0}.report-section-title{align-items:center;border-bottom:2px solid #e8ecef;color:#2c3e50;display:flex;font-size:1.1rem;font-weight:600;gap:10px;margin:0 0 1rem;padding-bottom:.75rem}.section-icon{font-size:1.3rem}.report-section-items{display:flex;flex-direction:column;gap:.5rem}.report-item{align-items:center;background:#fff;border:1px solid #e8ecef;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem 1rem}.report-item-label{color:#5a6c7d;font-size:.95rem}.report-item-value{background:#e8f4fd;border-radius:20px;color:#2c3e50;font-size:1rem;font-weight:600;padding:.25rem .75rem}.report-modal-footer{background:#f8fafb;border-radius:0 0 16px 16px;border-top:1px solid #e8ecef;display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 2rem}.report-modal-footer .btn-primary,.report-modal-footer .btn-secondary{align-items:center;border-radius:8px;display:flex;font-size:.95rem;gap:6px;padding:.6rem 1.25rem;transition:all .2s}.report-modal-footer .btn-secondary:hover{background:#6c7a89;transform:translateY(-1px)}.report-modal-footer .btn-primary{background:#3498db}.report-modal-footer .btn-primary:hover{background:#2980b9;transform:translateY(-1px)}@media print{.report-modal-overlay{background:none;padding:0;position:static}.report-modal{box-shadow:none;max-height:none}.report-modal,.report-modal-header{border-radius:0}.report-modal-close,.report-modal-footer{display:none}}@media (max-width:600px){.report-modal{border-radius:12px;max-height:90vh}.report-modal-header{border-radius:12px 12px 0 0;padding:1rem 1.25rem}.report-modal-title h2{font-size:1.25rem}.report-modal-content{padding:1rem 1.25rem}.report-section-card{padding:1rem}.report-item{align-items:flex-start;flex-direction:column;gap:.5rem}.report-modal-footer{border-radius:0 0 12px 12px;flex-wrap:wrap;padding:1rem 1.25rem}.report-modal-footer button{flex:1 1;justify-content:center;min-width:120px}}.email-popup-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-width:500px;width:100%}.email-popup-content{padding:1.5rem 2rem}.email-input-group{margin-bottom:1.5rem}.email-input-group label{color:#333;display:block;margin-bottom:.75rem}.email-help-text{color:#666;display:block;font-size:.85rem;font-weight:400;margin-top:.25rem}.email-input-textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem 1rem;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.email-input-textarea:focus{border-color:#0078d4;box-shadow:0 0 0 3px #0078d41a;outline:none}.email-input-textarea::placeholder{color:#999}.email-preview{background:#f8f9fa;border-radius:8px;padding:1rem}.email-preview strong{color:#333;display:block;font-size:.9rem;margin-bottom:.5rem}.email-tags{display:flex;flex-wrap:wrap;gap:.5rem}.email-tag{background:linear-gradient(135deg,#0078d4,#005a9e);border-radius:20px;color:#fff;display:inline-block;font-size:.85rem;font-weight:500;padding:.35rem .75rem}.email-tag:empty{display:none}@media (max-width:600px){.email-popup-modal{border-radius:12px;margin:1rem;max-width:100%}.email-popup-content{padding:1rem 1.25rem}}.unit-admin-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.unit-admin-container{margin:0 auto;max-width:1400px;padding:20px}.unit-admin-header{background:#fff;border-left:5px solid #2c3e50;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.unit-admin-header h1{align-items:center;color:#2c3e50;display:flex;font-size:32px;gap:10px;margin:0}.unit-admin-header .unit-name{color:#7f8c8d;font-size:18px;font-weight:500;margin:10px 0 0}.alert{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:10px;margin-bottom:20px;padding:15px 20px}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.tab-navigation{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;padding:15px}.tab-btn{background:#ecf0f1;border-radius:8px;color:#2c3e50;font-size:14px;min-width:150px;padding:12px 20px;text-align:center;transition:all .3s ease}.tab-btn:hover{background:#bdc3c7;transform:translateY(-2px)}.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea66;color:#fff}.tab-content{animation:fadeIn .3s ease;box-sizing:border-box;width:100%}.analytics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.analytics-card{align-items:center;background:#fff;border-radius:12px;border-top:4px solid #667eea;box-shadow:0 2px 8px #0000001a;display:flex;gap:20px;padding:25px;transition:all .3s ease}.analytics-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-5px)}.analytics-card.occupancy{border-top-color:#f39c12}.analytics-card.users{border-top-color:#27ae60}.analytics-card.bookings{border-top-color:#e74c3c}.card-icon{font-size:40px;line-height:1}.card-content{flex:1 1}.card-label{color:#95a5a6;font-size:12px;font-weight:600;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.card-value{color:#2c3e50;font-size:32px;font-weight:700}.card-detail{color:#7f8c8d;font-size:13px;margin-top:5px}.dashboard-sections{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr}.section{background:#fff;border:1px solid #dfe6ed;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:25px}.section h3{border-bottom:2px solid #ecf0f1;color:#1f2d3d;font-size:18px;margin:0 0 20px;padding-bottom:15px}.users-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.user-card{background:#fff;border:1px solid #dfe6ed;border-radius:10px;box-shadow:0 4px 12px #00000014;color:#1f2d3d;padding:15px;text-align:center}.user-email{color:#111;font-size:14px;font-weight:700;margin-bottom:5px;word-break:break-all}.user-name{color:#444;font-size:12px}.desks-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.desk-card{background:#fff;border:1px solid #dfe6ed;border-radius:10px;box-shadow:0 4px 12px #00000014;color:#1f2d3d;padding:15px;text-align:center}.desk-id{font-size:16px;font-weight:700;margin-bottom:8px}.desk-zone{color:#444;font-size:12px;margin-bottom:5px}.desk-monitor{color:#666;font-size:11px}.form-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;margin:0 auto;max-width:500px;padding:30px;width:100%}.form-card h3{color:#2c3e50;font-size:20px;margin:0 0 25px}.form-group{margin-bottom:20px}.form-group label{color:#2c3e50;margin-bottom:8px}.form-group input,.form-group select{border:1px solid #bdc3c7;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.bookings-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;overflow-x:auto;padding:20px;width:100%}.bookings-table thead{background:#f8f9fa;border-bottom:2px solid #ecf0f1}.bookings-table th{color:#2c3e50;font-size:13px;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.bookings-table td{border-bottom:1px solid #ecf0f1;color:#555;font-size:14px;padding:15px}.bookings-table tbody tr:hover{background:#f8f9fa}.status-badge{border-radius:20px;font-weight:600;padding:4px 12px}.status-badge.confirmed{background:#d4edda;color:#155724}.desks-management-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.desk-management-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:all .3s ease}.desk-management-card:hover{border-color:#667eea;box-shadow:0 8px 20px #00000026;transform:translateY(-5px)}.desk-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.desk-header h4{color:#2c3e50;font-size:18px;margin:0}.desk-details p{color:#7f8c8d;font-size:13px;margin:8px 0}.desk-details strong{color:#2c3e50}.btn-danger,.btn-edit,.btn-primary,.btn-secondary,.btn-small{border:none;border-radius:6px;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:12px 20px;text-align:center;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);margin-top:10px;width:100%}.btn-primary:hover{box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#bdc3c7;color:#2c3e50}.btn-secondary:hover{background:#95a5a6}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.btn-small{font-size:12px;padding:6px 12px}.btn-edit{background:#3498db;color:#fff;padding:8px 15px}.btn-edit:hover{background:#2980b9}.modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{border-radius:12px;box-shadow:0 10px 40px #0000004d}.modal-content h3{color:#2c3e50;font-size:20px;margin:0 0 20px}.booking-info,.desk-info{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:15px}.booking-info p,.desk-info p{font-size:14px;margin:8px 0}.modal-tabs{display:flex;gap:10px;margin-bottom:20px}.modal-tab{background:#ebf5fb;border:2px solid #5dade2;border-radius:6px;color:#2980b9;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px;transition:all .3s ease}.modal-tab:hover{background:#d4e6f1;border-color:#3498db;color:#1a5276}.modal-tab.active{background:#3498db;border-color:#2980b9;color:#fff}.modal-form{margin-bottom:20px}.modal-form select{border:1px solid #bdc3c7;border-radius:6px;font-size:14px;margin-bottom:15px;padding:12px;width:100%}.modal-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:15px}.modal-actions .btn-danger,.modal-actions .btn-secondary{width:100%}.loading{color:#7f8c8d;padding:40px;text-align:center}@media (max-width:768px){.dashboard-sections{grid-template-columns:1fr}.analytics-grid{grid-template-columns:1fr 1fr}.tab-navigation{flex-direction:column}.tab-btn{min-width:auto}.modal-actions{grid-template-columns:1fr}.unit-admin-header h1{font-size:24px}.form-card{max-width:100%}.desks-management-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.reset-container{align-items:center;background:linear-gradient(135deg,#f1f7ff,#d9ecff);display:flex;justify-content:center;min-height:100vh;padding:20px}.reset-box{background:#fff;border:1px solid #d6e5fb;border-radius:18px;box-shadow:0 24px 48px #0c4f8229;max-width:420px;padding:42px 40px 36px;text-align:center;width:100%}.reset-logo{display:block;margin:0 auto 1.25rem;width:140px}.reset-box h1{color:#0b3d70;font-size:28px;margin-bottom:10px}.subtitle{color:#666;font-size:14px;margin-bottom:25px;text-align:center}.form-group{margin-bottom:18px;text-align:left}.form-group label{font-size:14px;margin-bottom:6px}.form-group input{border:1px solid #ddd;border-radius:10px;font-size:14px;padding:11px 14px;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#0b78d1;box-shadow:0 0 0 3px #0b78d126;outline:none}.btn-submit{background-color:#0b78d1;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-bottom:10px;padding:12px;transition:all .3s ease;width:100%}.btn-submit:hover{background-color:#0863ac;box-shadow:0 8px 20px #0b78d14d;transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.7;transform:none}.btn-back-login{background-color:#f0f4fb;border:none;border-radius:999px;color:#0b3d70;cursor:pointer;font-size:14px;padding:10px;transition:all .3s ease;width:100%}.btn-back-login:hover{background-color:#e1edfb;color:#0b3d70}.error{background-color:#fdecea;border:1px solid #f5c0b8;border-radius:10px;color:#a63a2b}.error,.success{font-size:14px;margin-bottom:20px;padding:12px}.success{background-color:#e8f8ee;border:1px solid #a8e0c5;border-radius:10px;color:#297557}.confirm-arrival-page{align-items:center;display:flex;justify-content:center;min-height:80vh;padding:32px}.card{background:#fff;box-shadow:0 8px 24px #00000014;max-width:640px;padding:28px;text-align:center;width:100%}.status{border-radius:6px;margin:16px 0;padding:12px}.status.pending{background:#fff5e6;color:#735200}.status.success{background:#e6ffef;color:#016b2b}.status.error{background:#ffe6ea;color:#85001a}.actions{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:12px}.actions button{background:#2d79ff;border:none;border-radius:6px;color:#fff;padding:8px 12px}.actions a{color:#2d79ff}.profile-page{background:#fff;min-height:100vh;padding:2rem}.profile-page .notice{border-radius:10px;font-size:.95rem;font-weight:600;margin-bottom:1.5rem;padding:1rem 1.25rem}.profile-page .notice.error{background:#fdecea;border:1px solid #f5c0b8;color:#a63a2b}.profile-page .notice.success{background:#e8f8ee;border:1px solid #a8e0c5;color:#297557}.profile-container{margin:0 auto;max-width:900px}.profile-card{background:#f9fbff;border:1px solid #e2ecf9;border-radius:16px;box-shadow:0 12px 32px #0d528614;overflow:hidden}.profile-tabs{background:#e8f2fc;border-bottom:2px solid #d1e3f5;display:flex}.tab-btn{background:#0000;border:none;border-bottom:3px solid #0000;color:#4d637b;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:1rem 1.5rem;transition:all .2s ease}.tab-btn:hover{background:#0b78d10d;color:#0b78d1}.tab-btn.active{background:#fff;border-bottom-color:#0b78d1;color:#0b78d1}.tab-content{padding:2rem}.tab-panel{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.upload-section{gap:1.5rem}.current-avatar,.upload-section{display:flex;flex-direction:column}.current-avatar{align-items:center;gap:.75rem}.avatar-circle.large{align-items:center;background:linear-gradient(135deg,#0b78d1,#003f7f);border-radius:50%;box-shadow:0 4px 16px #0b78d14d;color:#fff;display:flex;font-size:2.5rem;font-weight:700;height:100px;justify-content:center;overflow:hidden;width:100px}.avatar-circle.large .avatar-image{height:100%;object-fit:cover;width:100%}.avatar-hint{color:#4d637b;font-size:.9rem;font-weight:600;margin:0}.field-hint{color:#64748b;display:block;font-size:.85rem;font-style:italic;margin-top:.5rem}.section-header{margin-bottom:1.5rem}.section-header h2{color:#0b3d70;font-size:1.45rem;margin:0}.section-hint{color:#4d637b;display:block;font-size:.9rem;margin-top:.4rem}.profile-form{gap:1rem}.form-row,.profile-form{display:flex;flex-direction:column}.form-row{gap:.5rem}.form-row label{color:#0b3d70;font-size:.95rem;font-weight:600}.form-row input,.form-row select{background:#fff;border:1px solid #c8d9f2;border-radius:10px;font-size:.95rem;padding:.75rem .85rem;transition:border .2s ease,box-shadow .2s ease}.form-row input:focus,.form-row select:focus{border-color:#0b78d1;box-shadow:0 0 0 3px #0b78d126;outline:none}.form-row input[disabled]{background:#eef4fc;color:#64748b}.form-actions{gap:.75rem;margin-top:.5rem}.btn-primary,.btn-secondary{border:none;border-radius:999px;cursor:pointer;font-weight:600;padding:.65rem 1.8rem;transition:transform .2s ease,box-shadow .2s ease}.btn-primary:disabled,.btn-secondary:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.loading-state{align-items:center;color:#0b3d70;display:flex;font-size:1.1rem;justify-content:center;min-height:60vh}@media (max-width:640px){.profile-page{padding:1.25rem}.profile-card{padding:1.5rem}}.history-container{width:100%}.history-banner.success{background:#e8f8ee;border:1px solid #a8e0c5;color:#297557}.badge{border-radius:12px;font-size:.8rem;padding:.25rem .75rem}.history-empty{padding:2rem}.bookings-table,.history-table{border-collapse:collapse;width:100%}.bookings-table thead,.history-table thead{background:#e9f3ff;color:#0b3d70}.bookings-table td,.bookings-table th,.history-table td,.history-table th{border-bottom:1px solid #e2ecf9;padding:.75rem 1rem;text-align:left}.bookings-table tbody tr:hover,.history-table tbody tr:hover{background:#f1f7ff}.status.completed{color:#297557}.btn-link{background:#0000;border:none;color:#0b78d1;cursor:pointer;font-weight:600;padding:0}.btn-link:hover{text-decoration:underline}.booking-form,.modal-body{display:flex;flex-direction:column;gap:1rem}.booking-form{gap:.8rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{color:#0b3d70;font-size:.95rem;font-weight:600}.form-group input,.form-group select{background:#fff;border:1px solid #c8d9f2;border-radius:10px;font-size:.95rem;padding:.75rem .85rem;transition:border .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus{border-color:#0b78d1;box-shadow:0 0 0 3px #0b78d126;outline:none}.form-actions{display:flex;justify-content:flex-end}.btn-primary,.btn-secondary,.btn-tertiary{border:none;border-radius:999px;cursor:pointer;font-weight:600;padding:.6rem 1.5rem;transition:transform .2s ease,box-shadow .2s ease}.btn-primary{background:#0b78d1;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 8px 20px #0b78d140;transform:translateY(-1px)}.btn-secondary{background:#003f7f;color:#fff}.btn-secondary:hover:not(:disabled){box-shadow:0 8px 20px #003f7f40;transform:translateY(-1px)}.btn-tertiary{background:#f0f4fb;color:#0b3d70}.btn-tertiary:hover:not(:disabled){box-shadow:0 8px 20px #0b78d11f;transform:translateY(-1px)}.btn-primary:disabled,.btn-secondary:disabled,.btn-tertiary:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.table-scroll{border:1px solid #e2ecf9;border-radius:12px;max-height:60vh;overflow:auto}.bookings-table{border-collapse:collapse;width:100%}.bookings-table thead{background:#e9f3ff;color:#0b3d70}.bookings-table td,.bookings-table th{border-bottom:1px solid #e2ecf9;padding:.75rem 1rem;text-align:left}.bookings-table tbody tr:hover{background:#f1f7ff}.row-actions{display:flex;gap:.5rem}.empty-state{background:#f0f4fb;border-radius:12px;color:#4d637b;padding:2rem;text-align:center}.modal{align-items:center!important;background:#091e4273!important;display:flex!important;inset:0!important;justify-content:center!important;position:fixed!important;z-index:1001!important}.modal-content{background:#fff;border-radius:16px;box-shadow:0 24px 48px #0f346040;max-width:520px;width:100%}.modal-header{padding:1.25rem 1.5rem .5rem}.modal-header h3{color:#0b3d70;margin:0}.modal-close{background:none;border:none;color:#4d637b;cursor:pointer;font-size:1.75rem}.modal-body{padding:0 1.5rem 1.5rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}@media (max-width:768px){.booking-history-page{padding:1.25rem}.history-card{padding:1.5rem}}.booking-history-page{background:#fff;min-height:100vh;padding:2rem}.history-container{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1080px}.history-banner{border-radius:12px;font-size:.95rem;font-weight:600;padding:1rem 1.25rem}.history-banner.error{background:#fdecea;border:1px solid #f5c0b8;color:#a63a2b}.history-card{background:#f9fbff;border:1px solid #e2ecf9;border-radius:18px;box-shadow:0 18px 38px #0c4f8214;padding:2rem}.history-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.75rem}.history-header h2{color:#0b3d70;margin:0}.history-header p{color:#4d637b;font-size:.9rem;margin:.4rem 0 0}.badge{background:#0b78d1;border-radius:999px;color:#fff;font-weight:600;min-width:2.5rem;padding:.4rem .8rem;text-align:center}.history-empty{background:#f0f4fb;border-radius:12px;color:#4d637b;padding:2.5rem 1.5rem;text-align:center}.history-timeline{display:flex;flex-direction:column;gap:1.25rem}.timeline-item{grid-gap:1.5rem;align-items:center;background:#fff;border:1px solid #e2ecf9;border-radius:14px;box-shadow:0 8px 18px #0b78d114;display:grid;gap:1.5rem;grid-template-columns:160px 1fr;padding:1rem 1.2rem}.timeline-date{color:#0b3d70;font-size:1.05rem;font-weight:700}.timeline-content h3{color:#0b3d70;margin:0}.timeline-content p{color:#4d637b;font-size:.95rem;margin:.25rem 0 0}.timeline-content-horizontal{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.booking-desk{color:#0b3d70;font-size:1.05rem;font-weight:700}.booking-location{color:#4d637b;font-size:.95rem}.booking-time{color:#0b78d1;font-size:.95rem;font-weight:600}.booking-divider{color:#d6e5fb;font-weight:400}.timeline-meta{color:#0b78d1;font-weight:600}.history-table{border-collapse:collapse;width:100%}.history-table thead{background:#e9f3ff;color:#0b3d70}.history-table td,.history-table th{border-bottom:1px solid #e2ecf9;padding:.75rem 1rem;text-align:left}.history-table tbody tr:hover{background:#f1f7ff}.status{font-weight:600}.status.confirmed{color:#0b78d1}.status.cancelled{color:#a63a2b}@media (max-width:768px){.booking-history-page{padding:1.25rem}.history-card{padding:1.5rem}.timeline-item{gap:.75rem;grid-template-columns:1fr;text-align:left}.page-container{padding:1rem .5rem}.page-header h1{font-size:1.5rem}.content-grid,.form-grid{grid-template-columns:1fr}button{width:100%}}@media (max-width:480px){.page-container{padding:.75rem .25rem}.page-header h1{font-size:1.3rem}input,select,textarea{font-size:14px}}body{background-color:#fff;color:#0b3d70;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}.loading{background:#fff;color:#0b3d70}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading{align-items:center;color:#666;display:flex;font-size:18px;height:100vh;justify-content:center}button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}button:hover{opacity:.9;transform:translateY(-2px)}button.primary{background-color:#007bff;color:#fff}button.primary:hover{background-color:#0056b3}button.danger{background-color:#dc3545;color:#fff}button.danger:hover{background-color:#c82333}button.secondary{background-color:#6c757d;color:#fff}button.secondary:hover{background-color:#5a6268}input,select,textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:8px 12px}input:focus,select:focus,textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.container{margin:0 auto;max-width:1200px;padding:20px}.header{background-color:#fff;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:15px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;padding:0 20px}.header h1{color:#333;font-size:24px}.user-info{align-items:center;display:flex;gap:15px}.user-name{color:#666;font-size:14px}.card{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:20px}.grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-group{margin-bottom:15px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:5px}.error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#dc3545}.error,.success{margin-bottom:15px;padding:10px}.success{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724}.table{border-collapse:collapse;margin-top:15px;width:100%}.table thead{background-color:#f5f5f5}.table td,.table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.table th{color:#333;font-weight:600}.table tr:hover{background-color:#f9f9f9}.modal{background-color:#00000080;display:none;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal.active{align-items:center;display:flex;justify-content:center}.modal-content{background-color:#fff;border-radius:8px;max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h2{margin:0}.close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:24px;padding:0}.close-btn:hover{color:#333;transform:none}.status-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.status-badge.available{background-color:#d4edda;color:#155724}.status-badge.reserved{background-color:#f8d7da;color:#721c24}.status-badge.booked{background-color:#d1ecf1;color:#0c5460}@media (max-width:768px){.container{padding:15px 10px}.header{margin-bottom:20px;padding:12px 0}button{padding:10px 14px}button,input,select,textarea{font-size:14px;min-height:44px}input,select,textarea{padding:10px 12px}.modal-content{margin:10px;padding:20px;width:95%}.table{font-size:14px}.table td,.table th{padding:10px 8px}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:480px){.container{padding:10px 5px}button{font-size:13px;padding:9px 12px}input,select,textarea{font-size:14px}.modal-content{border-radius:12px;padding:15px}.modal-header h2{font-size:18px}.table{font-size:13px}.table td,.table th{padding:8px 6px}.status-badge{font-size:11px;padding:3px 6px}}@media (hover:none) and (pointer:coarse){.clickable,.close-btn,a,button{min-height:44px;min-width:44px}}body,html{overflow-x:hidden}
/*# sourceMappingURL=main.3fd9f82a.css.map*/