:root{--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-light:#e0e7ff;--color-primary-lighter:#eef2ff;--color-success:#10b981;--color-success-hover:#059669;--color-success-light:#d1fae5;--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-danger-light:#fee2e2;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-warning-light:#fef3c7;--color-info:#3b82f6;--color-info-hover:#2563eb;--color-info-light:#dbeafe;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius:0.375rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-full:9999px;--border-color:#e5e7eb;--border:1px solid var(--border-color);--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 10px 40px #0003;--color-sidebar-bg:#1e293b;--color-sidebar-text:#e2e8f0;--color-sidebar-text-muted:#94a3b8;--color-sidebar-active-bg:#ffffff1a;--color-sidebar-hover-bg:#ffffff0f;--color-sidebar-border:#ffffff14;--badge-radius:var(--radius-full);--badge-padding:0.25rem 0.625rem;--badge-font-size:var(--font-size-xs);--badge-font-weight:500;--color-bg:#f3f4f6;--color-surface:#fff;--color-surface-2:#f9fafb;--color-input-bg:#fff;--color-text:#1f2937;--color-text-muted:#6b7280;--color-focus-ring:#4f46e526;--color-overlay:#00000080}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{background-color:#f3f4f6;background-color:var(--color-bg,var(--color-gray-100));color:#1f2937;color:var(--color-text,var(--color-gray-800));font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5}[data-theme=dark]{--color-gray-50:#1e293b;--color-gray-100:#0f172a;--color-gray-200:#334155;--color-gray-300:#475569;--color-gray-400:#64748b;--color-gray-500:#94a3b8;--color-gray-600:#cbd5e1;--color-gray-700:#e2e8f0;--color-gray-800:#f1f5f9;--color-primary:#6366f1;--color-primary-hover:#818cf8;--color-primary-light:#312e81;--color-primary-lighter:#1e1b4b;--color-success-light:#052e16;--color-danger-light:#450a0a;--color-warning-light:#431407;--color-info-light:#172554;--border-color:#475569;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 10px 40px #000000b3;--color-bg:#0f172a;--color-surface:#1e293b;--color-surface-2:#0f172a;--color-input-bg:#334155;--color-text:#f1f5f9;--color-text-muted:#94a3b8;--color-focus-ring:#6366f140;--color-overlay:#000000bf}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--color-gray-50:#1e293b;--color-gray-100:#0f172a;--color-gray-200:#334155;--color-gray-300:#475569;--color-gray-400:#64748b;--color-gray-500:#94a3b8;--color-gray-600:#cbd5e1;--color-gray-700:#e2e8f0;--color-gray-800:#f1f5f9;--color-primary:#6366f1;--color-primary-hover:#818cf8;--color-primary-light:#312e81;--color-primary-lighter:#1e1b4b;--color-success-light:#052e16;--color-danger-light:#450a0a;--color-warning-light:#431407;--color-info-light:#172554;--border-color:#475569;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 10px 40px #000000b3;--color-bg:#0f172a;--color-surface:#1e293b;--color-surface-2:#0f172a;--color-input-bg:#334155;--color-text:#f1f5f9;--color-text-muted:#94a3b8;--color-focus-ring:#6366f140;--color-overlay:#000000bf}}[data-theme=dark] body{background-color:#f3f4f6;background-color:var(--color-bg);color:#1f2937;color:var(--color-text)}@media (prefers-color-scheme:dark){body:not([data-theme=light]){background-color:#f3f4f6;background-color:var(--color-bg);color:#1f2937;color:var(--color-text)}}[data-theme=dark] .modal-overlay{background:#00000080;background:var(--color-overlay)}[data-theme=dark] .modal{border:1px solid #e5e7eb;border:1px solid var(--border-color)}[data-theme=dark] .modal,[data-theme=dark] .modal-header{background:#fff;background:var(--color-surface);color:#1f2937;color:var(--color-text)}[data-theme=dark] .modal-header{border-bottom-color:#e5e7eb;border-bottom-color:var(--border-color)}[data-theme=dark] .modal-body{background:#fff;background:var(--color-surface);color:#1f2937;color:var(--color-text)}[data-theme=dark] .modal-footer{background:#f9fafb;background:var(--color-surface-2);border-top-color:#e5e7eb;border-top-color:var(--border-color)}[data-theme=dark] .modal-description{color:#6b7280;color:var(--color-text-muted)}[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),[data-theme=dark] select,[data-theme=dark] textarea{background:#fff;background:var(--color-input-bg);border-color:#e5e7eb;border-color:var(--border-color);color:#1f2937;color:var(--color-text)}[data-theme=dark] input[type=checkbox],[data-theme=dark] input[type=radio]{accent-color:#4f46e5;accent-color:var(--color-primary);outline:1px solid #e5e7eb;outline:1px solid var(--border-color);outline-offset:1px}[data-theme=dark] .checkbox-label,[data-theme=dark] .checkbox-row label{color:#1f2937;color:var(--color-text)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#6b7280;color:var(--color-text-muted)}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:#4f46e5;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e526;box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}[data-theme=dark] .tab-nav{border-bottom-color:#e5e7eb;border-bottom-color:var(--border-color)}[data-theme=dark] .tab-btn{color:#6b7280;color:var(--color-text-muted)}[data-theme=dark] .tab-btn:hover{color:#4b5563;color:var(--color-gray-600)}[data-theme=dark] .tab-btn--active{border-bottom-color:#4f46e5;border-bottom-color:var(--color-primary);color:#4f46e5;color:var(--color-primary)}[data-theme=dark] .admin-rooms-page,[data-theme=dark] .calendar-page,[data-theme=dark] .card,[data-theme=dark] .companies-page,[data-theme=dark] .devices-page .page-header,[data-theme=dark] .devices-panel,[data-theme=dark] .firmware-panel,[data-theme=dark] .login-card,[data-theme=dark] .my-bookings-page,[data-theme=dark] .parks-page,[data-theme=dark] .receptionist-page,[data-theme=dark] .rooms-page,[data-theme=dark] .section,[data-theme=dark] .settings-page,[data-theme=dark] .setup-card,[data-theme=dark] .stat-card,[data-theme=dark] .statistics-page .page-header,[data-theme=dark] .stats-section,[data-theme=dark] .users-page{background:#fff;background:var(--color-surface);color:#1f2937;color:var(--color-text)}[data-theme=dark] .add-device-form,[data-theme=dark] .backup-code,[data-theme=dark] .booking-card-header,[data-theme=dark] .companies-grid,[data-theme=dark] .credential-card,[data-theme=dark] .data-table th,[data-theme=dark] .device-type-group,[data-theme=dark] .duration-checkbox,[data-theme=dark] .firmware-notes,[data-theme=dark] .panel-header,[data-theme=dark] .room-card-header,[data-theme=dark] .room-details,[data-theme=dark] .selected-devices-list,[data-theme=dark] .summary-card,[data-theme=dark] .twofa-secret-code{background:#f9fafb;background:var(--color-surface-2)}[data-theme=dark] .data-table th{color:#4b5563;color:var(--color-gray-600)}[data-theme=dark] .data-table tr:hover,[data-theme=dark] .table-row:hover{background:#f9fafb;background:var(--color-surface-2)}[data-theme=dark] .calendar-corner,[data-theme=dark] .room-column-header,[data-theme=dark] .time-slot-label{background:#f9fafb;background:var(--color-surface-2);border-color:#e5e7eb;border-color:var(--border-color);color:#6b7280;color:var(--color-text-muted)}[data-theme=dark] .skeleton-calendar-cell,[data-theme=dark] .time-slot{background:#fff;background:var(--color-surface)}[data-theme=dark] .time-slot{border-color:#e5e7eb;border-color:var(--border-color)}[data-theme=dark] .time-slot.available:not(.past){background:#fff;background:var(--color-surface)}[data-theme=dark] .time-slot.available:hover,[data-theme=dark] .time-slot.available:not(.past):hover{background:#1e1b4b;border-color:#6366f1}[data-theme=dark] .time-slot.booked{background:#450a0a;border-color:#dc2626}[data-theme=dark] .time-slot.booked:hover{background:#5a0d0d;border-color:#ef4444}[data-theme=dark] .time-slot.partial{background:linear-gradient(135deg,#052e16 50%,#450a0a 0);border-color:#16a34a}[data-theme=dark] .time-slot.partial:hover{background:linear-gradient(135deg,#064e23 50%,#5a0d0d 0);border-color:#22c55e}[data-theme=dark] .time-slot.past{background:#0f172a;cursor:not-allowed;opacity:.6}[data-theme=dark] .time-slot.unavailable{background:#451a03;border-color:#d97706;cursor:not-allowed}[data-theme=dark] .time-slot.restricted{background:#500724;border-color:#db2777;cursor:not-allowed}[data-theme=dark] .legend-item{color:#6b7280;color:var(--color-text-muted)}[data-theme=dark] .legend-color.available{background:#fff;background:var(--color-surface);border-color:#6366f1}[data-theme=dark] .legend-color.booked{background:#450a0a;border-color:#dc2626}[data-theme=dark] .legend-color.partial{background:linear-gradient(135deg,#052e16 50%,#450a0a 0);border-color:#16a34a}[data-theme=dark] .legend-color.past{background:#0f172a;border-color:#334155}[data-theme=dark] .legend-color.unavailable{background:#451a03;border-color:#d97706}[data-theme=dark] .legend-color.restricted{background:#500724;border-color:#db2777}[data-theme=dark] .room-capacity{color:#6b7280;color:var(--color-text-muted)}[data-theme=dark] .next-booking,[data-theme=dark] .room-name{color:#1f2937;color:var(--color-text)}[data-theme=dark] .next-booking{background:#1c1917;border:1px solid #451a03}[data-theme=dark] .next-booking strong{color:#fbbf24}[data-theme=dark] .current-booking{background:#1c0505;border:1px solid #450a0a;color:#1f2937;color:var(--color-text)}[data-theme=dark] .current-booking strong{color:#f87171}[data-theme=dark] .current-booking .booking-time,[data-theme=dark] .next-booking .booking-time{color:#6b7280;color:var(--color-text-muted)}[data-theme=dark] .system-banner--warning{background:#1c1002;border-bottom-color:#78350f;color:#fbbf24}[data-theme=dark] .system-banner--critical{background:#1c0505;border-bottom-color:#7f1d1d;color:#f87171}[data-theme=dark] .park-dropdown-list,[data-theme=dark] .user-menu-dropdown{background:#1e293b;border-color:#e5e7eb;border-color:var(--border-color)}[data-theme=dark] .device-card,[data-theme=dark] .firmware-card{background:#fff;background:var(--color-surface);border-color:#e5e7eb;border-color:var(--border-color)}[data-theme=dark] .firmware-card.active,[data-theme=dark] .firmware-compact-card.active{background:#052e16;border-color:#16a34a}[data-theme=dark] .firmware-compact-card{border-bottom-color:#e5e7eb;border-bottom-color:var(--border-color)}[data-theme=dark] .device-card.selected{background:#1e1b4b}[data-theme=dark] .update-info{background:#1c1002;border-color:#78350f}[data-theme=dark] .update-info h3{color:#fbbf24}[data-theme=dark] .update-info .release-notes{background:#f9fafb;background:var(--color-surface-2)}[data-theme=dark] .update-info .release-notes strong{color:#fcd34d}[data-theme=dark] .update-info .release-notes p,[data-theme=dark] .update-note{color:#6b7280;color:var(--color-text-muted)}[data-theme=dark] .update-info.pending{background:#1c0505;border-color:#7f1d1d}[data-theme=dark] .update-info.pending h3{color:#f87171}[data-theme=dark] .info-box{background:#082f49;border-color:#0369a1;color:#7dd3fc}[data-theme=dark] .selection-bar{color:#1f2937;color:var(--color-text)}[data-theme=dark] .room-details,[data-theme=dark] .section-card,[data-theme=dark] .selection-bar{background:#fff;background:var(--color-surface);border-color:#e5e7eb;border-color:var(--border-color)}[data-theme=dark] .device-card.selected{background:#eef2ff;background:var(--color-primary-lighter);border-color:#4f46e5;border-color:var(--color-primary)}[data-theme=dark] .status-badge.active,[data-theme=dark] .status-badge.available,[data-theme=dark] .status-badge.confirmed{color:#4ade80}[data-theme=dark] .status-badge.inactive,[data-theme=dark] .status-badge.occupied{color:#f87171}[data-theme=dark] .finder-toggle:hover{background:#fff;background:var(--color-input-bg)}[data-theme=dark] .finder-active-badge{background:#10b98126;color:#6ee7b7}[data-theme=dark] .finder-status{background:#10b9811a;border-color:#10b98140;color:#6b7280;color:var(--color-text-muted)}[data-theme=dark] .amenity-checkbox-label,[data-theme=dark] .finder-field input{background:#fff;background:var(--color-input-bg);border-color:#e5e7eb;border-color:var(--border-color);color:#1f2937;color:var(--color-text)}[data-theme=dark] .amenity-checkbox-label:hover{background:#e5e7eb;background:var(--color-gray-200);border-color:#4f46e5;border-color:var(--color-primary)}[data-theme=dark] .amenity-checkbox-label:has(input:checked){background:#6366f12e;border-color:#4f46e5;border-color:var(--color-primary);color:#4338ca;color:var(--color-primary-hover)}[data-theme=dark] .mobile-room-selector select{background:#fff;background:var(--color-input-bg)}[data-theme=dark] .login-email-display{background:#f9fafb;background:var(--color-surface-2)}[data-theme=dark] .login-email-display:hover{background:#fff;background:var(--color-input-bg)}[data-theme=dark] .login-email-text{color:#1f2937;color:var(--color-text)}[data-theme=dark] .loading-spinner{border-color:#e5e7eb;border-color:var(--border-color);border-top-color:#4f46e5;border-top-color:var(--color-primary)}.theme-toggle-btn{align-items:center;background:none;border:none;border-radius:.375rem;border-radius:var(--radius-md);color:#94a3b8;color:var(--color-sidebar-text-muted,#94a3b8);cursor:pointer;display:flex;font-size:.875rem;font-size:var(--font-size-sm);gap:.5rem;gap:var(--space-2);padding:.5rem;padding:var(--space-2);text-align:left;transition:color .15s,background .15s;width:100%}.theme-toggle-btn:hover{background:#ffffff0f;background:var(--color-sidebar-hover-bg,#ffffff0f);color:#e2e8f0;color:var(--color-sidebar-text,#e2e8f0)}.loading{align-items:center;color:#6b7280;color:var(--color-gray-500);display:flex;font-size:1.125rem;font-size:var(--font-size-lg);justify-content:center;min-height:200px}.skip-link{background:#4f46e5;background:var(--color-primary);border-radius:.375rem;border-radius:var(--radius-md);color:#fff;font-weight:600;left:1rem;left:var(--space-4);padding:.5rem 1rem;padding:var(--space-2) var(--space-4);position:absolute;text-decoration:none;top:-100%;transition:top .1s;z-index:9999}.skip-link:focus{top:1rem;top:var(--space-4)}.app-layout{display:flex;min-height:100vh}.sidebar{background:#1e293b;background:var(--color-sidebar-bg);bottom:0;color:#e2e8f0;color:var(--color-sidebar-text);display:flex;flex-direction:column;left:0;position:fixed;top:0;transition:width .3s ease,transform .3s ease;width:260px;z-index:100}.sidebar.closed{width:70px}.sidebar-header{border-bottom:1px solid #334155;justify-content:space-between;min-height:64px;padding:1rem}.sidebar-header,.sidebar-logo{align-items:center;display:flex}.sidebar-logo{color:#fff;gap:.75rem;overflow:hidden;text-decoration:none}.logo-icon{align-items:center;background:#4f46e5;display:flex;font-size:.875rem;font-weight:700;justify-content:center}.logo-icon,.logo-image{border-radius:.5rem;flex-shrink:0;height:36px;width:36px}.logo-image{background:#0000;object-fit:contain}.sidebar.closed .logo-image{height:36px;width:36px}.logo-text{font-size:1.125rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s;white-space:nowrap}.sidebar.closed .logo-text{opacity:0;width:0}.sidebar-toggle{align-items:center;background:#0000;border:none;border-radius:.25rem;color:#94a3b8;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s;width:28px}.sidebar-toggle:hover{background:#334155;color:#fff}.toggle-icon{font-size:1.25rem;font-weight:700}.sidebar.closed .sidebar-toggle{background:#1e293b;border:1px solid #334155;border-radius:50%;height:28px;position:absolute;right:-14px;top:18px;width:28px}.sidebar-park-display{border-bottom:1px solid #334155;padding:.5rem 1rem .25rem}.sidebar-park-display-name{color:#94a3b8;display:block;font-size:.8125rem;font-weight:600;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.sidebar.closed .sidebar-park-display{display:none}.sidebar-nav{flex:1 1;overflow-y:auto;padding:.5rem 0}.sidebar-section{padding:.75rem 1rem}.sidebar-section-label{color:#64748b;display:block;font-size:.6875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;overflow:hidden;padding-left:.5rem;text-transform:uppercase;transition:opacity .2s;white-space:nowrap}.sidebar.closed .sidebar-section-label{height:0;margin:0;opacity:0;padding:0}.sidebar-menu{list-style:none;margin:0;padding:0}.sidebar-menu li{margin:.125rem 0}.sidebar-link{align-items:center;border-radius:.375rem;color:#cbd5e1;display:flex;gap:.75rem;padding:.625rem .75rem;text-decoration:none;transition:all .2s;white-space:nowrap}.sidebar-link:hover{background:#334155;color:#fff}.sidebar-link.active{background:#4f46e5;color:#fff}.link-icon{align-items:center;display:flex;flex-shrink:0;font-size:1rem;justify-content:center;width:24px}.link-text{overflow:hidden;transition:opacity .2s}.sidebar.closed .link-text{opacity:0;width:0}.park-select-wrapper{position:relative}.park-select-btn{align-items:center;background:#334155;border:1px solid #475569;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.4rem;padding:.5rem .75rem;text-align:left;width:100%}.park-select-btn:hover{border-color:#64748b}.park-select-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.park-select-chevron{flex-shrink:0;font-size:.7rem;opacity:.7}.park-dropdown-list{background:#1e293b;border:1px solid #475569;border-radius:.375rem;box-shadow:0 4px 12px #0006;left:0;list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:.25rem 0;position:absolute;right:0;top:calc(100% + 4px);z-index:200}.park-dropdown-item{background:none;border:none;color:#e2e8f0;cursor:pointer;display:block;font-size:.875rem;overflow:hidden;padding:.5rem .75rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.park-dropdown-item:hover{background:#334155}.park-dropdown-item.active{color:#818cf8;font-weight:500}.sidebar.closed .park-select-wrapper{display:none}.sidebar-footer-extras{border-top:1px solid #ffffff14;border-top:1px solid var(--color-sidebar-border,#ffffff14);padding:.5rem 1rem}.sidebar-footer{border-top:1px solid #ffffff14;border-top:1px solid var(--color-sidebar-border,#334155);padding:1rem}.user-info{gap:.75rem;margin-bottom:.75rem;overflow:hidden}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:#4f46e5;border-radius:50%;flex-shrink:0;font-size:.875rem;font-weight:600;height:36px;justify-content:center;width:36px}.user-details{display:flex;flex-direction:column;overflow:hidden;transition:opacity .2s}.sidebar.closed .user-details{opacity:0;width:0}.sidebar .user-name{color:#fff;font-size:.875rem;font-weight:600;white-space:nowrap}.user-role{color:#94a3b8;font-size:.75rem;text-transform:capitalize;white-space:nowrap}.logout-btn{align-items:center;background:#0000;border:1px solid #475569;border-radius:.375rem;color:#cbd5e1;cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;padding:.625rem .75rem;transition:all .2s;width:100%}.logout-btn:hover{background:#334155;border-color:#64748b;color:#fff}.sidebar.closed .logout-btn .link-text{opacity:0;width:0}.user-info-btn{background:#0000;border:none;border-radius:.375rem;color:inherit;cursor:pointer;padding:0;text-align:left;transition:background .15s;width:100%}.user-info-btn:hover{background:#334155}.user-menu-chevron{color:#94a3b8;flex-shrink:0;font-size:.65rem;margin-left:auto}.user-menu-dropdown{background:#1e293b;border:1px solid #334155;border-radius:.5rem;margin-bottom:.5rem;overflow:hidden}.user-menu-item{align-items:center;background:#0000;border:none;color:#cbd5e1;cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;padding:.625rem .75rem;text-decoration:none;transition:background .15s;width:100%}.user-menu-item:hover{background:#334155;color:#fff}.user-menu-item--logout{color:#fca5a5}.user-menu-item--logout:hover{background:#7f1d1d;color:#fff}.sidebar-overlay{display:none}.main-wrapper{display:flex;flex:1 1;flex-direction:column;margin-left:260px;min-height:100vh;transition:margin-left .3s ease}.main-wrapper.sidebar-closed{margin-left:70px}.top-bar{align-items:center;background:#1e293b;color:#fff;display:none;gap:1rem;padding:.75rem 1rem}.mobile-menu-btn{background:#0000;border:none;cursor:pointer;display:flex;flex-direction:column;gap:4px;height:32px;justify-content:center;padding:6px;width:32px}.hamburger-line{background:#fff;border-radius:1px;display:block;height:2px;width:20px}.top-bar-title{font-size:1rem;font-weight:600}.main-content{flex:1 1;margin:0 auto;max-width:1400px;padding:1.5rem;width:100%}@media (max-width:768px){.sidebar{transform:translateX(-100%);width:260px}.sidebar.open{transform:translateX(0)}.sidebar.closed{transform:translateX(-100%);width:260px}.sidebar.closed.open{transform:translateX(0)}.sidebar.closed .link-text,.sidebar.closed .logo-text,.sidebar.closed .sidebar-section-label,.sidebar.closed .user-details{height:auto;margin-bottom:.5rem;opacity:1;width:auto}.sidebar.closed .park-select-wrapper{display:block}.sidebar.closed .logout-btn .link-text{opacity:1;width:auto}.sidebar.closed .sidebar-toggle{background:#0000;border:none;position:static}.sidebar-overlay{background:#00000080;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:99}.main-wrapper{margin-left:0;max-width:100vw;overflow-x:hidden}.main-wrapper.sidebar-closed,.main-wrapper.sidebar-open{margin-left:0}.top-bar{display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:100}.room-column-header{top:48px}.main-content{padding:1rem}}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-size:var(--font-size-2xl);font-weight:600}.btn{align-items:center;border:none;border-radius:.375rem;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.5rem 1rem;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#4f46e5;background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:#4338ca;background:var(--color-primary-hover)}.btn-secondary{background:#e5e7eb;background:var(--color-gray-200);color:#374151;color:var(--color-gray-700)}.btn-secondary:hover:not(:disabled){background:#d1d5db;background:var(--color-gray-300)}.btn-danger{background:#ef4444;background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;background:var(--color-danger-hover)}.btn-warning{background:#f59e0b;background:var(--color-warning);color:#fff}.btn-warning:hover:not(:disabled){background:#d97706;background:var(--color-warning-hover)}.btn-success:hover:not(:disabled){background:#059669;background:var(--color-success-hover)}.btn-block{width:100%}.btn-sm,.btn-small{font-size:.75rem;font-size:var(--font-size-xs);padding:.25rem .5rem;padding:var(--space-1) var(--space-2)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input[type=checkbox],.form-group input[type=radio]{width:auto}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:.375rem;border-radius:var(--radius-md);font-size:.875rem;font-size:var(--font-size-sm);padding:.625rem .75rem;padding:.625rem var(--space-3);transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4f46e5;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.form-group small{color:#6b7280;color:var(--color-gray-500);display:block;font-size:.75rem;font-size:var(--font-size-xs);margin-top:.25rem;margin-top:var(--space-1)}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.external-guest-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.external-guest-row input{border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem .625rem;transition:border-color .2s,box-shadow .2s}.external-guest-row input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.alert{border-radius:.375rem;border-radius:var(--radius-md);font-size:.875rem;font-size:var(--font-size-sm);margin-bottom:1rem;margin-bottom:var(--space-4);padding:.75rem 1rem;padding:var(--space-3) var(--space-4)}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;color:var(--color-danger-hover)}[data-theme=dark] .alert-error{background:#1c0505;border-color:#7f1d1d;color:#f87171}.login-container{align-items:center;background:linear-gradient(135deg,#eef2ff,#f5f3ff);display:flex;justify-content:center;min-height:100vh}[data-theme=dark] .login-container{background:#f3f4f6;background:var(--color-bg)}.login-card{background:#fff;background:var(--color-surface);border-radius:.75rem;box-shadow:0 10px 40px #00000026;max-width:400px;padding:2rem;width:100%}[data-theme=dark] .login-card{box-shadow:0 10px 40px #00000080}.login-header{margin-bottom:1.5rem;text-align:center}.login-header h1{color:#1f2937;color:var(--color-text);font-size:1.5rem}.login-header p{margin-top:.5rem}.login-demo,.login-header p{color:#6b7280;color:var(--color-text-muted)}.login-demo{border-top:1px solid #e5e7eb;border-top:1px solid var(--color-border,#e5e7eb);font-size:.75rem;margin-top:1.5rem;padding-top:1.5rem}.login-demo ul{list-style:none;margin-top:.5rem}.login-demo li{margin:.25rem 0}.login-email-display{align-items:center;background:#f3f4f6;border-radius:.5rem;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.625rem .875rem;transition:background .15s}.login-email-display:hover{background:#e5e7eb}.login-email-text{color:#1f2937;color:var(--color-text);font-size:.9rem;font-weight:500}.login-email-change{color:#4f46e5;color:var(--color-primary);font-size:.8rem;font-weight:500}.loading-spinner{animation:spin .6s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#4f46e5;display:inline-block;height:2rem;width:2rem}@keyframes spin{to{transform:rotate(1turn)}}.calendar-page{background:#fff;background:var(--color-surface,#fff);border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);color:#1f2937;color:var(--color-text,var(--color-gray-800));overflow:hidden}.calendar-header{border-bottom:1px solid #e5e7eb;border-bottom:var(--border);display:flex;flex-direction:column;gap:.75rem;gap:var(--space-3);padding:1rem 1.5rem;padding:var(--space-4) var(--space-6)}.calendar-header-top{align-items:center;display:flex;gap:1rem;gap:var(--space-4);justify-content:space-between}.calendar-header h1{font-size:1.5rem;font-size:var(--font-size-2xl);font-weight:600}.quick-book-btn{flex-shrink:0;white-space:nowrap}.calendar-header h2{color:#6b7280;color:var(--color-gray-500);font-size:1rem;font-size:var(--font-size-base);font-weight:500}.calendar-nav{display:flex;gap:.5rem}.calendar-container{overflow-x:auto;padding:1rem}.calendar-grid{display:grid;min-width:800px}.calendar-corner,.room-column-header{background:#f9fafb;border:1px solid #e5e7eb;padding:.75rem;text-align:center}.room-column-header{position:-webkit-sticky;position:sticky;top:0;z-index:10}.room-name{font-size:.875rem;font-weight:600}.room-capacity{color:#6b7280;font-size:.75rem}.day-header{align-items:center;background:#4f46e5;color:#fff;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem}.today-badge{background:#fff3;border-radius:1rem;font-size:.75rem;padding:.125rem .5rem}.time-slot-label{background:#f9fafb;border:1px solid #e5e7eb;color:#6b7280;font-size:.7rem;padding:.25rem .375rem;text-align:right;white-space:nowrap}.time-slot{border:1px solid #e5e7eb;cursor:pointer;height:44px;overflow:visible;padding:0;position:relative;transition:background .2s}.time-slot.available:hover{background:#e0e7ff}.time-slot.booked{background:#fee2e2;cursor:pointer}.time-slot.booked:hover{background:#fecaca;border-color:#ef4444}.time-slot.partial{background:linear-gradient(135deg,#dcfce7 50%,#fee2e2 0);cursor:pointer}.time-slot.partial:hover{background:linear-gradient(135deg,#bbf7d0 50%,#fecaca 0);border-color:#22c55e}.time-slot.partial .slot-available-indicator{opacity:.7}.time-slot.partial:hover .slot-available-indicator{opacity:1}.time-slot.past{background:#d1d5db;cursor:not-allowed}.time-slot.unavailable{background:#fef3c7;cursor:not-allowed}.time-slot.restricted{background:#fce7f3;cursor:not-allowed}.time-slot.available:not(.past){position:relative}.time-slot.available:not(.past):hover{background:#dbeafe;border-color:#3b82f6}.slot-available-indicator{align-items:center;display:flex;height:100%;justify-content:center;opacity:0;transition:opacity .2s}.time-slot.available:not(.past):hover .slot-available-indicator{opacity:1}.plus-icon{color:#3b82f6;font-size:1.25rem;font-weight:700;line-height:1}.booking-indicator{border-radius:.25rem;color:#fff;font-size:.75rem;overflow:hidden;padding:.25rem .375rem;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .booking-indicator{filter:brightness(.82) saturate(.9)}.booking-indicator.booking-span{display:flex;flex-direction:column;left:2px;min-height:20px;overflow:hidden;padding-bottom:18px;position:absolute;right:2px;white-space:normal;z-index:10}.booking-indicator .booking-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-indicator .booking-time{background:#00000061;border-radius:0 0 3px 3px;bottom:0;color:#fffffff2;font-size:.6rem;font-weight:500;left:0;overflow:hidden;padding:2px 5px;position:absolute;right:0;text-overflow:ellipsis;white-space:nowrap}.booking-indicator--compact .booking-title{font-size:.68rem}.booking-indicator--silent.booking-span{align-items:stretch;justify-content:center;padding-bottom:0}.booking-indicator--silent .booking-title{display:none}.booking-indicator--silent .booking-time{background:#00000047;border-radius:3px;color:#fffffff2;font-size:.58rem;font-weight:500;overflow:hidden;padding:2px 5px;position:static;text-overflow:ellipsis;white-space:nowrap}.calendar-legend{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:1rem}.legend-item{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem}.legend-color{border:1px solid #e5e7eb;border-radius:.25rem;height:1rem;width:1rem}.legend-color.available{background:#fff;border-color:#3b82f6}.legend-color.booked{background:#fee2e2;border-color:#ef4444}.legend-color.partial{background:linear-gradient(135deg,#dcfce7 50%,#fee2e2 0);border-color:#22c55e}.legend-color.past{background:#d1d5db;border-color:#9ca3af}.legend-color.unavailable{background:#fef3c7;border-color:#f59e0b}.legend-color.restricted{background:#fce7f3;border-color:#ec4899}.admin-rooms-page,.companies-page,.my-bookings-page,.parks-page,.rooms-page,.users-page{background:#fff;background:var(--color-surface,#fff);border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);color:#1f2937;color:var(--color-text,var(--color-gray-800));padding:1.5rem;padding:var(--space-6)}.room-finder-panel{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--radius-lg);margin-bottom:1.5rem;overflow:hidden}.finder-toggle{align-items:center;background:#f9fafb;background:var(--color-surface-2);border:none;color:#1f2937;color:var(--color-text);cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:.5rem;padding:.75rem 1rem;text-align:left;transition:background .15s;width:100%}.finder-toggle:hover{background:#f3f4f6;background:var(--color-gray-100)}.finder-toggle-icon{color:#6b7280;color:var(--color-text-muted);font-size:.75rem}.finder-active-badge{background:#d1fae5;background:var(--color-success-light,#d1fae5);border-radius:9999px;color:#065f46;color:var(--color-success-text,#065f46);font-size:.75rem;font-weight:500;margin-left:auto;padding:.125rem .5rem}.finder-form{background:#fff;background:var(--color-surface);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem;padding:1rem}.finder-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem}.finder-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.finder-field label{color:#6b7280;color:var(--color-text-muted);font-size:.8125rem;font-weight:500}.finder-field input{background:#fff;background:var(--color-input-bg);border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:.375rem;border-radius:var(--radius);color:#1f2937;color:var(--color-text);font-family:inherit;font-size:.875rem;padding:.5rem .625rem;transition:border-color .2s,box-shadow .2s}.finder-field input:focus{border-color:#4f46e5;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e526;box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.time-select-group{align-items:center;display:flex;gap:.25rem}.time-text-input{background:#fff;background:var(--color-input-bg);border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:.375rem;border-radius:var(--radius);color:#1f2937;color:var(--color-text);font-family:inherit;font-size:.875rem;padding:.5rem;text-align:center;transition:border-color .2s,box-shadow .2s;width:4.5rem}.time-text-input:focus{border-color:#4f46e5;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e526;box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.ampm-select{background:#fff;background:var(--color-input-bg);border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:.375rem;border-radius:var(--radius);color:#1f2937;color:var(--color-text);cursor:pointer;font-family:inherit;font-size:.875rem;padding:.5rem .25rem}.finder-amenities{display:flex;flex-direction:column;gap:.5rem}.finder-amenities>label{color:#6b7280;color:var(--color-text-muted);font-size:.8125rem;font-weight:500}.amenity-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem}.amenity-checkbox-label{align-items:center;background:#f9fafb;background:var(--color-surface-2);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:9999px;color:#1f2937;color:var(--color-text);cursor:pointer;display:flex;font-size:.875rem;gap:.375rem;padding:.3rem .75rem;transition:background .15s,border-color .15s}.amenity-checkbox-label:hover{background:#f3f4f6;background:var(--color-gray-100);border-color:#4f46e5;border-color:var(--color-primary)}.amenity-checkbox-label:has(input:checked){background:#eef2ff;background:var(--color-primary-lighter);border-color:#4f46e5;border-color:var(--color-primary);color:#4f46e5;color:var(--color-primary);font-weight:500}.amenity-checkbox-label input[type=checkbox]{accent-color:#4f46e5;accent-color:var(--color-primary);margin:0}.finder-actions{display:flex;flex-wrap:wrap;gap:.75rem}.finder-status{background:#d1fae5;background:var(--color-success-light,#f0fdf4);border:1px solid #bbf7d0;border:1px solid var(--color-success-border,#bbf7d0);border-radius:.375rem;border-radius:var(--radius);color:#6b7280;color:var(--color-text-muted);font-size:.875rem;margin:0;padding:.5rem .75rem}.filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.filter-group{display:flex;gap:.5rem}.desk-date-filters,.filter-group{align-items:center}.desk-date-mode-toggle{border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.desk-date-mode-btn{background:#0000;border:none;color:#6b7280;color:var(--color-text-muted);cursor:pointer;font-size:.875rem;font-weight:500;padding:.375rem .875rem;transition:background .15s,color .15s;white-space:nowrap}.desk-date-mode-btn:hover:not(.desk-date-mode-btn--active){background:#f3f4f6;background:var(--color-gray-100);color:#1f2937;color:var(--color-text)}.desk-date-mode-btn--active{background:#4f46e5;background:var(--color-primary);color:#fff}.desk-date-range-group{flex-wrap:wrap;gap:.5rem}.desk-date-range-sep{align-self:center;color:#6b7280;color:var(--color-text-muted);font-size:.875rem;padding:0 .125rem}.desk-date-summary{align-items:flex-start;flex-direction:column;gap:.25rem}.desk-date-count{font-size:.875rem;font-weight:500}.desk-date-count--over{color:#ef4444;color:var(--color-danger,#ef4444)}.desk-date-over-quota{background:#fee2e2;border-radius:9999px;color:#b91c1c;font-size:.75rem;font-weight:500;padding:.2rem .6rem}@media (max-width:640px){.desk-date-range-group{align-items:flex-start;flex-direction:column;width:100%}.desk-date-range-group input[type=date]{width:100%}.desk-date-range-sep{display:none}}.filter-group label{font-size:.875rem;font-weight:500}.filter-group select{background:#fff;background:var(--color-input-bg);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-md);color:#1f2937;color:var(--color-text);cursor:pointer;font-family:inherit;font-size:.875rem;padding:.4rem .625rem;transition:border-color .2s,box-shadow .2s}.filter-group select:focus{border-color:#4f46e5;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e526;box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.rooms-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.room-card{border:1px solid #e5e7eb;border:var(--border);border-radius:.5rem;border-radius:var(--radius-lg);overflow:hidden}.room-card.available{border-color:#10b981}.room-card.occupied{border-color:#ef4444}.room-card-header{align-items:center;background:#f9fafb;background:var(--color-gray-50);display:flex;justify-content:space-between;padding:1rem;padding:var(--space-4)}.room-card-header h3{font-size:1rem}.room-card-body{padding:1rem}.room-info p{font-size:.875rem;margin:.25rem 0}.room-amenities{font-size:.875rem;margin-top:.75rem}.amenities-list{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.amenity-tag{background:#e0e7ff;background:var(--color-primary-light);border-radius:9999px;border-radius:var(--badge-radius);color:#4f46e5;color:var(--color-primary);display:inline-block;font-size:.75rem;font-size:var(--badge-font-size);font-weight:500;font-weight:var(--badge-font-weight);padding:.25rem .625rem;padding:var(--badge-padding)}.amenity-tag.small{font-size:.625rem;padding:.125rem .375rem}.room-description{color:#6b7280;font-size:.875rem;margin-top:.75rem}.current-booking,.next-booking{background:#fef3c7;border-radius:.25rem;font-size:.875rem;margin-top:.75rem;padding:.5rem}.current-booking{background:#fee2e2}.booking-time{color:#6b7280;font-size:.75rem}.room-card-footer{border-top:1px solid #e5e7eb;border-top:var(--border);padding:1rem;padding:var(--space-4)}.status-badge{border-radius:9999px;border-radius:var(--badge-radius);display:inline-block;font-size:.75rem;font-size:var(--badge-font-size);font-weight:500;font-weight:var(--badge-font-weight);padding:.25rem .625rem;padding:var(--badge-padding)}.status-badge.active,.status-badge.available,.status-badge.confirmed{background:#d1fae5;background:var(--color-success-light);color:#059669;color:var(--color-success-hover)}.status-badge.inactive,.status-badge.occupied{background:#fee2e2;background:var(--color-danger-light);color:#dc2626;color:var(--color-danger-hover)}.status-badge.past{background:#e5e7eb;background:var(--color-gray-200);color:#6b7280;color:var(--color-gray-500)}.status-badge.cancelled{background:#fef3c7;background:var(--color-warning-light);color:#d97706;color:var(--color-warning-hover)}.role-badge{border-radius:9999px;border-radius:var(--badge-radius);display:inline-block;font-size:.75rem;font-size:var(--badge-font-size);font-weight:500;font-weight:var(--badge-font-weight);padding:.25rem .625rem;padding:var(--badge-padding);text-transform:capitalize}.role-badge.super_admin{background:#fecaca;color:#dc2626}.role-badge.park_admin{background:#ddd6fe;color:#7c3aed}.role-badge.company_admin{background:#bfdbfe;color:#2563eb}.role-badge.user{background:#d1fae5;color:#059669}.access-companies{display:flex;flex-wrap:wrap;gap:.25rem}.access-badge{border-radius:9999px;border-radius:var(--badge-radius);display:inline-block;font-size:.75rem;font-size:var(--badge-font-size);font-weight:500;font-weight:var(--badge-font-weight);padding:.25rem .625rem;padding:var(--badge-padding);white-space:nowrap}.access-badge.open{background:#d1fae5;background:var(--color-success-light);color:#059669;color:var(--color-success-hover)}.access-badge.restricted{background:#fef3c7;background:var(--color-warning-light);color:#d97706;color:var(--color-warning-hover)}.bookings-section{margin-bottom:2rem}.bookings-section h2{border-bottom:1px solid #e5e7eb;border-bottom:var(--border);color:#1f2937;color:var(--color-gray-800);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:600;margin-bottom:1rem;margin-bottom:var(--space-4);padding-bottom:.5rem;padding-bottom:var(--space-2)}.bookings-list{grid-gap:1rem;display:grid;gap:1rem}.booking-card{border:1px solid #e5e7eb;border:var(--border);border-radius:.5rem;border-radius:var(--radius-lg);overflow:hidden}.booking-card.past{opacity:.7}.booking-card.cancelled{opacity:.6}.booking-card-header{align-items:center;background:#f9fafb;background:var(--color-gray-50);display:flex;justify-content:space-between;padding:1rem;padding:var(--space-4)}.booking-card-header h3{font-size:1rem}.booking-card-body{padding:1rem}.booking-card-body p{font-size:.875rem;margin:.25rem 0}.booking-card-footer{border-top:1px solid #e5e7eb;border-top:var(--border);padding:1rem;padding:var(--space-4)}.table-container{overflow-x:auto}.data-table{border-collapse:collapse;font-size:.875rem;width:100%}.data-table td,.data-table th{border-bottom:1px solid #e5e7eb;border-bottom:var(--border);padding:.75rem 1rem;padding:var(--space-3) var(--space-4);text-align:left}.data-table th{color:#374151;color:var(--color-gray-700);font-weight:600}.data-table th,.data-table tr:hover{background:#f9fafb;background:var(--color-gray-50)}.data-table tr.inactive,.data-table tr.inactive-row{background:#f9fafb;background:var(--color-gray-50);opacity:.6}.action-buttons{display:flex;gap:.5rem}.amenities-cell{display:flex;flex-wrap:wrap;gap:.25rem}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;background:var(--color-surface,#fff);border-radius:.5rem;border-radius:var(--radius-lg);color:#1f2937;color:var(--color-text,var(--color-gray-800));display:flex;flex-direction:column;max-height:95vh;max-width:650px;overflow:hidden;width:100%}.modal.modal-large{max-width:850px}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem;padding:var(--space-4) var(--space-6)}.modal-header h2{font-size:1.125rem;font-size:var(--font-size-lg)}.modal-close{background:none;border:none;color:#6b7280;color:var(--color-gray-500);cursor:pointer;font-size:1.5rem;font-size:var(--font-size-2xl);line-height:1;padding:0}.modal-close:hover{color:#1f2937;color:var(--color-gray-800)}.modal-body{flex:1 1;min-height:0;overflow-y:auto;padding:1.5rem}.modal-footer{background:#f9fafb;background:var(--color-surface-2,var(--color-gray-50));border-top:1px solid #e5e7eb;border-top:var(--border);display:flex;flex-shrink:0;gap:.5rem;gap:var(--space-2);justify-content:flex-end;padding:1rem 1.5rem;padding:var(--space-4) var(--space-6)}.modal>form{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.room-details{background:#f9fafb;background:var(--color-gray-50);border-radius:.375rem;border-radius:var(--radius-md);font-size:.875rem;font-size:var(--font-size-sm);margin-bottom:1rem;margin-bottom:var(--space-4);padding:1rem;padding:var(--space-4)}.room-details p{margin:.25rem 0}.amenities-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.amenity-checkbox{align-items:center;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.amenity-checkbox input{width:auto}.companies-grid{grid-gap:.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);max-height:200px;overflow-y:auto;padding:.5rem}.company-checkbox{align-items:center;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.25rem}.company-checkbox input{width:auto}.company-checkbox:hover{background:#e5e7eb;border-radius:.25rem}.quick-book-durations{display:flex;flex-wrap:wrap;gap:.75rem}.duration-checkbox{align-items:center;background:#f3f4f6;border-radius:.375rem;cursor:pointer;display:flex;font-size:.875rem;gap:.375rem;padding:.25rem .5rem}.duration-checkbox input{width:auto}.empty-state{padding:2rem}@media (max-width:768px){.nav-content{height:auto}.nav-content,.nav-links{flex-wrap:wrap;padding:.5rem 0}.nav-links{justify-content:center;order:3;width:100%}.calendar-header{flex-direction:column;text-align:center}.amenities-grid,.form-row,.rooms-grid{grid-template-columns:1fr}}.setup-container{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);display:flex;justify-content:center;min-height:100vh;padding:2rem}.setup-card{background:#fff;border-radius:.75rem;box-shadow:0 10px 40px #0003;max-width:800px;padding:2rem;width:100%}.setup-header{margin-bottom:2rem;text-align:center}.setup-header h1{color:#1f2937;font-size:1.75rem;margin-bottom:.5rem}.setup-header p{color:#6b7280}.setup-options{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.setup-option{border:2px solid #e5e7eb;border-radius:.75rem;cursor:pointer;padding:1.5rem;text-align:center;transition:all .2s}.setup-option:hover{border-color:#4f46e5;box-shadow:0 4px 12px #4f46e526}.option-icon{font-size:3rem;margin-bottom:1rem}.setup-option h2{color:#1f2937;font-size:1.25rem;margin-bottom:.5rem}.setup-option p{color:#6b7280;font-size:.875rem;margin-bottom:1rem}.setup-option ul{color:#4b5563;font-size:.875rem;margin:1rem 0;padding-left:1.5rem;text-align:left}.setup-option li{margin:.25rem 0}.setup-form{margin:0 auto;max-width:500px}.form-section{margin-bottom:1.5rem}.form-section h3{border-bottom:1px solid #e5e7eb;color:#374151;font-size:1rem;margin-bottom:1rem;padding-bottom:.5rem}.setup-actions{border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:1.5rem;padding-top:1.5rem}.demo-info{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.demo-info h3{color:#166534;margin-bottom:.5rem}.demo-info ul{color:#166534;margin:0;padding-left:1.5rem}.demo-credentials{margin-bottom:1.5rem}.demo-credentials h3{margin-bottom:1rem}.credential-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:.75rem;padding:1rem}.credential-card h4{color:#4f46e5;font-size:.875rem;margin-bottom:.5rem}.credential-card p{font-size:.875rem;margin:.25rem 0}.setup-card-wide{max-width:900px}.demo-parks{margin-bottom:1.5rem;text-align:center}.demo-parks h3{color:#374151;margin-bottom:.75rem}.parks-list{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.park-badge{background:#eef2ff;background:var(--color-primary-lighter);border-radius:9999px;border-radius:var(--badge-radius);color:#4f46e5;color:var(--color-primary);font-size:.75rem;font-size:var(--badge-font-size);font-weight:500;font-weight:var(--badge-font-weight);padding:.25rem .625rem;padding:var(--badge-padding)}.credentials-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-top:1rem}.credential-card{text-align:left}.credential-role{font-size:.9375rem;font-weight:600;margin-bottom:.375rem}.credential-desc{color:#6b7280;font-size:.8125rem;margin-bottom:.75rem}.credential-details{font-size:.8125rem;line-height:1.6}.credential-details div{word-break:break-all}.credential-super{border-left:3px solid #dc2626}.credential-super .credential-role{color:#dc2626}.credential-park{border-left:3px solid #7c3aed}.credential-park .credential-role{color:#7c3aed}.credential-company{border-left:3px solid #2563eb}.credential-company .credential-role{color:#2563eb}.credential-user{border-left:3px solid #059669}.credential-user .credential-role{color:#059669}@media (max-width:768px){.setup-options{grid-template-columns:1fr}.setup-card{padding:1.5rem}.setup-actions{flex-direction:column;gap:.75rem}.setup-actions button{width:100%}.credentials-grid{grid-template-columns:1fr}}.settings-page{background:#fff;background:var(--color-surface,#fff);border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);color:#1f2937;color:var(--color-text,var(--color-gray-800));padding:1.5rem;padding:var(--space-6)}.settings-page h1{color:#1f2937;color:var(--color-gray-800);font-size:1.5rem;font-size:var(--font-size-2xl);font-weight:600;margin-bottom:1.5rem;margin-bottom:var(--space-6)}.settings-section{border-bottom:1px solid #e5e7eb;border-bottom:var(--border);margin-bottom:2rem;margin-bottom:var(--space-8);padding-bottom:2rem;padding-bottom:var(--space-8)}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section h2{color:#1f2937;color:var(--color-gray-800);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:600;margin-bottom:.5rem;margin-bottom:var(--space-2)}.section-description{color:#6b7280;color:var(--color-gray-500);font-size:.875rem;font-size:var(--font-size-sm);margin-bottom:1.5rem;margin-bottom:var(--space-6)}.settings-form{max-width:400px}.settings-form .form-row{display:flex;gap:1rem;margin-bottom:1rem}.text-muted{color:#9ca3af;font-style:italic}.company-badge{background:#dbeafe;background:var(--color-info-light);border-radius:9999px;border-radius:var(--badge-radius);color:#1e40af;font-size:.75rem;font-size:var(--badge-font-size);font-weight:500;font-weight:var(--badge-font-weight);padding:.25rem .625rem;padding:var(--badge-padding)}.ml-1{margin-left:.5rem}.alert-success{background:#d1fae5;background:var(--color-success-light);border-radius:.5rem;border-radius:var(--radius-lg);color:#065f46;margin-bottom:1rem;margin-bottom:var(--space-4);padding:.75rem 1rem;padding:var(--space-3) var(--space-4)}.btn-info{background:#3b82f6;background:var(--color-info);color:#fff}.btn-info:hover:not(:disabled){background:#2563eb;background:var(--color-info-hover)}.btn-tiny,.btn-xs{font-size:.6875rem;padding:.125rem .5rem;padding:.125rem var(--space-2)}.status-badge.small{font-size:.625rem;margin-left:.5rem;padding:.125rem .5rem}.modal-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin-bottom:1rem}.devices-list{display:flex;flex-direction:column;gap:.75rem}.device-card{align-items:flex-start;gap:1rem;gap:var(--space-4);justify-content:space-between}.device-card.inactive{background:#f9fafb;background:var(--color-gray-50);opacity:.7}.device-info{flex:1 1;min-width:0}.device-name{align-items:center;display:flex;flex-wrap:wrap;font-size:.875rem;font-weight:600;gap:.5rem}.device-meta{color:#6b7280;color:var(--color-gray-500);font-size:.75rem;font-size:var(--font-size-xs);margin-top:.25rem;margin-top:var(--space-1)}.device-token{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.device-token code{background:#f3f4f6;background:var(--color-gray-100);border-radius:.25rem;border-radius:var(--radius-sm);color:#374151;color:var(--color-gray-700);font-family:SF Mono,Monaco,Courier New,monospace;font-size:.75rem;font-size:var(--font-size-xs);padding:.25rem .5rem;padding:var(--space-1) var(--space-2)}.device-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:.5rem}.add-device-form{background:#f9fafb;border-radius:.5rem;margin-top:1rem;padding:1rem}.add-device-form .form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}@media (max-width:640px){.device-card{flex-direction:column}.device-actions{justify-content:flex-start;width:100%}}.section{background:#fff;background:var(--color-surface,#fff);border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);color:#1f2937;color:var(--color-text,var(--color-gray-800));margin-bottom:1.5rem;margin-bottom:var(--space-6);padding:1.5rem;padding:var(--space-6)}.section h2{color:#1f2937;color:var(--color-gray-800);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:600;margin-bottom:.5rem;margin-bottom:var(--space-2)}.firmware-list{display:flex;flex-direction:column;gap:1rem}.firmware-card{background:#fff;background:var(--color-surface,#fff);border:1px solid #e5e7eb;border:var(--border);border-radius:.5rem;border-radius:var(--radius-lg);padding:1rem;padding:var(--space-4)}.firmware-card.active{background:#f0fdf4;border-color:#10b981;border-color:var(--color-success)}.firmware-card.inactive{opacity:.7}.firmware-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.firmware-version{color:#1f2937;color:var(--color-gray-800);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600}.firmware-details{color:#6b7280;color:var(--color-gray-500);display:flex;flex-wrap:wrap;gap:1rem;gap:var(--space-4)}.firmware-details,.firmware-notes{font-size:.875rem;font-size:var(--font-size-sm);margin-bottom:.75rem;margin-bottom:var(--space-3)}.firmware-notes{background:#f9fafb;background:var(--color-gray-50);border-radius:.375rem;border-radius:var(--radius-md);color:#374151;color:var(--color-gray-700);padding:.75rem;padding:var(--space-3)}.firmware-notes strong{color:#1f2937;color:var(--color-gray-800);display:block;margin-bottom:.25rem;margin-bottom:var(--space-1)}.firmware-notes p{margin:0}.firmware-actions{display:flex;gap:.5rem}.devices-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.devices-grid .device-card{cursor:pointer;flex-direction:column;transition:all .2s}.devices-grid .device-card:hover{border-color:#4f46e5;border-color:var(--color-primary);box-shadow:0 2px 8px #4f46e526}.devices-grid .device-card.has-update{border-left:3px solid #f59e0b}.device-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.device-header .device-name{color:#1f2937;color:var(--color-gray-800);font-size:1rem;font-size:var(--font-size-base);font-weight:600}.update-indicator{align-items:center;background:#fef3c7;border-radius:50%;color:#d97706;display:flex;font-size:1rem;font-weight:700;height:24px;justify-content:center;width:24px}.device-room{color:#4f46e5;color:var(--color-primary);margin-bottom:.75rem;margin-bottom:var(--space-3)}.device-room,.devices-grid .device-info{font-size:.875rem;font-size:var(--font-size-sm)}.devices-grid .device-info{color:#6b7280;color:var(--color-gray-500)}.devices-grid .device-info>div{margin-bottom:.25rem}.device-version .version-update{color:#f59e0b;font-weight:500}.status-active{color:#10b981}.status-inactive{color:#ef4444}.device-last-seen{color:#9ca3af}.device-detail-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item label{color:#6b7280;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.detail-item span{color:#1f2937;font-size:.9375rem}.update-info{background:#fef3c7;background:var(--color-warning-light);border:1px solid #fcd34d;border-radius:.5rem;border-radius:var(--radius-lg);padding:1rem;padding:var(--space-4)}.update-info h3{color:#d97706;font-size:1rem;margin-bottom:.75rem}.update-info .release-notes{background:#fff;border-radius:.375rem;font-size:.875rem;margin-bottom:.75rem;padding:.75rem}.update-info .release-notes strong{color:#92400e;display:block;margin-bottom:.25rem}.update-info .release-notes p{color:#78350f;margin:0}.update-note{color:#92400e;font-size:.875rem;font-style:italic;margin:0}.update-available{color:#f59e0b;font-weight:500}.up-to-date{color:#10b981;font-weight:500}.badge{border-radius:9999px;border-radius:var(--badge-radius);display:inline-block;font-size:.75rem;font-size:var(--badge-font-size);font-weight:500;font-weight:var(--badge-font-weight);padding:.25rem .625rem;padding:var(--badge-padding)}.badge-success{background:#d1fae5;background:var(--color-success-light);color:#065f46}.badge-secondary{background:#e5e7eb;background:var(--color-gray-200);color:#374151;color:var(--color-gray-700)}@media (max-width:640px){.device-detail-grid,.devices-grid{grid-template-columns:1fr}}.park-logo-cell{align-items:center;display:flex;justify-content:center}.park-logo-wrapper{align-items:center;display:flex;flex-direction:column;gap:.25rem;position:relative}.park-logo-preview{background:#0000;border:1px solid #e5e7eb;border-radius:.375rem;height:48px;object-fit:contain;width:48px}.park-logo-actions{display:flex;gap:.25rem}.park-logo-upload{font-size:.75rem;padding:.5rem}.selection-bar{align-items:center;background:#eef2ff;background:var(--color-primary-lighter);border:1px solid #c7d2fe;border-radius:.5rem;border-radius:var(--radius-lg);display:flex;gap:1rem;gap:var(--space-4);margin-bottom:1rem;margin-bottom:var(--space-4);padding:1rem;padding:var(--space-4)}.selection-bar span{color:#4338ca;color:var(--color-primary-hover);font-weight:500}.devices-toolbar{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem;padding:.5rem 0}.checkbox-label{color:#4b5563}.checkbox-label input[type=checkbox]{height:1rem;width:1rem}.device-card{background:#fff;background:var(--color-surface,#fff);border:1px solid #e5e7eb;border:var(--border);border-radius:.5rem;border-radius:var(--radius-lg);color:#1f2937;color:var(--color-text,var(--color-gray-800));display:flex;padding:1rem;padding:var(--space-4)}.device-card.selected{background:#f5f3ff;border-color:#4f46e5;border-color:var(--color-primary);box-shadow:0 0 0 2px #4f46e533}.device-card.pending-update{border-left:3px solid #8b5cf6}.device-select{align-items:flex-start;display:flex;padding-right:.75rem}.device-select input[type=checkbox]{cursor:pointer;height:1.125rem;width:1.125rem}.device-content{cursor:pointer;flex:1 1}.pending-indicator{align-items:center;background:#ede9fe;border-radius:50%;color:#7c3aed;display:flex;font-size:.875rem;height:24px;justify-content:center;width:24px}.update-pending,.version-pending{color:#7c3aed;font-weight:500}.update-info.pending{background:#ede9fe;border-color:#c4b5fd}.update-info.pending h3{color:#7c3aed}.update-info.pending .update-note{color:#6d28d9}.upgrade-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:.5rem;border-radius:var(--radius-lg);margin-bottom:1rem;margin-bottom:var(--space-4);padding:1rem;padding:var(--space-4)}.selected-firmware-info{background:#f0fdf4;border:1px solid #86efac;border-radius:.5rem;margin:1rem 0;padding:1rem}.selected-firmware-info h4{color:#166534;margin-bottom:.5rem}.selected-firmware-info p{color:#15803d;font-size:.875rem;margin:0}.devices-page-layout{align-items:flex-start;display:flex;gap:1.5rem;gap:var(--space-6)}.firmware-panel{flex:0 0 30%;max-width:30%;overflow:hidden}.devices-panel,.firmware-panel{background:#fff;background:var(--color-surface,#fff);border:1px solid #e5e7eb;border:var(--border);border-radius:.5rem;border-radius:var(--radius-lg);color:#1f2937;color:var(--color-text,var(--color-gray-800))}.devices-panel{flex:1 1;min-width:0;padding:1.5rem;padding:var(--space-6)}.panel-header{align-items:center;background:#f9fafb;background:var(--color-gray-50);border-bottom:1px solid #e5e7eb;border-bottom:var(--border);display:flex;justify-content:space-between;padding:.75rem 1rem;padding:var(--space-3) var(--space-4)}.panel-header h2{color:#374151;color:var(--color-gray-700);font-size:1rem;font-size:var(--font-size-base);font-weight:600;margin:0}.firmware-compact-list{max-height:calc(100vh - 250px);overflow-y:auto}.firmware-compact-card{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--color-gray-100);padding:.75rem 1rem;padding:var(--space-3) var(--space-4)}.firmware-compact-card:last-child{border-bottom:none}.firmware-compact-card.active{background:#f0fdf4}.firmware-compact-card.inactive{opacity:.7}.firmware-compact-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.firmware-compact-header .firmware-version{color:#1f2937;color:var(--color-gray-800);font-size:.9375rem;font-weight:600}.firmware-compact-header .badge{font-size:.625rem;padding:.125rem .375rem}.firmware-compact-details{display:flex;gap:1rem;gap:var(--space-4);margin-bottom:.25rem;margin-bottom:var(--space-1)}.firmware-compact-details,.firmware-compact-notes{color:#6b7280;color:var(--color-gray-500);font-size:.75rem;font-size:var(--font-size-xs)}.firmware-compact-notes{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;margin-bottom:.5rem;overflow:hidden}.firmware-compact-actions{display:flex;gap:.5rem}@media (max-width:900px){.devices-page-layout{flex-direction:column}.firmware-panel{flex:none;max-width:100%;width:100%}.firmware-compact-list{max-height:300px}}.selected-devices-list{background:#f9fafb;background:var(--color-gray-50);border:1px solid #e5e7eb;border:var(--border);border-radius:.5rem;border-radius:var(--radius-lg);margin-top:1rem;margin-top:var(--space-4);padding:1rem;padding:var(--space-4)}.selected-devices-list h4{color:#374151;color:var(--color-gray-700);font-size:.875rem;font-size:var(--font-size-sm);margin-bottom:.5rem;margin-bottom:var(--space-2)}.selected-devices-list ul{color:#6b7280;color:var(--color-gray-500);font-size:.875rem;font-size:var(--font-size-sm);margin:0;padding-left:1.25rem;padding-left:var(--space-5)}.selected-devices-list li{margin-bottom:.25rem}.statistics-page .page-header{flex-wrap:wrap}.date-range-picker{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;gap:var(--space-4)}.date-range-picker label{align-items:center;color:#6b7280;display:flex;font-size:.875rem;font-size:var(--font-size-sm);gap:.5rem;gap:var(--space-2)}.date-range-picker input[type=date]{border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem}.stats-summary-grid{grid-gap:1rem;grid-gap:var(--space-4);display:grid;gap:1rem;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:2rem;margin-bottom:var(--space-8)}.stat-card{background:#fff;background:var(--color-surface,#fff);border:1px solid #e5e7eb;border:var(--border);border-radius:.5rem;border-radius:var(--radius-lg);color:#1f2937;color:var(--color-text,var(--color-gray-800));padding:1.25rem;padding:var(--space-5);text-align:center}.stat-card.highlight{background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;color:#fff}.stat-card.highlight .stat-label{color:#ffffffd9}.stat-value{color:#1f2937;color:var(--color-gray-800);font-size:2rem;font-weight:700;line-height:1.2}.stat-card.highlight .stat-value{color:#fff}.stat-label{color:#6b7280;color:var(--color-gray-500);font-size:.875rem;font-size:var(--font-size-sm);margin-top:.25rem;margin-top:var(--space-1)}.stats-two-column{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}@media (max-width:1024px){.stats-two-column{grid-template-columns:1fr}}.stats-column{display:flex;flex-direction:column;gap:1.5rem}.stats-section{background:#fff;background:var(--color-surface,#fff);border:1px solid #e5e7eb;border:var(--border);border-radius:.5rem;border-radius:var(--radius-lg);color:#1f2937;color:var(--color-text,var(--color-gray-800));padding:1.25rem;padding:var(--space-5)}.stats-section h2{color:#1f2937;color:var(--color-gray-800);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:600;margin-bottom:.5rem;margin-bottom:var(--space-2)}.stats-subtitle{color:#6b7280;color:var(--color-gray-500);font-size:.875rem;font-size:var(--font-size-sm);margin-bottom:1rem;margin-bottom:var(--space-4)}.hourly-chart{align-items:flex-end;display:flex;gap:.25rem;height:150px;padding-top:1rem}.hour-bar-container{align-items:center;display:flex;flex:1 1;flex-direction:column}.hour-bar{border-radius:.25rem .25rem 0 0;max-width:30px;transition:height .3s ease;width:100%}.hour-label{color:#9ca3af;color:var(--color-gray-400);font-size:.625rem;margin-top:.25rem;margin-top:var(--space-1)}.daily-chart{align-items:flex-end;display:flex;gap:.25rem;height:120px;padding-top:1rem}.day-bar-container{align-items:center;display:flex;flex:1 1;flex-direction:column}.day-bar{background:#4f46e5;background:var(--color-primary);border-radius:.25rem .25rem 0 0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;max-width:24px;transition:height .3s ease;width:100%}.day-label{color:#9ca3af;color:var(--color-gray-400);font-size:.625rem;margin-top:.25rem;margin-top:var(--space-1)}.amenity-stats{display:flex;flex-direction:column;gap:.75rem}.amenity-stat-row{align-items:center;display:flex;gap:.75rem}.amenity-name{color:#374151;color:var(--color-gray-700);flex:0 0 100px;font-size:.875rem;font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amenity-bar-bg{background:#e5e7eb;background:var(--color-gray-200);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.amenity-bar{background:#4f46e5;background:var(--color-primary);border-radius:4px;height:100%;transition:width .3s ease}.amenity-count{color:#6b7280;color:var(--color-gray-500);flex:0 0 40px;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;text-align:right}.table-container.compact{max-height:400px;overflow-y:auto}.table-container.compact .data-table{font-size:.875rem}.table-container.compact .data-table td,.table-container.compact .data-table th{padding:.5rem .75rem}.room-name{color:#1f2937;color:var(--color-gray-800);font-weight:500}.room-floor{color:#9ca3af;color:var(--color-gray-400);font-size:.75rem;font-size:var(--font-size-xs)}.user-name{color:#1f2937;color:var(--color-gray-800);font-weight:500}.user-email{color:#9ca3af;color:var(--color-gray-400);font-size:.75rem;font-size:var(--font-size-xs)}.utilization-cell{align-items:center;display:flex;gap:.5rem}.utilization-bar-bg{background:#e5e7eb;background:var(--color-gray-200);border-radius:3px;flex:1 1;height:6px;min-width:50px;overflow:hidden}.utilization-bar{border-radius:3px;height:100%;transition:width .3s ease}.utilization-value{color:#6b7280;color:var(--color-gray-500);font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;min-width:40px;text-align:right}.underutilized-rooms{display:flex;flex-direction:column;gap:.75rem}.underutilized-room-card{background:#fef3c7;background:var(--color-warning-light);border:1px solid #fcd34d;border-radius:.5rem;border-radius:var(--radius-lg);padding:.75rem;padding:var(--space-3)}.underutilized-room-card .room-info{margin-bottom:.5rem}.underutilized-room-card .room-info strong{color:#92400e;display:block}.underutilized-room-card .room-info span{color:#a16207;font-size:.75rem}.underutilized-room-card .room-stats{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.utilization-low{color:#dc2626;color:var(--color-danger-hover);font-weight:600}.underutilized-room-card .room-amenities{display:flex;flex-wrap:wrap;gap:.25rem}.no-data{color:#6b7280;color:var(--color-gray-500);font-style:italic;padding:1rem;padding:var(--space-4);text-align:center}.devices-by-type{display:flex;flex-direction:column;gap:1.5rem}.device-type-group{background:#f9fafb;background:var(--color-gray-50);border:1px solid #e5e7eb;border:var(--border);border-radius:.5rem;border-radius:var(--radius-lg);padding:1rem;padding:var(--space-4)}.device-type-header{align-items:center;border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--space-4);padding-bottom:.75rem;padding-bottom:var(--space-3)}.device-type-header h3{color:#1f2937;color:var(--color-gray-800);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600;margin:0}.device-count{background:#4f46e5;background:var(--color-primary);color:#fff}.device-count,.device-type-badge{border-radius:9999px;border-radius:var(--badge-radius);font-size:.75rem;font-size:var(--badge-font-size);font-weight:500;font-weight:var(--badge-font-weight);padding:.25rem .625rem;padding:var(--badge-padding)}.device-type-badge{background:#e0e7ff;background:var(--color-primary-light);color:#4338ca;color:var(--color-primary-hover)}.info-box{background:#e0f2fe;border:1px solid #bae6fd;border-radius:.375rem;border-radius:var(--radius-md);color:#0c4a6e;margin-bottom:1rem;margin-bottom:var(--space-4);padding:.75rem;padding:var(--space-3)}.twofa-code-input{font-family:Courier New,monospace;font-size:1.5rem;letter-spacing:.5rem;max-width:260px;padding:.75rem 1rem;text-align:center}.twofa-qr-container{display:flex;justify-content:center;margin:1.5rem 0}.twofa-qr-code{border:2px solid #e5e7eb;border-radius:.5rem;height:200px;width:200px}.twofa-secret-display{margin-bottom:1rem;text-align:center}.twofa-secret-display label{color:#6b7280;display:block;font-size:.875rem;margin-bottom:.25rem}.twofa-secret-code{background:#f3f4f6;border:1px solid #d1d5db;border-radius:.375rem;display:inline-block;font-size:.875rem;letter-spacing:.1rem;padding:.5rem 1rem;-webkit-user-select:all;user-select:all;word-break:break-all}.backup-codes-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);margin:1rem 0}.backup-code{background:#f3f4f6;border:1px solid #d1d5db;border-radius:.375rem;font-family:Courier New,monospace;font-size:.875rem;letter-spacing:.05rem;padding:.5rem;text-align:center}.backup-codes-warning{color:#dc2626;font-size:.875rem;font-weight:500;margin:1rem 0}.twofa-trust-device{margin-top:.5rem}.twofa-trust-device .checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.twofa-status-info p{margin-bottom:.5rem}.status-enabled{color:#059669;font-weight:600}.status-disabled{color:#6b7280;font-weight:600}.page-container{max-width:800px}.card{background:#fff;background:var(--color-surface,#fff);border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);color:#1f2937;color:var(--color-text,var(--color-gray-800));padding:1.5rem;padding:var(--space-6)}.card h2{color:#1f2937;color:var(--color-gray-800);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:600;margin-bottom:.5rem;margin-bottom:var(--space-2)}.empty-message,.empty-state{color:#6b7280;color:var(--color-gray-500);font-style:italic}.devices-page .page-header,.statistics-page .page-header{background:#fff;background:var(--color-surface,#fff);border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);color:#1f2937;color:var(--color-text,var(--color-gray-800));margin-bottom:1.5rem;margin-bottom:var(--space-6);padding:1rem 1.5rem;padding:var(--space-4) var(--space-6)}.mt-4{margin-top:1rem;margin-top:var(--space-4)}.mb-6{margin-bottom:1.5rem;margin-bottom:var(--space-6)}.button-row{display:flex;gap:.5rem;gap:var(--space-2)}.checkbox-row{display:flex;flex-wrap:wrap;gap:1rem;gap:var(--space-4)}.checkbox-row label{align-items:center;display:flex;font-weight:400;gap:.25rem;gap:var(--space-1)}.keep-logged-in{margin-bottom:.5rem;margin-top:-.25rem}.keep-logged-in .checkbox-label{align-items:center;color:#4b5563;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.mobile-room-selector{align-items:center;display:flex;gap:.5rem;gap:var(--space-2);width:100%}.mobile-room-selector label{font-size:.875rem;font-size:var(--font-size-sm);font-weight:600;white-space:nowrap}.mobile-room-selector select{background:#fff;border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:.375rem;border-radius:var(--radius-md);flex:1 1;font-size:.875rem;font-size:var(--font-size-sm);padding:.5rem .75rem;padding:var(--space-2) var(--space-3)}@media (max-width:768px){.app-layout{max-width:100vw}.app-layout,.main-wrapper{overflow-x:hidden;width:100%}.main-wrapper{min-width:0}.main-content{max-width:100%;min-width:0;overflow-x:hidden;padding:.75rem;padding:var(--space-3);width:auto}.admin-rooms-page,.calendar-page,.card,.companies-page,.devices-page,.my-bookings-page,.parks-page,.rooms-page,.section,.settings-page,.statistics-page,.users-page{box-sizing:border-box;max-width:100%;min-width:0;padding:.75rem;padding:var(--space-3);width:100%}.calendar-grid{min-width:0;min-width:auto;width:100%}.calendar-corner,.time-slot-label{box-sizing:border-box;max-width:60px;min-width:60px;width:60px}.calendar-container{padding:.5rem;padding:var(--space-2)}.calendar-legend{display:none}.calendar-header{padding:.75rem;padding:var(--space-3)}.calendar-header h1{font-size:1.125rem;font-size:var(--font-size-lg)}.calendar-nav .btn{font-size:.75rem;font-size:var(--font-size-xs);padding:.5rem .75rem;padding:var(--space-2) var(--space-3)}.page-header{flex-wrap:wrap;gap:.75rem;gap:var(--space-3)}.page-header h1{font-size:1.25rem;font-size:var(--font-size-xl);width:100%}.devices-grid,.rooms-grid{grid-template-columns:1fr}.settings-form{max-width:100%}.form-row{grid-template-columns:1fr}.modal-overlay{padding:0}.modal{border-radius:0;height:100vh;max-height:100vh;max-width:100%}.modal-body{padding:.75rem;padding:var(--space-3)}.modal-footer,.modal-header{padding:.75rem 1rem;padding:var(--space-3) var(--space-4)}.modal-footer{flex-wrap:wrap}.modal-footer .btn{flex:1 1 auto;font-size:.75rem;font-size:var(--font-size-xs);min-width:0;padding:.5rem .75rem;padding:var(--space-2) var(--space-3)}.btn{min-height:44px;min-width:44px}.btn-sm,.btn-small{min-height:44px;padding:.5rem .75rem;padding:var(--space-2) var(--space-3)}.btn-tiny,.btn-xs{min-height:36px;padding:.25rem .75rem;padding:var(--space-1) var(--space-3)}.external-guest-row{flex-wrap:wrap}.external-guest-row input{flex:1 1 100%}.table-container{-webkit-overflow-scrolling:touch;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;width:100%}.data-table{min-width:100%;width:-webkit-max-content;width:max-content}.data-table td,.data-table th{font-size:.75rem;font-size:var(--font-size-xs);padding:.25rem .5rem;padding:var(--space-1) var(--space-2)}.action-buttons{flex-direction:column;gap:.25rem;gap:var(--space-1)}.action-buttons .btn{font-size:.75rem;font-size:var(--font-size-xs);white-space:nowrap}.finder-row{flex-direction:column}.finder-field{min-width:0;min-width:auto;width:100%}.finder-actions{flex-direction:column}.finder-actions .btn{width:100%}.filters{flex-direction:column;gap:.5rem;gap:var(--space-2)}.filter-group{justify-content:center;width:100%}.rooms-search-group .desks-search{margin:0;width:100%}.filter-group select{flex:1 1;width:100%}.devices-toolbar,.selection-bar{flex-wrap:wrap}.devices-page-layout{flex-direction:column}.firmware-panel{flex:none;max-width:100%;width:100%}.firmware-compact-list{max-height:300px}.devices-page .page-header,.statistics-page .page-header{padding:.75rem 1rem;padding:var(--space-3) var(--space-4)}.date-range-picker{align-items:stretch;flex-direction:column;gap:.5rem;gap:var(--space-2)}.setup-card,.setup-card-wide{max-width:100%}.credentials-grid{grid-template-columns:1fr}.stats-column,.stats-two-column{max-width:100%;min-width:0}.stats-section{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.stat-card,.stats-section{min-width:0;padding:.75rem;padding:var(--space-3)}.stats-summary-grid{grid-template-columns:1fr 1fr;max-width:100%;min-width:0}.hourly-chart{min-width:420px}.hourly-chart .hour-bar-container{flex:0 0 28px}.daily-chart{min-width:400px}.daily-chart .day-bar-container{flex:0 0 28px}.amenity-stat-row{min-width:0}.amenity-name{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-card-body,.booking-card-footer,.booking-card-header,.room-card-body,.room-card-footer,.room-card-header{padding:.75rem;padding:var(--space-3)}.device-card{flex-direction:column}.device-actions{flex-wrap:wrap;width:100%}.device-token code{font-size:.625rem;word-break:break-all}.amenities-grid,.companies-grid{grid-template-columns:1fr}.booking-card-header,.device-header,.firmware-compact-details,.firmware-details,.firmware-header,.page-header{min-width:0}.page-header h1,.section h2,.settings-section h2{overflow-wrap:break-word;word-break:break-word}}.receptionist-page{background:#fff;background:var(--color-surface,#fff);border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);color:#1f2937;color:var(--color-text,var(--color-gray-800));padding:1.5rem;padding:var(--space-6)}.receptionist-page .page-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;gap:var(--space-4);justify-content:space-between;margin-bottom:1.5rem;margin-bottom:var(--space-6)}.receptionist-page .date-picker{align-items:center;display:flex;gap:.5rem;gap:var(--space-2)}.receptionist-page .date-picker input[type=date]{border:1px solid #e5e7eb;border:var(--border);border-radius:.375rem;border-radius:var(--radius-md);font-size:.875rem;font-size:var(--font-size-sm);padding:.4rem .625rem}.guest-summary{grid-gap:1rem;grid-gap:var(--space-4);display:grid;gap:1rem;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:1.5rem;margin-bottom:var(--space-6)}.summary-card{background:#f9fafb;background:var(--color-gray-50);border:1px solid #e5e7eb;border:var(--border);border-radius:.5rem;border-radius:var(--radius-lg);padding:1rem;padding:var(--space-4);text-align:center}.summary-card .summary-number{color:#1f2937;color:var(--color-gray-800);font-size:1.5rem;font-size:var(--font-size-2xl);font-weight:700}.summary-card .summary-label{color:#6b7280;color:var(--color-gray-500);font-size:.75rem;font-size:var(--font-size-xs);letter-spacing:.05em;margin-top:.25rem;margin-top:var(--space-1);text-transform:uppercase}.summary-card.summary-pending{border-left:3px solid #f59e0b;border-left:3px solid var(--color-warning)}.summary-card.summary-checked-in{border-left:3px solid #10b981;border-left:3px solid var(--color-success)}.summary-card.summary-checked-out{border-left:3px solid #9ca3af;border-left:3px solid var(--color-gray-400)}.company-group{margin-bottom:1.5rem;margin-bottom:var(--space-6)}.company-group-header{border-bottom:2px solid #4f46e5;border-bottom:2px solid var(--color-primary);color:#1f2937;color:var(--color-gray-800);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:600;margin-bottom:.75rem;margin-bottom:var(--space-3);padding:.5rem 0;padding:var(--space-2) 0}.company-guest-count{color:#6b7280;color:var(--color-gray-500);font-size:.875rem;font-size:var(--font-size-sm);font-weight:400}.guest-status{border-radius:9999px;border-radius:var(--radius-full);display:inline-block;font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;padding:.15rem .5rem;white-space:nowrap}.guest-status.pending{background:#fef3c7;background:var(--color-warning-light);color:#d97706;color:var(--color-warning-hover)}.guest-status.checked-in{background:#d1fae5;background:var(--color-success-light);color:#059669;color:var(--color-success-hover)}.guest-status.checked-out{background:#e5e7eb;background:var(--color-gray-200);color:#4b5563;color:var(--color-gray-600)}.row-checked-out{opacity:.6}.row-checked-in{background:#d1fae5!important;background:var(--color-success-light)!important}.row-overstay-meeting{background:#fef3c7!important;background:var(--color-warning-light)!important}.row-overstay-closing{background:#fee2e2!important;background:var(--color-danger-light)!important}.btn-success{background:#10b981;background:var(--color-success);border:none;border-radius:.375rem;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:.75rem;font-size:var(--font-size-xs);padding:.35rem .75rem;transition:background .15s}.btn-success:hover{background:#059669;background:var(--color-success-hover)}.empty-state{color:#6b7280;color:var(--color-gray-500);padding:2rem 1rem;padding:var(--space-8) var(--space-4);text-align:center}.role-badge.receptionist{background:#dbeafe;background:var(--color-info-light);color:#2563eb;color:var(--color-info-hover)}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:.875rem;font-size:var(--font-size-sm);gap:.5rem;gap:var(--space-2)}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.system-banner{align-items:center;display:flex;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;gap:1rem;gap:var(--space-4);justify-content:space-between;line-height:1.5;padding:10px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:99}.system-banner--info{background:#dbeafe;border-bottom:1px solid #93c5fd;color:#1e40af}.system-banner--warning{background:#fef9c3;border-bottom:1px solid #fde047;color:#854d0e}.system-banner--critical{background:#fee2e2;border-bottom:1px solid #fca5a5;color:#991b1b}.system-banner-message{flex:1 1;overflow:hidden}@keyframes banner-marquee{0%{transform:translateX(0)}to{transform:translateX(-100%)}}.system-banner-text{animation:banner-marquee 25s linear infinite;display:inline-block;padding-left:100%;white-space:nowrap}.system-banner-dismiss{background:none;border:none;color:inherit;cursor:pointer;flex-shrink:0;font-size:20px;line-height:1;opacity:.6;padding:0 4px}.system-banner-dismiss:hover{opacity:1}@media (max-width:768px){.top-bar{left:0;position:fixed;right:0}.main-wrapper{padding-top:56px}.system-banner{left:0;position:fixed;right:0;top:56px}.has-banner .main-content{padding-top:calc(.75rem + 41px);padding-top:calc(var(--space-3) + 41px)}}.toast-container{bottom:1.5rem;bottom:var(--space-6);display:flex;flex-direction:column;gap:.5rem;gap:var(--space-2);max-width:360px;position:fixed;right:1.5rem;right:var(--space-6);width:calc(100vw - 3rem);width:calc(100vw - var(--space-6)*2);z-index:9000}.toast{align-items:flex-start;animation:toast-in .2s ease;border-radius:.375rem;border-radius:var(--radius-md);box-shadow:0 10px 40px #0003;box-shadow:var(--shadow-lg);display:flex;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;gap:.75rem;gap:var(--space-3);padding:.75rem 1rem;padding:var(--space-3) var(--space-4)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast--success{background:#10b981;background:var(--color-success);color:#fff}.toast--error{background:#ef4444;background:var(--color-danger);color:#fff}.toast--warning{background:#f59e0b;background:var(--color-warning);color:#fff}.toast--info{background:#3b82f6;background:var(--color-info);color:#fff}.toast-message{flex:1 1;line-height:1.4}.toast-dismiss{background:none;border:none;color:inherit;cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;opacity:.8;padding:0}.toast-dismiss:hover{opacity:1}.tab-nav{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);gap:.25rem;gap:var(--space-1);margin-bottom:1.5rem;margin-bottom:var(--space-6)}.tab-btn{color:#6b7280;color:var(--color-gray-500);font-size:var(--font-size-sm);font-weight:500;margin-bottom:-1px;padding:var(--space-2) var(--space-4);white-space:nowrap}.tab-btn:hover{color:#374151;color:var(--color-gray-700)}.tab-btn--active{border-bottom-color:#4f46e5;border-bottom-color:var(--color-primary);color:#4f46e5;color:var(--color-primary)}.calendar-day-header.today{background:#eef2ff;background:var(--color-primary-lighter);border-radius:.25rem;border-radius:var(--radius-sm);color:#4f46e5;color:var(--color-primary);font-weight:700}.time-slot.today-column:not(.past){background:#4f46e508}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{border-radius:.375rem;border-radius:var(--radius-md)}.skeleton,.skeleton-text{animation:skeleton-pulse 1.5s ease-in-out infinite;background:#e5e7eb;background:var(--color-gray-200)}.skeleton-text{border-radius:.25rem;border-radius:var(--radius-sm);height:1em}.skeleton-calendar{grid-gap:1px;background:#e5e7eb;background:var(--border-color);border-radius:.375rem;border-radius:var(--radius-md);display:grid;gap:1px;min-height:400px;overflow:hidden}.skeleton-calendar-cell{background:#fff;min-height:60px}.ddp{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);display:inline-flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;gap:0;max-width:320px;padding:.75rem .875rem .625rem;-webkit-user-select:none;user-select:none;width:100%}.ddp__mode-row{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.75rem}.ddp__mode-toggle{border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-md);display:inline-flex;flex-shrink:0;overflow:hidden}.ddp__mode-btn{background:#0000;border:none;color:#6b7280;color:var(--color-text-muted);cursor:pointer;font-size:.8125rem;font-weight:500;line-height:1.4;padding:.3125rem .75rem;transition:background .15s,color .15s;white-space:nowrap}.ddp__mode-btn:hover:not(.ddp__mode-btn--active){background:#f3f4f6;background:var(--color-gray-100);color:#1f2937;color:var(--color-text)}.ddp__mode-btn--active{background:#4f46e5;background:var(--color-primary);color:#fff}.ddp__quota-pill{background:#eef2ff;background:var(--color-primary-lighter);border-radius:9999px;color:#4f46e5;color:var(--color-primary);flex-shrink:0;font-size:.75rem;font-weight:500;padding:.1875rem .5rem;white-space:nowrap}.ddp__quota-pill--low{background:#fef3c7;background:var(--color-warning-light);color:#d97706;color:var(--color-warning-hover)}.ddp__quota-pill--empty{background:#fee2e2;background:var(--color-danger-light);color:#dc2626;color:var(--color-danger-hover)}.ddp__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.ddp__month-label{color:#1f2937;color:var(--color-text);font-size:.9375rem;font-weight:600;letter-spacing:-.01em}.ddp__nav-btn{align-items:center;background:#0000;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-md);color:#6b7280;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:background .15s,color .15s,border-color .15s;width:28px}.ddp__nav-btn:hover{background:#f3f4f6;background:var(--color-gray-100);border-color:#d1d5db;border-color:var(--color-gray-300);color:#1f2937;color:var(--color-text)}.ddp__nav-btn:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--color-primary);outline-offset:2px}.ddp__grid{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(7,1fr);margin-bottom:.25rem}.ddp__weekday{color:#6b7280;color:var(--color-text-muted);font-size:.6875rem;font-weight:600;height:28px;letter-spacing:.04em;text-transform:uppercase}.ddp__cell,.ddp__weekday{align-items:center;display:flex;justify-content:center}.ddp__cell{background:#0000;cursor:default;height:38px;position:relative}.ddp__cell--empty{pointer-events:none}.ddp__cell--interactive{cursor:pointer}.ddp__cell--interactive:hover .ddp__day-inner{background:#f3f4f6;background:var(--color-gray-100)}.ddp__cell--interactive:focus-visible{outline:none}.ddp__cell--interactive:focus-visible .ddp__day-inner{outline:2px solid #4f46e5;outline:2px solid var(--color-primary);outline-offset:0}.ddp__day-inner{align-items:center;border-radius:50%;color:#1f2937;color:var(--color-text);display:flex;font-size:.875rem;font-weight:400;height:34px;justify-content:center;line-height:1;position:relative;transition:background .12s,color .12s;width:34px;z-index:1}.ddp__cell--past .ddp__day-inner{color:#9ca3af;color:var(--color-gray-400);cursor:not-allowed}.ddp__cell--past:hover .ddp__day-inner{background:#0000}.ddp__cell--today .ddp__day-inner{font-weight:600}.ddp__cell--today:not(.ddp__cell--start):not(.ddp__cell--end):not(.ddp__cell--middle):not(.ddp__cell--hover-mid) .ddp__day-inner{box-shadow:0 0 0 1.5px #4f46e5;box-shadow:0 0 0 1.5px var(--color-primary);color:#4f46e5;color:var(--color-primary)}.ddp__cell--end .ddp__day-inner,.ddp__cell--start .ddp__day-inner{background:#4f46e5;background:var(--color-primary);color:#fff;font-weight:600}.ddp__cell--end:hover .ddp__day-inner,.ddp__cell--start:hover .ddp__day-inner{background:#4338ca;background:var(--color-primary-hover)}.ddp__cell--hover-mid,.ddp__cell--middle{background:#0000}.ddp__cell--hover-mid:before,.ddp__cell--middle:before{background:#eef2ff;background:var(--color-primary-lighter);content:"";inset:3px 0;position:absolute;z-index:0}.ddp__cell--hover-mid .ddp__day-inner,.ddp__cell--middle .ddp__day-inner{background:#0000;color:#4f46e5;color:var(--color-primary);font-weight:500}.ddp__cell--hover-mid:before{background:color-mix(in srgb,#eef2ff 65%,#0000);background:color-mix(in srgb,var(--color-primary-lighter) 65%,#0000)}.ddp__cell--cap-left:before{inset:3px 0 3px 50%}.ddp__cell--cap-left:before,.ddp__cell--cap-right:before{background:#eef2ff;background:var(--color-primary-lighter);content:"";position:absolute;z-index:0}.ddp__cell--cap-right:before{inset:3px 50% 3px 0}.ddp__booked-dot{background:#4f46e5;background:var(--color-primary);border-radius:50%;bottom:3px;height:4px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);width:4px;z-index:2}.ddp__cell--end .ddp__booked-dot,.ddp__cell--start .ddp__booked-dot{background:#fffc}.ddp__quota-warning{align-items:center;background:#fef3c7;background:var(--color-warning-light);border-radius:.375rem;border-radius:var(--radius-md);color:#d97706;color:var(--color-warning-hover);display:flex;font-size:.75rem;font-weight:500;gap:.375rem;margin-top:.375rem;padding:.3125rem .625rem}.ddp__quota-warning--empty{background:#fee2e2;background:var(--color-danger-light);color:#dc2626;color:var(--color-danger-hover)}.ddp__summary{align-items:center;border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color);display:flex;gap:.5rem;justify-content:space-between;margin-top:.625rem;min-height:28px;padding-top:.625rem}.ddp__summary-text{color:#1f2937;color:var(--color-text);font-size:.8125rem;font-weight:500;line-height:1.4}.ddp__clear-btn{background:#e5e7eb;background:var(--color-gray-200);border:none;border-radius:.375rem;border-radius:var(--radius-md);color:#374151;color:var(--color-gray-700);cursor:pointer;flex-shrink:0;font-size:.75rem;font-weight:500;line-height:1.4;padding:.1875rem .5625rem;transition:background .15s}.ddp__clear-btn:hover{background:#d1d5db;background:var(--color-gray-300)}[data-theme=dark] .ddp{background:#fff;background:var(--color-surface);border-color:color-mix(in srgb,#4f46e5 35%,#e5e7eb);border-color:color-mix(in srgb,var(--color-primary) 35%,var(--border-color))}[data-theme=dark] .ddp__cell--cap-left:before,[data-theme=dark] .ddp__cell--cap-right:before,[data-theme=dark] .ddp__cell--middle:before{background:#6366f152}[data-theme=dark] .ddp__cell--hover-mid:before{background:#6366f12e}[data-theme=dark] .ddp__cell--hover-mid .ddp__day-inner,[data-theme=dark] .ddp__cell--middle .ddp__day-inner{color:#4338ca;color:var(--color-primary-hover)}[data-theme=dark] .ddp__cell--today:not(.ddp__cell--start):not(.ddp__cell--end):not(.ddp__cell--middle):not(.ddp__cell--hover-mid) .ddp__day-inner{box-shadow:0 0 0 2px #4338ca;box-shadow:0 0 0 2px var(--color-primary-hover);color:#4338ca;color:var(--color-primary-hover)}[data-theme=dark] .ddp__cell--interactive:hover .ddp__day-inner,[data-theme=dark] .ddp__clear-btn{background:#e5e7eb;background:var(--color-gray-200)}[data-theme=dark] .ddp__clear-btn{color:#374151;color:var(--color-gray-700)}[data-theme=dark] .ddp__clear-btn:hover{background:#d1d5db;background:var(--color-gray-300)}@media (prefers-reduced-motion:reduce){.ddp__clear-btn,.ddp__day-inner,.ddp__mode-btn,.ddp__nav-btn{transition:none}}@media (max-width:400px){.ddp{max-width:100%;padding:.625rem .5rem}.ddp__day-inner{font-size:.8125rem;height:30px;width:30px}.ddp__cell{height:34px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) .ddp{border-color:color-mix(in srgb,#6366f1 35%,#475569)}:root:not([data-theme=light]):not([data-theme=dark]) .ddp__cell--cap-left:before,:root:not([data-theme=light]):not([data-theme=dark]) .ddp__cell--cap-right:before,:root:not([data-theme=light]):not([data-theme=dark]) .ddp__cell--middle:before{background:#6366f152}:root:not([data-theme=light]):not([data-theme=dark]) .ddp__cell--hover-mid:before{background:#6366f12e}:root:not([data-theme=light]):not([data-theme=dark]) .ddp__cell--hover-mid .ddp__day-inner,:root:not([data-theme=light]):not([data-theme=dark]) .ddp__cell--middle .ddp__day-inner{color:#818cf8}:root:not([data-theme=light]):not([data-theme=dark]) .ddp__cell--today:not(.ddp__cell--start):not(.ddp__cell--end):not(.ddp__cell--middle):not(.ddp__cell--hover-mid) .ddp__day-inner{box-shadow:0 0 0 2px #818cf8;color:#818cf8}}.dp{display:block;position:relative;width:100%}.dp__trigger{align-items:center;background:#fff;background:var(--color-input-bg);border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:.375rem;border-radius:var(--radius-md);color:#1f2937;color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;gap:.5rem;padding:.5rem .625rem;text-align:left;transition:border-color .2s,box-shadow .2s;width:100%}.dp__trigger--open,.dp__trigger:hover{border-color:#4f46e5;border-color:var(--color-primary)}.dp__trigger--open{box-shadow:0 0 0 3px #4f46e526;box-shadow:0 0 0 3px var(--color-focus-ring)}.dp__icon{flex-shrink:0}.dp__icon,.dp__placeholder{color:#6b7280;color:var(--color-text-muted)}.dp__popup{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--radius-lg);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md);min-width:280px;padding:.75rem .875rem .625rem;-webkit-user-select:none;user-select:none}[data-theme=dark] .dp__trigger{background:#fff;background:var(--color-input-bg);border-color:#e5e7eb;border-color:var(--border-color);color:#1f2937;color:var(--color-text)}[data-theme=dark] .dp__trigger--open,[data-theme=dark] .dp__trigger:hover{border-color:#4f46e5;border-color:var(--color-primary)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) .dp__trigger{background:#334155;border-color:#475569;color:#f1f5f9}:root:not([data-theme=light]):not([data-theme=dark]) .dp__trigger--open,:root:not([data-theme=light]):not([data-theme=dark]) .dp__trigger:hover{border-color:#6366f1}:root:not([data-theme=light]):not([data-theme=dark]) .dp__popup{background:#1e293b;border-color:#475569}}.desks-layout{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:320px 1fr;margin-bottom:2rem}.desks-sidebar{align-self:start;position:-webkit-sticky;position:sticky;top:1rem}.desks-main{min-width:0}.desks-quota-card{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:.875rem 1rem}.desks-quota-card__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.625rem}.desks-quota-card__title{color:#6b7280;color:var(--color-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.desks-quota-card__badge{background:#eef2ff;background:var(--color-primary-lighter);border-radius:9999px;border-radius:var(--radius-full);color:#4f46e5;color:var(--color-primary);font-size:.7rem;font-weight:600;padding:.1rem .45rem}.desks-quota-card__main{align-items:baseline;display:flex;gap:.375rem;margin-bottom:.625rem}.desks-quota-card__big-number{font-feature-settings:"tnum";color:#4f46e5;color:var(--color-primary);font-size:2rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.desks-quota-card__big-number--low{color:#f59e0b}.desks-quota-card__big-number--zero{color:#ef4444}.desks-quota-card__sub{color:#6b7280;color:var(--color-text-muted);font-size:.8125rem}.desks-quota-bar{background:#e5e7eb;background:var(--color-gray-200);height:6px;margin-bottom:.375rem;overflow:hidden}.desks-quota-bar,.desks-quota-bar__fill{border-radius:9999px;border-radius:var(--radius-full)}.desks-quota-bar__fill{background:#4f46e5;background:var(--color-primary);height:100%;min-width:0;transition:width .4s ease}.desks-quota-bar__fill--low{background:#f59e0b}.desks-quota-bar__fill--full{background:#ef4444}.desks-quota-card__used{color:#6b7280;color:var(--color-text-muted);font-size:.75rem;margin:0}.desks-quota-card__warning{color:#ef4444;font-size:.75rem;font-weight:600;margin-top:.4rem}[data-theme=dark] .desks-quota-card__badge{background:#6366f126;color:#4338ca;color:var(--color-primary-hover)}[data-theme=dark] .desks-quota-bar{background:#e5e7eb;background:var(--color-gray-200)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) .desks-quota-card__badge{background:#6366f126;color:#818cf8}}.desks-feature-filter{background:#fff;background:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);padding:.75rem .875rem}.desks-feature-filter__label{color:#6b7280;color:var(--color-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;margin:0 0 .5rem;text-transform:uppercase}.desks-feature-filter__chips{display:flex;flex-direction:column;gap:.375rem}@media (min-width:769px) and (max-width:1024px){.desks-layout{gap:1.25rem;grid-template-columns:280px 1fr}}@media (max-width:768px){.desks-layout{grid-template-columns:1fr}.desks-sidebar{position:static}}.form-input{background:#fff;background:var(--color-input-bg);border:1px solid #d1d5db;border:1px solid var(--color-gray-300);border-radius:.375rem;border-radius:var(--radius-md);color:#1f2937;color:var(--color-text);display:block;font-family:inherit;font-size:.875rem;line-height:1.5;padding:.5rem .75rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-input::placeholder{color:#6b7280;color:var(--color-text-muted)}.form-input:focus{border-color:#4f46e5;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e526;box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.desks-search{margin-bottom:1rem;margin-top:.75rem;position:relative}.desks-search:before{background:currentColor;content:"";height:14px;left:.65rem;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='6.5' cy='6.5' r='4.5' stroke='currentColor'/%3E%3Cpath d='m10 10 3 3' stroke='currentColor'/%3E%3C/svg%3E") no-repeat center /contain;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='6.5' cy='6.5' r='4.5' stroke='currentColor'/%3E%3Cpath d='m10 10 3 3' stroke='currentColor'/%3E%3C/svg%3E") no-repeat center /contain;opacity:.4;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:14px}.desks-search .form-input{padding-left:2rem}.desks-feature-filter__chips .amenity-checkbox-label{background:#f9fafb;background:var(--color-surface-2);border-color:#d1d5db;border-color:var(--color-gray-300);border-radius:.375rem;border-radius:var(--radius-md);color:#1f2937;color:var(--color-text);gap:.5rem;justify-content:flex-start;padding:.4rem .75rem;width:100%}.desks-feature-filter__chips .amenity-checkbox-label:hover{background:#f3f4f6;background:var(--color-gray-100);border-color:#4f46e5;border-color:var(--color-primary)}.desks-feature-filter__chips .amenity-checkbox-label:has(input:checked){background:#eef2ff;background:var(--color-primary-lighter);border-color:#4f46e5;border-color:var(--color-primary);color:#4f46e5;color:var(--color-primary);font-weight:500}[data-theme=dark] .desks-feature-filter__chips .amenity-checkbox-label{background:#fff;background:var(--color-input-bg);border-color:#e5e7eb;border-color:var(--border-color);color:#1f2937;color:var(--color-text)}[data-theme=dark] .desks-feature-filter__chips .amenity-checkbox-label:hover{background:#e5e7eb;background:var(--color-gray-200);border-color:#4f46e5;border-color:var(--color-primary)}[data-theme=dark] .desks-feature-filter__chips .amenity-checkbox-label:has(input:checked){background:#6366f12e;border-color:#4f46e5;border-color:var(--color-primary);color:#4338ca;color:var(--color-primary-hover)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]) .desks-feature-filter__chips .amenity-checkbox-label{background:#334155;border-color:#475569;color:#f1f5f9}:root:not([data-theme=light]):not([data-theme=dark]) .desks-feature-filter__chips .amenity-checkbox-label:hover{background:#475569;border-color:#6366f1}:root:not([data-theme=light]):not([data-theme=dark]) .desks-feature-filter__chips .amenity-checkbox-label:has(input:checked){background:#6366f12e;border-color:#6366f1;color:#818cf8}:root:not([data-theme=light]):not([data-theme=dark]) .amenity-checkbox-label{background:#334155;border-color:#475569;color:#f1f5f9}:root:not([data-theme=light]):not([data-theme=dark]) .amenity-checkbox-label:hover{background:#475569;border-color:#6366f1}:root:not([data-theme=light]):not([data-theme=dark]) .amenity-checkbox-label:has(input:checked){background:#6366f12e;border-color:#6366f1;color:#818cf8}:root:not([data-theme=light]):not([data-theme=dark]) .finder-active-badge{background:#10b98126;color:#6ee7b7}:root:not([data-theme=light]):not([data-theme=dark]) .finder-status{background:#10b9811a;border-color:#10b98140;color:#94a3b8}}.desks-pagination{flex-wrap:wrap;gap:.25rem;margin-top:1.25rem}.desks-pagination,.desks-pagination__btn{align-items:center;display:flex;justify-content:center}.desks-pagination__btn{font-size:1.1rem;height:2rem;line-height:1;padding:0;width:2rem}.desks-pagination__page{background:#0000;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius);color:#1f2937;color:var(--color-text);cursor:pointer;font-size:.875rem;height:2rem;min-width:2rem;padding:0 .375rem;transition:background .15s,border-color .15s}.desks-pagination__page:hover:not(.desks-pagination__page--active){background:#f3f4f6;background:var(--color-gray-100,#f3f4f6)}.desks-pagination__page--active{background:#4f46e5;background:var(--color-primary);border-color:#4f46e5;border-color:var(--color-primary);color:#fff;cursor:default;font-weight:600}[data-theme=dark] .desks-pagination__page:hover:not(.desks-pagination__page--active){background:#e5e7eb;background:var(--color-gray-200)}.modal.modal-bulk{display:flex;flex-direction:column;max-height:90vh;max-width:860px;width:90vw}.modal.modal-bulk .modal-body{flex:1 1;overflow-y:auto;padding:1.25rem 1.5rem}.bulk-import-steps{align-items:center;background:var(--bg-secondary);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);display:flex;gap:0;padding:.875rem 1.5rem}.bulk-import-step{align-items:center;color:var(--text-muted);display:flex;gap:.5rem}.bulk-import-step__circle{align-items:center;background:var(--bg-primary);border:2px solid #e5e7eb;border:2px solid var(--border-color);border-radius:50%;display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:26px;justify-content:center;width:26px}.bulk-import-step__label{font-size:.8125rem;white-space:nowrap}.bulk-import-step--active .bulk-import-step__circle{background:var(--primary);border-color:var(--primary);color:#fff}.bulk-import-step--active .bulk-import-step__label{color:var(--text-primary);font-weight:600}.bulk-import-step--complete .bulk-import-step__circle{background:#22c55e;background:var(--success,#22c55e);border-color:#22c55e;border-color:var(--success,#22c55e);color:#fff}.bulk-import-step--complete .bulk-import-step__label{color:var(--text-secondary)}.bulk-import-step-connector{background:#e5e7eb;background:var(--border-color);flex:1 1;height:2px;margin:0 .5rem;min-width:24px}.bulk-import-step-connector--done{background:#22c55e;background:var(--success,#22c55e)}.tab-nav{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-color);display:flex;gap:0;margin-bottom:1.25rem}.tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.875rem;margin-bottom:-2px;padding:.5rem 1rem;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text-primary)}.tab-btn--active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.bulk-import-settings{background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;gap:.625rem;margin-bottom:1rem;padding:.875rem 1rem}.form-group--inline{align-items:center;display:flex;gap:.75rem;margin:0}.form-group--inline label{font-size:.875rem;font-weight:500;margin:0;min-width:100px;white-space:nowrap}.form-group--inline select{flex:1 1;max-width:300px}.bulk-import-banner{background:var(--bg-secondary);border-left:3px solid var(--primary);border-radius:4px;color:var(--text-primary);font-size:.875rem;margin-bottom:1rem;padding:.625rem .875rem}.bulk-import-hint{color:var(--text-muted);font-size:.8125rem;margin-top:.625rem}.bulk-import-hint code{background:var(--bg-tertiary);border-radius:3px;font-size:.8em;padding:.1em .35em}.btn-link{background:none;border:none;color:var(--primary);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.btn-link:hover{opacity:.8}.csv-drop-zone{border:2px dashed #e5e7eb;border:2px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;padding:2rem;text-align:center;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.csv-drop-zone--active,.csv-drop-zone:hover{background:var(--bg-secondary);border-color:var(--primary)}.csv-drop-zone__icon{color:var(--text-muted);font-size:2rem;margin-bottom:.5rem}.csv-drop-zone p{font-size:.9rem;margin:.25rem 0 .75rem}.csv-file-chip{align-items:center;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:20px;display:inline-flex;font-size:.875rem;gap:.5rem;padding:.35rem .75rem}.bulk-import-paste{background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-primary);font-family:monospace;font-family:var(--font-mono,monospace);font-size:.8125rem;min-height:160px;padding:.75rem;resize:vertical;width:100%}.bulk-import-paste:focus{border-color:var(--primary);outline:none}.bulk-import-table-wrap{border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;overflow-x:auto}.bulk-import-manual-table{border-collapse:collapse;font-size:.875rem;width:100%}.bulk-import-manual-table td,.bulk-import-manual-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);padding:.4rem .5rem;text-align:left}.bulk-import-manual-table th{background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;font-weight:600}.bulk-import-manual-table__num{color:var(--text-muted);text-align:center;width:2rem}.manual-entry-input{background:#0000;border:1px solid #0000;border-radius:4px;box-sizing:border-box;color:var(--text-primary);font-size:.875rem;min-width:100px;padding:.3rem .5rem;transition:border-color .15s,background .15s;width:100%}.manual-entry-input:focus,.manual-entry-input:hover{background:var(--bg-primary);border-color:#e5e7eb;border-color:var(--border-color);outline:none}.manual-entry-input:focus{border-color:var(--primary)}.manual-entry-input.input-error{background:var(--bg-primary);border-color:var(--danger)}tr.row-error{background:color-mix(in srgb,var(--danger) 8%,#0000)}tr.row-warning{background:color-mix(in srgb,#f59e0b 8%,#0000)}.bulk-import-summary{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.875rem}.bulk-import-results{padding:.5rem 0}.results-hero{padding:1.5rem 0 1rem;text-align:center}.results-hero__number{font-size:3.5rem;font-weight:700;line-height:1}.results-hero__label{color:var(--text-secondary);font-size:1rem;margin-top:.25rem}.results-error-list{border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;margin-top:.75rem;max-height:220px;overflow-y:auto;padding:0 .75rem}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[data-theme=dark] .bulk-import-paste,[data-theme=dark] .csv-drop-zone{background:var(--bg-secondary)}[data-theme=dark] tr.row-error{background:color-mix(in srgb,var(--danger) 12%,#0000)}[data-theme=dark] tr.row-warning{background:color-mix(in srgb,#f59e0b 12%,#0000)}@media (max-width:600px){.modal.modal-bulk{border-radius:0;max-height:100vh;max-width:100vw;width:100vw}.bulk-import-step__label{display:none}.bulk-import-steps{justify-content:center}}
/*# sourceMappingURL=main.bdacd011.css.map*/