.notification{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);padding:12px 24px;border-radius:var(--radius-md);background:var(--color-white);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:12px;z-index:var(--z-toast);animation:notification-slide-up .3s ease-out;color:var(--text-main);border:1px solid var(--color-slate-200);max-width:calc(100vw - 48px)}.notification-icon{flex-shrink:0;color:var(--text-muted)}.notification-success{border-left:4px solid var(--color-success)}.notification-success .notification-icon{color:var(--color-success)}.notification-error{border-left:4px solid var(--color-danger)}.notification-error .notification-icon{color:var(--color-danger)}.notification-info{border-left:4px solid var(--color-primary)}.notification-info .notification-icon{color:var(--color-primary)}@keyframes notification-slide-up{0%{bottom:-24px;opacity:0}to{bottom:calc(24px + env(safe-area-inset-bottom,0px));opacity:1}}:root{--brand-primary: #fcce8e;--text-main: #241f21;--text-secondary: #7c797a;--text-muted: #a7a5a6;--bg-page: #fafbf8;--bg-card: #ffffff;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--color-primary: var(--brand-primary);--color-primary-dark: #e8b96a;--color-accent: var(--brand-primary);--color-accent-hover: #e8b96a;--color-blue: #3b82f6;--color-accent-surface: #fff8ed;--color-accent-surface-strong: #fef3dc;--color-blue-light: var(--color-accent-surface);--color-blue-lighter: var(--color-accent-surface-strong);--color-slate-50: var(--bg-page);--color-slate-100: #f5f5f4;--color-slate-200: var(--color-border);--color-slate-300: #d4d4d4;--color-slate-400: var(--text-muted);--color-slate-500: var(--text-secondary);--color-slate-600: #5c595a;--color-slate-700: #3d3a3b;--color-slate-800: var(--text-main);--color-slate-900: #141112;--color-navy: var(--text-main);--color-navy-dark: #141112;--color-white: #ffffff;--color-bg-app: var(--bg-page);--color-surface: var(--bg-card);--color-border: #ededed;--color-danger: #dc2626;--color-danger-dark: #b91c1c;--color-danger-light: #fef2f2;--color-danger-border: #fecaca;--color-danger-text: #fca5a5;--color-danger-text-light: #fef2f2;--color-danger-bright: #ef4444;--color-success: #16a34a;--color-success-dark: #15803d;--color-success-bg: #f0fdf4;--color-success-border: #bbf7d0;--color-success-message-bg: #d4edda;--color-success-message-text: #155724;--color-success-message-border: #c3e6cb;--color-success-bright: #10b981;--color-success-bright-dark: #059669;--color-error-message-bg: #f8d7da;--color-error-message-text: #721c24;--color-error-message-border: #f5c6cb;--color-warning: #f59e0b;--color-text-dark: var(--text-main);--color-text-muted-alt: var(--text-secondary);--color-border-input: var(--color-border);--color-focus-blue: var(--text-main);--color-overlay: rgba(36, 31, 33, .6);--color-overlay-dark: rgba(0, 0, 0, .4);--color-overlay-sidebar: rgba(0, 0, 0, .5);--color-focus-ring-blue: rgba(36, 31, 33, .12);--color-focus-ring-primary: rgba(252, 206, 142, .45);--color-shadow-modal: rgba(36, 31, 33, .1);--color-shadow-card: rgba(36, 31, 33, .06);--color-shadow-sidebar: rgba(0, 0, 0, .3);--color-glass-white-05: rgba(255, 255, 255, .05);--color-glass-white-10: rgba(255, 255, 255, .1);--color-glass-white-15: rgba(255, 255, 255, .15);--color-danger-overlay: rgba(220, 38, 38, .2);--color-close-muted: var(--color-slate-600);--color-close-hover: var(--color-slate-900);--color-close-bg: rgba(36, 31, 33, .05);--color-close-bg-hover: rgba(36, 31, 33, .1);--color-map-route-line: var(--text-main);--color-map-route-rit-1: var(--text-main);--color-map-route-rit-2: var(--color-blue);--color-map-route-rit-3: var(--color-success);--color-map-route-rit-4: var(--color-warning);--color-map-route-arrow: var(--brand-primary);--color-map-route-arrow-halo: #000000;--map-route-line-width: 7;--map-route-arrow-size: .4;--map-route-arrow-spacing: 28;--map-route-arrow-outline-width: 2;--primary-gradient: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);--secondary-bg: var(--color-white);--danger-gradient: linear-gradient(135deg, var(--color-danger-bright) 0%, var(--color-danger) 100%);--success-gradient: linear-gradient(135deg, var(--color-success-bright) 0%, var(--color-success-bright-dark) 100%);--sidebar-gradient: linear-gradient(180deg, var(--color-navy) 0%, var(--color-navy-dark) 100%);--sidebar-width: 280px;--sidebar-width-collapsed: 72px;--auth-gradient: var(--bg-page);--no-access-gradient: linear-gradient(135deg, var(--color-warning) 0%, var(--color-danger) 100%);--glass-bg: var(--color-glass-white-10);--glass-border: var(--color-glass-white-10);--spacing-2xs: .125rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--shadow-sm: 0 1px 3px var(--color-shadow-modal);--shadow-md: 0 4px 6px -1px var(--color-shadow-modal);--z-sidebar: 100;--z-modal: 200;--z-toast: 300;--hit-target-min: 44px;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--line-height-tight: 1.3;--line-height-normal: 1.5;--line-height-relaxed: 1.6}.ui-spinner{width:28px;height:28px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:ui-spin .8s linear infinite}.ui-spinner-sm{width:2rem;height:2rem}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ui-spinner{animation:none;border-top-color:var(--color-primary)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay-dark);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px;animation:fadeIn .2s ease-out}.modal{width:100%;max-width:550px;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px var(--color-shadow-modal),0 10px 10px -5px var(--color-shadow-card);animation:slideInUp .3s ease-out;max-height:90vh;overflow-y:auto}.modal-bordered{border:1px solid var(--color-slate-300)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:24px}.card.settings-card{max-width:600px;width:100%;max-height:90vh;overflow-y:auto!important;background:var(--color-white);border-radius:var(--radius-lg)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--sidebar-gradient);display:flex;flex-direction:column;box-shadow:2px 0 8px var(--color-shadow-modal);z-index:var(--z-sidebar);transition:width .25s ease}.sidebar-header{padding:calc(24px + env(safe-area-inset-top,0px)) 16px 16px;border-bottom:1px solid var(--color-glass-white-10);display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.sidebar-logo-wrap{flex:1;min-width:0;display:flex;align-items:center}.sidebar-logo{display:block;max-width:220px;width:100%;height:auto;color:var(--color-white)}.sidebar-collapse-button{display:none;flex-shrink:0;align-items:center;justify-content:center;width:var(--hit-target-min);height:var(--hit-target-min);min-width:var(--hit-target-min);min-height:var(--hit-target-min);padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-slate-300);cursor:pointer;transition:background-color .2s ease,color .2s ease}.sidebar-collapse-button:hover{background:var(--color-glass-white-10);color:var(--color-white)}.mobile-close-button{background:transparent;border:none;color:var(--color-white);font-size:24px;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;min-width:var(--hit-target-min);min-height:var(--hit-target-min)}@media (min-width: 769px){.sidebar-collapse-button{display:inline-flex}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar.collapsed .sidebar-header{flex-direction:column;justify-content:center;gap:12px;padding:calc(20px + env(safe-area-inset-top,0px)) 12px 16px}.sidebar.collapsed .sidebar-logo-wrap{flex:none;width:40px;height:40px;justify-content:center}.sidebar.collapsed .sidebar-logo{width:40px;height:40px;max-width:none}}@media (max-width: 768px){.sidebar.mobile-open .sidebar-logo{max-width:calc(100% - 3rem)}.sidebar.collapsed{width:var(--sidebar-width)}}.sidebar-title{font-size:1.1rem;font-weight:700;color:var(--color-white);margin:0;line-height:1.3}.sidebar-subtitle{font-size:13px;color:var(--color-slate-400);text-align:center}.sidebar-overlay{display:none}@media (max-width: 768px){.sidebar{position:fixed;left:calc(-1 * var(--sidebar-width));transition:left .3s ease}.sidebar.mobile-open{left:0}.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay-sidebar);z-index:99}}.sidebar-nav{flex:1;padding:24px 16px;overflow-y:auto}.menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:transparent;color:var(--color-slate-300);font-size:15px;font-weight:500;text-align:left;cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease;margin-bottom:4px;position:relative;min-height:var(--hit-target-min)}.menu-item:hover:not(.disabled){background-color:var(--color-glass-white-10);color:var(--color-white)}.menu-item.active{background-color:var(--color-accent);color:var(--text-main)}.menu-item.disabled{opacity:.5;cursor:not-allowed}.menu-icon{font-size:20px;width:24px;display:flex;align-items:center;justify-content:center}.menu-label{flex:1}.coming-soon{font-size:10px;padding:2px 6px;background-color:var(--color-glass-white-15);border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.menu-group{margin-bottom:4px}.menu-item.child-active{color:var(--color-white);background-color:var(--color-glass-white-10)}.menu-arrow-right{display:flex;align-items:center;color:var(--color-slate-400)}.submenu{padding-left:12px;margin-bottom:4px}.submenu-item{font-size:var(--text-sm);padding-left:20px}.menu-item-primary{font-size:var(--text-base);font-weight:600}.menu-item-primary.active{box-shadow:0 2px 8px #fcce8e59}.menu-group-dev{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-glass-white-10)}.menu-item-dev{font-size:var(--text-sm);color:var(--color-slate-400)}.menu-item-dev .menu-label:after{content:"Ontwikkeling";display:block;font-size:.65rem;font-weight:500;color:var(--color-slate-500);letter-spacing:.02em;margin-top:1px}@media (min-width: 769px){.sidebar.collapsed .sidebar-nav{padding:16px 8px}.sidebar.collapsed .menu-item{justify-content:center;gap:0;padding:12px}.sidebar.collapsed .menu-label,.sidebar.collapsed .menu-arrow-right,.sidebar.collapsed .coming-soon{display:none}.sidebar.collapsed .menu-icon{width:24px;margin:0}.sidebar.collapsed .menu-group-dev{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.sidebar.collapsed .menu-item-dev .menu-label:after{content:none}.sidebar.collapsed .submenu{display:none}}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--color-glass-white-10)}.user-menu-container{position:relative;margin-bottom:var(--spacing-sm)}.user-menu-button{width:100%;background:var(--color-glass-white-05);border:1px solid var(--color-glass-white-10);border-radius:var(--radius-md);padding:var(--spacing-sm);display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .2s ease;min-height:var(--hit-target-min)}.user-menu-button:hover{background:var(--color-glass-white-10)}.user-info{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.user-icon{font-size:var(--text-2xl);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-glass-white-10);border-radius:var(--radius-full)}.user-details{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-2xs);flex:1;min-width:0}.user-name{font-size:var(--text-sm);font-weight:600;color:var(--color-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.user-role{font-size:.6875rem;color:var(--color-slate-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.menu-arrow{font-size:var(--text-xs);color:var(--color-slate-400)}.user-dropdown{position:absolute;bottom:100%;left:0;right:0;margin-bottom:var(--spacing-sm);background:var(--color-slate-800);border:1px solid var(--color-glass-white-10);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 -4px 12px var(--color-shadow-sidebar)}.dropdown-info{padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.dropdown-info-label{font-size:.6875rem;color:var(--color-slate-500);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.dropdown-info-value{font-size:.8125rem;color:var(--color-slate-300);font-weight:500}.dropdown-divider{height:1px;background:var(--color-glass-white-10)}.dropdown-item{width:100%;background:transparent;border:none;padding:var(--spacing-sm) var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-slate-300);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background-color .2s ease;text-align:left;min-height:var(--hit-target-min)}.dropdown-item:hover{background:var(--color-glass-white-10);color:var(--color-white)}.dropdown-item.danger{color:var(--color-danger-text)}.dropdown-item.danger:hover{background:var(--color-danger-overlay);color:var(--color-danger-text-light)}.dropdown-item span{font-size:var(--text-base)}.version{font-size:var(--text-xs);color:var(--color-slate-500);text-align:center}@media (min-width: 769px){.sidebar.collapsed .sidebar-footer{padding:var(--spacing-sm) var(--spacing-xs)}.sidebar.collapsed .user-menu-button{justify-content:center;padding:10px}.sidebar.collapsed .user-details,.sidebar.collapsed .menu-arrow,.sidebar.collapsed .version{display:none}.sidebar.collapsed .user-info{flex:none;justify-content:center;gap:0}.sidebar.collapsed .user-dropdown{left:calc(100% + var(--spacing-sm));right:auto;bottom:0;width:220px;margin-bottom:0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);border:none;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;min-height:var(--hit-target-min)}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none!important}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary{background:var(--primary-gradient);color:var(--text-main);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){filter:brightness(.98);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary .btn-spinner{border-color:#241f2133;border-top-color:var(--text-main)}.btn-secondary{background:var(--secondary-bg);color:var(--text-main);border:1px solid var(--color-border);font-weight:500;box-shadow:0 1px 2px var(--color-shadow-card)}.btn-secondary:hover:not(:disabled){background:var(--color-slate-100);border-color:var(--color-slate-300);color:var(--text-main);box-shadow:0 2px 4px var(--color-shadow-card)}.btn-danger{background:var(--danger-gradient);color:var(--color-white)}.btn-success{background:var(--success-gradient);color:var(--color-white)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--glass-border)}.btn-ghost:hover:not(:disabled){background:var(--glass-bg);color:var(--text-main)}.btn-icon-only{padding:8px;width:var(--hit-target-min);height:var(--hit-target-min);border-radius:50%;min-width:var(--hit-target-min)}.btn-icon-only.btn-sm{width:var(--hit-target-min);height:var(--hit-target-min);min-width:var(--hit-target-min);padding:8px}.btn-sm{padding:8px 12px;font-size:13px;min-height:var(--hit-target-min)}.btn-lg{padding:12px 24px;font-size:16px}.btn-full-width{width:100%}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--color-white);border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.form-field{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.form-field-label{font-size:var(--text-sm);font-weight:500;color:var(--text-main);line-height:var(--line-height-normal)}.form-field-required{color:var(--color-danger)}.form-field-control{width:100%}.form-field-helper{margin:0;font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--line-height-normal)}.form-field-error{margin:0;font-size:var(--text-xs);color:var(--color-danger);line-height:var(--line-height-normal)}.ui-input{display:block;width:100%;min-height:var(--hit-target-min);padding:10px 12px;border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-surface);color:var(--text-main);font:inherit;font-size:var(--text-sm);line-height:var(--line-height-normal);transition:border-color .15s ease,box-shadow .15s ease}.ui-input::placeholder{color:var(--text-muted)}.ui-input:hover:not(:disabled){border-color:var(--color-slate-300)}.ui-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring-primary)}.ui-input:disabled{opacity:.6;cursor:not-allowed;background:var(--color-slate-100)}.ui-input--invalid,.form-field--error .ui-input{border-color:var(--color-danger)}.ui-input--invalid:focus,.form-field--error .ui-input:focus{box-shadow:0 0 0 3px var(--color-danger-overlay)}.ui-textarea{min-height:calc(var(--hit-target-min) * 2);resize:vertical}.ui-select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}@media (max-width: 768px){.auth-card,.no-access-card{padding:var(--spacing-2xl) var(--spacing-lg)}.auth-logo{max-width:240px}.form-group input,.ui-input{font-size:var(--text-base)}}@media (max-width: 480px){.auth-container,.no-access-container{padding:var(--spacing-md)}.auth-card,.no-access-card{padding:var(--spacing-lg) var(--spacing-md);border-radius:var(--radius-lg)}.auth-logo{max-width:200px}.auth-logo-container{margin-bottom:var(--spacing-lg)}.auth-title{font-size:var(--text-xl)}.auth-subtitle{font-size:var(--text-sm)}.no-access-icon{font-size:3rem}.no-access-card h2{font-size:var(--text-xl)}.no-access-card p{font-size:var(--text-sm)}}.no-access-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--no-access-gradient);padding:var(--spacing-md)}.no-access-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-3xl);max-width:500px;width:100%;text-align:center;box-shadow:0 20px 60px var(--color-shadow-sidebar)}.no-access-icon{font-size:4rem;margin-bottom:var(--spacing-lg)}.no-access-lucide{display:block;margin:0 auto var(--spacing-lg);color:var(--text-muted)}.no-access-card h2{font-size:var(--text-2xl);font-weight:700;color:var(--text-main);margin-bottom:var(--spacing-sm)}.no-access-card p{font-size:var(--text-base);color:var(--text-muted);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-lg)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--auth-gradient);padding:20px}.auth-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-3xl);max-width:440px;width:100%;box-shadow:0 20px 60px var(--color-shadow-sidebar);border:1px solid var(--color-slate-300)}.auth-logo-container{display:flex;justify-content:center;margin-bottom:32px}.auth-logo{max-width:280px;height:auto}.auth-form{width:100%}.auth-form-modal{padding:0 24px 24px}.modal-header{padding:24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-slate-100);margin-bottom:24px}.modal-header h2{margin:0;font-size:var(--text-2xl);font-weight:700;color:var(--text-main)}.auth-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-main);margin-bottom:8px;text-align:center}.auth-subtitle{font-size:var(--text-sm);color:var(--text-muted);text-align:center;margin-bottom:var(--spacing-xl)}.auth-form-field,.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--text-main);font-size:var(--text-sm)}.form-group input{width:100%;min-height:var(--hit-target-min);padding:10px 12px;border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-main);transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring-primary)}.auth-error{background-color:var(--color-danger-light);border:1px solid var(--color-danger-border);color:var(--color-danger);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--spacing-md)}.auth-success{background-color:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success);padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:center}.auth-success h2{font-size:var(--text-xl);font-weight:600;color:var(--color-success);margin-bottom:var(--spacing-sm)}.auth-success p{color:var(--color-success-dark);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}.auth-form .btn{margin-top:var(--spacing-sm)}.auth-links{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-slate-200)}.link-button{background:none;border:none;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;text-align:center;transition:color .2s ease;padding:var(--spacing-xs);min-height:var(--hit-target-min)}.link-button:hover{color:var(--color-accent)}.link-button strong{color:var(--color-accent);font-weight:600}.form-actions{margin-top:var(--spacing-xl);display:flex;gap:var(--spacing-sm)}.form-actions-primary{flex:1}.close-button-circle{width:var(--hit-target-min);height:var(--hit-target-min);min-width:var(--hit-target-min);min-height:var(--hit-target-min);border-radius:var(--radius-full);border:none;background:var(--color-close-bg);color:var(--color-close-muted);font-size:var(--text-2xl);font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.close-button-circle:hover{background:var(--color-close-bg-hover);color:var(--color-close-hover);transform:scale(1.05)}.close-button-circle:active{transform:scale(.95)}.close-button-circle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus-ring-primary)}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-app);overflow-x:hidden;height:100%;position:relative;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;touch-action:pan-x pan-y}#root{height:100%}.app{display:flex;min-height:100vh;background-color:var(--color-bg-app);overflow-x:hidden;width:100%;max-width:100vw}.main-content{flex:1;margin-left:var(--sidebar-width);padding:32px;transition:margin-left .25s ease,max-width .25s ease;overflow-x:hidden;width:100%;max-width:calc(100vw - var(--sidebar-width))}.app:has(.sidebar.collapsed) .main-content{margin-left:var(--sidebar-width-collapsed);max-width:calc(100vw - var(--sidebar-width-collapsed))}.module-placeholder{background:var(--color-white);border-radius:var(--radius-lg);padding:48px;text-align:center;color:var(--text-muted);font-size:18px;box-shadow:var(--shadow-sm)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-bg-app);gap:20px}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-slate-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{color:var(--text-muted);font-size:16px;font-weight:500}.mobile-menu-button{display:none;position:fixed;top:calc(1rem + env(safe-area-inset-top,0px));left:1rem;z-index:1001;width:var(--hit-target-min);height:var(--hit-target-min);background:var(--text-main);border:none;border-radius:var(--radius-md);flex-direction:column;align-items:center;justify-content:center;gap:.375rem;cursor:pointer;box-shadow:0 2px 8px var(--color-shadow-modal);transition:background-color .2s,border-color .2s}.mobile-menu-button:hover{background:var(--color-slate-700)}.mobile-menu-button span{width:1.5rem;height:2px;background:var(--color-white);border-radius:2px;transition:all .3s}.mobile-menu-button--compact{display:flex;top:calc(.75rem + env(safe-area-inset-top,0px));left:.75rem;width:var(--hit-target-min);height:var(--hit-target-min);gap:5px;background:var(--text-main);border:none;box-shadow:var(--shadow-md)}.mobile-menu-button--compact:hover{background:var(--color-slate-700)}.mobile-menu-button--compact span{width:1.125rem;height:2px;background:var(--color-white)}@media (max-width: 768px){.mobile-menu-button{display:flex}.main-content,.app:has(.sidebar.collapsed) .main-content{margin-left:0;padding:calc(4.5rem + env(safe-area-inset-top,0px)) 1rem 1rem 1rem;max-width:100vw}.app--driver-screen .main-content,.app--driver-screen:has(.sidebar.collapsed) .main-content{padding:0}}@media (max-width: 480px){.main-content{padding:calc(4rem + env(safe-area-inset-top,0px)) .75rem .75rem .75rem}.app--driver-screen .main-content{padding:0}.mobile-menu-button{top:calc(.75rem + env(safe-area-inset-top,0px));left:.75rem}}
