:root{--color-primary: #1e3a8a;--color-primary-light: #3b82f6;--color-success: #15803d;--color-success-light: #22c55e;--color-danger: #b91c1c;--color-danger-light: #ef4444;--color-warning: #b45309;--color-warning-light: #f59e0b;--bg-app: #f1f5f9;--bg-surface: #ffffff;--border-color: #cbd5e1;--text-primary: #0f172a;--text-secondary: #475569;--text-on-primary: #ffffff;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--radius-main: 12px;--shadow-main: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-focus: 0 0 0 3px rgba(59, 130, 246, .35);--bg-main: var(--bg-app);--bg-card: var(--bg-surface);--text-main: var(--text-primary);--text-muted: var(--text-secondary);--primary-blue: var(--color-primary-light);--primary-green: var(--color-success-light)}body.dark-theme{--color-primary: #3b82f6;--color-primary-light: #60a5fa;--color-success: #22c55e;--color-success-light: #4ade80;--color-danger: #ef4444;--color-danger-light: #f87171;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--bg-app: #0f172a;--bg-surface: #1e293b;--border-color: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-on-primary: #0f172a;--shadow-main: 0 4px 12px rgba(0, 0, 0, .4);--shadow-hover: 0 12px 24px rgba(0, 0, 0, .55);--shadow-focus: 0 0 0 3px rgba(96, 165, 250, .4);--bg-main: var(--bg-app);--bg-card: var(--bg-surface);--text-main: var(--text-primary);--text-muted: var(--text-secondary);--primary-blue: var(--color-primary-light);--primary-green: var(--color-success-light)}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-app);color:var(--text-primary);font-size:var(--font-size-base);transition:background-color .25s ease,color .25s ease}.app-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-main);box-shadow:var(--shadow-main);padding:1.5rem;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.app-card.interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--color-primary-light)}.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-warning{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:var(--font-size-base);font-weight:600;border-radius:var(--radius-main);border:1px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000d}.btn-primary{background-color:var(--color-primary);color:var(--text-on-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-light);transform:translateY(-1px);box-shadow:var(--shadow-main)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn-secondary{background-color:transparent;border-color:var(--border-color);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-app);border-color:var(--text-secondary);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn-success{background-color:var(--color-success);color:var(--text-on-primary)}.btn-success:hover:not(:disabled){background-color:var(--color-success-light);transform:translateY(-1px)}.btn-success:active:not(:disabled){transform:translateY(0)}.btn-danger{background-color:var(--color-danger);color:var(--text-on-primary)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-light);transform:translateY(-1px)}.btn-warning{background-color:var(--color-warning);color:var(--text-on-primary)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-light);transform:translateY(-1px)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}.app-input,.app-select{width:100%;padding:.75rem 1rem;font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-main);box-shadow:0 1px 2px #00000003 inset;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,background-color .15s ease-in-out;box-sizing:border-box}.app-input:focus,.app-select:focus{outline:none;border-color:var(--color-primary-light);box-shadow:var(--shadow-focus);background-color:var(--bg-surface)}.app-input::placeholder{color:var(--text-secondary);opacity:.65}.app-input:disabled,.app-select:disabled{background-color:var(--bg-app);color:var(--text-secondary);cursor:not-allowed;opacity:.65}body.dark-theme .form-card,body.dark-theme .desks-card,body.dark-theme .card,body.dark-theme .panel-card,body.dark-theme .list-card,body.dark-theme .chart-card,body.dark-theme .modal-card,body.dark-theme .mobile-booking-card,body.dark-theme .kpi-card,body.dark-theme .filters-card,body.dark-theme .uploader-card,body.dark-theme .config-card,body.dark-theme .tools-card{background-color:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important;box-shadow:var(--shadow-main)!important}body.dark-theme h1,body.dark-theme h2,body.dark-theme h3,body.dark-theme h4,body.dark-theme strong,body.dark-theme th{color:var(--text-primary)!important}body.dark-theme p,body.dark-theme span:not(.kpi-value):not(.badge):not(.shift-badge):not(.status-badge):not(.preview-tag):not(.color-pill):not(.role-pill),body.dark-theme label,body.dark-theme td,body.dark-theme .help-text{color:var(--text-secondary)!important}body.dark-theme .form-control{background-color:var(--bg-app)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}body.dark-theme .user-badge,body.dark-theme .addon,body.dark-theme .preview-box,body.dark-theme .test-email-box,body.dark-theme .zones-checkbox-list,body.dark-theme .table-container,body.dark-theme .bookings-table,body.dark-theme .admin-table,body.dark-theme .zones-table,body.dark-theme .preview-tag-more{background-color:var(--bg-app)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}body.dark-theme .bookings-table th,body.dark-theme .admin-table th,body.dark-theme .zones-table th,body.dark-theme .users-table th,body.dark-theme .desks-table th{background-color:#1e293b!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}body.dark-theme .bookings-table td,body.dark-theme .admin-table td,body.dark-theme .zones-table td,body.dark-theme .users-table td,body.dark-theme .desks-table td,body.dark-theme .bookings-table tr,body.dark-theme .admin-table tr,body.dark-theme .zones-table tr,body.dark-theme .users-table tr,body.dark-theme .desks-table tr{color:var(--text-primary)!important;border-color:var(--border-color)!important;background-color:var(--bg-surface)!important}body.dark-theme .bookings-table tr:hover,body.dark-theme .admin-table tr:hover,body.dark-theme .zones-table tr:hover,body.dark-theme .users-table tr:hover,body.dark-theme .desks-table tr:hover{background-color:#1e293b!important}body.dark-theme .sidebar{background-color:var(--bg-surface)!important;border-color:var(--border-color)!important;box-shadow:4px 0 10px #0000004d!important}body.dark-theme .sidebar .nav-link{color:var(--text-secondary)!important}body.dark-theme .sidebar .nav-link.active,body.dark-theme .sidebar .nav-link:hover{color:var(--color-primary-light)!important;background-color:var(--bg-app)!important}body.dark-theme .booking-tabs{background-color:var(--bg-app)!important}body.dark-theme .tab-btn.active{background-color:var(--bg-surface)!important;color:var(--color-primary-light)!important}body.dark-theme .view-tabs{border-color:var(--border-color)!important}body.dark-theme .view-tab-btn{color:var(--text-secondary)!important}body.dark-theme .view-tab-btn.active{color:var(--color-primary-light)!important}body.dark-theme .office-map-canvas{background-color:var(--bg-app)!important;border-color:var(--border-color)!important}body.dark-theme .canvas-desk-box{background-color:var(--bg-surface)!important;box-shadow:0 4px 6px -1px #0006!important}body.dark-theme .desk-num,body.dark-theme .modal-card h3{color:var(--text-primary)!important}body.dark-theme .close-btn{color:var(--text-secondary)!important}body.dark-theme .quick-btn{background-color:var(--bg-app)!important;color:var(--text-secondary)!important;border-color:var(--border-color)!important}body.dark-theme .quick-btn:hover{background-color:#27354a!important;color:var(--text-primary)!important;border-color:#475569!important}body.dark-theme .quick-btn.active{background-color:var(--color-primary-light)!important;color:#0f172a!important;border-color:var(--color-primary-light)!important;box-shadow:0 4px 10px #60a5fa4d!important}body.dark-theme .btn-primary{background-color:var(--color-primary)!important;border-color:var(--color-primary)!important;color:var(--text-on-primary)!important}body.dark-theme .btn-primary:hover:not(:disabled){background-color:var(--color-primary-light)!important}body.dark-theme .btn-success{background-color:var(--color-success)!important;border-color:var(--color-success)!important;color:var(--text-on-primary)!important}body.dark-theme .btn-success:hover:not(:disabled){background-color:var(--color-success-light)!important}body.dark-theme .canvas-desk-box.status-available,body.dark-theme .map-desk-node.available{background-color:#064e3b!important;border-color:#34d399!important;color:#34d399!important}body.dark-theme .canvas-desk-box.status-maintenance,body.dark-theme .map-desk-node.maintenance{background-color:#78350f!important;border-color:#fbbf24!important;color:#fbbf24!important}body.dark-theme .canvas-desk-box.status-inactive,body.dark-theme .map-desk-node.occupied{background-color:#7f1d1d!important;border-color:#f87171!important;color:#f87171!important}body.dark-theme .map-desk-node{background-color:var(--bg-surface)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}body.dark-theme .canvas-desk-box.active-selected,body.dark-theme .map-desk-node.selected{background-color:#1e3a8a!important;border-color:#60a5fa!important;color:#60a5fa!important;box-shadow:0 0 0 3px #60a5fa66!important}.desk-zone-color-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.15rem;vertical-align:middle;box-shadow:0 1px 2px #00000026}
