.app-loading{display:flex;align-items:center;justify-content:center;height:100vh}.spinner{width:44px;height:44px;border:4px solid rgba(225,0,0,.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-layout{display:flex;height:100vh;overflow:hidden}.app-main{flex:1;overflow-y:auto;padding:32px;background:transparent}.nav{width:var(--nav-width);min-width:var(--nav-width);background:var(--color-nav-bg);color:var(--color-nav-text);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease,min-width .2s ease;flex-shrink:0}.nav--collapsed{width:var(--nav-collapsed-width);min-width:var(--nav-collapsed-width)}.nav-header{padding:16px 12px 14px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.nav-header-top{display:flex;align-items:center;gap:10px}.nav-toggle{background:transparent;border:none;color:#fffc;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.nav-toggle:hover{background:#ffffff1f;color:#fff}.nav-brand{font-size:1rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;letter-spacing:.01em}.nav-brand--hidden{display:none}.nav-user{display:block;font-size:.75rem;color:#ffffff8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:6px}.nav-links{list-style:none;margin-top:6px;flex:1;overflow-y:auto;overflow-x:hidden}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 16px;color:#ffffffbf;text-decoration:none;font-size:.875rem;font-weight:500;transition:background .15s,color .15s;white-space:nowrap}.nav--collapsed .nav-link{padding:11px 0;justify-content:center}.nav-link:hover{background:#ffffff14;color:#fff}.nav-link--active{background:var(--color-primary);color:#fff}.nav-link--active:hover{background:var(--color-primary-dark);color:#fff}.nav-icon{flex-shrink:0;display:flex;align-items:center}.nav-label{overflow:hidden;text-overflow:ellipsis}.nav-logout{margin:8px 12px 16px;color:#ffffffb3;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);padding:8px 12px;font-size:.8rem;background:transparent;text-align:left;transition:background .15s,color .15s;flex-shrink:0}.nav-logout:hover{background:#ffffff1a;color:#fff}.nav-logout--icon{margin:8px auto 16px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px}.login-card{background:#fffffff5;border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:48px 40px;width:100%;max-width:420px;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-logo{margin-bottom:20px}.login-title{font-size:1.75rem;font-weight:700;color:var(--color-text);margin-bottom:8px;letter-spacing:-.02em}.login-subtitle{color:var(--color-text-muted);font-size:.9rem;margin-bottom:28px}.login-error{color:var(--color-danger);font-size:.875rem;margin-bottom:16px;padding:10px 14px;background:#fde7e9;border-radius:var(--radius);border-left:3px solid var(--color-danger)}.module-container{max-width:660px}.module-title{font-size:1.5rem;font-weight:700;margin-bottom:24px;color:var(--color-text);letter-spacing:-.02em}.form-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:28px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.8rem;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.04em;text-shadow:0 0 3px rgba(255,255,255,.7),0 1px 1px rgba(0,0,0,.15)!important}.form-input,.form-select,.form-textarea{padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius);background:#fff;color:var(--color-text);transition:border-color .15s,box-shadow .15s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #e100001f}.form-textarea{resize:vertical}.form-hint{font-size:.78rem;color:var(--color-text-muted)}.form-value{font-size:1rem;font-weight:600;color:var(--color-text);padding:10px 14px;background:#f9f8fa;border:1.5px solid var(--color-border);border-radius:var(--radius)}.form-error{font-size:.875rem;color:var(--color-danger);padding:10px 14px;background:#fde7e9;border-radius:var(--radius);border-left:3px solid var(--color-danger)}.form-actions{display:flex;gap:12px;align-items:center}.btn-primary{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);padding:11px 22px;font-weight:600;font-size:.9rem;letter-spacing:.01em;transition:background .15s,box-shadow .15s;box-shadow:0 2px 6px #e1000040}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:0 4px 12px #e100004d}.btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-lg{padding:13px 24px;font-size:.95rem;width:100%}.btn-ghost{background:transparent;border:1.5px solid var(--color-border);border-radius:var(--radius);padding:10px 16px;color:var(--color-text);font-weight:500;font-size:.9rem;transition:background .15s,border-color .15s}.btn-ghost:hover:not(:disabled){background:#0000000a;border-color:#c8c6ca}.tracking-banner{background:#e1000014;color:var(--color-primary-dark);border:1.5px solid rgba(225,0,0,.25);border-left:4px solid var(--color-primary);border-radius:var(--radius);padding:12px 16px;font-weight:600;font-size:.9rem}.success-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:40px 32px;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.success-icon{color:var(--color-success)}.success-card h3{font-size:1.3rem;font-weight:700;color:var(--color-success)}.success-card p{color:var(--color-text-muted);font-size:.95rem}.coming-soon{background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:56px 32px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.coming-soon p{font-size:1rem;color:var(--color-text);font-weight:600}.coming-soon-sub{font-size:.875rem;color:var(--color-text-muted)!important;font-weight:400!important}@media(max-width:640px){.app-layout{flex-direction:column;height:auto;min-height:100vh;overflow:visible}.nav,.nav--collapsed{width:100%;min-width:unset}.nav-brand--hidden{display:block}.nav--collapsed .nav-links,.nav--collapsed .nav-logout{display:none}.app-main{overflow-y:visible;padding:16px}}.debug-toolbar{margin-bottom:16px}.btn-debug{font-size:.8rem;padding:6px 12px;opacity:.7}.btn-debug:hover:not(:disabled){opacity:1}.debug-columns{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:20px;overflow-x:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.debug-columns-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.debug-columns-list{margin-bottom:16px}.debug-columns-list:last-child{margin-bottom:0}.debug-columns-list-name{font-size:.9rem;font-weight:700;color:var(--color-primary);margin-bottom:8px}.debug-columns-table{width:100%;border-collapse:collapse;font-size:.8rem}.debug-columns-table th{text-align:left;padding:6px 10px;background:#00000008;border-bottom:2px solid var(--color-border);font-weight:600;color:var(--color-text-muted)}.debug-columns-table td{padding:5px 10px;border-bottom:1px solid var(--color-border);color:var(--color-text)}.debug-columns-table tr:last-child td{border-bottom:none}.debug-columns-table code{font-family:monospace;font-size:.8rem;color:var(--color-primary)}.admin-container{max-width:760px}.admin-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px 28px;margin-bottom:28px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}.admin-section-title{font-size:1.1rem;font-weight:700;color:var(--color-text);letter-spacing:-.01em;margin:0}.admin-inline-form{display:flex;flex-direction:column;gap:14px;background:#00000005;border:1.5px solid var(--color-border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.admin-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:560px){.admin-edit-fields{grid-template-columns:1fr}}.admin-vehicle-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.admin-vehicle-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap}.admin-vehicle-item--editing,.admin-vehicle-item--deleting{display:block;background:#e1000008;border-color:#e1000040}.admin-vehicle-info{display:flex;align-items:center;gap:10px;min-width:0}.admin-vehicle-branch{font-size:.8rem;color:var(--color-text-muted);background:#0000000d;border-radius:4px;padding:2px 7px;white-space:nowrap}.admin-vehicle-actions{display:flex;gap:8px;flex-shrink:0}.admin-delete-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.admin-delete-prompt{font-size:.875rem;font-weight:600;color:var(--color-danger)}.admin-export-form{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:640px){.admin-export-form{grid-template-columns:1fr}}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-danger{background:var(--color-danger);color:#fff;border:none;border-radius:var(--radius);padding:8px 14px;font-weight:600;font-size:.85rem;transition:background .15s}.btn-danger:hover:not(:disabled){background:#b80020}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.btn-danger-outline{color:var(--color-danger);border-color:#e1000059}.btn-danger-outline:hover:not(:disabled){background:#e100000f;border-color:var(--color-danger)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #e10000;--color-primary-dark: #b20000;--color-primary-light: rgba(225, 0, 0, .1);--color-danger: #d13438;--color-success: #107c10;--color-text: #45434d;--color-text-muted: #706e78;--color-border: #e2e0e4;--color-bg: transparent;--color-surface: rgba(255, 255, 255, .92);--color-nav-bg: #1e1c24;--color-nav-text: #ffffff;--radius: 8px;--radius-lg: 12px;--shadow: 0 4px 16px rgba(0,0,0,.1);--shadow-sm: 0 2px 6px rgba(0,0,0,.08);--nav-width: 248px;--nav-collapsed-width: 56px;--font-sans: "Montserrat", "Segoe UI", system-ui, -apple-system, sans-serif}html,body{height:100%;font-family:var(--font-sans);font-size:16px;color:var(--color-text);background-color:#f5f4f6;background-image:url(/icons/background.svg);background-repeat:repeat;background-size:90%;-webkit-font-smoothing:antialiased}#root{height:100%}button{cursor:pointer;font-family:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit}
