.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-background);padding:var(--space-24);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(13,92,76,.04) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(22,135,122,.04) 0%,transparent 50%)}.login-card{background:var(--color-surface);padding:60px 50px;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:520px;border:1px solid var(--color-border);position:relative;z-index:var(--z-base);animation:slide-up var(--duration-slow) var(--ease-out);transform:scale(1.05)}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.rmp-logo{text-align:center;margin-bottom:50px;animation:fade-in var(--duration-normal) var(--ease-out) .1s backwards}@keyframes fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.logo-image{width:240px;height:auto;margin:0 auto;display:block;animation:bounce-in var(--duration-slow) var(--ease-spring) .2s backwards;filter:drop-shadow(0 8px 16px rgba(13,92,76,.15))}@keyframes bounce-in{0%{opacity:0;transform:scale(0) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.rmp-logo h1{font-family:var(--font-family-display);font-size:28px;font-weight:var(--font-weight-semibold);background:linear-gradient(135deg,#0d5c4c,#16877a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 8px;letter-spacing:var(--letter-spacing-tight)}.rmp-logo p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;font-weight:var(--font-weight-medium);letter-spacing:.5px}.error-message{background:var(--alpha-ios-red-tint);border:1px solid var(--alpha-ios-red-soft);color:var(--color-error);padding:14px 18px;border-radius:var(--radius-md);margin-bottom:24px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);animation:shake var(--duration-normal) var(--ease-out),fade-in var(--duration-fast) var(--ease-out);line-height:var(--line-height-normal);display:flex;align-items:flex-start;gap:10px}.error-message svg{flex-shrink:0;color:var(--color-error)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.form-group{margin-bottom:24px;animation:fade-in var(--duration-normal) var(--ease-out) backwards}.form-group:nth-child(1){animation-delay:.15s}.form-group:nth-child(2){animation-delay:.2s}.form-label-modern{display:block;font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:8px;letter-spacing:.2px}.form-control-modern{display:block;width:100%;padding:14px 16px;font-size:15px;line-height:1.5;color:var(--color-text);background:var(--color-surface-secondary);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all .3s ease;font-family:var(--font-family-base);-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:400}.form-control-modern:hover{border-color:var(--color-border-strong);background:var(--color-surface-secondary)}.form-control-modern:focus{outline:none;border-color:var(--color-action-bg);background:var(--color-surface);box-shadow:0 0 0 3px rgba(var(--color-success-rgb),.2)}.form-control-modern:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn--primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.form-control-modern::placeholder{color:var(--color-text-muted);font-weight:400}.btn--primary{width:100%;padding:15px 24px;background:var(--color-action-bg);color:var(--color-on-action);border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;margin-top:8px;animation:fade-in var(--duration-normal) var(--ease-out) .3s backwards;letter-spacing:.3px;box-shadow:var(--shadow-xs)}.btn--primary:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--alpha-highlight-light),transparent);opacity:0;transition:opacity .3s ease}.btn--primary:hover{background:var(--color-action-bg-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn--primary:hover:before{opacity:1}.btn--primary:active{background:var(--color-action-bg-active);transform:translateY(0);box-shadow:var(--shadow-xs)}.btn--primary:disabled{background:var(--color-text-muted);cursor:not-allowed;transform:none;box-shadow:none}.credentials-info{margin-top:32px;padding:20px;background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);animation:fade-in var(--duration-normal) var(--ease-out) .35s backwards}.credentials-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.credentials-header strong{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.btn--outline{padding:10px 16px;border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;letter-spacing:.2px}.btn--outline:hover{background:var(--color-surface-secondary);border-color:var(--color-action-bg);color:var(--color-action-bg);transform:translateY(-1px);box-shadow:var(--shadow-xs)}.btn--outline:active{transform:translateY(0)}.credential-item{background:var(--color-surface);padding:14px 16px;border-radius:var(--radius-base);border:1px solid var(--color-border);margin-bottom:12px;transition:all var(--duration-fast) var(--ease-out)}.credential-item:hover{border-color:var(--color-action-bg);box-shadow:var(--shadow-xs)}.credential-item strong{color:var(--color-text);font-weight:var(--font-weight-semibold);margin-right:6px}.all-credentials{border-top:1px solid var(--color-divider);padding-top:16px;margin-top:4px}.all-credentials details{cursor:pointer}.all-credentials summary{color:var(--color-text-secondary);font-size:11px;font-weight:var(--font-weight-medium);padding:4px 0;transition:color var(--duration-fast) var(--ease-out);list-style:none;display:flex;align-items:center;gap:6px}.all-credentials summary::-webkit-details-marker{display:none}.all-credentials summary:before{content:"›";font-size:16px;font-weight:700;transition:transform var(--duration-fast) var(--ease-out)}.all-credentials details[open] summary:before{transform:rotate(90deg)}.all-credentials summary:hover{color:var(--color-text)}.all-credentials details>div{margin-top:12px;padding:14px;background:var(--color-surface);border-radius:var(--radius-base);border:1px solid var(--color-border);font-size:11px;line-height:1.8;animation:fade-in var(--duration-fast) var(--ease-out)}.all-credentials details>div strong{color:var(--color-text);font-weight:var(--font-weight-semibold);min-width:90px;display:inline-block}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-control-modern{padding-right:55px}.password-toggle-modern{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:8px;transition:all .2s ease;opacity:.5;color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;border-radius:6px}.password-toggle-modern:hover{opacity:1;color:var(--color-action-bg);background:var(--color-hover-overlay)}.password-toggle-modern:disabled{cursor:not-allowed;opacity:.25}.login-footer{margin-top:24px;text-align:center}.btn--sm{padding:8px 12px;font-size:12px}@media (max-width: 480px){.login-card{padding:40px 30px;transform:scale(1);max-width:100%}.logo-image{width:180px}.form-control-modern{padding:16px 20px;font-size:15px}}.google-places-error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:var(--space-24);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.error-content{max-width:500px;text-align:center}.error-icon{margin-bottom:var(--space-16);color:var(--color-error);display:flex;align-items:center;justify-content:center}.error-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-12) 0}.error-message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--space-16) 0}.error-reasons{text-align:left;margin:0 0 var(--space-20) 0;padding:var(--space-16);background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-base);list-style:none}.error-reasons li{position:relative;padding-left:var(--space-20);margin-bottom:var(--space-8);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.error-reasons li:last-child{margin-bottom:0}.error-reasons li:before{content:"•";position:absolute;left:var(--space-8);color:var(--color-error);font-weight:var(--font-weight-bold)}.reload-button{display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-20);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);background:var(--color-action-bg);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-base);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.reload-button:hover{background:var(--color-action-bg-hover)}.reload-button:active{transform:scale(.98)}.reload-button svg{flex-shrink:0}.error-details{margin-top:var(--space-20);padding:var(--space-12);background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-base);text-align:left;cursor:pointer}.error-details summary{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.error-details summary:hover{color:var(--color-text)}.error-stack{margin-top:var(--space-12);padding:var(--space-12);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;color:var(--color-text);white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;max-height:300px;overflow-y:auto}.error-stack strong{color:var(--color-error)}@media (max-width: 480px){.google-places-error-boundary{min-height:320px;padding:var(--space-16)}.error-title{font-size:var(--font-size-md)}.error-reasons{padding:var(--space-12)}.reload-button{width:100%;justify-content:center}}:root{--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-secondary: #f1f5f9;--color-surface-elevated: #ffffff;--color-surface-acrylic: rgba(255, 255, 255, .8);--color-white-alpha-15: rgba(255, 255, 255, .15);--color-white-alpha-25: rgba(255, 255, 255, .25);--color-text: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #64748b;--color-text-muted: #94a3b8;--color-primary: #1e293b;--color-primary-hover: #334155;--color-primary-active: #0f172a;--color-primary-dark: #0f172a;--color-primary-light: #334155;--color-primary-subtle: rgba(30, 41, 59, .1);--color-text-on-primary: #ffffff;--color-action-bg: #10b981;--color-action-bg-hover: #059669;--color-action-bg-active: #047857;--color-action-bg-disabled: #d1d5db;--color-on-action: #ffffff;--color-accent: #10b981;--color-accent-light: rgba(16, 185, 129, .12);--color-accent-border: rgba(16, 185, 129, .3);--color-secondary: #475569;--color-secondary-hover: #334155;--color-secondary-active: #1e293b;--color-secondary-light: #64748b;--color-border: rgba(30, 41, 59, .08);--color-border-strong: rgba(30, 41, 59, .15);--color-divider: rgba(30, 41, 59, .06);--color-error: #ef4444;--color-error-light: #fee2e2;--color-error-dark: #dc2626;--color-success: #10b981;--color-success-dark: #047857;--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-info: #3b82f6;--color-info-light: #dbeafe;--color-info-dark: #2563eb;--color-escala-s: var(--color-success);--color-escala-m: #0078D4;--color-escala-l: #5C2D91;--color-escala-xl: #B4009E;--color-escala-xxl: var(--color-error);--color-alert-critical: #FF8C00;--color-cat-baja: #16a34a;--color-cat-baja-light: #dcfce7;--color-cat-intermedia: #d97706;--color-cat-intermedia-light: #fef3c7;--color-cat-alta: #2563eb;--color-cat-alta-light: #dbeafe;--color-cat-muy-alta: #dc2626;--color-cat-muy-alta-light: #fee2e2;--color-focus-ring: rgba(30, 41, 59, .4);--color-hover-overlay: rgba(0, 0, 0, .03);--color-active-overlay: rgba(0, 0, 0, .06);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231B4523' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-contrast: #0B6A0B;--color-error-contrast: #A4262C;--color-warning-contrast: #8A5700;--color-info-contrast: #004578;--color-success-border: rgba(16, 124, 16, .3);--color-error-border: rgba(209, 52, 56, .3);--color-warning-border: rgba(255, 185, 0, .3);--color-info-border: rgba(0, 120, 212, .3);--color-neutral-border: rgba(138, 136, 134, .3);--color-neutral-light: #E1DFDD;--color-primary-rgb: 30, 41, 59;--color-success-rgb: 16, 185, 129;--color-error-rgb: 239, 68, 68;--color-warning-rgb: 245, 158, 11;--color-info-rgb: 59, 130, 246;--gradient-primary: linear-gradient(135deg, #1e293b 0%, #334155 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-error: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--gradient-info: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--gradient-text-dark: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--gradient-text-accent: linear-gradient(135deg, #1e293b 0%, #1e40af 100%);--historical-banner-bg: var(--color-warning-light);--historical-banner-fg: var(--color-warning-dark);--historical-banner-border: var(--color-warning);--color-text-primary: var(--color-text);--color-surface-alt: #f1f5f9;--color-surface-hover: rgba(30, 41, 59, .04);--color-primary-light: rgba(30, 41, 59, .1);--color-success-light: #d1fae5;--color-warning-light: #fef3c7;--color-danger: var(--color-error);--color-danger-light: #fee2e2;--font-family-base: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-md: 17px;--font-size-lg: 19px;--font-size-xl: 21px;--font-size-2xl: 28px;--font-size-3xl: 34px;--font-size-4xl: 48px;--font-size-5xl: 64px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.1;--line-height-snug: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--letter-spacing-tight: -.022em;--letter-spacing-normal: -.01em;--letter-spacing-wide: .01em;--icon-color-primary: var(--color-primary);--icon-color-secondary: var(--color-text-secondary);--icon-color-error: var(--color-error);--icon-color-success: var(--color-success);--icon-color-warning: var(--color-warning);--space-0: 0;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-14: 14px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-28: 28px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-56: 56px;--space-64: 64px;--radius-sm: 2px;--radius-base: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .04), 0 4px 8px rgba(30, 41, 59, .04);--shadow-md: 0 4px 8px rgba(0, 0, 0, .06), 0 8px 16px rgba(30, 41, 59, .08);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .08), 0 16px 32px rgba(30, 41, 59, .12);--shadow-xl: 0 12px 24px rgba(0, 0, 0, .1), 0 24px 48px rgba(30, 41, 59, .15);--shadow-2xl: 0 20px 40px rgba(0, 0, 0, .12), 0 32px 64px rgba(30, 41, 59, .18);--z-base: 1;--z-sticky: 10;--z-dropdown: 100;--z-modal: 1000;--z-overlay: 2000;--z-toast: 10000;--z-overlay-max: 99999;--alpha-overlay-faint: rgba(0, 0, 0, .04);--alpha-overlay-soft: rgba(0, 0, 0, .06);--alpha-overlay-light: rgba(0, 0, 0, .08);--alpha-overlay-base: rgba(0, 0, 0, .1);--alpha-overlay-medium: rgba(0, 0, 0, .15);--alpha-overlay-strong: rgba(0, 0, 0, .3);--alpha-overlay-darker: rgba(0, 0, 0, .4);--alpha-overlay-backdrop: rgba(0, 0, 0, .5);--alpha-overlay-heavy: rgba(0, 0, 0, .6);--alpha-overlay-deep: rgba(0, 0, 0, .8);--alpha-overlay-near-opaque: rgba(0, 0, 0, .9);--alpha-overlay-opaque: rgba(0, 0, 0, .95);--alpha-highlight-faint: rgba(255, 255, 255, .05);--alpha-highlight-soft: rgba(255, 255, 255, .06);--alpha-highlight-base: rgba(255, 255, 255, .08);--alpha-highlight-light: rgba(255, 255, 255, .1);--alpha-highlight-medium: rgba(255, 255, 255, .15);--alpha-highlight-strong: rgba(255, 255, 255, .2);--alpha-highlight-heavy: rgba(255, 255, 255, .3);--alpha-error-tint: rgba(209, 52, 56, .1);--alpha-error-soft: rgba(209, 52, 56, .2);--alpha-success-tint: rgba(16, 124, 16, .1);--alpha-success-soft: rgba(16, 124, 16, .2);--alpha-warning-tint: rgba(255, 185, 0, .1);--alpha-warning-soft: rgba(255, 185, 0, .2);--alpha-info-tint: rgba(0, 120, 212, .1);--alpha-info-soft: rgba(0, 120, 212, .2);--alpha-ios-red-tint: rgba(255, 59, 48, .1);--alpha-ios-red-soft: rgba(255, 59, 48, .2);--alpha-ios-orange-tint: rgba(255, 149, 0, .1);--alpha-ios-orange-soft: rgba(255, 149, 0, .2);--alpha-ios-green-tint: rgba(52, 199, 89, .1);--alpha-ios-green-soft: rgba(52, 199, 89, .2);--alpha-ios-blue-tint: rgba(0, 122, 255, .1);--shadow-primary-glow: 0 4px 16px rgba(30, 41, 59, .3), 0 2px 4px rgba(0, 0, 0, .1);--shadow-success-glow: 0 4px 16px rgba(16, 185, 129, .3), 0 2px 4px rgba(0, 0, 0, .1);--shadow-warning-glow: 0 4px 16px rgba(245, 158, 11, .3), 0 2px 4px rgba(0, 0, 0, .1);--shadow-error-glow: 0 4px 16px rgba(239, 68, 68, .3), 0 2px 4px rgba(0, 0, 0, .1);--shadow-info-glow: 0 4px 16px rgba(59, 130, 246, .3), 0 2px 4px rgba(0, 0, 0, .1);--shadow-elevated: 0 2px 8px rgba(0, 0, 0, .08), 0 1px 4px rgba(0, 0, 0, .04);--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-card-hover: 0 4px 12px 0 rgba(0, 0, 0, .15), 0 2px 6px 0 rgba(0, 0, 0, .1);--shadow-focus: 0 0 0 3px var(--color-primary-subtle);--shadow-inset: inset 0 1px 2px 0 rgba(0, 0, 0, .05);--duration-instant: .1s;--duration-fast: .2s;--duration-normal: .3s;--duration-slow: .4s;--duration-slower: .6s;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--ease-smooth: cubic-bezier(.16, 1, .3, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--enterprise-table-row-height: 40px;--enterprise-table-row-height-dense: 36px;--enterprise-table-row-height-comfortable: 48px;--enterprise-card-padding: var(--space-12);--enterprise-section-gap: var(--space-16);--enterprise-grid-gap: var(--space-12);--enterprise-badge-padding: 4px 8px;--enterprise-button-padding: var(--space-8) var(--space-16);--enterprise-input-height: 36px;--enterprise-icon-size-sm: 16px;--enterprise-icon-size-md: 20px;--enterprise-icon-size-lg: 24px}html{font-size:16px;line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color-scheme:light;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;scroll-behavior:smooth;background:var(--color-background)}body{font-family:var(--font-family-base);background:var(--color-background);color:var(--color-text);margin:0;padding:0;overflow-x:hidden}*,*:before,*:after{box-sizing:border-box}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);border:2px solid var(--color-background)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}::-webkit-scrollbar-corner{background:var(--color-background)}*{scrollbar-color:var(--color-border-strong) var(--color-background);scrollbar-width:thin}::selection{background-color:var(--color-primary);color:#fff}::-moz-selection{background-color:var(--color-primary);color:#fff}*:focus{outline:none}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--shadow-focus)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}h1,h2,h3,h4,h5,h6,p{margin:0;font-weight:var(--font-weight-normal)}h1{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}h2{font-family:var(--font-family-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-snug)}h3{font-family:var(--font-family-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-snug)}h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal)}h5{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}h6{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}p{line-height:var(--line-height-normal)}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}a:hover{color:var(--color-primary-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);letter-spacing:-.01em;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);border:none;text-decoration:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.btn:hover:before{opacity:1}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-ring)}.btn--primary{background-color:var(--color-action-bg);color:var(--color-on-action);box-shadow:var(--shadow-sm)}.btn--primary:hover{background-color:var(--color-action-bg-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn--primary:active{background-color:var(--color-action-bg-active);transform:translateY(0);box-shadow:var(--shadow-sm)}.btn--secondary{background-color:var(--color-surface-secondary);color:var(--color-text);border:1px solid var(--color-border-strong)}.btn--secondary:hover{background-color:var(--color-surface-secondary);border-color:var(--color-action-bg);color:var(--color-action-bg)}.btn--secondary:active{background-color:var(--color-surface-secondary)}.btn--ghost{background:transparent;color:var(--color-text-secondary);border:1px solid transparent}.btn--ghost:hover{background:var(--color-hover-overlay);color:var(--color-text);border-color:var(--color-border)}.btn--ghost:active{background:var(--color-active-overlay)}.btn--info{background-color:var(--color-info);color:#fff;box-shadow:var(--shadow-sm)}.btn--info:hover{background-color:var(--color-info-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn--info:active{background-color:var(--color-info-dark);transform:translateY(0)}.btn--outline{background:transparent;border:2px solid var(--color-success);color:var(--color-success)}.btn--outline:hover{background-color:var(--color-success);color:#fff}.btn--success{background-color:var(--color-success);color:#fff;box-shadow:var(--shadow-sm)}.btn--success:hover{background-color:var(--color-success-dark);box-shadow:var(--shadow-success-glow);transform:translateY(-1px)}.btn--success:active{background-color:var(--color-success-dark);transform:translateY(0)}.btn--small{padding:var(--space-4) var(--space-8);font-size:var(--font-size-xs)}.btn--sm{padding:var(--space-6) var(--space-12);font-size:var(--font-size-sm)}.btn--lg{padding:var(--space-12) var(--space-24);font-size:var(--font-size-lg)}.btn--full-width{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.form-control{display:block;width:100%;padding:12px 16px;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);font-family:var(--font-family-base);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-control:hover{border-color:var(--color-border-strong)}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-subtle);background-color:var(--color-surface)}.form-control::placeholder{color:var(--color-text-tertiary)}textarea.form-control{resize:vertical;min-height:100px;line-height:var(--line-height-relaxed)}select.form-control{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2386868b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}select.form-control:focus{background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%233D5229' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:8px;letter-spacing:-.01em}.form-group{margin-bottom:20px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;transition:all var(--duration-normal) var(--ease-out)}.card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--color-border-strong);transform:translateY(-2px)}.card__body{padding:24px}.card__header{padding:20px 24px;border-bottom:1px solid var(--color-divider);background:var(--color-surface)}.card__footer{padding:16px 24px;border-top:1px solid var(--color-divider);background:var(--color-secondary)}.status{display:inline-flex;align-items:center;padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}.status--success{background:rgba(var(--color-success-rgb),var(--status-bg-opacity));border:1px solid rgba(var(--color-success-rgb),var(--status-border-opacity));color:var(--color-success)}.status--error{background:rgba(var(--color-error-rgb),var(--status-bg-opacity));border:1px solid rgba(var(--color-error-rgb),var(--status-border-opacity));color:var(--color-error)}.status--warning{background:rgba(var(--color-warning-rgb),var(--status-bg-opacity));border:1px solid rgba(var(--color-warning-rgb),var(--status-border-opacity));color:var(--color-warning)}.status--info{background:rgba(var(--color-info-rgb),var(--status-bg-opacity));border:1px solid rgba(var(--color-info-rgb),var(--status-border-opacity));color:var(--color-info)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-success));transform:scaleX(0);transform-origin:left;transition:transform var(--duration-normal) var(--ease-out)}.kpi-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-elevated);transform:translateY(-4px)}.kpi-card:hover:before{transform:scaleX(1)}.kpi-icon{font-size:32px;line-height:1;filter:grayscale(20%);transition:filter var(--duration-fast) var(--ease-out)}.kpi-card:hover .kpi-icon{filter:grayscale(0%)}.kpi-content{flex:1;width:100%}.kpi-value{font-family:var(--font-family-display);font-size:36px;font-weight:var(--font-weight-bold);color:var(--color-text);margin:0;line-height:1;letter-spacing:var(--letter-spacing-tight)}.kpi-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin:4px 0 0;letter-spacing:-.01em}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);border-radius:var(--radius-base);overflow:hidden;box-shadow:var(--shadow-sm)}.table th,.table td{padding:var(--space-12);text-align:left;border-bottom:1px solid var(--color-border)}.table th{font-weight:var(--font-weight-semibold);background:var(--color-action-bg);color:#fff;text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.5px}.table tbody tr:hover{background:rgba(var(--color-primary-rgb),.05)}.table tbody tr:last-child td{border-bottom:none}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-background),rgba(var(--color-primary-rgb),.05))}.loading-spinner{text-align:center;animation:fadeIn var(--duration-normal) var(--ease-standard)}.loading-spinner .rmp-logo img{animation:pulse 1.5s infinite;filter:drop-shadow(0 4px 12px rgba(13,92,76,.2))}.loading-spinner .rmp-logo h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin:0;animation:pulse 1.5s infinite;text-shadow:0 2px 4px rgba(var(--color-primary-rgb),.2)}.loading-spinner .rmp-logo p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:var(--space-8) 0 0 0;font-weight:500}.error-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-background);padding:var(--space-24);text-align:center}.error-container h1{color:var(--color-error);margin-bottom:var(--space-16)}.error-container p{color:var(--color-text-secondary);margin-bottom:var(--space-24)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.gap-8{gap:var(--space-8)}.gap-16{gap:var(--space-16)}.m-0{margin:0}.mt-8{margin-top:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.p-0{padding:0}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.px-16{padding-left:var(--space-16);padding-right:var(--space-16)}.block{display:block}.hidden{display:none}.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}:focus-visible{outline:var(--focus-outline);outline-offset:2px}.tab{padding:var(--space-12) var(--space-24);border:none;background:transparent;border-bottom:3px solid transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-base)}.tab:hover{color:var(--color-text);background:rgba(var(--color-primary-rgb),.05)}.tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1)}.btn--small{padding:var(--space-6) var(--space-12);font-size:var(--font-size-sm)}.section-with-tabs{display:flex;flex-direction:column;height:100%}.sub-tabs{display:flex;border-bottom:2px solid var(--color-border);margin-bottom:var(--space-20);gap:1px;background:var(--color-surface)}.sub-tab{padding:var(--space-12) var(--space-20);border:none;background:transparent;border-bottom:3px solid transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);border-radius:var(--radius-base) var(--radius-base) 0 0}.sub-tab:hover{color:var(--color-text);background:rgba(var(--color-primary-rgb),.05)}.sub-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);font-weight:var(--font-weight-semibold)}.operations-flow{padding:var(--space-20)}.flow-description{margin-bottom:var(--space-24);text-align:center}.flow-description h3{color:var(--color-primary);margin-bottom:var(--space-8)}.flow-description p{color:var(--color-text-secondary);font-size:var(--font-size-base)}.assignment-section{margin-bottom:var(--space-24);padding:var(--space-16);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.assignment-info{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-16)}.route-assignment-section{margin-bottom:var(--space-24)}.route-creation{background:var(--color-surface);padding:var(--space-20);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:var(--space-20)}.route-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-16);align-items:end}.route-assignment{background:var(--color-surface);padding:var(--space-20);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.assignment-table{margin-top:var(--space-16)}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:var(--space-16)}.spinner,.loading-spinner:empty,.loading-state .loading-spinner:empty{display:none!important}.modal-actions{padding:var(--space-16) var(--space-20);border-top:1px solid var(--color-border);display:flex;gap:var(--space-12);justify-content:flex-end}.modal-body label{display:block;margin-bottom:var(--space-6);font-weight:var(--font-weight-medium);color:var(--color-text)}.modal-body input,.modal-body select{width:100%;padding:var(--space-10) var(--space-12);margin-bottom:var(--space-16);border:2px solid var(--color-border);border-radius:var(--radius-base);background-color:var(--color-surface);color:var(--color-text);font-size:var(--font-size-base);transition:border-color var(--duration-fast) var(--ease-standard)}.modal-body input:focus,.modal-body select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}@media (max-width: 480px){.modal-overlay [class*=modal-content],.modal-backdrop [class*=modal-content],[class*=modal-overlay]>div:first-child{max-width:100%!important;width:100%!important;max-height:100vh!important;height:100vh!important;border-radius:0!important;margin:0!important}}@media (max-width: 768px){.table-responsive,[class*=table-container]{overflow-x:auto;-webkit-overflow-scrolling:touch}[class*=map-container],.leaflet-container,.maplibregl-map{min-height:200px;max-height:400px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.page-transition-enter{animation:fadeIn var(--duration-normal) var(--ease-out)}.interactive{transition:all var(--duration-fast) var(--ease-out)}.interactive:hover{transform:translateY(-2px)}.interactive:active{transform:translateY(0)}.section-header{margin-bottom:var(--space-32);padding-bottom:var(--space-20);border-bottom:2px solid var(--color-border)}.section-title h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-6)}.section-title p{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}.personnel-dashboard{display:flex;flex-direction:column;gap:var(--space-32)}.shift-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-20)}.shift-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-24);transition:all var(--duration-fast) var(--ease-standard);position:relative;overflow:hidden}.shift-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.shift-card.morning:before{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.shift-card.afternoon:before{background:linear-gradient(90deg,#3b82f6,#1d4ed8)}.shift-card.night:before{background:linear-gradient(90deg,#6366f1,#4338ca)}.shift-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.shift-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-16)}.shift-header h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.shift-time{font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-secondary);padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);font-family:var(--font-family-mono)}.shift-stats{display:flex;gap:var(--space-24)}.stat{display:flex;flex-direction:column;align-items:center}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-4)}.personnel-table-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-20) var(--space-24);border-bottom:1px solid var(--color-border);background:rgba(var(--color-primary-rgb),.02)}.table-header h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.btn-minimal{display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-16);border:2px solid transparent;border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);text-decoration:none;background:transparent}.btn-minimal.primary{color:var(--color-primary);border-color:var(--color-primary)}.btn-minimal.primary:hover{background:var(--color-action-bg);color:#fff;transform:translateY(-1px)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);font-size:14px}.btn-icon:hover{background:rgba(var(--color-primary-rgb),.1);transform:scale(1.1)}.action-buttons{display:flex;gap:var(--space-4)}.personnel-table{overflow-x:auto}.minimal-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.minimal-table th{padding:var(--space-16) var(--space-24);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text);border-bottom:2px solid var(--color-border);background:transparent;font-size:var(--font-size-sm);text-transform:none;letter-spacing:normal}.minimal-table td{padding:var(--space-16) var(--space-24);border-bottom:1px solid var(--color-border);vertical-align:middle}.minimal-table tbody tr{transition:background-color var(--duration-fast) var(--ease-standard)}.minimal-table tbody tr:hover{background:rgba(var(--color-primary-rgb),.02)}.employee-info{display:flex;align-items:center;gap:var(--space-12)}.employee-avatar{width:40px;height:40px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.employee-name{font-weight:var(--font-weight-medium);color:var(--color-text);line-height:1.2}.employee-id{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:var(--font-family-mono)}.position-badge{display:inline-flex;padding:var(--space-4) var(--space-10);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.position-badge.driver{background:#22c55e1a;color:#059669;border:1px solid rgba(34,197,94,.2)}.position-badge.helper{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.2)}.status-badge{display:inline-flex;align-items:center;padding:var(--space-4) var(--space-10);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-badge.active{background:#22c55e1a;color:#059669;border:1px solid rgba(34,197,94,.2)}.status-badge.inactive{background:#6b72801a;color:#6b7280;border:1px solid rgba(107,114,128,.2)}.rating-input{display:flex;flex-direction:column;gap:var(--space-4);align-items:center}.rating-number{width:60px;padding:var(--space-6) var(--space-8);border:2px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center;background:var(--color-surface);color:var(--color-text);transition:all var(--duration-fast) var(--ease-standard)}.rating-number:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.rating-stars{font-size:12px;color:#fbbf24}.stars{letter-spacing:1px}.minimal-select{padding:var(--space-8) var(--space-12);border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-caret-light);background-repeat:no-repeat;background-position:right var(--space-8) center;background-size:16px;padding-right:var(--space-32)}.minimal-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.minimal-select:hover{border-color:var(--color-primary)}.drag-drop-container{padding:var(--space-20) 0}.shifts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-20)}.shift-zone{background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg);min-height:400px;transition:all var(--duration-fast) var(--ease-standard);position:relative;overflow:hidden}.shift-zone:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.shift-zone.unassigned{border-color:#94a3b8}.shift-zone.unassigned:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#94a3b8,#64748b)}.shift-zone.morning:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#fbbf24,#f59e0b)}.shift-zone.afternoon:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#1d4ed8)}.shift-zone.night:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#6366f1,#4338ca)}.zone-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-20) var(--space-20) var(--space-16);border-bottom:1px solid var(--color-border);background:rgba(var(--color-primary-rgb),.02)}.zone-title h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-4) 0}.zone-count,.shift-time{font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-secondary);padding:var(--space-2) var(--space-8);border-radius:var(--radius-sm);font-family:var(--font-family-mono)}.zone-stats{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-4)}.employee-count{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.average-rating{font-size:var(--font-size-sm);color:#fbbf24;font-weight:var(--font-weight-medium)}.employees-list{padding:var(--space-16);display:flex;flex-direction:column;gap:var(--space-12);flex:1}.employee-card{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);cursor:grab;transition:all var(--duration-fast) var(--ease-standard);-webkit-user-select:none;user-select:none}.employee-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.employee-card:active{cursor:grabbing;transform:scale(1.02);box-shadow:var(--shadow-lg)}.employee-card .employee-avatar{width:36px;height:36px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);flex-shrink:0}.employee-details{flex:1;min-width:0}.employee-card .employee-name{font-weight:var(--font-weight-medium);color:var(--color-text);line-height:1.2;margin-bottom:var(--space-4)}.employee-meta{display:flex;align-items:center;gap:var(--space-8);flex-wrap:wrap}.employee-card .position-badge{padding:var(--space-2) var(--space-6);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.position-badge.conductor{background:#22c55e1a;color:#059669;border:1px solid rgba(34,197,94,.2)}.position-badge.ayudante{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.2)}.position-badge.supervisor{background:#a855f71a;color:#7c3aed;border:1px solid rgba(168,85,247,.2)}.rating-display{font-size:var(--font-size-xs);color:#fbbf24;font-weight:var(--font-weight-medium)}.empty-zone{display:flex;align-items:center;justify-content:center;min-height:120px;border:2px dashed var(--color-border);border-radius:var(--radius-base);margin:var(--space-16) 0}.empty-zone p{color:var(--color-text-secondary);font-style:italic;font-size:var(--font-size-sm)}.shift-zone.drag-over{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.05);border-style:solid}.employee-card.dragging{opacity:.5;transform:rotate(5deg)}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-32);padding-bottom:var(--space-20);border-bottom:2px solid var(--color-border)}.section-header .section-title{flex:1}.section-header .btn-minimal{flex-shrink:0;margin-left:var(--space-20)}.fleet-management{display:flex;flex-direction:column;gap:var(--space-24)}.fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-20)}.vehicle-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--duration-fast) var(--ease-standard)}.vehicle-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--color-primary)}.vehicle-header{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-16) var(--space-20);border-bottom:1px solid var(--color-border);background:rgba(var(--color-primary-rgb),.02)}.vehicle-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-primary-rgb),.1);border-radius:50%}.vehicle-info{flex:1}.vehicle-info h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-4) 0}.service-badge{font-size:var(--font-size-xs);padding:var(--space-2) var(--space-8);border-radius:var(--radius-full);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.service-badge.recoleccion{background:#22c55e1a;color:#059669}.service-badge.fumigacion{background:#f59e0b1a;color:#d97706}.status-indicator{font-size:var(--font-size-xs);padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.status-indicator.disponible{background:#22c55e1a;color:#059669}.status-indicator.en-ruta{background:#3b82f61a;color:#2563eb}.status-indicator.mantenimiento{background:#ef44441a;color:#dc2626}.vehicle-assignments{padding:var(--space-20);display:flex;flex-direction:column;gap:var(--space-16)}.assignment-field{display:flex;flex-direction:column;gap:var(--space-6)}.assignment-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.assignment-select{padding:var(--space-10) var(--space-12);border:2px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);transition:all var(--duration-fast) var(--ease-standard)}.assignment-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.route-preview{padding:var(--space-12);background:rgba(var(--color-primary-rgb),.02);border-radius:var(--radius-base);border:1px solid var(--color-border)}.route-info{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);margin-bottom:var(--space-12)}.route-detail{display:flex;flex-direction:column;align-items:center;text-align:center}.detail-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.detail-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.route-progress{height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background:var(--gradient-primary);transition:width var(--duration-normal) var(--ease-standard)}.vehicle-actions{display:flex;gap:var(--space-8);padding:var(--space-16) var(--space-20);border-top:1px solid var(--color-border)}.action-btn{flex:1;padding:var(--space-8) var(--space-12);border:2px solid transparent;border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.action-btn.primary{background:var(--color-action-bg);color:var(--color-on-action)}.action-btn.primary:hover{background:var(--color-action-bg-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.action-btn.secondary{background:transparent;color:var(--color-action-bg);border-color:var(--color-action-bg)}.action-btn.secondary:hover{background:var(--color-action-bg);color:var(--color-on-action)}.action-btn.tertiary{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.action-btn.tertiary:hover{color:var(--color-text);border-color:var(--color-text-secondary)}.route-status-toggle{background:none;border:none;padding:4px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.route-status-toggle.active{background:#22c55e1a;color:#22c55e}.route-status-toggle.inactive{background:#ef44441a;color:#ef4444}.route-status-toggle:hover{opacity:.8;transform:scale(1.05)}.assigned-route-info{margin-bottom:var(--space-12);padding:var(--space-12);background:rgba(var(--color-primary-rgb),.05);border-radius:var(--radius-md);border:1px solid rgba(var(--color-primary-rgb),.1)}.assigned-route-info h5{margin:0 0 var(--space-8) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.route-stops-mini{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.stop-mini{background:rgba(var(--color-text-rgb),.05);padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.fleet-list-container{display:flex;flex-direction:column;gap:var(--space-24)}.fleet-stats{display:flex;gap:var(--space-24);margin-bottom:var(--space-16)}.fleet-list{display:flex;flex-direction:column;gap:var(--space-16)}.fleet-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-20);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--duration-fast) var(--ease-standard)}.fleet-list-item:hover{border-color:var(--color-primary);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.1)}.vehicle-main-info{display:flex;align-items:center;gap:var(--space-16);flex:1}.vehicle-indicator{position:relative;display:flex;align-items:center;justify-content:center}.vehicle-icon-large{font-size:32px}.status-dot{position:absolute;bottom:-4px;right:-4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--color-surface)}.status-dot.en-ruta{background:#22c55e}.status-dot.disponible{background:#3b82f6}.status-dot.mantenimiento{background:#f59e0b}.vehicle-details-list{display:flex;flex-direction:column;gap:var(--space-12);flex:1}.vehicle-primary h4{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.vehicle-meta-list{display:flex;gap:var(--space-12);flex-wrap:wrap}.service-type-tag,.status-tag,.fuel-level{padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.service-type-tag.recoleccion{background:#22c55e1a;color:#22c55e}.service-type-tag.fumigacion{background:#f59e0b1a;color:#f59e0b}.status-tag.en-ruta{background:#22c55e1a;color:#22c55e}.status-tag.disponible{background:#3b82f61a;color:#3b82f6}.status-tag.mantenimiento{background:#f59e0b1a;color:#f59e0b}.fuel-level{background:rgba(var(--color-text-rgb),.1);color:var(--color-text-secondary)}.assignments-compact{display:flex;flex-direction:column;gap:var(--space-8);margin-top:var(--space-8)}.assignment-row{display:flex;align-items:center;gap:var(--space-12)}.assignment-row label{min-width:80px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.compact-select{flex:1;padding:var(--space-6) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--font-size-sm);color:var(--color-text);max-width:200px}.compact-select:focus{outline:none;border-color:var(--color-primary)}.route-info-compact{padding:var(--space-8);background:rgba(var(--color-primary-rgb),.05);border-radius:var(--radius-sm);margin-top:var(--space-8)}.route-name-compact{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-primary);margin-bottom:var(--space-4)}.route-stops-compact{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.route-time-compact{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.fleet-actions{display:flex;gap:var(--space-8)}.fleet-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);font-size:16px}.fleet-action-btn.save:hover{background:#22c55e1a;color:#22c55e}.fleet-action-btn.location:hover{background:#dc26261a;color:#dc2626;transform:scale(1.1)}.fleet-action-btn.map:hover{background:#3b82f61a;color:#3b82f6}.empty-fleet{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-64);text-align:center;color:var(--color-text-secondary)}.empty-fleet .empty-icon{font-size:48px;margin-bottom:var(--space-16)}.empty-fleet h4{margin:0 0 var(--space-8) 0;color:var(--color-text)}.empty-fleet p{margin:0;font-size:var(--font-size-sm)}.vehicles-assigned{background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.action-btn-list{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);font-size:14px}.action-btn-list.edit:hover{background:#3b82f61a;color:#3b82f6}.action-btn-list.map:hover{background:#22c55e1a;color:#22c55e}.action-btn-list.duplicate:hover{background:#f59e0b1a;color:#f59e0b}.action-btn-list.delete:hover{background:#ef44441a;color:#ef4444}.routes-management{display:flex;flex-direction:column;gap:var(--space-32)}.routes-overview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-20)}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-16)}.stat-card{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-16);background:rgba(var(--color-primary-rgb),.02);border:1px solid rgba(var(--color-primary-rgb),.1);border-radius:var(--radius-base)}.stat-icon{font-size:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-primary-rgb),.1);border-radius:50%}.stat-info{display:flex;flex-direction:column}.stat-number{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.routes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-20)}.route-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--duration-fast) var(--ease-standard)}.route-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.route-header{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-16) var(--space-20);border-bottom:1px solid var(--color-border)}.route-color{width:4px;height:32px;border-radius:var(--radius-sm)}.route-info{flex:1}.route-info h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-4) 0}.route-menu{display:flex;align-items:center}.menu-btn{width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all var(--duration-fast) var(--ease-standard)}.menu-btn:hover{background:rgba(var(--color-primary-rgb),.1);color:var(--color-text)}.route-details{padding:var(--space-20)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-16);margin-bottom:var(--space-20)}.detail-item{display:flex;align-items:center;gap:var(--space-10)}.detail-icon{font-size:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-primary-rgb),.1);border-radius:50%;flex-shrink:0}.detail-content{display:flex;flex-direction:column}.preview-map{background:rgba(var(--color-border),.3);border-radius:var(--radius-base);height:120px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--color-border)}.map-placeholder{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.route-actions{display:flex;gap:var(--space-8);padding:var(--space-16) var(--space-20);border-top:1px solid var(--color-border)}.route-templates{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-24)}.templates-header{margin-bottom:var(--space-20);text-align:center}.templates-header h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-8) 0}.templates-header p{color:var(--color-text-secondary);margin:0}.templates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-16)}.template-card{display:flex;align-items:center;gap:var(--space-16);padding:var(--space-16);background:rgba(var(--color-primary-rgb),.02);border:1px solid rgba(var(--color-primary-rgb),.1);border-radius:var(--radius-base);transition:all var(--duration-fast) var(--ease-standard)}.template-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.template-icon{font-size:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-primary-rgb),.1);border-radius:50%;flex-shrink:0}.template-info{flex:1}.template-info h5{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-4) 0}.template-info p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.template-btn{padding:var(--space-6) var(--space-12);border:2px solid var(--color-primary);border-radius:var(--radius-base);background:transparent;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);flex-shrink:0}.template-btn:hover{background:var(--color-action-bg);color:#fff}.route-creator{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-24);overflow:hidden}.creator-header{padding:var(--space-20) var(--space-24);border-bottom:1px solid var(--color-border);background:rgba(var(--color-primary-rgb),.02)}.creator-header h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-6) 0}.creator-header p{color:var(--color-text-secondary);margin:0;font-size:var(--font-size-sm)}.creator-form{padding:var(--space-24)}.form-row{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-16);margin-bottom:var(--space-24)}.form-field{display:flex;flex-direction:column;gap:var(--space-6)}.form-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.route-name-input,.route-type-select{padding:var(--space-12) var(--space-16);border:2px solid var(--color-border);border-radius:var(--radius-base);font-size:var(--font-size-base);background:var(--color-surface);color:var(--color-text);transition:all var(--duration-fast) var(--ease-standard)}.route-name-input:focus,.route-type-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.stops-section{margin-bottom:var(--space-24)}.stops-header{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-16)}.stops-header label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.stops-info{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.stops-list{display:flex;flex-direction:column;gap:var(--space-8);margin-bottom:var(--space-16)}.stop-item{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12);background:rgba(var(--color-primary-rgb),.02);border:1px solid var(--color-border);border-radius:var(--radius-base)}.stop-number{width:28px;height:28px;background:var(--color-action-bg);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);flex-shrink:0}.stop-input{flex:1;padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-base);font-size:var(--font-size-sm);background:var(--color-surface);transition:all var(--duration-fast) var(--ease-standard)}.stop-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.1)}.remove-stop-btn{width:28px;height:28px;border:none;background:rgba(var(--color-error-rgb),.1);color:var(--color-error);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);transition:all var(--duration-fast) var(--ease-standard);flex-shrink:0}.remove-stop-btn:hover{background:var(--color-error);color:#fff}.add-stop-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-12) var(--space-16);border:2px dashed var(--color-border);border-radius:var(--radius-base);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--duration-fast) var(--ease-standard);width:100%}.add-stop-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:rgba(var(--color-primary-rgb),.02)}.creator-actions{display:flex;gap:var(--space-12);justify-content:flex-end}.cancel-btn,.save-route-btn{padding:var(--space-10) var(--space-20);border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);border:2px solid transparent}.cancel-btn{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.cancel-btn:hover{color:var(--color-text);border-color:var(--color-text-secondary)}.save-route-btn{background:var(--color-action-bg);color:#fff;border-color:var(--color-primary)}.save-route-btn:hover:not(:disabled){background:var(--color-action-bg-hover);transform:translateY(-1px)}.save-route-btn:disabled{opacity:.5;cursor:not-allowed}.routes-list-container{display:flex;flex-direction:column;gap:var(--space-20)}.routes-stats{display:flex;gap:var(--space-16);padding:var(--space-16);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base)}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1}.stat-item .stat-icon{font-size:20px;margin-bottom:var(--space-4)}.stat-item .stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1}.stat-item .stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.routes-list{display:flex;flex-direction:column;gap:var(--space-12)}.route-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-16) var(--space-20);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:all var(--duration-fast) var(--ease-standard)}.route-list-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.route-main-info{display:flex;align-items:center;gap:var(--space-16);flex:1}.route-indicator{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);flex-shrink:0}.route-color-dot{width:12px;height:12px;border-radius:50%}.route-type-icon{font-size:18px}.route-details-list{flex:1;min-width:0}.route-name-section{margin-bottom:var(--space-8)}.route-name-section h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-4) 0}.route-meta{display:flex;align-items:center;gap:var(--space-12)}.route-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.route-status.active{color:var(--color-success)}.route-status.inactive{color:var(--color-text-secondary)}.route-service-type{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.route-stops-preview{display:flex;flex-direction:column;gap:var(--space-4)}.stops-header-info{display:flex;align-items:center;gap:var(--space-12)}.stops-count,.route-time{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.stops-preview-list{font-size:var(--font-size-sm);color:var(--color-text);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stop-preview{color:var(--color-text-secondary)}.route-actions-list{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.action-btn-list{width:32px;height:32px;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) var(--ease-standard);font-size:14px}.action-btn-list.edit{background:#3b82f61a;color:#2563eb}.action-btn-list.edit:hover{background:#2563eb;color:#fff}.action-btn-list.map{background:#22c55e1a;color:#059669}.action-btn-list.map:hover{background:#059669;color:#fff}.action-btn-list.duplicate{background:#a855f71a;color:#7c3aed}.action-btn-list.duplicate:hover{background:#7c3aed;color:#fff}.action-btn-list.delete{background:#ef44441a;color:#dc2626}.action-btn-list.delete:hover{background:#dc2626;color:#fff}.empty-routes{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-32);text-align:center;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg)}.empty-icon{font-size:48px;margin-bottom:var(--space-16);opacity:.5}.empty-routes h4{font-size:var(--font-size-lg);color:var(--color-text);margin:0 0 var(--space-8) 0}.empty-routes p{color:var(--color-text-secondary);margin:0}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.routes-stats{flex-direction:column}.route-main-info{flex-direction:column;align-items:flex-start;gap:var(--space-12)}.route-actions-list{flex-direction:column;gap:var(--space-2)}}.historical-only-banner{display:flex;align-items:center;gap:var(--space-8);margin:var(--space-12) var(--space-20);padding:var(--space-8) var(--space-12);background:var(--historical-banner-bg);color:var(--historical-banner-fg);border:1px solid var(--historical-banner-border);border-radius:var(--radius-base);font-size:var(--font-size-sm);line-height:1.4}.historical-only-banner strong{font-weight:var(--font-weight-semibold, 600)}.historical-only-banner svg{flex-shrink:0}.app-subtabs{display:flex;gap:4px;padding:10px 16px 0;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;flex-wrap:wrap}.app-subtab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px 8px;font-size:13px;font-weight:500;color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap;font-family:var(--font-family-base)}.app-subtab svg{flex-shrink:0;display:inline-block;vertical-align:middle}.app-subtab:hover:not(:disabled){color:var(--color-text)}.app-subtab--active{color:var(--color-action-bg);border-bottom-color:var(--color-action-bg);font-weight:var(--font-weight-semibold)}.app-subtab--active svg{color:var(--color-action-bg)}.app-subtab--locked{opacity:.5;cursor:not-allowed}.core-group,.inv-group{display:flex;flex-direction:column;min-height:100%;height:100%}.core-group__content{flex:1;min-height:0;display:flex;flex-direction:column}.inv-group>:not(.app-subtabs){flex:1;min-height:0;overflow-y:auto;padding:var(--space-16) var(--space-24)}.main-content:has(>.core-group),.main-content:has(>.operations-section),.main-content:has(>.inv-group){padding:0;display:flex;flex-direction:column;overflow:hidden}@media (max-width: 1024px){html,body,#root{overflow-x:hidden;max-width:100vw}}@media (max-width: 480px){.modal-overlay,.modal-overlay-v2,.modal-backdrop,.cleaning-modal-overlay,.fumigation-modal-overlay,.route-modal-overlay,.weight-modal-overlay,.schedule-modal-overlay,.gps-playback-modal-overlay,.report-modal-overlay,.photos-modal-overlay,.item-detail-modal-overlay,.maintenance-task-modal-overlay,.route-completion-overlay,.location-modal-overlay,.location-reports-overlay{padding:0!important;align-items:flex-end!important}.modal-content,.modal-content-v2,.modal-container,.cleaning-modal,.fumigation-modal,.route-modal,.weight-modal,.schedule-modal,.gps-playback-modal,.report-modal,.photos-modal,.item-detail-modal,.maintenance-task-modal,.route-completion-modal,.location-map-modal,.location-reports-modal{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;min-height:100dvh!important;margin:0!important;border-radius:0!important;display:flex!important;flex-direction:column!important}.modal-body,.modal-content>.modal-form,.modal-content-v2>.modal-form-v2{flex:1 1 auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;min-height:0!important}.modal-actions,.modal-actions-v2,.modal-footer,.form-actions{flex-direction:column-reverse!important;gap:8px!important;padding:12px!important}.modal-actions>button,.modal-actions-v2>button,.modal-footer>button,.form-actions>button{width:100%!important;min-height:44px!important;justify-content:center!important}.form-row,.form-row-v2,.form-grid{grid-template-columns:1fr!important;gap:12px!important}}@media (max-width: 768px){.data-table-wrapper,.table-wrapper,.personnel-table-wrapper,.fleet-table-wrapper,.inventory-table-wrapper,.reports-table-wrapper{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;max-width:100%}.admin-content table:not(.no-scroll),.component-container table:not(.no-scroll){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}}@media (max-width: 768px){button:not(.icon-btn-sm):not(.tag-close):not(.close-small),a.btn,.btn,.button,[role=button]{min-height:44px}.icon-btn,.btn-icon,.close-btn,.edit-btn,.delete-btn{min-width:44px;min-height:44px}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px;font-size:16px}}@media (max-width: 1024px){.grid-3,.grid-4,.cards-grid-3,.cards-grid-4{grid-template-columns:repeat(2,1fr)!important}}@media (max-width: 768px){.grid-2,.grid-3,.grid-4,.cards-grid,.cards-grid-2,.cards-grid-3,.cards-grid-4,.stats-grid,.kpi-grid,.filters-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}}@media (max-width: 480px){.grid-2,.grid-3,.grid-4,.cards-grid,.cards-grid-2,.cards-grid-3,.cards-grid-4,.stats-grid,.filters-grid,.vehicle-grid,.routes-grid{grid-template-columns:1fr!important}.kpi-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width: 768px){.filters-bar,.ops-filters,.ops-filters-modern,.search-filters,.toolbar-filters{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.filter-group,.search-input-wrapper{width:100%!important}.filter-chip,.filter-btn{width:100%!important;justify-content:center!important}}@media (max-width: 768px){.component-header,.page-header,.section-header,.ops-header{flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:12px!important}.component-header>h1,.component-header>h2,.page-header>h1,.section-header>h2{font-size:20px!important}.header-actions,.component-header-actions{width:100%!important;flex-wrap:wrap!important}.header-actions>button{flex:1 1 auto}}@media (max-width: 768px){.tabs-container,.sub-tabs,.sub-nav,.inner-tabs{overflow-x:auto!important;-webkit-overflow-scrolling:touch;flex-wrap:nowrap!important;scrollbar-width:none}.tabs-container::-webkit-scrollbar,.sub-tabs::-webkit-scrollbar,.sub-nav::-webkit-scrollbar,.inner-tabs::-webkit-scrollbar{display:none}.tab,.sub-tab{white-space:nowrap!important;flex-shrink:0!important}}@media (max-width: 480px){.admin-content,.component-container,.page-container,.section-container,.card-container{padding:8px!important}.card,.panel,.widget{padding:12px!important;border-radius:6px!important}}@media (max-width: 480px){h1{font-size:22px!important}h2{font-size:19px!important}h3{font-size:17px!important}h4{font-size:15px!important}.section-title h3{font-size:18px!important}.widget-title{font-size:15px!important}}@media (max-width: 768px){img,video,canvas,svg{max-width:100%;height:auto}.maplibregl-canvas,.leaflet-container canvas{max-width:none;width:100%!important}}@supports (padding: env(safe-area-inset-bottom)){.app-bar,.top-nav,.bottom-sheet{padding-bottom:env(safe-area-inset-bottom,0)}}
