@charset "UTF-8";:root{--bg-primary: #140213;--bg-secondary: #23425F;--color-primary: #1A6BC2;--text-primary: #E5F3F8;--color-success: #10B981;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6;--color-white: #FFFFFF;--color-gray-50: #F9FAFB;--color-gray-200: #E5E7EB;--color-gray-900: #111827;--bg-surface: #0F1829;--bg-card: #1A2332;--bg-hover: #2A3B4F;--bg-active: var(--color-primary);--text-secondary: #9CA3AF;--text-muted: #6B7280;--text-disabled: #4B5563;--border-color: #374151;--border-medium: #2E3A4E;--border-light: #2A3B4F;--border-focus: var(--color-primary);--font-family-base: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;--font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--sidebar-width: 280px;--sidebar-collapsed-width: 80px;--header-height: 64px;--footer-height: 48px;--opacity-disabled: .5;--opacity-hover: .8;--opacity-active: 1;--surface-white: #ffffff;--surface-light: #f9fafb;--surface-lighter: #f3f4f6;--border-ui: #e5e7eb;--border-ui-subtle: #f3f4f6;--text-body: #111827;--text-body-secondary: #6b7280;--text-body-muted: #9ca3af;--primary-tint-bg: #eff6ff;--primary-tint-border: #bfdbfe;--success-tint-bg: #f0fdf4;--success-tint-border: #86efac;--success-tint-text: #16a34a;--error-tint-bg: #fef2f2;--error-tint-border: #fca5a5;--error-tint-text: #dc2626;--warning-tint-bg: #fff7ed;--warning-tint-border: #fed7aa;--warning-tint-text: #f97316}:root.theme-light{--bg-primary: #F8FAFC;--bg-secondary: #DBEAFE;--color-primary: #1A6BC2;--text-primary: #0F172A;--bg-surface: #F1F5F9;--bg-card: #FFFFFF;--bg-hover: #E2E8F0;--bg-active: var(--color-primary);--text-secondary: #475569;--text-muted: #94A3B8;--text-disabled: #CBD5E1;--border-color: #CBD5E1;--border-medium: #E2E8F0;--border-light: #F1F5F9;--border-focus: var(--color-primary);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--surface-white: #ffffff;--surface-light: #f9fafb;--surface-lighter: #f3f4f6;--border-ui: #e5e7eb;--border-ui-subtle: #f3f4f6;--text-body: #111827;--text-body-secondary: #6b7280;--text-body-muted: #9ca3af}@media(prefers-color-scheme:light){:root:not(.theme-dark):not(.theme-light){--bg-primary: #F8FAFC;--bg-secondary: #DBEAFE;--color-primary: #1A6BC2;--text-primary: #0F172A;--bg-surface: #F1F5F9;--bg-card: #FFFFFF;--bg-hover: #E2E8F0;--bg-active: var(--color-primary);--text-secondary: #475569;--text-muted: #94A3B8;--text-disabled: #CBD5E1;--border-color: #CBD5E1;--border-medium: #E2E8F0;--border-light: #F1F5F9;--border-focus: var(--color-primary);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);overflow-x:hidden}app-root{min-height:100vh;background-color:var(--bg-primary);display:flex;flex-direction:column}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--bg-secondary);border-radius:var(--radius-lg);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}*{scrollbar-width:thin;scrollbar-color:var(--bg-secondary) var(--bg-surface)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background-color:var(--color-primary);color:var(--color-white)}::-moz-selection{background-color:var(--color-primary);color:var(--color-white)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-info)}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}button{font-family:inherit;cursor:pointer}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}code,pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}pre{background:var(--bg-surface);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto}code{background:var(--bg-surface);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}table{border-collapse:collapse;width:100%}hr{border:none;border-top:1px solid var(--border-color);margin:var(--spacing-lg) 0}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md);letter-spacing:-.025em}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:1.1}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}p{margin-bottom:var(--spacing-md);color:var(--text-primary);line-height:var(--line-height-normal)}p:last-child{margin-bottom:0}.text-xs{font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.text-base{font-size:var(--font-size-base);line-height:var(--line-height-normal)}.text-lg{font-size:var(--font-size-lg);line-height:var(--line-height-normal)}.text-xl{font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.text-2xl{font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}.text-3xl{font-size:var(--font-size-3xl);line-height:var(--line-height-tight)}.text-4xl{font-size:var(--font-size-4xl);line-height:var(--line-height-tight)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-disabled{color:var(--text-disabled)}.text-white{color:var(--color-white)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-underline{text-decoration:underline}.text-line-through{text-decoration:line-through}.text-no-underline{text-decoration:none}.text-truncate,.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-clip{text-overflow:clip}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}label{display:inline-block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}small{font-size:var(--font-size-xs);color:var(--text-secondary)}strong,b{font-weight:var(--font-weight-bold)}em,i{font-style:italic}blockquote{border-left:4px solid var(--color-primary);padding-left:var(--spacing-md);color:var(--text-secondary);font-style:italic;margin:var(--spacing-md) 0}ul,ol{padding-left:var(--spacing-lg);margin-bottom:var(--spacing-md)}ul{list-style-type:disc}ol{list-style-type:decimal}li{margin-bottom:var(--spacing-xs)}.list-none{list-style:none;padding-left:0}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-surface{background-color:var(--bg-surface)}.bg-card{background-color:var(--bg-card)}.bg-hover{background-color:var(--bg-hover)}.bg-active{background-color:var(--bg-active)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.bg-error{background-color:var(--color-error)}.bg-info{background-color:var(--color-info)}.bg-white{background-color:var(--color-white)}.bg-transparent{background-color:transparent}.border-primary{border-color:var(--color-primary)}.border-success{border-color:var(--color-success)}.border-warning{border-color:var(--color-warning)}.border-error{border-color:var(--color-error)}.border-light{border-color:var(--border-light)}.border-default{border-color:var(--border-color)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow,.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.is-active{background-color:var(--bg-active);color:var(--color-white)}.is-inactive{background-color:transparent;color:var(--text-secondary)}.is-disabled{opacity:var(--opacity-disabled);pointer-events:none;cursor:not-allowed}.is-hover:hover{background-color:var(--bg-hover)}.is-success{background-color:var(--color-success);color:var(--color-white)}.is-warning{background-color:var(--color-warning);color:var(--color-white)}.is-error{background-color:var(--color-error);color:var(--color-white)}.is-info{background-color:var(--color-info);color:var(--color-white)}.is-success-outline{border:1px solid var(--color-success);color:var(--color-success);background-color:transparent}.is-warning-outline{border:1px solid var(--color-warning);color:var(--color-warning);background-color:transparent}.is-error-outline{border:1px solid var(--color-error);color:var(--color-error);background-color:transparent}.is-info-outline{border:1px solid var(--color-info);color:var(--color-info);background-color:transparent}.opacity-disabled{opacity:var(--opacity-disabled)}.opacity-hover{opacity:var(--opacity-hover)}.transition-fast{transition:all var(--transition-fast)}.transition{transition:all var(--transition-base)}.transition-slow{transition:all var(--transition-slow)}.transition-none{transition:none}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1}.badge--primary{background-color:var(--color-primary);color:var(--color-white)}.badge--success{background-color:var(--color-success);color:var(--color-white)}.badge--warning{background-color:var(--color-warning);color:var(--color-white)}.badge--error{background-color:var(--color-error);color:var(--color-white)}.badge--info{background-color:var(--color-info);color:var(--color-white)}.badge--outline{background-color:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.spinner{display:inline-block;width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .7s linear infinite}.spinner--small{width:16px;height:16px;border-width:2px}.spinner--large{width:40px;height:40px;border-width:3px}.spinner--primary{border-top-color:var(--color-primary)}.spinner--white{border-color:#ffffff4d;border-top-color:var(--color-white)}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fade-in{animation:fadeIn var(--transition-base) ease forwards}.fade-out{animation:fadeOut var(--transition-base) ease forwards}.slide-in-right{animation:slideInRight var(--transition-slow) ease forwards}.slide-in-left{animation:slideInLeft var(--transition-slow) ease forwards}.slide-in-up{animation:slideInUp var(--transition-slow) ease forwards}.slide-in-down{animation:slideInDown var(--transition-slow) ease forwards}.scale-in{animation:scaleIn var(--transition-base) ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.detail-header-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-lg);background-color:var(--bg-hover);color:var(--color-primary);font-size:var(--font-size-xl);flex-shrink:0}.detail-section{padding:var(--spacing-md) 0;border-bottom:1px solid var(--border-color)}.detail-section:last-child{border-bottom:none}.detail-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--spacing-sm)}.detail-grid{display:grid;gap:var(--spacing-xs)}.detail-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-medium)}.detail-row:first-child{padding-top:0}.detail-label{font-size:var(--font-size-sm);color:var(--text-muted)}.detail-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);text-align:right;word-break:break-word}.input-icon-wrapper{position:relative;display:inline-block}.input-icon-wrapper__icon{position:absolute;left:var(--spacing-sm);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;display:flex;align-items:center;font-size:var(--font-size-sm)}.filter-pill{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);border:1px solid var(--border-color);background-color:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.filter-pill--active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.filter-pill--active .filter-pill__icon{color:var(--color-white)}.filter-pill:not(.filter-pill--active):hover{background-color:var(--bg-hover);border-color:var(--border-medium)}.filter-pill__icon{color:var(--text-muted)}.profile-card__audit{margin-top:.45rem;display:flex;flex-direction:column;gap:.18rem}.profile-card__audit span{font-size:.73rem;color:#6d84a0}.profile-card__audit-reason{color:#4a6a88!important;font-style:italic}.tabs--sticky{position:sticky;top:0;z-index:25;box-shadow:0 2px 8px #0f172a14}.vehicle-profiles-view__back-to-top{position:fixed;right:1.2rem;bottom:1.2rem;z-index:60;border-radius:999px;min-height:2.2rem;padding:.4rem .8rem}.backfill-status-banner{margin-top:.2rem;border:1px solid #d8e2ef;border-radius:10px;background:#f8fbff;padding:.6rem .75rem}.backfill-status-banner p{margin:.12rem 0;font-size:.8rem;color:#51657f}.backfill-progress{margin-top:.3rem;width:100%;height:.45rem;border-radius:999px;background:#e3ebf7;overflow:hidden}.backfill-progress__bar{height:100%;background:linear-gradient(90deg,#4d89db,#2fbe86);transition:width .25s ease}.backfill-final-summary{color:#1f2b3c!important}.app-modal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;justify-content:center;align-items:center;padding:1rem;z-index:50}.app-modal{width:100%;max-height:92vh;overflow:auto;box-shadow:0 20px 45px #0f172a38}.app-modal--sm{max-width:540px}.app-modal--md{max-width:680px}.app-modal--lg{max-width:940px}.app-form-grid-2{display:grid;gap:.65rem;grid-template-columns:1fr}@media(min-width:820px){.app-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.assignments-toolbar{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end;gap:.65rem;width:100%;min-width:0}.assignments-toolbar__search{flex:1 1 auto;min-width:0}.assignments-toolbar__actions{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;flex:0 1 auto;gap:.45rem;min-width:0;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:2px 0}.assignments-toolbar__actions::-webkit-scrollbar{display:none;width:0;height:0}.assignments-toolbar__btn{flex:0 0 auto;white-space:nowrap}.assignments-toolbar .btn.assignments-toolbar__btn{box-sizing:border-box;height:2.4rem;min-height:2.4rem;max-height:2.4rem;padding:0 .65rem;line-height:1.2}.vehicle-profiles-view .filters{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.8rem}.vehicle-profiles-view .filters__hint{margin:0}.vehicle-profiles-view .filters__row{display:grid;gap:.6rem;grid-template-columns:1fr;align-items:end}@media(min-width:1024px){.vehicle-profiles-view .filters__row{grid-template-columns:minmax(280px,1fr) minmax(140px,156px) minmax(140px,156px) auto;column-gap:.55rem}}@media(min-width:1280px){.vehicle-profiles-view .filters__row{grid-template-columns:minmax(340px,1fr) minmax(148px,164px) minmax(148px,164px) auto;column-gap:.65rem}}.vehicle-profiles-view .filters__field--date{max-width:164px}.vehicle-profiles-view .filters__field--identifier{min-width:0;max-width:none}.vehicle-profiles-view .filters__actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;align-self:end;justify-content:flex-start;gap:.45rem;min-width:0;padding-bottom:0}.vehicle-profiles-view .filters__actions{justify-self:start}@media(min-width:1024px){.vehicle-profiles-view .filters__actions{justify-self:end}}.vehicle-profiles-view .filters__actions-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.vehicle-profiles-view .filters__actions .btn{flex:0 0 auto}.vehicle-profiles-view .filters .btn.filters__btn{box-sizing:border-box;height:2.4rem;min-height:2.4rem;max-height:2.4rem;padding:0 .65rem;line-height:1.2;white-space:nowrap}
