:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000b2b;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{background-image:url(/assets/Lockscreen%204-Dy3Zl2ug.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;min-width:320px;min-height:100vh;margin:0}#root{width:100%}.app-container{background-color:#000b2b66;flex-direction:column;width:100%;min-height:100vh;display:flex}.app-header{color:#000;background-color:#5ea2cc;justify-content:space-between;align-items:center;padding:.8rem 2rem;display:flex;box-shadow:0 2px 10px #0000004d}.app-header h1{letter-spacing:-.5px;margin:0;font-size:1.3rem;font-weight:700}.header-right{align-items:center;gap:2rem;display:flex}.app-header nav ul{gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.app-header nav ul li a{color:#000;border-radius:4px;align-items:center;min-height:32px;padding:.25rem .55rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background-color .2s,opacity .2s;display:inline-flex}.app-header nav ul li a:hover{opacity:1;background-color:#00000014}.app-header nav ul li a.active-nav-link{background-color:#00000029;box-shadow:inset 0 -2px #000}.user-profile{align-items:center;gap:1rem;font-size:.85rem;font-weight:600;display:flex}.logout-button{color:#000;background-color:#0000;border:1px solid #000;border-radius:4px;padding:.3rem .7rem;font-size:.75rem}.logout-button:hover{background-color:#0000001a}.app-content{box-sizing:border-box;flex:1;width:100%;max-width:1400px;margin:0 auto;padding:2rem}.app-footer{text-align:center;color:#000;background-color:#5ea2cc;padding:.8rem;font-size:.8rem;font-weight:600}.booking-card,.desk-card,.desk-row-card,.admin-section,.booking-controls,.no-bookings{box-sizing:border-box;background:#1a1a1a;border:1px solid #ffffff1a;border-radius:12px;width:100%;padding:2rem;box-shadow:0 10px 30px #00000080}.booking-page h2,.dashboard-page h2,.admin-page h2{text-shadow:0 2px 4px #00000080;margin-bottom:1.5rem}.booking-controls{flex-direction:column;gap:1.5rem;margin-bottom:2.5rem;display:flex}.search-row{width:100%}.search-row-quarter{width:25%;min-width:250px}.search-input{color:#fff;box-sizing:border-box;background-color:#0000004d;border:1px solid #fff3;border-radius:8px;width:100%;padding:1rem;font-size:1rem}.search-input:focus{border-color:#5ea2cc;outline:none;box-shadow:0 0 8px #5ea2cc66}.filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.filter-group{flex-wrap:wrap;gap:2rem;display:flex}.select-container{align-items:center;gap:.8rem;display:flex}.select-container label{font-weight:600}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;font-weight:600;display:flex}.time-group{flex-wrap:wrap;gap:2rem;margin-top:1rem;display:flex}.time-input{flex-direction:column;gap:.5rem;display:flex}.time-input input,.filters select,.admin-form input,.admin-form textarea,select{color:#fff;background-color:#2a2a2a;border:1px solid #fff3;border-radius:6px;padding:.7rem;font-family:inherit}.desk-list,.booking-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:2rem;display:grid}.desk-location{color:#5ea2cc;margin:.5rem 0;font-size:.85rem;font-weight:600}.desk-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.desk-assignment{color:#9ed2ef;overflow-wrap:anywhere;background:#5ea2cc29;border:1px solid #5ea2cc73;border-radius:999px;align-items:center;max-width:100%;padding:.18rem .5rem;font-size:.75rem;font-weight:700;line-height:1.2;display:inline-flex}.desk-status{color:#ffc46b;overflow-wrap:anywhere;background:#ff98002e;border:1px solid #ff980080;border-radius:999px;align-items:center;max-width:100%;padding:.18rem .5rem;font-size:.75rem;font-weight:700;line-height:1.2;display:inline-flex}.desk-desc{opacity:.9;margin-bottom:1.5rem;font-size:.9rem}.desk-id{color:#5ea2cc;font-size:1.1rem;font-weight:700}.booking-card{position:relative}.booking-header{border-bottom:1px solid #ffffff1a;flex-direction:column;gap:.2rem;margin-bottom:1rem;padding-bottom:.8rem;display:flex}.booking-title{flex-direction:column;gap:.2rem;display:flex}.show-desk-link{color:#000;background-color:#5ea2cc;border-radius:6px;justify-content:center;align-items:center;margin-top:1rem;padding:.55rem .9rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:transform .1s,opacity .2s;display:inline-flex}.show-desk-link:hover{opacity:.9;transform:translateY(-1px)}.cancel-button-text{color:#ff4d4f;cursor:pointer;z-index:5;background-color:#ff4d4f1a;border:1px solid #ff4d4f;border-radius:4px;padding:.4rem .8rem;font-size:.8rem;font-weight:700;transition:all .2s;position:absolute;top:1rem;right:1rem}.cancel-button-text:hover{color:#fff;background-color:#ff4d4f;transform:translateY(-1px)}button:not(.cancel-button-text):not(.delete-btn):not(.edit-btn):not(.save-btn){color:#000;cursor:pointer;background-color:#5ea2cc;border:none;border-radius:6px;padding:.7em 1.4em;font-size:.9em;font-weight:700;transition:transform .1s,opacity .2s}button:not(.cancel-button-text):not(.delete-btn):not(.edit-btn):not(.save-btn):hover{opacity:.9;transform:translateY(-1px)}button:disabled,button:disabled:hover{cursor:not-allowed!important;opacity:.55!important;transform:none!important}.action-banner{text-align:center;z-index:9999;border-radius:8px;min-width:300px;padding:1rem 2rem;font-weight:700;animation:.3s ease-out slideDown;position:fixed;top:2rem;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #00000080}@keyframes slideDown{0%{opacity:0;top:-50px}to{opacity:1;top:2rem}}.action-banner.success{color:#fff;background-color:#4caf504d;border:1px solid #4caf50}.action-banner.error{color:#fff;background-color:#ff4d4f4d;border:1px solid #ff4d4f}.login-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:2rem;display:flex}.login-box{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:12px;width:100%;max-width:450px;padding:3rem;box-shadow:0 20px 50px #0009}.login-box h2{color:#5ea2cc;margin-top:0}.login-box p{color:#fff;margin-bottom:2rem}.login-button{width:100%}.view-mode-bar{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.view-toggle{gap:1rem;display:flex}.toggle-btn{color:#fff!important;background-color:#ffffff1a!important;border:1px solid #fff3!important}.toggle-btn.active{color:#000!important;background-color:#5ea2cc!important}.display-toggle{background:#ffffff1a;border-radius:8px;gap:.2rem;padding:.3rem;display:flex}.icon-btn{opacity:.5;cursor:pointer;transition:opacity .2s;color:#fff!important;background:0 0!important;border:none!important;padding:.4rem .8rem!important;font-size:1.2rem!important}.icon-btn.active{opacity:1;border-radius:6px;background:#ffffff1a!important}.desk-rows{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.desk-row-card{justify-content:space-between;align-items:center;display:flex;padding:1rem 2rem!important}.desk-row-card .desk-info{flex:1;align-items:center;gap:2rem;display:flex}.desk-row-card .desk-title{width:260px;margin:0}.desk-row-card .desk-location{width:200px;margin:0}.desk-row-card .desk-desc{flex:1;margin:0}.desk-card.permanently-booked,.desk-row-card.permanently-booked{border-color:#ff980059}.desk-map-container{background-color:#fff;border-radius:12px;width:100%;max-width:1000px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 10px 40px #00000080}.floorplan-img{width:100%;display:block}.desk-marker{cursor:pointer;z-index:10;justify-content:center;align-items:center;width:2.5%;height:3.5%;display:flex;position:absolute;transform:translate(-50%,-50%)}.marker-dot{background-color:#5ea2cc;border:2px solid #fff;border-radius:50%;width:12px;height:12px;transition:transform .2s,background-color .2s;box-shadow:0 0 10px #5ea2cccc}.desk-marker:hover .marker-dot{background-color:#4caf50;transform:scale(1.5)}.desk-marker.selected .marker-dot{background-color:#4caf50;transform:scale(1.8);box-shadow:0 0 15px #4caf50}.desk-marker.permanently-booked .marker-dot,.desk-marker.permanently-booked:hover .marker-dot,.desk-marker.permanently-booked.selected .marker-dot{background-color:#ff9800;box-shadow:0 0 12px #ff9800d9}.map-view-container{flex-direction:column;gap:1.5rem;display:flex}.map-popup{z-index:100;pointer-events:auto;position:absolute;transform:translate(-50%,18px)}.popup-content{background:#1a1a1a;border:1px solid #5ea2cc;border-radius:8px;flex-direction:column;align-items:center;gap:.8rem;min-width:140px;padding:1rem;display:flex;position:relative;box-shadow:0 4px 20px #0009}.popup-content h4{color:#fff;margin:0;font-size:1rem}.map-desk-title{text-align:center;justify-content:center;max-width:220px}.popup-book-btn{width:100%;padding:.5rem 1rem!important;font-size:.85rem!important}.popup-close-btn{cursor:pointer;line-height:1;position:absolute;top:4px;right:4px;color:#888!important;background:0 0!important;border:none!important;padding:0!important;font-size:1.2rem!important}.popup-close-btn:hover{color:#fff!important}.popup-arrow{border-bottom:8px solid #5ea2cc;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.admin-tabs{border-bottom:1px solid #ffffff1a;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.admin-tabs button{opacity:.6;color:#fff!important;background:0 0!important;border:1px solid #0000!important}.admin-tabs button.active{opacity:1;border-radius:0;border-bottom:2px solid #5ea2cc!important}.location-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.location-tabs button{color:#fff!important;background-color:#ffffff0d!important;border:1px solid #ffffff1a!important;border-radius:6px!important;padding:.5rem 1rem!important;font-size:.85rem!important}.location-tabs button.active{color:#000!important;background-color:#5ea2cc!important;border-color:#5ea2cc!important}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.secondary-btn{color:#5ea2cc!important;background-color:#0000!important;border:1px solid #5ea2cc!important}.export-controls{align-items:center;gap:1rem;display:flex}.export-controls input[type=date]{color:#fff;background-color:#0000004d;border:1px solid #fff3;border-radius:6px;padding:.5rem;font-size:.85rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{text-align:center;background:#0000004d;border-radius:8px;padding:1.5rem}.stat-card h4{opacity:.7;margin:0;font-size:.9rem}.stat-value{color:#5ea2cc;margin:.5rem 0 0;font-size:2rem;font-weight:700}.reports-details{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.report-box{background:#0003;border-radius:8px;padding:1.5rem}.stat-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;padding:.5rem 0;display:flex}.admin-desk-table-container{max-height:600px;overflow:auto}.admin-table{border-collapse:collapse;width:100%;margin-top:1rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #444;padding:1rem}.admin-table th{color:#5ea2cc;z-index:5;background-color:#00000080;position:sticky;top:0}.admin-form{flex-direction:column;gap:1rem;max-width:600px;display:flex}.delete-btn{color:#fff;cursor:pointer;background-color:#ff4d4f;border:none;border-radius:4px;padding:.4rem .8rem;font-size:.8rem}.edit-btn,.save-btn{cursor:pointer;border-radius:4px;padding:.4rem .8rem;font-size:.8rem;font-weight:700}.edit-btn{color:#000;background-color:#5ea2cc}.save-btn{color:#fff;background-color:#4caf50}.role-badge{text-transform:uppercase;border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.role-badge.User{color:#fff;background-color:#888}.role-badge.Manager{color:#fff;background-color:#ff9800}.role-badge.Administrator{color:#000;background-color:#5ea2cc}.role-select{background-color:#0006!important;border:1px solid #fff3!important;padding:.3rem!important;font-size:.8rem!important}.action-btns{gap:.5rem;display:flex}@media (width<=768px){.reports-details{grid-template-columns:1fr}.desk-row-card{flex-direction:column;align-items:flex-start;gap:1.5rem}.desk-row-card .desk-info{flex-direction:column;gap:.5rem}}
