*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f0f2f5;color:#1a1a2e;min-height:100vh}.navbar{background:#1a1a2e;color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 24px;height:56px;position:sticky;top:0;z-index:100}.navbar-brand{display:flex;align-items:center;justify-self:start;text-decoration:none}.navbar-logo{height:36px;width:auto;display:block}.navbar-links{display:flex;gap:8px;align-items:center;justify-self:center}.navbar-end{display:flex;gap:8px;align-items:center;justify-self:end}.navbar-links a,.navbar-links button{color:#ccc;text-decoration:none;background:none;border:none;cursor:pointer;font-size:.9rem;padding:6px 12px;border-radius:4px;transition:background .15s,color .15s}.navbar-links a:hover,.navbar-links button:hover,.navbar-links a.active{background:#2d2d4e;color:#fff}.page{max-width:1400px;margin:0 auto;padding:28px 20px}h1{font-size:1.25rem;margin-bottom:20px}h2{font-size:1.15rem;margin-bottom:14px}.home-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.home-header h1{margin-bottom:0}.home-add-btn{display:none;align-items:center;justify-content:center;padding:0 20px;height:36px;border-radius:50px;background:#4f6ef7;color:#fff;font-size:.9rem;font-weight:500;text-decoration:none;flex-shrink:0;position:relative;overflow:hidden;transition:background .12s}.home-add-btn:hover{background:#3a57d4}button.home-add-btn{display:inline-flex;border:none;cursor:pointer}button.home-add-btn:disabled{opacity:.5;cursor:not-allowed}.home-add-btn-secondary{background:#e2e6ea;color:#555}.home-add-btn-secondary:hover{background:#cdd3da}.home-add-btn-secondary:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent)}.home-add-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);z-index:1;animation:home-btn-shine 4s ease-in-out infinite}@keyframes home-btn-shine{0%,15%{left:-100%;opacity:0}20%{opacity:1}55%{opacity:1;left:100%}60%,to{left:100%;opacity:0}}.card{background:#fff;border-radius:10px;padding:24px;box-shadow:0 2px 8px #00000012;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:#444}.form-group input,.form-group select{width:100%;padding:9px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:1rem;outline:none;transition:border-color .15s}.form-group input:focus,.form-group select:focus{border-color:#4f6ef7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s,background .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#4f6ef7;color:#fff}.btn-primary:hover:not(:disabled){background:#3a58d6}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background:#c0392b}.btn-secondary{background:#e2e6ea;color:#333}.btn-secondary:hover:not(:disabled){background:#cdd3da}.btn-sm{padding:5px 10px;font-size:.8rem}.alert{padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:.9rem}.alert-error{background:#fdecea;color:#c0392b;border:1px solid #f5c6cb}.alert-success{background:#eafaf1;color:#1e8449;border:1px solid #b2dfdb}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:10px 14px;text-align:left;border-bottom:1px solid #eee}th{background:#f8f9fa;font-weight:600;color:#555;font-size:.8rem;text-transform:uppercase;letter-spacing:.4px}tr:last-child td{border-bottom:none}tr:hover td{background:#f9f9fb}.date-row{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.date-row input[type=date],.date-row select{padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:.95rem;background:#fff;outline:none;cursor:pointer;transition:border-color .15s}.date-row input[type=date]:focus,.date-row select:focus{border-color:#4f6ef7}.date-nav-group{display:flex;align-items:center}.date-nav-group input[type=date]{border-radius:0;border-left:none;border-right:none;padding:8px 10px}.date-nav-btn{display:flex;align-items:center;justify-content:center;width:34px;height:36px;padding:0;background:#fff;border:1px solid #d0d0d0;font-size:1.3rem;line-height:1;color:#444;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.date-nav-btn:first-child{border-radius:6px 0 0 6px}.date-nav-btn:last-child{border-radius:0 6px 6px 0}.date-nav-btn:hover:not(:disabled){background:#f0f2ff;color:#4f6ef7;border-color:#4f6ef7}.date-nav-btn:disabled{opacity:.35;cursor:not-allowed}.date-today-btn{padding:8px 14px;background:#fff;border:1px solid #d0d0d0;border-radius:6px;font-size:.9rem;font-weight:600;color:#4f6ef7;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.date-today-btn:hover:not(:disabled){background:#f0f2ff;border-color:#4f6ef7}.date-today-btn:disabled{opacity:.35;cursor:not-allowed}.floor-plan-wrap{position:relative;display:block;width:100%;border-radius:8px;overflow:hidden;box-shadow:0 2px 12px #0000001f;cursor:crosshair;container-type:inline-size;touch-action:none}.floor-plan-wrap img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.fp-zoomable{position:relative;width:100%;transform-origin:0 0;will-change:transform}.fp-zoomable img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.fp-grid-overlay line{stroke:#4f6ef740;stroke-width:.5px}[data-theme=dark] .fp-grid-overlay line{stroke:#82a0ff33}.grid-controls{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.grid-toggle-wrap{display:flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none}.grid-toggle-label{font-size:.82rem;font-weight:600;color:#444;white-space:nowrap}.grid-toggle-state{font-size:.82rem;font-weight:600;color:#888;min-width:20px}.grid-toggle{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.grid-toggle input{opacity:0;width:0;height:0;position:absolute}.grid-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#d0d0d0;border-radius:20px;transition:background .2s;cursor:pointer}.grid-toggle-slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.grid-toggle input:checked+.grid-toggle-slider{background:#4f6ef7}.grid-toggle input:checked+.grid-toggle-slider:before{transform:translate(16px)}.grid-toggle input:focus-visible+.grid-toggle-slider{outline:2px solid #4f6ef7;outline-offset:2px}.grid-size-wrap{display:flex;align-items:center;gap:6px;cursor:default}.grid-size-label{font-size:.82rem;font-weight:600;color:#444;white-space:nowrap}.grid-size-input{width:58px;padding:8px 10px;border:1px solid #d0d0d0;border-radius:6px;font-size:.9rem;outline:none;transition:border-color .15s;text-align:center}.grid-size-input:focus{border-color:#4f6ef7}.grid-dir-pad{display:grid;grid-template-columns:repeat(3,22px);grid-template-rows:repeat(3,22px);gap:2px}.grid-dir-btn{width:22px;height:22px;padding:0;border:1px solid #d0d0d0;border-radius:4px;background:#e2e6ea;color:#333;font-size:.65rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.grid-dir-btn:hover{background:#cdd3da;border-color:#b0b8c1}.grid-dir-btn:active{background:#4f6ef7;color:#fff;border-color:#4f6ef7}[data-theme=dark] .grid-toggle-label,[data-theme=dark] .grid-size-label{color:#d1d5db}[data-theme=dark] .grid-toggle-state{color:#9ca3af}[data-theme=dark] .grid-toggle-slider{background:#374151}[data-theme=dark] .grid-toggle input:checked+.grid-toggle-slider{background:#4f6ef7}[data-theme=dark] .grid-size-input{background:#111827;border-color:#374151;color:#f3f4f6}[data-theme=dark] .grid-size-input:focus{border-color:#4f6ef7}[data-theme=dark] .grid-dir-btn{background:#1f2937;border-color:#374151;color:#d1d5db}[data-theme=dark] .grid-dir-btn:hover{background:#374151;border-color:#4b5563}[data-theme=dark] .grid-dir-btn:active{background:#4f6ef7;color:#fff;border-color:#4f6ef7}.fp-zoom-controls{position:absolute;bottom:12px;right:12px;display:flex;flex-direction:column;gap:4px;z-index:40}.fp-zoom-btn{width:30px;height:30px;border:none;border-radius:6px;background:#ffffffeb;color:#333;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 5px #00000038;transition:background .12s,box-shadow .12s,transform .1s;line-height:1;-webkit-user-select:none;user-select:none}.fp-zoom-btn:hover{background:#fff;box-shadow:0 2px 8px #00000040}.fp-zoom-btn:active{transform:scale(.93)}.fp-zoom-reset{font-size:.75rem}.desk-marker{position:absolute;width:auto;min-width:clamp(22px,3.2cqi,46px);height:clamp(22px,3.2cqi,46px);padding:0 clamp(4px,.6cqi,9px);border-radius:100px;border:2px solid #fff;transform:translate(-50%,-50%);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:clamp(8px,1.05cqi,14px);font-weight:700;color:#fff;white-space:nowrap;box-shadow:0 2px 6px #0000004d;transition:transform .1s;z-index:10}.desk-marker:hover{transform:translate(-50%,-50%) scale(1.25)}.desk-marker.available{background:#27ae60}.desk-marker.partial{background:repeating-linear-gradient(-45deg,#e67e22,#e67e22 5px,#fdebd0 5px,#fdebd0 10px)}.desk-marker.booked{background:#e74c3c;cursor:default}.desk-marker.mine{background:#4f6ef7}.legend-dot-partial{background:repeating-linear-gradient(-45deg,#e67e22,#e67e22 3px,#fdebd0 3px,#fdebd0 6px)}.desk-marker-pending{background:#f39c12!important;cursor:grab;font-size:.85rem;z-index:20;animation:pending-pulse 1s ease-in-out infinite}.desk-marker-pending:active{cursor:grabbing}@keyframes pending-pulse{0%,to{box-shadow:0 2px 6px #0000004d,0 0 #f39c12a6}50%{box-shadow:0 2px 6px #0000004d,0 0 0 10px #f39c1200}}.desk-marker-repositioning{transform:translate(-50%,-50%) scale(1.35)!important;cursor:grab!important;z-index:20;animation:reposition-pulse .85s ease-in-out infinite}.desk-marker-repositioning:active{cursor:grabbing!important}@keyframes reposition-pulse{0%,to{opacity:1;box-shadow:0 2px 6px #0000004d,0 0 #4f6ef7b3}50%{opacity:.7;box-shadow:0 2px 6px #0000004d,0 0 0 10px #4f6ef700}}.fp-dragging,.fp-dragging *{cursor:grabbing!important}.desk-name-tooltip{position:absolute;z-index:30;background:#fff;border:1.5px solid #4f6ef7;border-radius:8px;padding:10px 12px;box-shadow:0 4px 16px #4f6ef72e,0 2px 8px #0000001a;min-width:180px;pointer-events:all}.desk-name-tooltip-label{display:block;font-size:.75rem;font-weight:700;color:#4f6ef7;text-transform:uppercase;letter-spacing:.4px;margin-bottom:7px}.desk-name-tooltip-input{display:block;width:100%;padding:6px 9px;border:1px solid #d0d0d0;border-radius:5px;font-size:.9rem;outline:none;margin-bottom:8px;transition:border-color .15s}.desk-name-tooltip-input:focus{border-color:#4f6ef7}.desk-name-tooltip-actions{display:flex;gap:6px;justify-content:flex-end}.desk-tooltip{position:absolute;background:#000000d1;color:#fff;padding:6px 10px;border-radius:5px;font-size:.78rem;white-space:nowrap;pointer-events:none;z-index:20;transform:translate(-50%,-130%)}.desk-tooltip-rich{position:absolute;background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 4px 20px #00000021,0 1px 4px #00000012;padding:10px 13px 9px;pointer-events:none;z-index:30;transform:translate(-50%,calc(-100% - 14px));min-width:155px;overflow:visible}.desk-tooltip-rich:after{content:"";position:absolute;bottom:-6px;left:50%;width:11px;height:11px;background:#fff;border-right:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8;transform:translate(-50%) rotate(45deg)}.desk-tooltip-rich.desk-tooltip-below:after{top:-6px;bottom:auto;border-right:none;border-bottom:none;border-left:1px solid #e8e8e8;border-top:1px solid #e8e8e8}.desk-tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.desk-tooltip-name{font-size:.85rem;font-weight:700;color:#1a1a2e;white-space:nowrap}.desk-tooltip-status{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0}.desk-tooltip-available{background:#eafaf1;color:#27ae60}.desk-tooltip-partial{background:#fff4e5;color:#e67e22}.desk-tooltip-booked{background:#fdecea;color:#e74c3c}.desk-tooltip-mine{background:#e8edff;color:#4f6ef7}.desk-tooltip-divider{border:none;border-top:1px solid #f0f0f0;margin:7px 0 6px}.desk-tooltip-count{font-size:.78rem;color:#888}.legend{display:flex;gap:16px;margin-bottom:14px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:.82rem;color:#555}.legend-dot{width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px #0003}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:#fff;border-radius:12px;padding:28px 32px;min-width:320px;max-width:420px;width:90%;box-shadow:0 8px 32px #0000002e}.modal h2{margin-bottom:12px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tab-btn{padding:8px 20px;border:none;background:none;cursor:pointer;font-size:.9rem;font-weight:600;color:#888;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.tab-btn.active{color:#4f6ef7;border-bottom-color:#4f6ef7}.fp-selector{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.fp-selector select{padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:.9rem}html.login-page,html.login-page body{background:#1a1a2e}.login-wrap{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#2d2d4e)}.login-box{background:#fff;border-radius:12px;padding:48px 52px;width:100%;max-width:380px;box-shadow:0 8px 32px #00000040}.login-box h1{text-align:center;margin-bottom:6px;font-size:1.6rem}.login-box .subtitle{text-align:center;color:#888;font-size:.88rem;margin-bottom:24px}.login-toggle{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;margin-top:16px;font-size:.88rem;color:#666}.login-toggle button{background:none;border:none;color:#4f6ef7;cursor:pointer;font-weight:600}.login-logo{display:block;margin:0 auto 20px;width:200px;height:auto}.empty{text-align:center;color:#aaa;padding:40px 0;font-size:.95rem}.spinner{text-align:center;padding:40px;color:#999}.booking-layout{display:flex;gap:16px;align-items:stretch;min-height:500px}.floor-plan-section{flex:1;min-width:0}.floor-plan-refreshing{opacity:.45;pointer-events:none;transition:opacity .15s ease}.sidebar-wrapper{width:300px;flex-shrink:0;position:relative}.desk-sidebar{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;border:1px solid #e2e6ea;border-radius:10px;display:flex;flex-direction:column;box-shadow:0 2px 12px #00000014;overflow:hidden}.sidebar-header{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee;flex-shrink:0}.sidebar-pills{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid #eee;flex-shrink:0;flex-wrap:wrap}.sidebar-pill{display:inline-flex;flex-direction:column;align-items:center;padding:4px 11px;border-radius:999px;border:1.5px solid #d0d7e3;background:#f8f9ff;font-size:.78rem;font-weight:600;color:#444;cursor:pointer;line-height:1.3;transition:border-color .15s,background .15s,color .15s;white-space:nowrap}.sidebar-pill span{font-size:.68rem;font-weight:400;color:#888;transition:color .15s}.sidebar-pill:hover{border-color:#4f6ef7;background:#eef2ff;color:#4f6ef7}.sidebar-pill:hover span{color:#4f6ef7}.sidebar-pill-active{border-color:#4f6ef7;background:#eef2ff;color:#4f6ef7;box-shadow:0 0 0 2px #4f6ef726}.sidebar-pill-active span{color:#4f6ef7}[data-theme=dark] .sidebar-pills{border-color:#2d3748}[data-theme=dark] .sidebar-pill{background:#111827;border-color:#374151;color:#d1d5db}[data-theme=dark] .sidebar-pill span{color:#6b7280}[data-theme=dark] .sidebar-pill:hover{border-color:#818cf8;background:#1e2a45;color:#818cf8}[data-theme=dark] .sidebar-pill:hover span{color:#818cf8}[data-theme=dark] .sidebar-pill-active{border-color:#818cf8;background:#1e2a45;color:#818cf8;box-shadow:0 0 0 2px #818cf833}[data-theme=dark] .sidebar-pill-active span{color:#818cf8}.sidebar-desk-name{font-size:1.05rem;font-weight:700}.sidebar-date{font-size:.8rem;color:#777;margin-top:2px}.sidebar-close{background:none;border:none;cursor:pointer;font-size:1rem;color:#bbb;padding:0;line-height:1;margin-left:8px}.sidebar-close:hover{color:#333}.day-view{flex:1;overflow-y:auto}.day-view-inner{position:relative}.day-view-dragging,.day-view-dragging .day-slot{cursor:ns-resize!important;-webkit-user-select:none;user-select:none}.day-slot{position:absolute;left:0;right:0;display:flex;align-items:stretch;cursor:pointer;-webkit-user-select:none;user-select:none}.day-slot-label{width:52px;min-width:52px;display:flex;align-items:flex-start;justify-content:flex-end;padding:4px 8px 0 0;font-size:.7rem;color:#888;flex-shrink:0}.day-slot-area{flex:1;border-bottom:1px solid #f3f3f3}.day-slot-hour .day-slot-area{border-top:1px solid #e8e8e8}.day-slot-free .day-slot-area:hover{background:#eef2ff}.day-slot-selected .day-slot-area{background:#4f6ef721}.day-slot-booked{cursor:default}.booking-block-day{position:absolute;border-radius:5px;padding:5px 8px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;pointer-events:auto}.booking-block-own{background:#4f6ef7;color:#fff}.booking-block-other{background:#e74c3c;color:#fff}.booking-block-name{font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:18px}.booking-block-time{font-size:.7rem;opacity:.85}.booking-block-cancel{position:absolute;top:4px;right:4px;background:#fff3;border:none;color:#fff;cursor:pointer;border-radius:3px;font-size:.7rem;padding:2px 5px;line-height:1}.booking-block-cancel:hover{background:#ffffff61}.sidebar-footer{padding:12px 16px;border-top:1px solid #eee;flex-shrink:0}.sidebar-hint{font-size:.8rem;color:#777;text-align:center;line-height:1.4}:root{--snake-stroke: rgba(79,110,247,.85)}[data-theme=dark]{--snake-stroke: rgba(129,140,248,.85)}.slot-snake-outline{overflow:visible;pointer-events:none}.desk-marker.desk-marker-selected{box-shadow:0 0 0 3px #fff,0 0 0 5px #4f6ef7;z-index:15}.desk-marker.desk-marker-multi-selected{box-shadow:0 0 0 3px #fff,0 0 0 5px #f39c12;z-index:15}.navbar-user-menu{position:relative}.navbar-user-btn{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s;color:#ccc}.navbar-user-btn:hover{background:#2d2d4e}.navbar-caret{font-size:.65rem;color:#888;margin-left:1px}.navbar-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}.navbar-avatar img{width:100%;height:100%;object-fit:cover}.navbar-username{color:#ccc;font-size:.85rem}.navbar-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #e2e6ea;border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:160px;z-index:200;overflow:hidden}.navbar-dropdown-item{display:block;width:100%;padding:10px 16px;font-size:.88rem;color:#333;text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;transition:background .12s,color .12s}.navbar-dropdown-item:hover{background:#f0f4ff;color:#1a1a2e}.navbar-dropdown-signout{color:#e74c3c}.navbar-dropdown-signout:hover{background:#fdecea;color:#c0392b}.profile-layout{display:flex;gap:32px;align-items:flex-start}.profile-avatar-col{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.profile-avatar-lg{width:90px;height:90px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;overflow:hidden;box-shadow:0 2px 10px #00000026}.profile-avatar-lg img{width:100%;height:100%;object-fit:cover}.profile-fields-col{flex:1}.profile-name-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.week-schedule{display:flex;flex-direction:column;gap:10px}.week-row{display:flex;align-items:center;gap:16px}.week-day-label{width:34px;font-weight:600;font-size:.9rem;color:#555;flex-shrink:0}.week-pills{display:flex;gap:6px}.week-pill{padding:5px 16px;border-radius:20px;border:1.5px solid #e0e0e0;background:#f8f9fa;color:#aaa;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.week-pill:hover{border-color:#bbb;color:#555}.week-pill-off.active{background:#f0f0f0;border-color:#ccc;color:#666}.week-pill-office.active{background:#4f6ef7;border-color:#4f6ef7;color:#fff}.week-pill-remote.active{background:#27ae60;border-color:#27ae60;color:#fff}.sidebar-office-body{flex:1;overflow-y:auto;padding:16px}.sidebar-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#666;margin-bottom:10px}.sidebar-empty-hint{font-size:.85rem;color:#777;margin-bottom:16px}.bookers-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.booker-item{display:flex;align-items:center;gap:10px}.booker-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:.5px;overflow:hidden}.booker-avatar img{width:100%;height:100%;object-fit:cover}.booker-name{font-size:.88rem;color:#333;font-weight:500}.booker-title{font-size:.75rem;color:#666;margin-top:1px}.office-info-block{border-top:1px solid #f0f0f0;padding-top:16px;margin-top:8px}.office-info-text{font-size:.88rem;color:#555;margin-bottom:4px;line-height:1.4}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.settings-label{font-weight:600;font-size:.95rem}.settings-sublabel{font-size:.82rem;color:#888;margin-top:3px}.theme-pills{display:flex;gap:8px}.theme-pill{padding:8px 24px;border-radius:8px;border:1.5px solid #e0e0e0;background:#f8f9fa;color:#999;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s}.theme-pill:hover{border-color:#bbb;color:#555}.theme-pill.active{background:#1a1a2e;border-color:#1a1a2e;color:#fff}[data-theme=dark] body{background:#111827;color:#f3f4f6}[data-theme=dark] .card{background:#1f2937;box-shadow:0 2px 8px #00000059}[data-theme=dark] h1,[data-theme=dark] h2{color:#f3f4f6}[data-theme=dark] .navbar{background:#08111e}[data-theme=dark] .navbar-links a{color:#9ca3af}[data-theme=dark] .navbar-links a:hover,[data-theme=dark] .navbar-links a.active{background:#1f2937;color:#f3f4f6}[data-theme=dark] .navbar-user-btn{color:#9ca3af}[data-theme=dark] .navbar-user-btn:hover{background:#1f2937}[data-theme=dark] .navbar-username{color:#9ca3af}[data-theme=dark] .navbar-caret{color:#6b7280}[data-theme=dark] .navbar-dropdown{background:#1f2937;border-color:#374151;box-shadow:0 4px 16px #00000073}[data-theme=dark] .navbar-dropdown-item{color:#d1d5db}[data-theme=dark] .navbar-dropdown-item:hover{background:#253047;color:#f3f4f6}[data-theme=dark] .navbar-dropdown-signout{color:#f87171}[data-theme=dark] .navbar-dropdown-signout:hover{background:#2d1b1b;color:#f87171}[data-theme=dark] .form-group label{color:#d1d5db}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select{background:#111827;border-color:#374151;color:#f3f4f6}[data-theme=dark] .form-group input::placeholder{color:#4b5563}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus{border-color:#4f6ef7}[data-theme=dark] .date-row input[type=date],[data-theme=dark] .date-row select{background:#111827;border-color:#374151;color:#f3f4f6}[data-theme=dark] .date-row label{color:#d1d5db}[data-theme=dark] .date-nav-btn{background:#111827;border-color:#374151;color:#d1d5db}[data-theme=dark] .date-nav-btn:hover:not(:disabled){background:#1e2a45;color:#818cf8;border-color:#818cf8}[data-theme=dark] .date-today-btn{background:#111827;border-color:#374151;color:#818cf8}[data-theme=dark] .date-today-btn:hover:not(:disabled){background:#1e2a45;border-color:#818cf8}[data-theme=dark] .btn-secondary{background:#374151;color:#d1d5db}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:#4b5563}[data-theme=dark] table th{background:#1a2436;color:#6b7280}[data-theme=dark] th,[data-theme=dark] td{border-bottom-color:#374151}[data-theme=dark] tr:hover td{background:#253047}[data-theme=dark] td{color:#d1d5db}[data-theme=dark] .tabs{border-bottom-color:#374151}[data-theme=dark] .tab-btn{color:#6b7280}[data-theme=dark] .tab-btn.active{color:#4f6ef7;border-bottom-color:#4f6ef7}[data-theme=dark] .modal{background:#1f2937}[data-theme=dark] .modal h2{color:#f3f4f6}[data-theme=dark] .modal-backdrop{background:#000000a6}[data-theme=dark] .desk-sidebar{background:#1f2937;border-color:#2d3748}[data-theme=dark] .sidebar-header{border-bottom-color:#374151}[data-theme=dark] .sidebar-desk-name{color:#f3f4f6}[data-theme=dark] .sidebar-date{color:#9ca3af}[data-theme=dark] .sidebar-footer{border-top-color:#374151}[data-theme=dark] .sidebar-hint,[data-theme=dark] .sidebar-section-label{color:#9ca3af}[data-theme=dark] .sidebar-empty-hint{color:#6b7280}[data-theme=dark] .sidebar-close{color:#4b5563}[data-theme=dark] .sidebar-close:hover{color:#f3f4f6}[data-theme=dark] .office-info-block{border-top-color:#374151}[data-theme=dark] .office-info-text{color:#d1d5db}[data-theme=dark] .booker-name{color:#f3f4f6}[data-theme=dark] .booker-title{color:#9ca3af}[data-theme=dark] .day-slot-area{border-bottom-color:#1a2436}[data-theme=dark] .day-slot-hour .day-slot-area{border-top-color:#374151}[data-theme=dark] .day-slot-label{color:#9ca3af}[data-theme=dark] .day-slot-free .day-slot-area:hover{background:#1e2d4a}[data-theme=dark] .day-slot-selected .day-slot-area{background:#4f6ef733}[data-theme=dark] .alert-error{background:#2d1b1b;color:#f87171;border-color:#7f1d1d}[data-theme=dark] .alert-success{background:#1b2d1f;color:#4ade80;border-color:#166534}[data-theme=dark] .legend-item{color:#9ca3af}[data-theme=dark] .empty,[data-theme=dark] .spinner{color:#6b7280}[data-theme=dark] .login-box{background:#1f2937}[data-theme=dark] .login-box h1{color:#f3f4f6}[data-theme=dark] .login-box .subtitle,[data-theme=dark] .login-toggle,[data-theme=dark] .week-day-label{color:#9ca3af}[data-theme=dark] .week-pill{background:#1f2937;border-color:#374151;color:#6b7280}[data-theme=dark] .week-pill:hover{border-color:#4b5563;color:#9ca3af}[data-theme=dark] .week-pill-off.active{background:#374151;border-color:#4b5563;color:#e5e7eb}[data-theme=dark] .week-pill-office.active{background:#4f6ef7;border-color:#4f6ef7;color:#fff}[data-theme=dark] .week-pill-remote.active{background:#27ae60;border-color:#27ae60;color:#fff}[data-theme=dark] .settings-sublabel{color:#6b7280}[data-theme=dark] .theme-pill{background:#1f2937;border-color:#374151;color:#6b7280}[data-theme=dark] .theme-pill:hover{border-color:#4b5563;color:#9ca3af}[data-theme=dark] .theme-pill.active{background:#f3f4f6;border-color:#f3f4f6;color:#111827}[data-theme=dark] .desk-name-tooltip{background:#1f2937;border-color:#4f6ef7;box-shadow:0 4px 16px #4f6ef740,0 2px 8px #0006}[data-theme=dark] .desk-name-tooltip-input{background:#111827;border-color:#374151;color:#f3f4f6}[data-theme=dark] .desk-name-tooltip-input::placeholder{color:#4b5563}[data-theme=dark] .desk-name-tooltip-input:focus{border-color:#4f6ef7}[data-theme=dark] .floor-plan-wrap{box-shadow:0 2px 12px #00000080}[data-theme=dark] .fp-selector select{background:#111827;border-color:#374151;color:#f3f4f6}[data-theme=dark] .fp-zoom-btn{background:#1f2937eb;color:#d1d5db;box-shadow:0 1px 5px #00000073}[data-theme=dark] .fp-zoom-btn:hover{background:#374151;box-shadow:0 2px 8px #00000080}[data-theme=dark] .desk-tooltip-rich{background:#1f2937;border-color:#374151;box-shadow:0 4px 20px #0006}[data-theme=dark] .desk-tooltip-rich:after{background:#1f2937;border-color:#374151}[data-theme=dark] .desk-tooltip-rich.desk-tooltip-below:after{border-right:none;border-bottom:none;border-left:1px solid #374151;border-top:1px solid #374151}[data-theme=dark] .desk-tooltip-name{color:#f3f4f6}[data-theme=dark] .desk-tooltip-count{color:#9ca3af}[data-theme=dark] .desk-tooltip-divider{border-color:#374151}[data-theme=dark] .desk-tooltip-available{background:#1b2d1f;color:#4ade80}[data-theme=dark] .desk-tooltip-partial{background:#2d1f0a;color:#fb923c}[data-theme=dark] .desk-tooltip-booked{background:#2d1b1b;color:#f87171}[data-theme=dark] .desk-tooltip-mine{background:#1e2d4a;color:#818cf8}.onboarding-wrap{width:100%;max-width:540px;padding:0 16px}.onboarding-header{text-align:center;margin-bottom:28px}.onboarding-welcome{color:#ffffffbf;font-size:1rem;margin-bottom:20px}.onboarding-progress{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px}.onboarding-dot{height:8px;border-radius:4px;background:#ffffff40;transition:width .3s ease,background .3s ease;width:8px}.onboarding-dot.done{background:#4f6ef78c;width:8px}.onboarding-dot.active{background:#4f6ef7;width:28px}.onboarding-step-label{color:#ffffff73;font-size:.78rem;margin:0}.onboarding-card{border-radius:14px}.onboarding-subtitle{color:#888;font-size:.88rem;margin-bottom:24px}.onboarding-actions{display:flex;align-items:center;justify-content:space-between}.onboarding-skip{background:none;border:none;color:#aaa;font-size:.85rem;cursor:pointer;padding:4px 2px;text-decoration:underline;text-underline-offset:3px;transition:color .15s}.onboarding-skip:hover{color:#555}[data-theme=dark] .onboarding-welcome{color:#fff9}[data-theme=dark] .onboarding-step-label{color:#ffffff59}[data-theme=dark] .onboarding-subtitle{color:#6b7280}[data-theme=dark] .onboarding-card{background:#1f2937}[data-theme=dark] .onboarding-skip{color:#4b5563}[data-theme=dark] .onboarding-skip:hover{color:#9ca3af}.home-layout{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}.schedule-list{display:flex;flex-direction:column}.schedule-row{display:flex;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid #f0f0f0;text-decoration:none;color:inherit}.schedule-row:last-child{border-bottom:none}.schedule-row-bookable{cursor:pointer;border-radius:6px;padding-left:10px;padding-right:10px;margin:0 -10px;transition:background .12s}.schedule-row-bookable:hover{background:#f0f4ff}.schedule-date-col{display:flex;flex-direction:row;align-items:center;gap:12px;width:90px;flex-shrink:0}.schedule-date-text{display:flex;flex-direction:column}.sched-cal-icon{width:20px;height:20px;flex-shrink:0;color:#c0c0c8}.schedule-dayname{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#aaa}.schedule-datenum{font-size:.92rem;font-weight:600;color:#1a1a2e;margin-top:1px}.schedule-detail{flex:1;font-size:.9rem;color:#444}.schedule-row-remote .schedule-detail{color:#27ae60}.schedule-row-office .schedule-detail{color:#e67e22}.schedule-row-off .schedule-detail{color:#ccc}.sched-badge{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:10px;flex-shrink:0;letter-spacing:.2px}.sched-badge-icon{width:11px;height:11px;flex-shrink:0}.sched-badge-booked{background:#e8edff;color:#4f6ef7}.sched-badge-remote{background:#eafaf1;color:#27ae60}.sched-badge-office{background:#fff4e5;color:#e67e22}.sched-badge-off{background:#f5f5f5;color:#bbb}.sched-no-booking{font-size:.88rem;color:#bbb}[data-theme=dark] .sched-no-booking{color:#4b5563}.sched-book-btn-mobile{display:none}@media (pointer: coarse){.sched-book-btn-desktop{display:none}.sched-book-btn-mobile{display:inline}}.whoisin-office-name{font-size:.8rem;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.capacity-grid{display:flex;flex-direction:column;gap:16px;margin-top:4px}.capacity-office{display:flex;flex-direction:column;gap:7px}.capacity-office-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.capacity-office-name{font-size:.9rem;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.capacity-label{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:9px;flex-shrink:0;letter-spacing:.2px}.capacity-label-empty{background:#f0f0f0;color:#aaa}.capacity-label-quiet{background:#eafaf1;color:#27ae60}.capacity-label-moderate{background:#fef9e7;color:#d4ac0d}.capacity-label-busy{background:#fef0e6;color:#e67e22}.capacity-label-full{background:#fdecea;color:#e74c3c}.capacity-bar-track{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.capacity-bar-fill{height:100%;border-radius:4px;transition:width .4s ease;min-width:0}.capacity-bar-fill-empty{background:#e0e0e0}.capacity-bar-fill-quiet{background:#27ae60}.capacity-bar-fill-moderate{background:#f1c40f}.capacity-bar-fill-busy{background:#e67e22}.capacity-bar-fill-full{background:#e74c3c}.capacity-count{font-size:.75rem;color:#aaa}[data-theme=dark] .home-add-btn{background:#3a57d4}[data-theme=dark] .home-add-btn:hover{background:#2d44b8}[data-theme=dark] .home-add-btn:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent)}[data-theme=dark] .schedule-row{border-bottom-color:#374151}[data-theme=dark] .schedule-row-bookable:hover{background:#1e2d4a}[data-theme=dark] .sched-cal-icon{color:#4b5563}[data-theme=dark] .schedule-dayname{color:#6b7280}[data-theme=dark] .schedule-datenum{color:#f3f4f6}[data-theme=dark] .schedule-detail{color:#d1d5db}[data-theme=dark] .schedule-row-remote .schedule-detail{color:#4ade80}[data-theme=dark] .schedule-row-office .schedule-detail{color:#fb923c}[data-theme=dark] .schedule-row-off .schedule-detail{color:#4b5563}[data-theme=dark] .sched-badge-booked{background:#1e2d4a;color:#818cf8}[data-theme=dark] .sched-badge-remote{background:#1b2d1f;color:#4ade80}[data-theme=dark] .sched-badge-office{background:#2d1f0a;color:#fb923c}[data-theme=dark] .sched-badge-off{background:#1f2937;color:#4b5563}[data-theme=dark] .whoisin-office-name{color:#6b7280}[data-theme=dark] .capacity-office-name{color:#f3f4f6}[data-theme=dark] .capacity-bar-track{background:#374151}[data-theme=dark] .capacity-count{color:#6b7280}[data-theme=dark] .capacity-label-empty{background:#1f2937;color:#4b5563}[data-theme=dark] .capacity-label-quiet{background:#1b2d1f;color:#4ade80}[data-theme=dark] .capacity-label-moderate{background:#2a2510;color:#fbbf24}[data-theme=dark] .capacity-label-busy{background:#2d1f0a;color:#fb923c}[data-theme=dark] .capacity-label-full{background:#2d1215;color:#f87171}.navbar-hamburger{display:none;align-items:center;justify-content:center;background:none;border:none;color:#ccc;cursor:pointer;padding:6px 8px;border-radius:4px;line-height:1;transition:background .15s,color .15s}.navbar-hamburger:hover{background:#2d2d4e;color:#fff}@media (max-width: 600px){.navbar{display:flex;flex-wrap:nowrap;height:58px;padding:0 12px}.navbar-brand{height:58px;display:flex;align-items:center}.navbar-links{display:none}.navbar-end{height:58px;display:flex;align-items:center;margin-left:auto;gap:4px}.navbar-username{display:none}.navbar-hamburger{display:flex}}@media (max-width: 600px){.page{padding:14px 12px}h1{font-size:1.2rem;margin-bottom:22px}.card{padding:14px}.tabs{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}.tabs::-webkit-scrollbar{display:none}.tab-btn{white-space:nowrap;padding:8px 14px}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}th,td{white-space:nowrap}.home-layout{grid-template-columns:1fr}.home-add-btn{display:inline-flex}}.desk-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.desk-list-loading{opacity:.5;pointer-events:none;transition:opacity .15s}.desk-list-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 14px;background:#fff;border:1.5px solid #e2e6ea;border-radius:8px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s;font-size:.95rem}.desk-list-item:hover{border-color:#b0b8c1;background:#f8f9fb}.desk-list-item.desk-list-item-active{border-color:#4f6ef7;background:#f0f4ff}.desk-list-name{font-weight:600;color:#1a1a2e}.desk-list-badge{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:12px;white-space:nowrap;flex-shrink:0;margin-left:8px}.desk-list-badge-available{background:#eafaf1;color:#27ae60}.desk-list-badge-partial{background:#fff4e5;color:#e67e22}.desk-list-badge-booked{background:#fdecea;color:#e74c3c}.desk-list-badge-mine{background:#e8edff;color:#4f6ef7}[data-theme=dark] .desk-list-item{background:#1f2937;border-color:#374151}[data-theme=dark] .desk-list-item:hover{border-color:#4b5563;background:#253047}[data-theme=dark] .desk-list-item.desk-list-item-active{border-color:#4f6ef7;background:#1e2d4a}[data-theme=dark] .desk-list-name{color:#f3f4f6}[data-theme=dark] .desk-list-badge-available{background:#1b2d1f;color:#4ade80}[data-theme=dark] .desk-list-badge-partial{background:#2d1f0a;color:#fb923c}[data-theme=dark] .desk-list-badge-booked{background:#2d1b1b;color:#f87171}[data-theme=dark] .desk-list-badge-mine{background:#1e2d4a;color:#818cf8}.map-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;background:#000}.map-modal{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee;flex-shrink:0}.map-modal-title{font-size:1rem;font-weight:700;color:#1a1a2e}.map-modal-close{background:none;border:none;font-size:1.1rem;color:#888;cursor:pointer;padding:4px 6px;line-height:1;border-radius:4px}.map-modal-close:hover{background:#f0f0f0;color:#333}.map-modal-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px}[data-theme=dark] .map-modal{background:#111827}[data-theme=dark] .map-modal-header{border-bottom-color:#374151}[data-theme=dark] .map-modal-title{color:#f3f4f6}[data-theme=dark] .map-modal-close{color:#6b7280}[data-theme=dark] .map-modal-close:hover{background:#1f2937;color:#f3f4f6}.mobile-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:300;display:flex;align-items:flex-end}.mobile-sheet{width:100%;max-height:82vh;background:#fff;border-radius:18px 18px 0 0;display:flex;flex-direction:column;box-shadow:0 -4px 24px #00000038;overflow:hidden}.mobile-sheet-handle{width:36px;height:4px;background:#d5d5d5;border-radius:2px;margin:10px auto 2px;flex-shrink:0}.mobile-sheet .desk-sidebar{position:relative;inset:auto;flex:1;min-height:0;border:none;border-radius:0;box-shadow:none}[data-theme=dark] .mobile-sheet{background:#1f2937}[data-theme=dark] .mobile-sheet-handle{background:#4b5563}.booking-mobile .legend{display:none}.mbf-step{display:flex;flex-direction:column;gap:16px}.mbf-field{display:flex;flex-direction:column;gap:6px}.mbf-label{font-weight:600;font-size:.9rem;color:#444}.mbf-date-group{width:100%}.mbf-date-group input[type=date]{flex:1;min-width:0}.mbf-select{width:100%;padding:10px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:.95rem;background:#fff;outline:none;cursor:pointer;transition:border-color .15s}.mbf-select:focus{border-color:#4f6ef7}.mbf-continue{width:100%;padding:13px 18px;font-size:1rem}.mbf-step-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.mbf-back{background:none;border:none;color:#4f6ef7;font-size:.9rem;font-weight:600;cursor:pointer;padding:4px 0;line-height:1.3;flex-shrink:0}.mbf-back:hover{color:#3a58d6}.mbf-step-meta{font-size:.82rem;color:#888;text-align:right}.mbf-fp-preview{max-height:calc(100dvh - 360px);min-height:160px;overflow:hidden;border-radius:8px;box-shadow:0 2px 10px #0000001a}.mbf-step-4 .mbf-sidebar-wrap{height:calc(100dvh - 270px);display:flex;flex-direction:column}.mbf-sidebar-wrap .desk-sidebar{position:relative;inset:auto;border-radius:10px;border:1px solid #e2e6ea;flex:1;min-height:0}.mbf-sidebar-wrap .day-view{overflow-y:auto;flex:1;min-height:0}.mbf-sidebar-wrap .sidebar-footer{background:#fff;z-index:5}[data-theme=dark] .mbf-sidebar-wrap .sidebar-footer{background:#1f2937}[data-theme=dark] .mbf-label{color:#d1d5db}[data-theme=dark] .mbf-select{background:#111827;border-color:#374151;color:#f3f4f6}[data-theme=dark] .mbf-select:focus{border-color:#4f6ef7}[data-theme=dark] .mbf-back{color:#818cf8}[data-theme=dark] .mbf-back:hover{color:#a5b4fc}[data-theme=dark] .mbf-step-meta{color:#9ca3af}[data-theme=dark] .mbf-sidebar-wrap .desk-sidebar{border-color:#2d3748}.mbf-qb-label{font-size:.9rem;color:#555;margin-bottom:-4px}.mbf-qb-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mbf-qb-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:2px solid #d0d7e3;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}.mbf-qb-btn:hover{border-color:#4f6ef7;background:#f5f7ff}.mbf-qb-btn-selected{border-color:#4f6ef7;background:#eef2ff;box-shadow:0 0 0 3px #4f6ef726}.mbf-qb-btn-custom{border-style:dashed;color:#555}.mbf-qb-btn-custom:hover{border-color:#4f6ef7;color:#4f6ef7;background:#f5f7ff}.mbf-qb-title{font-weight:700;font-size:.92rem;color:#1a1a2e;line-height:1.2}.mbf-qb-range{font-size:.78rem;color:#666}.mbf-qb-confirm{display:flex;flex-direction:column;gap:8px;margin-top:4px}[data-theme=dark] .mbf-qb-label{color:#9ca3af}[data-theme=dark] .mbf-qb-btn{background:#111827;border-color:#374151}[data-theme=dark] .mbf-qb-btn:hover{border-color:#818cf8;background:#1e2a45}[data-theme=dark] .mbf-qb-btn-selected{border-color:#818cf8;background:#1e2a45;box-shadow:0 0 0 3px #818cf833}[data-theme=dark] .mbf-qb-title{color:#f3f4f6}[data-theme=dark] .mbf-qb-range,[data-theme=dark] .mbf-qb-btn-custom{color:#9ca3af}[data-theme=dark] .mbf-qb-btn-custom:hover{border-color:#818cf8;color:#818cf8}.mbf-progress{display:flex;align-items:center;padding:6px 0 14px}.mbf-progress-node{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex-shrink:0;position:relative;overflow:hidden}.mbf-progress-node span{position:relative;z-index:1;line-height:1}.mbf-progress-node-done,.mbf-progress-node-current{background:#22c55e;color:#fff;box-shadow:0 0 8px 3px #22c55e80,0 0 20px 6px #22c55e33}.mbf-progress-node-future{background:#f97316;color:#fff}.mbf-progress-node-future:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-45deg,transparent 0,transparent 5px,rgba(255,255,255,.22) 5px,rgba(255,255,255,.22) 10px);background-size:14px 14px;animation:mbf-barberpole .65s linear infinite}.mbf-progress-line{flex:1;height:3px;flex-shrink:0;border-radius:1.5px;min-width:6px}.mbf-progress-line-done{background:#22c55e;box-shadow:0 0 4px #22c55e59}.mbf-progress-line-future{height:4px;border-radius:2px;background:repeating-linear-gradient(-45deg,#f97316 0,#f97316 5px,#fb923c 5px,#fb923c 10px);background-size:14px 100%;animation:mbf-barberpole .65s linear infinite}@keyframes mbf-barberpole{0%{background-position-x:0}to{background-position-x:14px}}@media (prefers-reduced-motion: reduce){.mbf-progress-node-future:before,.mbf-progress-line-future{animation:none}}.mbf-legend{gap:8px;flex-wrap:nowrap}.mbf-legend .legend-item{font-size:.7rem;gap:3px}.mbf-legend .legend-dot{width:10px;height:10px;min-width:10px}.mbf-step2-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.mbf-preview-plan-btn{flex-shrink:0;font-size:.72rem;padding:4px 10px;border:1px solid #4f6ef7;border-radius:6px;background:none;color:#4f6ef7;cursor:pointer;white-space:nowrap;line-height:1.4}.mbf-preview-plan-btn:hover{background:#eef2ff}.mbf-plan-preview{height:340px;overflow:hidden;border-radius:8px;border:1px solid #e2e6ea;position:relative}.mbf-plan-preview .desk-marker{min-width:clamp(14px,2.2cqi,30px);height:clamp(14px,2.2cqi,30px);padding:0 clamp(2px,.4cqi,6px);font-size:clamp(5px,.75cqi,10px);border-width:1.5px}[data-theme=dark] .mbf-preview-plan-btn{border-color:#818cf8;color:#818cf8}[data-theme=dark] .mbf-preview-plan-btn:hover{background:#818cf81a}[data-theme=dark] .mbf-plan-preview{border-color:#374151}.mbf-desk-confirm{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}.mbf-desk-confirm-name{font-weight:700;font-size:1rem;color:#1a1a2e}.mbf-desk-confirm .mbf-continue{width:auto;padding:10px 20px}[data-theme=dark] .mbf-progress-node-done{box-shadow:0 0 10px 4px #22c55e99,0 0 24px 8px #22c55e40}[data-theme=dark] .mbf-desk-confirm-name{color:#f3f4f6}.recur-toggle{display:flex;align-items:center;gap:8px;font-size:.88rem;color:#444;cursor:pointer;padding:6px 0 2px;-webkit-user-select:none;user-select:none}.recur-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#4f6ef7;flex-shrink:0}.recur-options{display:flex;flex-direction:column;gap:12px;padding-top:10px;border-top:1px solid #eee;margin-top:2px}.recur-field{display:flex;flex-direction:column;gap:5px;min-width:0;overflow:hidden}.recur-label{font-size:.82rem;font-weight:600;color:#555}.recur-date-input{width:100%;max-width:100%;min-width:0;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;color:#1a1a2e;background:#fff;box-sizing:border-box}.recur-date-input:focus{outline:none;border-color:#4f6ef7}.recur-days{display:flex;gap:4px;flex-wrap:wrap}.recur-day-btn{padding:5px 8px;font-size:.78rem;font-weight:600;border:1.5px solid #d1d5db;border-radius:6px;background:#fff;color:#555;cursor:pointer;transition:border-color .12s,background .12s,color .12s;flex-shrink:0}.recur-day-btn:hover{border-color:#4f6ef7;color:#4f6ef7}.recur-day-btn-on{border-color:#4f6ef7!important;background:#4f6ef7!important;color:#fff!important}.mbf-recur{display:flex;flex-direction:column;gap:16px}[data-theme=dark] .recur-toggle{color:#d1d5db}[data-theme=dark] .recur-options{border-top-color:#374151}[data-theme=dark] .recur-label{color:#9ca3af}[data-theme=dark] .recur-date-input{background:#111827;border-color:#374151;color:#f3f4f6}[data-theme=dark] .recur-date-input:focus{border-color:#4f6ef7}[data-theme=dark] .recur-day-btn{background:#1f2937;border-color:#374151;color:#d1d5db}[data-theme=dark] .recur-day-btn:hover{border-color:#4f6ef7;color:#818cf8}[data-theme=dark] .recur-day-btn-on{border-color:#4f6ef7!important;background:#4f6ef7!important;color:#fff!important}.bk-icon{width:15px;height:15px;flex-shrink:0;color:#888}.bk-chevron{width:12px;height:12px;flex-shrink:0;color:#aaa}.bookings-mobile{display:flex;flex-direction:column;gap:20px}.bookings-date-group{display:flex;flex-direction:column;gap:10px}.bookings-date-header{display:flex;align-items:center;gap:8px;padding:0 2px 4px;border-bottom:2px solid #e8eaed}.bookings-date-header-icon{display:flex;align-items:center;color:#4f6ef7}.bookings-date-header-icon .bk-icon{color:#4f6ef7;width:16px;height:16px}.bookings-date-label{font-size:.92rem;font-weight:700;color:#1a1a2e;flex:1}.bookings-date-weekday{font-size:.8rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.4px}.booking-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000012;overflow:hidden;border:1px solid #eaecef}.booking-card-body{display:flex;gap:0;padding:14px 16px 10px;align-items:flex-start}.booking-card-time{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:52px;padding-right:14px;border-right:1px solid #f0f0f0;margin-right:14px;font-size:.88rem;font-weight:700;color:#1a1a2e;flex-shrink:0}.booking-card-details{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}.booking-card-row{display:flex;align-items:center;gap:8px;font-size:.88rem;color:#444;min-width:0}.booking-card-row span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-card-row-icon{display:flex;align-items:center;flex-shrink:0}.booking-card-footer{display:flex;justify-content:flex-end;padding:8px 16px 12px;border-top:1px solid #f5f5f5}[data-theme=dark] .bookings-date-header{border-bottom-color:#374151}[data-theme=dark] .bookings-date-label{color:#f3f4f6}[data-theme=dark] .bookings-date-weekday{color:#6b7280}[data-theme=dark] .booking-card{background:#1f2937;border-color:#2d3748;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .booking-card-time{color:#f3f4f6;border-right-color:#374151}[data-theme=dark] .booking-card-row{color:#d1d5db}[data-theme=dark] .bk-icon{color:#6b7280}[data-theme=dark] .bk-chevron{color:#4b5563}[data-theme=dark] .booking-card-footer{border-top-color:#374151}@keyframes drawer-fade-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.nav-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000085;z-index:399;animation:backdrop-fade-in .2s ease-out}.nav-drawer{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a2e;z-index:400;display:flex;flex-direction:column;animation:drawer-fade-down .22s ease-out;overflow-y:auto}.nav-drawer-header{position:relative;display:flex;align-items:center;padding:0 56px 0 16px;border-bottom:1px solid rgba(255,255,255,.1);min-height:58px;flex-shrink:0}.nav-drawer-user{display:flex;align-items:center;gap:10px;min-width:0}.nav-drawer-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}.nav-drawer-avatar img{width:100%;height:100%;object-fit:cover}.nav-drawer-username{font-size:.9rem;font-weight:600;color:#e5e7eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-drawer-close{position:absolute;top:0;right:0;width:44px;height:58px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#9ca3af;font-size:1.3rem;cursor:pointer;line-height:1;transition:background .12s,color .12s}.nav-drawer-close:hover{background:#ffffff14;color:#fff}.nav-drawer-links{display:flex;flex-direction:column;padding:6px 0}.nav-drawer-link{display:block;padding:13px 20px;color:#d1d5db;text-decoration:none;font-size:.95rem;font-weight:500;border-left:3px solid transparent;transition:background .12s,color .12s,border-color .12s}.nav-drawer-link:hover{background:#ffffff0f;color:#fff}.nav-drawer-link.active{background:#4f6ef726;color:#818cf8;border-left-color:#4f6ef7}.nav-drawer-divider{height:1px;background:#ffffff1a;margin:4px 0;flex-shrink:0}.nav-drawer-footer{margin-top:auto;padding:8px 0 20px;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}.nav-drawer-signout{display:block;width:100%;padding:13px 20px;color:#f87171;background:none;border:none;text-align:left;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .12s}.nav-drawer-signout:hover{background:#ef44441a}
