: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;--color-info: #0369a1;--color-info-light: #0ea5e9;--bg-app: #f1f5f9;--bg-surface: #ffffff;--bg-surface-2: #f8fafc;--border-color: #cbd5e1;--border-color-soft: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-on-primary: #ffffff;--sidebar-bg: #1e293b;--sidebar-bg-hover: #334155;--sidebar-border: #334155;--sidebar-fg: #f8fafc;--sidebar-fg-muted: #94a3b8;--sidebar-active-bg: #2563eb;--sidebar-active-fg: #ffffff;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.875rem;--radius-sm: 8px;--radius-main: 12px;--radius-full: 9999px;--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);--shadow-modal: 0 25px 50px -12px rgba(15, 23, 42, .25);--z-sticky: 90;--z-overlay: 950;--z-sidebar: 1000;--z-modal: 1100;--z-toast: 10000;--transition-fast: .15s ease-in-out;--transition-base: .25s ease;--touch-target: 44px;--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);--desk-available-color: var(--color-success);--desk-booked-color: var(--color-danger)}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;--color-info: #0ea5e9;--color-info-light: #38bdf8;--bg-app: #0f172a;--bg-surface: #1e293b;--bg-surface-2: #27354a;--border-color: #334155;--border-color-soft: #293548;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-on-primary: #0f172a;--sidebar-bg: #0f172a;--sidebar-bg-hover: #1e293b;--sidebar-border: #1e293b;--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);--shadow-modal: 0 25px 50px -12px rgba(0, 0, 0, .6);--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);--desk-available-color: var(--color-success);--desk-booked-color: var(--color-danger)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html.pre-dark,html.pre-dark body{background-color:#0f172a}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);line-height:1.5;transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);line-height:1.25}p,label,td,th,.desc-text,.help-text,.chart-intro{color:var(--text-secondary)}a{color:var(--color-primary-light)}img,svg,video{max-width:100%}:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=switch]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:1rem;z-index:calc(var(--z-toast) + 1);padding:.75rem 1.25rem;background:var(--color-primary);color:var(--text-on-primary);border-radius:var(--radius-sm);font-weight:600;text-decoration:none;transition:top var(--transition-fast)}.skip-link:focus{top:1rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-warning,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.4rem;min-height:var(--touch-target);font-family:inherit;font-size:var(--font-size-base);font-weight:600;line-height:1.2;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);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-secondary{background-color:transparent;border-color:var(--border-color);color:var(--text-primary);box-shadow:none}.btn-secondary:hover:not(:disabled){background-color:var(--bg-surface-2);border-color:var(--text-secondary)}.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-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)}.btn-ghost{background-color:transparent;color:var(--text-secondary);box-shadow:none}.btn-ghost:hover:not(:disabled){background-color:var(--bg-surface-2);color:var(--text-primary)}.btn-sm{padding:.4rem .9rem;min-height:36px;font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn-block{display:flex;width:100%}.btn-icon{padding:0;width:var(--touch-target);height:var(--touch-target);min-width:var(--touch-target);flex-shrink:0}.btn:active:not(:disabled),.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-success:active:not(:disabled),.btn-danger:active:not(:disabled),.btn-warning:active:not(:disabled){transform:translateY(0)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}.form-group{margin-bottom:1.25rem}.form-label,.form-group>label{display:block;margin-bottom:.4rem;font-weight:600;font-size:var(--font-size-sm);color:var(--text-secondary)}.app-input,.app-select,.app-textarea{width:100%;padding:.65rem .9rem;min-height:var(--touch-target);font-family:inherit;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-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.app-textarea{min-height:96px;resize:vertical}.app-input:focus,.app-select:focus,.app-textarea:focus{outline:none;border-color:var(--color-primary-light);box-shadow:var(--shadow-focus)}.app-input::placeholder,.app-textarea::placeholder{color:var(--text-secondary);opacity:.65}.app-input:disabled,.app-select:disabled,.app-textarea:disabled{background-color:var(--bg-app);color:var(--text-secondary);cursor:not-allowed;opacity:.65}.app-input.error,.app-select.error,.app-textarea.error,.app-input[aria-invalid=true],.app-select[aria-invalid=true],.app-textarea[aria-invalid=true]{border-color:var(--color-danger-light)}.form-error{display:block;margin-top:.3rem;font-size:var(--font-size-sm);color:var(--color-danger);font-weight:500}.form-hint{display:block;margin-top:.3rem;font-size:var(--font-size-sm);color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.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 var(--transition-fast),border-color var(--transition-fast)}.app-card.interactive:hover{box-shadow:var(--shadow-hover);border-color:var(--color-primary-light)}@media(max-width:768px){.app-card{padding:1rem;border-radius:var(--radius-sm)}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-header .page-title,.page-title{margin:0;font-size:var(--font-size-xl);font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.page-header .page-subtitle,.page-subtitle{margin:.25rem 0 0;font-size:var(--font-size-base);color:var(--text-secondary)}.page-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-bottom:1.5rem}.kpi-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-main);box-shadow:var(--shadow-main);padding:1.25rem}.kpi-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .35rem}.kpi-value{font-size:var(--font-size-2xl);font-weight:800;color:var(--text-primary);line-height:1.1}.table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border-color);border-radius:var(--radius-main);background-color:var(--bg-surface)}.app-table{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.app-table th{text-align:left;padding:.75rem 1rem;font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);background-color:var(--bg-surface-2);border-bottom:1px solid var(--border-color);white-space:nowrap}.app-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-color-soft);color:var(--text-primary);vertical-align:middle}.app-table tbody tr:last-child td{border-bottom:none}.app-table tbody tr{transition:background-color var(--transition-fast)}.app-table tbody tr:hover{background-color:var(--bg-surface-2)}.app-table .cell-actions{display:flex;gap:.4rem;justify-content:flex-end;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;line-height:1.4;white-space:nowrap;border:1px solid transparent}.badge-success{background-color:color-mix(in srgb,var(--color-success) 14%,transparent);color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 35%,transparent)}.badge-danger{background-color:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}.badge-warning{background-color:color-mix(in srgb,var(--color-warning) 14%,transparent);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 35%,transparent)}.badge-info{background-color:color-mix(in srgb,var(--color-info) 12%,transparent);color:var(--color-info);border-color:color-mix(in srgb,var(--color-info) 35%,transparent)}.badge-primary{background-color:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}.badge-neutral{background-color:var(--bg-surface-2);color:var(--text-secondary);border-color:var(--border-color)}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#0f172a8c;backdrop-filter:blur(2px)}.modal-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-main);box-shadow:var(--shadow-modal);width:100%;max-width:560px;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;overflow:hidden}.modal-card.modal-sm{max-width:420px}.modal-card.modal-lg{max-width:760px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color-soft);flex-shrink:0}.modal-header h2,.modal-header h3{margin:0;font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary)}.modal-body{padding:1.5rem;overflow-y:auto;flex-grow:1}.modal-footer{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color-soft);flex-shrink:0}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);margin:-.5rem -.75rem -.5rem 0;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:1.5rem;line-height:1;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.modal-close-btn:hover{background-color:var(--bg-surface-2);color:var(--text-primary)}@media(max-width:768px){.modal-overlay{align-items:flex-end;padding:0}.modal-card{max-width:none;max-height:92dvh;border-radius:var(--radius-main) var(--radius-main) 0 0;border-bottom:none;padding-bottom:env(safe-area-inset-bottom)}.modal-footer{flex-direction:column-reverse}.modal-footer .btn,.modal-footer [class^=btn-],.modal-footer [class*=" btn-"]{width:100%}}.animate-fade-in{animation:app-fade-in .18s ease-out}.animate-scale-up{animation:app-scale-up .18s ease-out}@keyframes app-fade-in{0%{opacity:0}to{opacity:1}}@keyframes app-scale-up{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.app-toggle{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;min-height:var(--touch-target);color:var(--text-primary);font-weight:500;-webkit-user-select:none;user-select:none}.app-toggle input{position:absolute;opacity:0;width:1px;height:1px}.app-toggle .toggle-track{position:relative;width:46px;height:26px;flex-shrink:0;background-color:var(--border-color);border-radius:var(--radius-full);transition:background-color var(--transition-fast)}.app-toggle .toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0f172a4d;transition:transform var(--transition-fast)}.app-toggle input:checked+.toggle-track{background-color:var(--color-primary-light)}.app-toggle input:checked+.toggle-track:after{transform:translate(20px)}.app-toggle input:focus-visible+.toggle-track{box-shadow:var(--shadow-focus)}.app-toggle input:disabled+.toggle-track{opacity:.5;cursor:not-allowed}.app-fab{position:fixed;right:1.25rem;bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));z-index:var(--z-overlay);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:0 1.4rem;background-color:var(--color-primary);color:var(--text-on-primary);border:none;border-radius:var(--radius-full);font-size:var(--font-size-base);font-weight:700;cursor:pointer;box-shadow:var(--shadow-hover);transition:background-color var(--transition-fast),transform var(--transition-fast)}.app-fab:hover{background-color:var(--color-primary-light);transform:translateY(-2px)}@media(max-width:768px){.app-fab{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}.app-alert{display:flex;align-items:flex-start;gap:.6rem;padding:.9rem 1.1rem;border-radius:var(--radius-sm);border:1px solid transparent;font-size:var(--font-size-base);margin-bottom:1rem}.app-alert-success{background-color:color-mix(in srgb,var(--color-success) 10%,var(--bg-surface));border-color:color-mix(in srgb,var(--color-success) 35%,transparent);color:var(--color-success)}.app-alert-danger{background-color:color-mix(in srgb,var(--color-danger) 9%,var(--bg-surface));border-color:color-mix(in srgb,var(--color-danger) 35%,transparent);color:var(--color-danger)}.app-alert-warning{background-color:color-mix(in srgb,var(--color-warning) 10%,var(--bg-surface));border-color:color-mix(in srgb,var(--color-warning) 35%,transparent);color:var(--color-warning)}.app-alert-info{background-color:color-mix(in srgb,var(--color-info) 9%,var(--bg-surface));border-color:color-mix(in srgb,var(--color-info) 35%,transparent);color:var(--color-info)}.app-tabs{display:inline-flex;gap:.25rem;padding:.25rem;background-color:var(--bg-app);border:1px solid var(--border-color-soft);border-radius:var(--radius-main);max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.app-tab{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.1rem;min-height:40px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:inherit;font-size:var(--font-size-base);font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast),color var(--transition-fast)}.app-tab:hover:not(.active){color:var(--text-primary)}.app-tab.active{background-color:var(--bg-surface);color:var(--color-primary-light);box-shadow:var(--shadow-main)}.view-tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--border-color-soft);overflow-x:auto;-webkit-overflow-scrolling:touch}.view-tab-btn{padding:.6rem 1rem;min-height:var(--touch-target);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-secondary);font-family:inherit;font-size:var(--font-size-base);font-weight:600;cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast)}.view-tab-btn:hover:not(.active){color:var(--text-primary)}.view-tab-btn.active{color:var(--color-primary-light);border-bottom-color:var(--color-primary-light)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:3rem 1.5rem;text-align:center;color:var(--text-secondary)}.empty-state .empty-icon{font-size:2.5rem;line-height:1;opacity:.8}.empty-state .empty-title{margin:0;font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary)}.empty-state .empty-text{margin:0;max-width:420px}.spinner{display:inline-block;width:22px;height:22px;border:3px solid color-mix(in srgb,var(--color-primary-light) 25%,transparent);border-top-color:var(--color-primary-light);border-radius:50%;animation:app-spin .7s linear infinite;flex-shrink:0}.spinner.spinner-lg{width:36px;height:36px;border-width:4px}@keyframes app-spin{to{transform:rotate(360deg)}}.loading-state{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem 1rem;color:var(--text-secondary)}.skeleton{background:linear-gradient(90deg,var(--bg-surface-2) 25%,color-mix(in srgb,var(--text-secondary) 12%,var(--bg-surface-2)) 50%,var(--bg-surface-2) 75%);background-size:200% 100%;animation:app-skeleton 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes app-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-wrap{flex-wrap:wrap}.flex-grow{flex-grow:1}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.text-center{text-align:center}.w-full{width:100%}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.desk-zone-color-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.15rem;vertical-align:middle;flex-shrink:0;box-shadow:0 1px 2px #00000026}
