*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:inherit;background-color:#f9fafb;color:#111827;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}button,[role=button]{cursor:pointer}button,select{text-transform:none}ol,ul,menu{list-style:none}table{text-indent:0;border-color:inherit;border-collapse:collapse}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}::placeholder{opacity:1;color:#9ca3af}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:.25rem}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.leaflet-pane{z-index:10!important}.leaflet-bottom{z-index:20!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.severity-bg--critical{background-color:#fef2f2}.severity-bg--high{background-color:#fff7ed}.severity-bg--medium{background-color:#fefce8}.severity-bg--low{background-color:#eff6ff}.severity-text--critical{color:#b91c1c}.severity-text--high{color:#c2410c}.severity-text--medium{color:#a16207}.severity-text--low{color:#1d4ed8}.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#94a3b8}.placeholder__title{font-size:1.25rem;font-weight:700;color:#94a3b8;margin-bottom:.5rem}.layout{display:flex;height:100vh;background-color:#f9fafb;color:#111827;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.layout__sidebar{width:16rem;flex-shrink:0;background-color:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;z-index:20}.layout__logo{height:4rem;display:flex;align-items:center;padding:0 1.5rem;border-bottom:1px solid #f3f4f6}.layout__logo-icon{width:1.75rem;height:1.75rem;color:#2563eb;margin-right:.75rem}.layout__logo-title{font-size:1.125rem;font-weight:700;letter-spacing:-.025em;color:#111827}.layout__logo-subtitle{font-size:.625rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.layout__nav{flex:1;padding:1.5rem 1rem;overflow-y:auto}.layout__nav>*+*{margin-top:.25rem}.layout__nav-item{display:flex;align-items:center;padding:.625rem .75rem;font-size:.875rem;font-weight:500;border-radius:.5rem;transition:all .2s ease;color:#6b7280;text-decoration:none}.layout__nav-item:hover{background-color:#f9fafb;color:#111827}.layout__nav-item--active{background-color:#eff6ff;color:#1d4ed8}.layout__nav-icon{width:1.25rem;height:1.25rem;margin-right:.75rem;transition:color .2s ease;color:#9ca3af}.layout__nav-item:hover .layout__nav-icon{color:#4b5563}.layout__nav-item--active .layout__nav-icon{color:#2563eb}.layout__system-section{padding-top:2rem;margin-top:1.5rem;border-top:1px solid #f3f4f6}.layout__system-label{padding:0 .75rem;font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.layout__logout-btn{width:100%;display:flex;align-items:center;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:#dc2626;border-radius:.5rem;border:none;background:transparent;cursor:pointer;transition:all .2s ease}.layout__logout-btn:hover{background-color:#fef2f2;color:#b91c1c}.layout__logout-icon{width:1.25rem;height:1.25rem;margin-right:.75rem}.layout__user-section{padding:1rem;border-top:1px solid #f3f4f6;background-color:#f9fafb80}.layout__user-info{display:flex;align-items:center}.layout__user-avatar{width:2rem;height:2rem;border-radius:9999px;background:linear-gradient(to top right,#2563eb,#4f46e5);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;box-shadow:0 1px 2px #0000000d}.layout__user-details{margin-left:.75rem}.layout__user-name{font-size:.875rem;font-weight:600;color:#111827}.layout__user-role{font-size:.75rem;color:#6b7280}.layout__main{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;background-color:#f9fafb}.layout__header{height:4rem;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid rgba(229,231,235,.5);background-color:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;position:sticky;top:0}.layout__env-indicator{font-size:.875rem;color:#6b7280;display:flex;align-items:center;gap:.5rem}.layout__env-dot{width:.5rem;height:.5rem;border-radius:9999px;background-color:#10b981}.layout__header-actions{display:flex;align-items:center;gap:1rem}.layout__notification-btn{position:relative;padding:.5rem;color:#9ca3af;background:transparent;border:none;cursor:pointer;transition:color .2s ease}.layout__notification-btn:hover{color:#4b5563}.layout__notification-icon{width:1.25rem;height:1.25rem}.layout__notification-dot{position:absolute;top:.5rem;right:.5rem;width:.5rem;height:.5rem;background-color:#ef4444;border-radius:9999px;border:1px solid #ffffff}.layout__content{flex:1;overflow-y:auto;padding:2rem;scroll-behavior:smooth}.card{border-radius:1rem;box-shadow:0 1px 2px #0000000d;overflow:hidden;display:flex;flex-direction:column;background-color:#fff;border:1px solid #e5e7eb}.card--dark{background-color:#0f172a;border-color:#334155;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.card__header{padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #f3f4f6}.card--dark .card__header{border-bottom-color:#1e293b}.card__title{font-size:1rem;font-weight:600;color:#111827}.card--dark .card__title{color:#f1f5f9}.card__subtitle{font-size:.875rem;margin-top:.125rem;color:#6b7280}.card--dark .card__subtitle{color:#94a3b8}.card__body{padding:1.5rem}.card__body--no-padding{padding:0}.badge{display:inline-flex;align-items:center;font-weight:500;border-radius:.5rem;justify-content:center}.badge--sm{padding:.25rem .625rem;font-size:.75rem}.badge--md{padding:.375rem .75rem;font-size:.875rem}.badge--lg{padding:.5rem 1rem;font-size:1rem}.badge--default-red{background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.badge--default-orange{background-color:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.badge--default-yellow{background-color:#fefce8;color:#a16207;border:1px solid #fef08a}.badge--default-green{background-color:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.badge--default-blue{background-color:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.badge--default-slate{background-color:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.badge--default-purple{background-color:#faf5ff;color:#7c3aed;border:1px solid #e9d5ff}.badge--solid-red{background-color:#dc2626;color:#fff;box-shadow:0 1px 2px #0000000d}.badge--solid-orange{background-color:#f97316;color:#fff;box-shadow:0 1px 2px #0000000d}.badge--solid-yellow{background-color:#eab308;color:#fff;box-shadow:0 1px 2px #0000000d}.badge--solid-green{background-color:#059669;color:#fff;box-shadow:0 1px 2px #0000000d}.badge--solid-blue{background-color:#2563eb;color:#fff;box-shadow:0 1px 2px #0000000d}.badge--solid-slate{background-color:#1f2937;color:#fff;box-shadow:0 1px 2px #0000000d}.badge--solid-purple{background-color:#9333ea;color:#fff;box-shadow:0 1px 2px #0000000d}.badge--outline-red{border:1px solid #fca5a5;color:#dc2626;background-color:transparent}.badge--outline-orange{border:1px solid #fdba74;color:#ea580c;background-color:transparent}.badge--outline-yellow{border:1px solid #fde047;color:#ca8a04;background-color:transparent}.badge--outline-green{border:1px solid #6ee7b7;color:#059669;background-color:transparent}.badge--outline-blue{border:1px solid #93c5fd;color:#2563eb;background-color:transparent}.badge--outline-slate{border:1px solid #d1d5db;color:#4b5563;background-color:transparent}.badge--outline-purple{border:1px solid #d8b4fe;color:#9333ea;background-color:transparent}.badge__icon{margin-right:.375rem}.badge__icon--sm{width:.875rem;height:.875rem}.badge__icon--lg{width:1.25rem;height:1.25rem}.badge--font-semibold{font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:.75rem;font-weight:500;transition:all .2s ease;cursor:pointer;border:none}.btn:focus{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #3b82f6}.btn:disabled{opacity:.5;pointer-events:none}.btn--primary{background-color:#2563eb;color:#fff;box-shadow:0 1px 2px #0000000d,0 1px 3px #bfdbfe}.btn--primary:hover{background-color:#1d4ed8}.btn--primary:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px #3b82f6}.btn--secondary{background-color:#fff;color:#374151;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d}.btn--secondary:hover{background-color:#f9fafb}.btn--secondary:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px #e5e7eb}.btn--ghost{background-color:transparent;color:#4b5563}.btn--ghost:hover{color:#111827;background-color:#f3f4f6}.btn--danger{background-color:#dc2626;color:#fff;box-shadow:0 1px 2px #0000000d}.btn--danger:hover{background-color:#b91c1c}.btn--danger:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px #ef4444}.btn--sm{height:2rem;padding:0 .75rem;font-size:.75rem}.btn--md{height:2.5rem;padding:.5rem 1rem;font-size:.875rem}.btn--lg{height:3rem;padding:0 1.5rem;font-size:1rem}.fleet-triage{display:flex;flex-direction:column;gap:2rem;padding-bottom:2.5rem}.fleet-triage__header-title{font-size:1.5rem;font-weight:700;color:#111827;letter-spacing:-.025em}.fleet-triage__header-subtitle{color:#6b7280;margin-top:.5rem;max-width:56rem;font-size:.875rem;line-height:1.625}.fleet-triage__loading{display:flex;align-items:center;justify-content:center;padding:5rem 0}.fleet-triage__loading-icon{width:2rem;height:2rem;color:#3b82f6}.fleet-triage__loading-text{margin-left:.75rem;color:#6b7280}.fleet-triage__error{text-align:center;padding:5rem 0;background:#fef2f2;border-radius:1rem;border:1px solid #fecaca}.fleet-triage__error-icon{width:3rem;height:3rem;color:#ef4444;margin:0 auto 1rem}.fleet-triage__error-text{color:#dc2626}.triage-graph{position:relative;width:100%;background:#f8fafc;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 2px #0000000d;overflow:hidden;min-height:500px}.triage-graph__svg{width:100%;min-height:500px;-webkit-user-select:none;user-select:none}.triage-graph__pz-label{font-size:11px;font-weight:700;fill:#e11d48;letter-spacing:.05em}.triage-graph__node-label{font-size:11px;font-weight:500;fill:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.triage-graph__fo-center{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.triage-graph__pz-car-icon{color:#fff}.triage-legend{position:absolute;bottom:1.5rem;left:1.5rem;display:flex;flex-direction:column;gap:.5rem;background:#fffc;padding:.75rem;border-radius:.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.75rem;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d;pointer-events:none}.triage-legend__title{font-size:.625rem;font-weight:700;color:#9ca3af;text-transform:uppercase;margin-bottom:.25rem}.triage-legend__item{display:flex;align-items:center;gap:.5rem;color:#4b5563}.triage-legend__dot{width:.625rem;height:.625rem;border-radius:9999px}.triage-legend__dot--pz{background:#f43f5e;border:1px solid #e11d48}.triage-legend__dot--high{background:#fed7aa;border:1px solid #f97316}.triage-legend__dot--medium{background:#fef08a;border:1px solid #eab308}.triage-legend__dot--low{background:#bfdbfe;border:1px solid #3b82f6}.triage-zoom{position:absolute;top:1rem;right:1rem;display:flex;flex-direction:column;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.5rem;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d}.triage-zoom__btn{padding:.375rem;color:#6b7280;background:transparent;border:none;cursor:pointer;transition:background .15s ease,color .15s ease}.triage-zoom__btn:hover{background:#f3f4f6;color:#374151}.triage-zoom__btn:first-child{border-radius:.5rem .5rem 0 0}.triage-zoom__btn:last-child{border-radius:0 0 .5rem .5rem}.triage-zoom__divider{border-top:1px solid #f3f4f6}.triage-popup{background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.5rem;box-shadow:0 25px 50px -12px #00000040;padding:1rem;font-size:.75rem}.triage-popup--pz{border:1px solid #fecdd3}.triage-popup--vehicle{border:1px solid #e5e7eb}.triage-popup__header{font-weight:700;color:#111827;margin-bottom:.25rem;display:flex;align-items:center;font-size:.875rem}.triage-popup__header--between{justify-content:space-between}.triage-popup__header-icon{width:1rem;height:1rem;color:#f43f5e;margin-right:.375rem}.triage-popup__exposure{color:#e11d48;font-weight:700;margin-bottom:.5rem}.triage-popup__correlation{color:#4b5563;font-weight:500;margin-bottom:.5rem}.triage-popup__correlation-value{font-weight:700}.triage-popup__rows{display:flex;flex-direction:column;gap:.25rem}.triage-popup__row{color:#6b7280;display:flex;justify-content:space-between}.triage-popup__row-value{color:#111827}.triage-popup__row-value--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.triage-popup__indicators-section{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #f3f4f6}.triage-popup__indicators-title{font-size:.625rem;font-weight:700;color:#9ca3af;text-transform:uppercase;margin-bottom:.25rem}.triage-popup__indicators-title--mb{margin-bottom:.375rem}.triage-popup__indicators-list{list-style:disc;padding-left:.75rem;display:flex;flex-direction:column;gap:.125rem;color:#374151}.triage-popup__indicators-chips{display:flex;flex-wrap:wrap;gap:.25rem}.triage-popup__indicator-chip{display:inline-flex;align-items:center;gap:.25rem;background:#f3f4f6;color:#374151;padding:.125rem .5rem;border-radius:9999px}.triage-popup__indicator-category{color:#9ca3af;font-weight:500}.triage-popup__risk-badge{padding:.125rem .375rem;border-radius:.25rem;font-size:9px;font-weight:700}.triage-popup__risk-badge--high{background:#ffedd5;color:#c2410c}.triage-popup__risk-badge--medium{background:#fef9c3;color:#a16207}.triage-popup__risk-badge--low{background:#dbeafe;color:#1d4ed8}.vehicle-profile{border-left-width:4px;border-left-style:solid;transition:border-color .15s ease}.vehicle-profile--critical{border-left-color:#e11d48}.vehicle-profile--high{border-left-color:#f97316}.vehicle-profile--medium{border-left-color:#eab308}.vehicle-profile--low{border-left-color:#3b82f6}.vehicle-profile__header{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem}.vehicle-profile__header-icon-wrapper{padding:.375rem;border-radius:.375rem;background:#eff6ff;flex-shrink:0}.vehicle-profile__header-icon{width:1.25rem;height:1.25rem;color:#3b82f6}.vehicle-profile__header-title{font-size:1rem;font-weight:700;color:#111827}.vehicle-profile__header-subtitle{font-size:11px;margin-top:.125rem;color:#9ca3af}.vehicle-profile__grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:1024px){.vehicle-profile__grid{grid-template-columns:repeat(12,1fr)}}.vehicle-profile__identity{display:flex;flex-direction:column;gap:1rem}@media(min-width:1024px){.vehicle-profile__identity{grid-column:span 3;border-right:1px solid #f3f4f6;padding-right:1rem}}.vehicle-profile__identity-row{display:flex;align-items:center;gap:1rem}.vehicle-profile__avatar{padding:.75rem;border-radius:.75rem;flex-shrink:0;box-shadow:0 1px 2px #0000000d}.vehicle-profile__avatar--critical{background:#fff1f2;color:#e11d48}.vehicle-profile__avatar--default{background:#fff;border:1px solid #f3f4f6;color:#4b5563}.vehicle-profile__avatar-icon{width:2rem;height:2rem}.vehicle-profile__name{font-size:.875rem;font-weight:600;color:#111827}.vehicle-profile__model{font-size:.75rem;color:#6b7280;font-weight:500}.vehicle-profile__info-boxes{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.vehicle-profile__info-box{background:#f9fafb;padding:.75rem;border-radius:.5rem;border:1px solid #f3f4f6}.vehicle-profile__info-label{font-size:.625rem;color:#9ca3af;text-transform:uppercase;font-weight:700;letter-spacing:.05em;margin-bottom:.25rem}.vehicle-profile__info-value{font-size:.875rem;font-weight:600;color:#111827}.vehicle-profile__info-value-with-icon{font-size:.875rem;font-weight:600;color:#111827;display:flex;align-items:flex-start;gap:.25rem}.vehicle-profile__info-pin-icon{width:.875rem;height:.875rem;color:#9ca3af;margin-top:.125rem}.vehicle-profile__fingerprints{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:1024px){.vehicle-profile__fingerprints{grid-column:span 9}}@media(min-width:768px){.vehicle-profile__fingerprints{grid-template-columns:1fr 1fr}}.fingerprint-box{padding:.75rem;border-radius:.75rem;border:1px solid #e5e7eb;background:#fff;transition:border-color .15s ease}.fingerprint-box:hover{border-color:#93c5fd}.fingerprint-box--dashed{border-style:dashed;background:#f9fafb4d}.fingerprint-box__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.fingerprint-box__header-icon{width:.875rem;height:.875rem;color:#9ca3af}.fingerprint-box__header-title{font-size:11px;font-weight:700;text-transform:uppercase;color:#6b7280;letter-spacing:.05em}.fingerprint-box__grid{display:grid;grid-template-columns:1fr 1fr;column-gap:1rem;row-gap:.375rem}.fingerprint-box__label{font-size:.625rem;color:#9ca3af;text-transform:uppercase;font-weight:700}.fingerprint-box__value{font-size:.75rem;color:#1f2937;font-weight:500}.fingerprint-box__value--italic{color:#6b7280;font-style:italic}.fingerprint-box__value--break{word-wrap:break-word}.fingerprint-box__placeholder{display:flex;align-items:center;gap:.5rem;text-align:left;padding:.25rem 0}.fingerprint-box__placeholder-icon{width:1.25rem;height:1.25rem;color:#e5e7eb;flex-shrink:0}.fingerprint-box__placeholder-text{font-size:11px;color:#9ca3af;font-style:italic}.fingerprint-box__workshop-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.fingerprint-box__workshop-fields{display:flex;gap:1rem;min-width:0}.fingerprint-box__workshop-actions{flex-shrink:0;border-left:1px solid #f3f4f6;padding-left:.75rem}.fingerprint-box__workshop-action-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.75rem}.fingerprint-box__workshop-action-type{color:#4b5563}.fingerprint-box__workshop-action-count{color:#1f2937;font-weight:600;font-variant-numeric:tabular-nums}.fingerprint-box__workshop-actions-list{display:flex;flex-direction:column;gap:.125rem}.prebreach__counter-badge{margin-left:auto;font-size:.625rem;font-weight:700;padding:.125rem .375rem;border-radius:.25rem}.prebreach__counter-badge--danger{background:#fef2f2;color:#dc2626}.prebreach__counter-badge--warn{background:#fffbeb;color:#d97706}.prebreach__counter-badge--info{background:#eff6ff;color:#2563eb}.prebreach__counter-badge--none{background:#f9fafb;color:#9ca3af}.prebreach__pz-row{display:flex;align-items:center;gap:.75rem}.prebreach__pz-count{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;font-weight:700;font-size:1rem;background:#fff1f2;color:#e11d48}.prebreach__pz-label{font-size:.75rem;color:#374151;font-weight:500}.prebreach__pz-type{display:inline-flex;align-items:center;padding:.125rem .375rem;border-radius:.25rem;font-size:.625rem;font-weight:600}.prebreach__pz-type--diagnostic{background:#eff6ff;color:#2563eb}.prebreach__pz-type--cyber{background:#fff1f2;color:#e11d48}.prebreach__pz-types{display:flex;align-items:center;gap:.375rem;margin-top:.125rem}.prebreach__indicators{display:flex;flex-wrap:wrap;gap:.25rem}.prebreach__indicator{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;border-radius:.375rem;font-size:.625rem;transition:colors .15s ease}.prebreach__indicator--detected{background:#fffbeb99}.prebreach__indicator--undetected{background:#f9fafb99}.prebreach__indicator-icon{width:.75rem;height:.75rem;flex-shrink:0}.prebreach__indicator-icon--detected{color:#f59e0b}.prebreach__indicator-icon--undetected{color:#d1d5db}.prebreach__indicator-label{font-weight:500}.prebreach__indicator-label--detected{color:#1f2937}.prebreach__indicator-label--undetected{color:#9ca3af}.prebreach__empty{font-size:11px;color:#9ca3af;font-style:italic;padding:.25rem 0}.prebreach__summary{font-size:11px;color:#6b7280;margin-top:.375rem}.triage-table{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 2px #0000000d;overflow:hidden}.triage-table__header{padding:1.25rem 1.5rem;border-bottom:1px solid #f3f4f6;display:flex;align-items:center;justify-content:space-between;background:#f9fafb80}.triage-table__header-title{font-size:1rem;font-weight:700;color:#111827}.triage-table__header-subtitle{font-size:.75rem;color:#6b7280;margin-top:.125rem}.triage-table__scroll{overflow-x:auto}.triage-table__table{width:100%;text-align:left;border-collapse:collapse}.triage-table__thead-row{background:#f9fafb;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;border-bottom:1px solid #f3f4f6}.triage-table__th{padding:.75rem 1.5rem;font-weight:600}.triage-table__tbody{font-size:.875rem}.triage-row{border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background .15s ease}.triage-row--pz{background:#fff1f21a}.triage-row--pz:hover{background:#fff1f24d}.triage-row--pz.triage-row--selected{background:#fff1f266}.triage-row--selected{background:#eff6ff80}.triage-row:not(.triage-row--pz):hover{background:#f9fafb}.triage-row__cell{padding:1rem 1.5rem}.triage-row__name{font-weight:700;color:#111827;display:flex;align-items:center;gap:.5rem}.triage-row__name--medium{font-weight:500}.triage-row__risk-dot{width:.5rem;height:.5rem;border-radius:9999px;flex-shrink:0}.triage-row__risk-dot--pz{background:#f43f5e}.triage-row__risk-dot--high{background:#f97316}.triage-row__risk-dot--medium{background:#eab308}.triage-row__risk-dot--low{background:#3b82f6}.triage-row__pz-badge{padding:.125rem .375rem;border-radius:.25rem;font-size:9px;font-weight:700;background:#ffe4e6;color:#be123c;text-transform:uppercase}.triage-row__similarity{display:flex;flex-direction:column;gap:.25rem}.triage-row__similarity-value-row{display:flex;align-items:center;gap:.5rem}.triage-row__similarity-value{font-size:1rem;font-weight:700}.triage-row__similarity-value--pz{color:#e11d48}.triage-row__similarity-value--high{color:#ea580c}.triage-row__similarity-value--medium{color:#ca8a04}.triage-row__similarity-value--low{color:#2563eb}.triage-row__similarity-level{font-size:.625rem;font-weight:600;text-transform:uppercase}.triage-row__similarity-level--pz{color:#f43f5e}.triage-row__similarity-level--high{color:#ea580c}.triage-row__similarity-level--medium{color:#ca8a04}.triage-row__similarity-level--low{color:#2563eb}.triage-row__similarity-bar{width:100%;height:.375rem;background:#f3f4f6;border-radius:9999px;overflow:hidden}.triage-row__similarity-fill{height:100%;border-radius:9999px}.triage-row__similarity-fill--pz{background:#f43f5e}.triage-row__similarity-fill--high{background:#f97316}.triage-row__similarity-fill--medium{background:#eab308}.triage-row__similarity-fill--low{background:#3b82f6}.triage-row__indicators{display:flex;flex-wrap:wrap;gap:.25rem}.triage-row__indicator-chip{display:inline-flex;align-items:center;background:#f3f4f6;color:#374151;padding:.125rem .5rem;border-radius:9999px;font-size:11px}.triage-row__indicator-category{color:#9ca3af;margin-right:.25rem}.triage-row__indicator-more{font-size:.625rem;color:#9ca3af;align-self:center}.triage-row__meta{color:#6b7280;font-size:.75rem}.triage-row__location{color:#6b7280;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.triage-row__italic{font-style:italic;font-size:.75rem;color:#6b7280}.ir-view{display:flex;flex-direction:column;gap:1.5rem}.ir-view__loading{display:flex;align-items:center;justify-content:center;height:16rem}.ir-view__loading-icon{width:2rem;height:2rem;color:#9ca3af}.ir-top-row{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:1280px){.ir-top-row{grid-template-columns:2fr 1fr}}.ir-top-row__artifacts{align-self:start}.attack-signature__info-btn{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;color:#2563eb;background:#eff6ff;padding:.25rem .5rem;border-radius:9999px;border:none;cursor:pointer;transition:background .15s ease}.attack-signature__info-btn:hover{background:#dbeafe}.attack-signature__info-icon{width:.875rem;height:.875rem}.attack-signature__info-popup-wrapper{position:relative}.attack-signature__info-popup-wrapper:hover .attack-signature__info-popup{display:block}.attack-signature__info-popup{display:none;position:absolute;right:0;top:100%;margin-top:.5rem;width:20rem;background:#fff;border:1px solid #e5e7eb;padding:1rem;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;z-index:50}.attack-signature__info-popup-title{font-size:.875rem;font-weight:700;color:#111827;margin-bottom:.5rem}.attack-signature__info-popup-text{font-size:.75rem;color:#6b7280;line-height:1.625}.attack-signature__content{display:flex;flex-direction:column;gap:1rem}.attack-signature__section-label{font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.attack-signature__section-label--mb{margin-bottom:.75rem}.attack-signature__summary-text{font-size:.875rem;color:#374151;line-height:1.625;border-left:2px solid #fed7aa;padding-left:.75rem}.attack-signature__assets-section{padding-top:.5rem}.attack-signature__assets-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.attack-signature__assets-grid{grid-template-columns:1fr 1fr}}.attack-signature__asset-list{display:flex;flex-wrap:wrap;gap:.5rem}.ecu-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(to bottom right,#111827,#374151);color:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;border:1px solid #4b5563}.ecu-chip__icon{width:1rem;height:1rem;color:#93c5fd}.ecu-chip__label{font-size:.875rem;font-weight:700;letter-spacing:.025em}.signal-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;box-shadow:0 1px 2px #0000000d}.signal-chip__icon{width:1rem;height:1rem;color:#ef4444}.signal-chip__label{font-size:.875rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-weight:700;color:#b91c1c}.signal-analysis{min-height:500px}.signal-analysis__toggle-group{display:flex;background:#f3f4f6;padding:.25rem;border-radius:.5rem}.signal-analysis__toggle-btn{padding:.25rem .75rem;font-size:.75rem;font-weight:700;border-radius:.375rem;border:none;cursor:pointer;transition:all .15s ease;background:transparent;color:#6b7280}.signal-analysis__toggle-btn:hover{color:#374151}.signal-analysis__toggle-btn--active{background:#fff;color:#111827;box-shadow:0 1px 2px #0000000d}.signal-analysis__toggle-btn--id-active{background:#fff;color:#2563eb;box-shadow:0 1px 2px #0000000d}.signal-analysis__toggle-btn+.signal-analysis__toggle-btn{margin-left:.25rem}.signal-analysis__toggle-btn--mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.signal-analysis__chart-wrapper{width:100%;height:400px;min-height:400px}.ir-map{position:relative;width:100%;height:500px}.ir-map__canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.ir-map__legend{position:absolute;bottom:1.5rem;left:1.5rem;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.5rem;padding:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.5rem;z-index:400;width:12rem}.ir-map__legend-item{display:flex;align-items:center;gap:.5rem;font-size:.625rem;font-weight:500;color:#4b5563}.ir-map__legend-dot{width:.5rem;height:.5rem;border-radius:9999px}.ir-map__legend-dot--red{background:#dc2626}.ir-map__legend-dot--blue{background:#2563eb}.ir-map__legend-dot--green{background:#10b981}.ir-map__legend-dot--orange{background:#f97316}.ir-map__legend-line{width:1.5rem;height:.25rem;background:#2563eb}.ir-marker__current{position:relative;display:flex;align-items:center;justify-content:center}.ir-marker__current-pulse{position:absolute;width:3rem;height:3rem;background:#ef44444d;border-radius:9999px}.ir-marker__current-dot{position:relative;width:1.25rem;height:1.25rem;background:#dc2626;border:2px solid #ffffff;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border-radius:9999px}.ir-marker__past{width:1rem;height:1rem;background:#10b981;border:2px solid #ffffff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;border-radius:9999px;transition:transform .15s ease}.ir-marker__past:hover{transform:scale(1.25)}.ir-marker__diagnostic{width:1rem;height:1rem;background:#f97316;border:2px solid #ffffff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff;transition:transform .15s ease}.ir-marker__diagnostic:hover{transform:scale(1.25)}.ir-popup{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-width:200px}.ir-popup__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.ir-popup__type-badge{font-size:.625rem;font-weight:700;padding:.125rem .375rem;border-radius:.25rem}.ir-popup__type-badge--current{background:#fee2e2;color:#b91c1c}.ir-popup__type-badge--past{background:#d1fae5;color:#047857}.ir-popup__type-badge--diagnostic{background:#ffedd5;color:#c2410c}.ir-popup__timestamp{font-size:.625rem;color:#9ca3af}.ir-popup__label{font-size:.75rem;font-weight:700;color:#111827;line-height:1.25;margin-bottom:.125rem}.ir-popup__severity{font-size:.625rem;color:#6b7280}.ir-correlation{background:linear-gradient(to bottom right,#eef2ff,#fff)}.ir-correlation__body{display:flex;flex-direction:column;height:100%;justify-content:space-between}.ir-correlation__description{font-size:.875rem;color:#4b5563;margin-bottom:1.5rem}.ir-correlation__model-name{font-weight:700}.ir-correlation__stats{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding:0 .5rem}.ir-correlation__count{font-size:2.25rem;font-weight:700;letter-spacing:-.025em;line-height:1}.ir-correlation__count--critical{color:#dc2626}.ir-correlation__count--rare{color:#ea580c}.ir-correlation__count--medium{color:#f59e0b}.ir-correlation__count--common{color:#059669}.ir-correlation__count-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.ir-correlation__car-icon{width:3rem;height:3rem;opacity:.2}.ir-correlation__rarity-scale{display:flex;flex-direction:column;gap:.375rem;border-top:1px solid #f3f4f6;padding-top:1.5rem}.ir-correlation__rarity-title{font-size:.625rem;text-transform:uppercase;font-weight:700;color:#9ca3af;margin-bottom:.5rem}.rarity-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:.5rem;font-size:.75rem;transition:all .3s ease;color:#9ca3af;border:1px solid transparent}.rarity-item--critical-active{background:#fef2f2;color:#b91c1c;font-weight:700;box-shadow:0 1px 2px #0000000d;border-color:#fecaca;transform:scale(1.05)}.rarity-item--rare-active{background:#fff7ed;color:#c2410c;font-weight:700;box-shadow:0 1px 2px #0000000d;border-color:#fed7aa;transform:scale(1.05)}.rarity-item--medium-active{background:#fffbeb;color:#b45309;font-weight:700;box-shadow:0 1px 2px #0000000d;border-color:#fde68a;transform:scale(1.05)}.rarity-item--common-active{background:#ecfdf5;color:#047857;font-weight:700;box-shadow:0 1px 2px #0000000d;border-color:#a7f3d0;transform:scale(1.05)}.rarity-item__range{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.rarity-item__suffix{font-size:9px;text-transform:uppercase;opacity:.7}.signal-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;min-width:160px}.signal-tooltip__header{font-size:.75rem;font-weight:700;color:#111827;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid #f3f4f6}.signal-tooltip__row{display:flex;align-items:center;gap:.5rem;padding:2px 0;font-size:.625rem}.signal-tooltip__dot{width:8px;height:8px;border-radius:9999px;flex-shrink:0}.signal-tooltip__name{color:#4b5563;flex:1}.signal-tooltip__value{font-weight:700;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;color:#111827}.signal-analysis__legend{display:flex;justify-content:center;gap:1.5rem;padding-top:.5rem}.signal-analysis__legend-item{display:flex;align-items:center;gap:.5rem;font-size:.625rem;color:#6b7280}.signal-analysis__legend-line{display:inline-block;width:1.5rem;height:2px;background:#9ca3af}.signal-analysis__legend-line--dashed{background:repeating-linear-gradient(to right,#9ca3af 0,#9ca3af 4px,transparent 4px,transparent 8px);height:2px}.signal-analysis__legend-line--solid{height:3px;background:#374151}.ir-event-history__count{font-size:.75rem;color:#9ca3af;font-weight:500;background:#f9fafb;padding:.25rem .5rem;border-radius:.375rem;border:1px solid #e5e7eb}.ir-event-history__table-wrapper{overflow-x:auto;margin-top:.5rem}.ir-event-history__table{width:100%;border-collapse:collapse;font-size:.875rem}.ir-event-history__head-row{border-bottom:2px solid #f3f4f6}.ir-event-history__th{padding:.75rem 1rem;text-align:left;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;white-space:nowrap}.ir-event-history__th--center{text-align:center}.ir-event-history__row{border-bottom:1px solid #f9fafb;transition:background .15s ease;cursor:pointer}.ir-event-history__row:hover{background:#f9fafb}.ir-event-history__row--session{background:#fef2f24d}.ir-event-history__row--session:hover{background:#fef2f299}.ir-event-history__row--selected{background:#eff6ff;outline:2px solid #60a5fa;outline-offset:-2px}.ir-event-history__row--selected:hover{background:#dbeafe}.ir-event-history__td{padding:.75rem 1rem;color:#374151;white-space:nowrap}.ir-event-history__td--date{font-weight:500;color:#111827}.ir-event-history__td--time{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;color:#6b7280;font-size:.75rem}.ir-event-history__td--center{text-align:center}.ir-event-history__analyzer{font-size:.75rem;font-weight:500;color:#4b5563}.ir-event-history__alert-type{font-size:.75rem;font-weight:600;color:#374151}.ir-event-history__alert-type--session{color:#b91c1c;font-weight:700}.ir-event-history__ids-list{display:flex;flex-wrap:wrap;gap:.25rem}.ir-event-history__id-tag{font-size:.625rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;padding:2px .5rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.25rem;color:#374151}.ir-event-history__ecus{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center}.ir-event-history__classification{display:flex;align-items:center;gap:.75rem}.ir-event-history__classification-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.ir-event-history__classification-label{display:block;font-size:.875rem;font-weight:600;line-height:1.25}.ir-event-history__classification-sub{display:block;font-size:.75rem;color:#9ca3af;line-height:1.25;margin-top:2px}.ir-event-history__empty{color:#d1d5db}.ir-event-history__source-badge{font-size:.625rem;font-weight:700;padding:2px .5rem;border-radius:.25rem;text-transform:uppercase}.ir-event-history__source-badge--session{background:#fee2e2;color:#b91c1c}.ir-event-history__source-badge--past{background:#d1fae5;color:#047857}.ir-forensic{display:flex;flex-direction:column;gap:1rem}.ir-forensic__file-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;cursor:pointer;transition:all .15s ease;width:100%;text-align:left}.ir-forensic__file-row:hover{border-color:#60a5fa;box-shadow:0 1px 2px #0000000d}.ir-forensic__file-row:hover .ir-forensic__file-row-name{color:#1d4ed8}.ir-forensic__file-row:disabled{cursor:default;opacity:.7}.ir-forensic__file-row:disabled:hover{background:#f9fafb;border-color:#e5e7eb;box-shadow:none}.ir-forensic__file-row--ready{border-color:#6ee7b7}.ir-forensic__file-row--ready:hover{background:#ecfdf5;border-color:#34d399}.ir-forensic__file-row--pending{border-color:#fde68a;background:#fffbeb}.ir-forensic__file-row--failed{border-color:#fca5a5;background:#fef2f2}.ir-forensic__file-row--failed:hover{background:#fee2e2;border-color:#f87171}.ir-forensic__file-row--failed .ir-forensic__file-icon{background:#fee2e2;color:#ef4444}.ir-forensic__file-row--failed .ir-forensic__file-name{color:#b91c1c}.ir-forensic__file-inner{display:flex;align-items:center;gap:.75rem;overflow:hidden}.ir-forensic__file-icon{display:flex;align-items:center;justify-content:center;padding:.5rem;background:#dbeafe;border-radius:.5rem;flex-shrink:0;color:#2563eb}.ir-forensic__icon{width:1rem;height:1rem}.ir-forensic__file-text{display:flex;flex-direction:column;overflow:hidden}.ir-forensic__file-name{font-size:.875rem;font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s ease}.ir-forensic__file-hint{font-size:.625rem;color:#ef4444}.ir-forensic__pending-notice{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#fffbeb;border:1px solid #fde68a;border-radius:.75rem}.ir-forensic__pending-icon{width:1.25rem;height:1.25rem;color:#f59e0b;flex-shrink:0;margin-top:.125rem}.ir-forensic__pending-title{font-size:.875rem;font-weight:600;color:#111827}.ir-forensic__pending-detail{font-size:.75rem;color:#6b7280;margin-top:.25rem;line-height:1.625}.ir-forensic__disclaimer{background:#f9fafb;padding:1.5rem .75rem;border-radius:.75rem;border:1px dashed #d1d5db;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.ir-forensic__disclaimer-text{font-size:.75rem;color:#6b7280}.ir-forensic__disclaimer-sub{font-size:.625rem;color:#9ca3af;margin-top:.25rem}.timeline{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:2rem;height:100%}.timeline__header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;align-items:baseline}.timeline__title{font-size:1.125rem;font-weight:700;color:#111827;letter-spacing:-.025em}.timeline__subtitle{font-size:.875rem;color:#6b7280;margin-top:.25rem}.timeline__incident-id{font-size:.75rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;color:#9ca3af}.timeline__body{padding-left:.5rem}.narrative{display:flex;position:relative}.narrative:hover .narrative__content--pre-breach{opacity:1}.narrative__spine{width:3.5rem;flex-shrink:0;display:flex;flex-direction:column;align-items:center;position:relative}.narrative__spine-line{position:absolute;top:1.25rem;bottom:0;left:50%;transform:translate(-50%)}.narrative__spine-line--attack{width:3px;background-color:#dc2626}.narrative__spine-line--pre-breach{width:2px;background-color:#fdba74}.narrative__node-attack{position:relative;z-index:1;width:1.5rem;height:1.5rem;border-radius:9999px;background-color:#dc2626;display:flex;align-items:center;justify-content:center;margin-top:.25rem;box-shadow:0 1px 2px #0000000d;outline:4px solid #ffffff}.narrative__node-attack-icon{width:.875rem;height:.875rem;color:#fff}.narrative__node-pre-breach{position:relative;z-index:1;width:.5rem;height:.5rem;border-radius:9999px;background-color:#fdba74;outline:4px solid #ffffff;margin-top:.75rem;transition:background-color .2s ease}.narrative:hover .narrative__node-pre-breach{background-color:#f97316}.narrative__content{flex:1;min-width:0;transition:opacity .2s ease}.narrative__content--attack{padding-bottom:4rem;opacity:1}.narrative__content--pre-breach{padding-bottom:3rem;opacity:.8}.narrative__content--pre-breach:hover{opacity:1}.narrative__content-inner{padding-top:.25rem}.narrative__header-row{display:flex;flex-direction:column;justify-content:space-between;gap:.25rem;margin-bottom:.125rem}@media(min-width:640px){.narrative__header-row{flex-direction:row;align-items:baseline}}.narrative__event-title{font-size:.875rem;letter-spacing:-.025em;color:#111827}.narrative__event-title--attack{font-weight:700}.narrative__event-title--pre-breach{font-weight:600}.narrative__timestamp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.6875rem;color:#6b7280;font-variant-numeric:tabular-nums}.narrative__description{max-width:42rem;font-weight:400;line-height:1.4}.narrative__description--attack{font-size:.875rem;color:#111827}.narrative__description--pre-breach{font-size:.75rem;color:#4b5563}.narrative__sub-description{font-size:.875rem;font-weight:600;color:#6b7280;line-height:1.4;letter-spacing:.01em;white-space:pre-line}.narrative__chips{margin-top:.375rem;display:flex;flex-wrap:wrap;gap:.375rem}.narrative__chip{font-size:.625rem;padding:.125rem .5rem;border-radius:.25rem;border:1px solid;font-weight:600}.narrative__chip--severity-high{background-color:#fef2f2;color:#b91c1c;border-color:#fee2e2}.narrative__chip--severity-medium{background-color:#fff7ed;color:#c2410c;border-color:#ffedd5}.narrative__chip--severity-low{background-color:#ecfdf5;color:#047857;border-color:#d1fae5}.narrative__chip--status-open{background-color:#fef2f2;color:#b91c1c;border-color:#fee2e2}.narrative__chip--status-progress{background-color:#eff6ff;color:#1d4ed8;border-color:#dbeafe}.narrative__chip--status-closed{background-color:#ecfdf5;color:#047857;border-color:#d1fae5}.narrative__chip--status-default{background-color:#f9fafb;color:#374151;border-color:#f3f4f6}.narrative__anomaly-chip{display:inline-flex;align-items:center;gap:.375rem;margin-top:.375rem;background-color:#f9fafb;color:#374151;border:1px solid #e5e7eb;border-radius:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600}.narrative__anomaly-chip-text{line-height:1.3}.narrative__anomaly-chip-icon{width:.75rem;height:.75rem;flex-shrink:0;color:#f87171}.narrative__anomaly-chip-tooltip{position:relative;display:inline-flex;align-items:center;cursor:help}.narrative__anomaly-chip-tooltip:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);right:0;min-width:14rem;background-color:#1f2937;color:#fff;padding:.375rem .625rem;border-radius:.25rem;font-size:.625rem;font-weight:400;white-space:normal;line-height:1.4;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:100}.narrative__anomaly-chip-tooltip:hover:after{opacity:1}.narrative__group-toggle{display:inline-flex;align-items:center;gap:.25rem;font-size:.625rem;font-weight:600;color:#2563eb;background:none;border:1px solid #e5e7eb;border-radius:.25rem;padding:.25rem .5rem;cursor:pointer;margin-top:.5rem;transition:color .2s ease,border-color .2s ease}.narrative__group-toggle:hover{color:#1d4ed8;border-color:#93c5fd}.narrative__group-toggle-icon{width:.875rem;height:.875rem;transition:transform .2s ease}.narrative__group-toggle--open .narrative__group-toggle-icon{transform:rotate(180deg)}.narrative__group-list{display:flex;flex-direction:column;gap:0;margin-top:.5rem;border-left:2px solid #fecaca;padding-left:.75rem}.narrative__group-item{display:flex;align-items:center;gap:.375rem;padding:.25rem 0;font-size:.75rem;color:#4b5563}.narrative__group-item:not(:last-child){border-bottom:1px solid #f3f4f6}.narrative__group-item-icon{width:.75rem;height:.75rem;flex-shrink:0;color:#f87171}.narrative__group-item-time{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.625rem;color:#6b7280;white-space:nowrap}.narrative__group-item-sep{color:#d1d5db}.narrative__group-item-ecus{font-weight:600;color:#374151}.narrative__chip--can-metadata{font-size:.625rem;background-color:#fef2f2;color:#b91c1c;border-color:#fee2e2;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.narrative__footer{margin-top:.5rem;display:flex;flex-direction:column;gap:.375rem;font-size:.75rem;font-weight:500}.narrative__footer-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.narrative__category-tag{display:flex;align-items:center;gap:.375rem;color:#374151;background-color:#f9fafb;padding:.125rem .5rem;border-radius:.25rem;border:1px solid #f3f4f6;width:fit-content}.narrative__category-tag-icon{width:.875rem;height:.875rem}.narrative__category-tag-label{text-transform:uppercase;letter-spacing:.05em;font-size:.625rem;font-weight:700}.narrative__location{display:flex;align-items:center;gap:.375rem;color:#4b5563;min-width:fit-content}.narrative__location-icon{width:.875rem;height:.875rem;color:#9ca3af}.narrative__link-action{margin-left:auto;display:flex;align-items:center;gap:.25rem;color:#6b7280}.narrative__link{display:flex;align-items:center;gap:2px;color:#2563eb;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;transition:color .2s ease}.narrative__link:hover{color:#1e40af}.narrative__link-icon{width:.75rem;height:.75rem}.narrative__link--standalone{display:inline-flex;align-items:center;gap:3px;margin-top:.375rem;font-size:.75rem;font-weight:500;color:#2563eb;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;transition:color .2s ease}.narrative__link--standalone:hover{color:#1e40af}.telemetry-snapshot{display:flex;position:relative}.telemetry-snapshot__spine{width:3.5rem;flex-shrink:0;display:flex;flex-direction:column;align-items:center;position:relative}.telemetry-snapshot__spine-line{position:absolute;top:1.25rem;bottom:0;left:50%;transform:translate(-50%);background-color:#dc2626;width:3px}.telemetry-snapshot__node{position:relative;z-index:1;width:1.5rem;height:1.5rem;border-radius:9999px;background-color:#dc2626;display:flex;align-items:center;justify-content:center;margin-top:.25rem;box-shadow:0 1px 2px #0000000d;outline:4px solid #ffffff}.telemetry-snapshot__node-icon{width:.875rem;height:.875rem;color:#fff}.telemetry-snapshot__content{flex:1;padding-bottom:4rem}.telemetry-snapshot__content-inner{padding-top:.25rem}.telemetry-snapshot__header-row{display:flex;align-items:center;justify-content:space-between;align-items:baseline;margin-bottom:.25rem}.telemetry-snapshot__title{font-size:.875rem;font-weight:700;color:#111827;letter-spacing:-.025em}.telemetry-snapshot__timestamp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.6875rem;color:#6b7280;font-variant-numeric:tabular-nums}.telemetry-snapshot__subtitle{font-size:.75rem;color:#9ca3af;margin-bottom:.5rem}.telemetry-snapshot__grid{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1.5rem;background-color:#f9fafb;border-radius:.5rem;padding:.75rem;border:1px solid #f3f4f6}.telemetry-snapshot__grid-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.telemetry-snapshot__param-name{font-size:.6875rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.telemetry-snapshot__param-value{font-size:.6875rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;flex-shrink:0}.telemetry-snapshot__param-value--on{color:#dc2626}.telemetry-snapshot__param-value--numeric{color:#1d4ed8}.telemetry-snapshot__param-value--default{color:#374151}.telemetry-snapshot__category-tag{margin-top:.5rem;display:flex;align-items:center;gap:.375rem;color:#374151;background-color:#f9fafb;padding:.125rem .5rem;border-radius:.25rem;border:1px solid #f3f4f6;width:fit-content}.telemetry-snapshot__category-tag-icon{width:.875rem;height:.875rem}.telemetry-snapshot__category-tag-label{text-transform:uppercase;letter-spacing:.05em;font-size:.625rem;font-weight:700}.vehicle-state-changes{display:flex;position:relative}.vehicle-state-changes__spine{width:3.5rem;flex-shrink:0;display:flex;flex-direction:column;align-items:center;position:relative}.vehicle-state-changes__spine-line{position:absolute;top:1.25rem;bottom:0;left:50%;transform:translate(-50%);background-color:#dc2626;width:3px}.vehicle-state-changes__node{position:relative;z-index:1;width:1.5rem;height:1.5rem;border-radius:9999px;background-color:#dc2626;display:flex;align-items:center;justify-content:center;margin-top:.25rem;box-shadow:0 1px 2px #0000000d;outline:4px solid #ffffff}.vehicle-state-changes__node-icon{width:.875rem;height:.875rem;color:#fff}.vehicle-state-changes__content{flex:1;padding-bottom:4rem}.vehicle-state-changes__content-inner{padding-top:.25rem}.vehicle-state-changes__header-row{display:flex;align-items:center;justify-content:space-between;align-items:baseline;margin-bottom:.25rem}.vehicle-state-changes__title{font-size:.875rem;font-weight:700;color:#111827;letter-spacing:-.025em}.vehicle-state-changes__timestamp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.6875rem;color:#6b7280;font-variant-numeric:tabular-nums}.vehicle-state-changes__subtitle{font-size:.75rem;color:#9ca3af;margin-bottom:.5rem}.vehicle-state-changes__summary{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.75rem;line-height:1.6}.vehicle-state-changes__summary-sep{color:#d1d5db;font-weight:700;-webkit-user-select:none;user-select:none}.vehicle-state-changes__summary-item{color:#4b5563}.vehicle-state-changes__summary-item--toggle{color:#c2410c;font-weight:600}.vehicle-state-changes__summary-item--range{color:#1d4ed8;font-weight:600;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.vehicle-state-changes__expand-btn{display:flex;align-items:center;gap:.375rem;font-size:.625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#2563eb;background:none;border:1px solid #e5e7eb;border-radius:.25rem;padding:.25rem .625rem;cursor:pointer;margin-bottom:.5rem;transition:color .2s ease,border-color .2s ease}.vehicle-state-changes__expand-btn:hover{color:#1d4ed8;border-color:#60a5fa}.vehicle-state-changes__expand-btn--open{color:#1f2937;border-color:#9ca3af}.vehicle-state-changes__expand-btn--open:hover{color:#111827}.vehicle-state-changes__expand-icon{width:.75rem;height:.75rem}.vehicle-state-changes__grid{margin-bottom:.5rem}.timeline-separator{position:relative;display:flex;align-items:center;padding:2.5rem 0}.timeline-separator__spine{width:3.5rem;flex-shrink:0;position:relative;height:100%;display:flex;flex-direction:column;align-items:center}.timeline-separator__spine-top{position:absolute;top:0;height:50%;width:3px;background-color:#dc2626;left:50%;transform:translate(-50%)}.timeline-separator__spine-bottom{position:absolute;top:50%;bottom:0;width:2px;background-color:#fdba74;left:50%;transform:translate(-50%)}.timeline-separator__content{flex:1;display:flex;align-items:center;gap:.75rem;padding-right:1rem}.timeline-separator__line{height:1px;background-color:#fed7aa;flex:1}.timeline-separator__line-short{height:1px;background-color:#fed7aa;width:2rem}.timeline-separator__label{font-size:.625rem;font-weight:700;color:#ea580c;text-transform:uppercase;letter-spacing:.1em;background-color:#fff7ed;padding:.375rem .75rem;border-radius:.5rem;border:1px solid #ffedd5;white-space:nowrap;box-shadow:0 1px 2px #0000000d}.geospatial{position:relative;height:16rem;width:100%;background-color:#f1f5f9;border-radius:.75rem;overflow:hidden;border:1px solid #e5e7eb}.geospatial__map{width:100%;height:100%;z-index:0}.geospatial__legend{position:absolute;bottom:.75rem;left:.75rem;background-color:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.5rem;border-radius:.5rem;border:1px solid #e5e7eb;font-size:.625rem;box-shadow:0 1px 2px #0000000d;z-index:400}.geospatial__legend>*+*{margin-top:.375rem}.geospatial__legend-item{display:flex;align-items:center;gap:.5rem}.geospatial__legend-dot{width:.75rem;height:.75rem;border-radius:9999px;border:1px solid #ffffff;box-shadow:0 1px 2px #0000000d}.geospatial__legend-dot--attack{background-color:#dc2626}.geospatial__legend-line{width:1.5rem;height:.25rem;border-radius:9999px}.geospatial__legend-line--breach{background-color:#dc2626}.geospatial__legend-line--pre-incident{background-color:#fb923c;border-top:1px dashed #fed7aa}.geospatial__legend-line--post-incident{background-color:#9333ea}.geospatial__legend-label--bold{font-weight:700;color:#1f2937}.geospatial__legend-label--normal{color:#4b5563}.map-marker__pulsar{position:relative;display:flex;align-items:center;justify-content:center}.map-marker__pulsar-ring{position:absolute;width:2rem;height:2rem;background-color:#ef444466;border-radius:9999px;animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.map-marker__pulsar-dot{position:relative;width:1rem;height:1rem;background-color:#dc2626;border:2px solid #ffffff;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border-radius:9999px}.map-marker__point{width:.75rem;height:.75rem;border-radius:9999px;border:2px solid #ffffff;box-shadow:0 1px 2px #0000000d}.map-marker__arrow{background:transparent;border:none}.manager-view{display:grid;grid-template-columns:1fr;gap:1.5rem;padding-bottom:2rem}@media(min-width:1024px){.manager-view{grid-template-columns:repeat(12,1fr)}}.manager-view__left-col{display:flex;flex-direction:column;gap:1.5rem}@media(min-width:1024px){.manager-view__left-col{grid-column:span 6}}.manager-view__right-col{display:flex;flex-direction:column;gap:1.5rem}@media(min-width:1024px){.manager-view__right-col{grid-column:span 6}}.manager-view__loading{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:2rem;height:100%;display:flex;align-items:center;justify-content:center}.manager-view__spinner{width:1.5rem;height:1.5rem;color:#9ca3af}.manager-view__error{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:2rem;text-align:center;color:#dc2626}.manager-view__geo-wrapper{padding:1rem}.manager-view__geo-loading{display:flex;align-items:center;justify-content:center;padding:2rem 0}.manager-view__geo-summary{margin-top:.75rem;display:flex;align-items:flex-start;gap:.5rem;font-size:.75rem;color:#4b5563;background:#f9fafb;padding:.5rem;border-radius:.5rem}.manager-view__geo-summary-icon{width:.875rem;height:.875rem;margin-top:.125rem;color:#9ca3af;flex-shrink:0}.procedures-view{display:grid;grid-template-columns:1fr;gap:2rem;height:calc(100vh - 250px);min-height:600px}@media(min-width:1024px){.procedures-view{grid-template-columns:repeat(12,1fr)}}.procedures-view__loading{display:flex;align-items:center;justify-content:center;height:16rem}.procedures-view__loading-icon{width:2rem;height:2rem;color:#9ca3af}.procedures-view__empty{display:flex;align-items:center;justify-content:center;height:16rem;color:#6b7280}.procedures-menu{height:100%;display:flex;flex-direction:column}@media(min-width:1024px){.procedures-menu{grid-column:span 4}}.procedures-menu__scroll{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1.5rem}.procedures-menu__group-title{padding:0 .5rem;font-size:.75rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.procedures-menu__group-list{display:flex;flex-direction:column;gap:.5rem}.procedure-item{padding:1rem;border-radius:.75rem;cursor:pointer;border:1px solid #f3f4f6;transition:all .2s ease;position:relative;overflow:hidden;background:#fff}.procedure-item:hover{border-color:#93c5fd;box-shadow:0 1px 2px #0000000d}.procedure-item--selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 1px 2px #0000000d}.procedure-item__indicator{position:absolute;left:0;top:0;bottom:0;width:.25rem;background:#3b82f6}.procedure-item__header{display:flex;align-items:center;justify-content:space-between}.procedure-item__title{font-weight:700;font-size:.875rem;color:#374151}.procedure-item--selected .procedure-item__title{color:#1e3a8a}.procedure-item__chevron{width:1rem;height:1rem;color:#3b82f6}.procedure-item__description{font-size:.75rem;margin-top:.25rem;color:#6b7280;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.procedure-item--selected .procedure-item__description{color:#1d4ed8}.procedures-guide{height:100%;background:#f8fafc;border-color:#e2e8f0;display:flex;flex-direction:column}@media(min-width:1024px){.procedures-guide{grid-column:span 8}}.procedures-guide__header{padding:2rem;border-bottom:1px solid #e5e7eb;background:#fff}.procedures-guide__header-top{display:flex;align-items:center;justify-content:space-between;align-items:flex-start}.procedures-guide__meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.procedures-guide__time{font-size:.75rem;font-weight:500;color:#6b7280;display:flex;align-items:center;gap:.25rem}.procedures-guide__title{font-size:1.5rem;font-weight:700;color:#111827}.procedures-guide__description{color:#4b5563;margin-top:.5rem;max-width:42rem}.procedures-guide__scroll{flex:1;overflow-y:auto;padding:2rem;position:relative}.procedures-guide__timeline-line{position:absolute;left:54px;top:2rem;bottom:2rem;width:2px;background:#e5e7eb;z-index:0}.procedures-guide__steps{display:flex;flex-direction:column;gap:3rem;position:relative;z-index:1}.procedures-guide__end-node{display:flex;gap:1.5rem}.procedures-guide__end-node-dot-wrapper{width:3.5rem;display:flex;justify-content:center}.procedures-guide__end-node-dot{width:1rem;height:1rem;border-radius:9999px;background:#e5e7eb;border:2px solid #ffffff}.procedures-guide__end-node-label{padding-top:.25rem;font-size:.75rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.step-item{display:flex;gap:1.5rem}.step-item__icon{width:3.5rem;height:3.5rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;border-width:4px;border-style:solid;flex-shrink:0;transition:colors .15s ease;background:#fff}.step-item__icon--active{border-color:#3b82f6;color:#2563eb;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a,0 0 0 4px #dbeafe80}.step-item__icon--completed{border-color:#10b981;color:#059669}.step-item__icon--pending{border-color:#e5e7eb;color:#9ca3af}.step-item__icon-svg{width:1.5rem;height:1.5rem}.step-item__content{flex:1;padding:1.25rem;border-radius:1rem;border:1px solid #e5e7eb;transition:all .15s ease;background:#fff}.step-item__content:hover{border-color:#d1d5db}.step-item__content--active{border-color:#bfdbfe;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a,0 0 0 1px #dbeafe80}.step-item__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.step-item__title{font-weight:700;font-size:1.125rem;color:#374151}.step-item__title--active{color:#111827}.step-item__number{color:#9ca3af;margin-right:.5rem;font-size:.875rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.step-item__decision-badge{display:flex;align-items:center;gap:.25rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#ea580c;background:#fff7ed;padding:.25rem .5rem;border-radius:.25rem;border:1px solid #ffedd5}.step-item__decision-badge-icon{width:.75rem;height:.75rem}.step-item__description{font-size:.875rem;color:#4b5563;line-height:1.625}.step-item__decision-buttons{margin-top:1rem;display:flex;gap:.75rem}.step-item__decision-btn{flex:1;padding:.5rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:colors .15s ease}.step-item__decision-btn--default{border:1px solid #e5e7eb;background:#f9fafb;color:#4b5563}.step-item__decision-btn--default:hover{background:#fff;border-color:#10b981;color:#059669}.step-item__decision-btn--primary{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;box-shadow:0 0 0 1px #bfdbfe}.step-item__decision-btn--primary:hover{background:#dbeafe}.incident-detail{max-width:80rem;margin:0 auto;padding-bottom:4rem}.incident-detail>*+*{margin-top:1.5rem}.incident-detail__breadcrumb{display:flex;align-items:center;justify-content:space-between}.incident-detail__back-btn{display:flex;align-items:center;font-size:.875rem;font-weight:500;color:#6b7280;background:transparent;border:none;cursor:pointer;transition:color .2s ease}.incident-detail__back-btn:hover{color:#111827}.incident-detail__back-icon{width:1rem;height:1rem;margin-right:.375rem}.incident-detail__breadcrumb-id{font-size:.75rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;color:#9ca3af}.incident-detail__loading{display:flex;align-items:center;justify-content:center;padding:4rem}.incident-detail__loading-icon{width:2rem;height:2rem;color:#3b82f6}.incident-detail__loading-text{margin-left:.75rem;color:#6b7280}.incident-detail__error{text-align:center;padding:4rem;background-color:#fef2f2;border-radius:1rem;border:1px solid #fecaca;max-width:36rem;margin:0 auto}.incident-detail__error-icon{width:3rem;height:3rem;color:#ef4444;margin:0 auto 1rem}.incident-detail__error-text{color:#dc2626;margin-bottom:1rem}.incident-detail__error-actions{display:flex;gap:1rem;justify-content:center}.incident-detail__not-found{text-align:center;padding:4rem;color:#6b7280}.incident-detail__header-panel{background-color:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 2px #0000000d;overflow:hidden}.incident-detail__header-layout{display:flex;flex-direction:column}@media(min-width:1280px){.incident-detail__header-layout{flex-direction:row}}.incident-detail__header-main{flex:1;padding:2rem;position:relative;overflow:hidden}.incident-detail__header-decoration{position:absolute;top:0;right:0;width:16rem;height:16rem;background:linear-gradient(to bottom right,#f9fafb,#eff6ff);border-radius:9999px;filter:blur(48px);opacity:.5;transform:translateY(-50%) translate(50%);pointer-events:none}.incident-detail__header-content{position:relative;z-index:1}.incident-detail__title-section{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}@media(min-width:768px){.incident-detail__title-section{flex-direction:row;align-items:flex-start}}.incident-detail__incident-title{font-size:1.875rem;font-weight:700;color:#111827;letter-spacing:-.025em;line-height:1.25}.incident-detail__title-vehicle-id{position:relative;cursor:default;border-bottom:1px dashed #d1d5db}.incident-detail__title-vehicle-id:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background-color:#1f2937;color:#fff;font-size:.75rem;font-weight:400;white-space:nowrap;padding:.25rem .5rem;border-radius:.375rem;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10}.incident-detail__title-vehicle-id:hover:after{opacity:1}.incident-detail__severity-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem}.incident-detail__critical-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:700;background-color:#dc2626;color:#fff;box-shadow:0 1px 2px #0000000d}.incident-detail__critical-icon{width:1rem;height:1rem;margin-right:.5rem}.incident-detail__status-col{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;min-width:fit-content}.incident-detail__metadata{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;font-size:.875rem;color:#6b7280;margin-bottom:1.5rem}.incident-detail__metadata-item{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:.375rem;background-color:#f9fafb;border:1px solid #f3f4f6}.incident-detail__metadata-icon{width:.875rem;height:.875rem;color:#9ca3af}.incident-detail__metadata-muted{color:#9ca3af}.incident-detail__summary{background-color:#f8fafc;padding:1.25rem;border-radius:.75rem;border:1px solid rgba(241,245,249,.5)}.incident-detail__summary-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.incident-detail__summary-icon{width:1rem;height:1rem;color:#2563eb}.incident-detail__summary-label{font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.incident-detail__summary-text{font-size:1.125rem;font-weight:500;color:#1f2937;line-height:1.625}.incident-detail__telemetry-sidebar{background-color:#f9fafb80;border-top:1px solid #e5e7eb;padding:1.5rem;flex-shrink:0}@media(min-width:1280px){.incident-detail__telemetry-sidebar{width:20rem;border-top:none;border-left:1px solid #e5e7eb}}.incident-detail__tabs{background-color:#fff;border-top:1px solid #f3f4f6;padding:0 2rem}.incident-detail__tabs-row{display:flex;gap:2rem;overflow-x:auto}.incident-detail__tab{padding:1rem .25rem;font-size:.875rem;font-weight:600;border-bottom:2px solid transparent;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap;background:transparent;border-top:none;border-left:none;border-right:none;cursor:pointer;color:#6b7280}.incident-detail__tab:hover{color:#1f2937}.incident-detail__tab--active{border-bottom-color:#2563eb;color:#2563eb}.incident-detail__tab-icon{width:1rem;height:1rem}.incident-detail__content{min-height:400px}.incident-detail__history{background-color:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 2px #0000000d;overflow:hidden;margin-top:2rem}.incident-detail__history-header{padding:1.25rem 1.5rem;border-bottom:1px solid #f3f4f6;display:flex;align-items:center;justify-content:space-between}.incident-detail__history-title{font-size:1rem;font-weight:700;color:#111827}.incident-detail__history-count{font-size:.75rem;font-weight:500;color:#6b7280;background-color:#f3f4f6;padding:.25rem .5rem;border-radius:9999px}.incident-detail__history-table-wrapper{overflow-x:auto}.incident-detail__history-table{width:100%;text-align:left;border-collapse:collapse}.history-table__head-row{background-color:#f9fafb80;border-bottom:1px solid #f3f4f6}.history-table__th{padding:.75rem 1.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.history-table__th--center{text-align:center}.history-table__th--right{text-align:right}.history-table__body{font-size:.875rem}.history-table__row{border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.history-table__row:hover{background-color:#f9fafb}.history-table__row--security-high{background-color:#fef2f24d}.history-table__row--maintenance{background-color:#f9fafb80}.history-table__td{padding:1rem 1.5rem}.history-table__td--date{font-weight:500;color:#111827}.history-table__td--time{color:#6b7280;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.75rem}.history-table__td--center{text-align:center}.history-table__td--right{text-align:right}.history-table__classification{display:flex;align-items:center;gap:.5rem}.history-table__classification-icon{width:1rem;height:1rem}.history-table__classification-label{font-size:.875rem}.history-table__classification-label--critical{color:#991b1b;font-weight:700}.history-table__classification-label--medium{color:#c2410c;font-weight:500}.history-table__classification-label--low{color:#1e3a8a}.history-table__classification-label--default{color:#374151}.history-table__classification-detail{font-size:.75rem;color:#9ca3af;padding-left:1.5rem;margin-top:2px}.history-table__id-tag{font-size:.75rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;padding:.125rem .375rem;border-radius:.25rem;border:1px solid;transition:all .2s ease}.history-table__id-tag--compromised{background-color:#fee2e2;color:#b91c1c;border-color:#fecaca;font-weight:700}.history-table__id-tag--normal{background-color:#f3f4f6;color:#4b5563;border-color:#e5e7eb}.history-table__ids-list{display:flex;flex-wrap:wrap;gap:.25rem}.history-table__ecus{display:flex;justify-content:center;gap:.25rem}.history-table__ecus-more{font-size:.75rem;color:#9ca3af}.history-table__empty-cell{color:#d1d5db;font-size:.75rem}.history-table__empty-row-text{padding:2rem 1.5rem;text-align:center;color:#9ca3af;font-style:italic}.history-table__action-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:700;color:#2563eb;background:transparent;border:none;cursor:pointer;transition:all .2s ease}.history-table__action-link:hover{color:#1e40af;text-decoration:underline}.history-table__action-icon{width:.75rem;height:.75rem}.incident-list{max-width:72rem;margin:0 auto}.incident-list>*+*{margin-top:2rem}.incident-list__header{display:flex;flex-direction:column;justify-content:space-between;gap:1rem}@media(min-width:768px){.incident-list__header{flex-direction:row;align-items:flex-end}}.incident-list__title{font-size:1.875rem;font-weight:700;color:#111827;letter-spacing:-.025em}.incident-list__subtitle{color:#6b7280;margin-top:.25rem}.incident-list__actions{display:flex;align-items:center;gap:.75rem}.incident-list__search-wrapper{position:relative}.incident-list__search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:#9ca3af;transition:color .2s ease}.incident-list__search-wrapper:focus-within .incident-list__search-icon{color:#3b82f6}.incident-list__search-input{background-color:#fff;border:1px solid #e5e7eb;font-size:.875rem;border-radius:.75rem;padding:.625rem 1rem .625rem 2.5rem;width:16rem;color:#111827;box-shadow:0 1px 2px #0000000d;transition:all .2s ease}.incident-list__search-input::placeholder{color:#9ca3af}.incident-list__search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.incident-list__filter-icon{width:1rem;height:1rem}.incident-list__loading{display:flex;align-items:center;justify-content:center;padding:4rem 0}.incident-list__loading-icon{width:2rem;height:2rem;color:#3b82f6}.incident-list__loading-text{margin-left:.75rem;color:#6b7280}.incident-list__error{text-align:center;padding:4rem 0;background-color:#fef2f2;border-radius:1rem;border:1px solid #fecaca}.incident-list__error-text{color:#dc2626}.incident-list__retry-btn{margin-top:1rem}.incident-list__grid{display:grid;gap:1rem}.incident-list__empty{text-align:center;padding:4rem 0;background-color:#fff;border-radius:1rem;border:1px dashed #d1d5db}.incident-list__empty-text{color:#9ca3af}.incident-row{background-color:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1.5rem;transition:all .2s ease;cursor:pointer;position:relative;overflow:hidden}.incident-row:hover{border-color:#60a5fa;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.incident-row__layout{display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}@media(min-width:1024px){.incident-row__layout{flex-direction:row;align-items:center}}.incident-row__main{flex:1;min-width:200px}.incident-row__title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.incident-row__title{font-size:1.125rem;font-weight:700;color:#111827;letter-spacing:-.025em;transition:color .2s ease}.incident-row:hover .incident-row__title{color:#2563eb}.incident-row__meta{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:#6b7280}.incident-row__id-badge{display:inline-flex;align-items:center;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.375rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;color:#4b5563}.incident-row__title-vehicle-id{position:relative;cursor:default;border-bottom:1px dashed #d1d5db}.incident-row__title-vehicle-id:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background-color:#1f2937;color:#fff;font-size:.75rem;font-weight:400;white-space:nowrap;padding:.25rem .5rem;border-radius:.375rem;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10}.incident-row__title-vehicle-id:hover:after{opacity:1}.incident-row__time{display:flex;align-items:center;gap:.375rem}.incident-row__time-icon{width:.875rem;height:.875rem;color:#9ca3af}@media(min-width:1024px){.incident-row__vehicle{width:12rem}}.incident-row__vehicle-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.incident-row__vehicle-icon{width:1rem;height:1rem;color:#9ca3af}.incident-row__vehicle-name{font-weight:600;color:#374151}.incident-row__vehicle-fleet{font-size:.75rem;color:#6b7280;padding-left:1.5rem}.incident-row__summary{flex:1;display:none;border-left:1px solid #f3f4f6;padding-left:1.5rem}@media(min-width:1280px){.incident-row__summary{display:block}}.incident-row__summary-text{font-size:.875rem;color:#4b5563;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.625}.incident-row__summary-icon{width:.75rem;height:.75rem;display:inline;margin-right:.25rem;color:#3b82f6}.incident-row__actions{display:flex;align-items:center;gap:1.5rem;border-top:1px solid #f3f4f6;padding-top:1rem}@media(min-width:1024px){.incident-row__actions{padding-left:1.5rem;border-top:none;padding-top:0}}.incident-row__chevron{width:1.25rem;height:1.25rem;color:#d1d5db;transition:color .2s ease}.incident-row:hover .incident-row__chevron{color:#3b82f6}.live-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(min-width:768px){.live-stats{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.live-stats{grid-template-columns:repeat(5,1fr)}}.stat-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 2px #0000000d}.stat-item__icon-wrapper{padding:.75rem;border-radius:.75rem}.stat-item__icon-wrapper--blue{background-color:#eff6ff;color:#2563eb}.stat-item__icon-wrapper--green{background-color:#ecfdf5;color:#059669}.stat-item__icon-wrapper--yellow{background-color:#fefce8;color:#ca8a04}.stat-item__icon-wrapper--red{background-color:#fef2f2;color:#dc2626}.stat-item__icon-wrapper--purple{background-color:#faf5ff;color:#9333ea}.stat-item__icon{width:1.25rem;height:1.25rem}.stat-item__label{font-size:.875rem;color:#6b7280}.stat-item__value{font-size:1.5rem;font-weight:700;color:#111827}.stat-item__sub-value{font-size:.75rem;color:#9ca3af}.stat-item__skeleton{height:1.75rem;width:4rem;background-color:#e5e7eb;border-radius:.25rem;margin-top:.25rem}.live-alerts__filter{font-size:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;padding:.25rem .5rem;color:#4b5563;background-color:#fff}.live-alerts__filter-row{display:flex;align-items:center;gap:.5rem}.live-alerts__skeleton{padding:1.5rem}.live-alerts__skeleton>*+*{margin-top:1rem}.live-alerts__skeleton-item{display:flex;align-items:flex-start;gap:.75rem}.live-alerts__skeleton-icon{width:2rem;height:2rem;background-color:#e5e7eb;border-radius:.5rem}.live-alerts__skeleton-lines{flex:1}.live-alerts__skeleton-lines>*+*{margin-top:.5rem}.live-alerts__skeleton-line{height:1rem;background-color:#e5e7eb;border-radius:.25rem}.live-alerts__skeleton-line--wide{width:75%}.live-alerts__skeleton-line--narrow{width:50%;height:.75rem;background-color:#f3f4f6}.live-alerts__empty{padding:2rem;text-align:center;color:#6b7280}.live-alerts__empty-icon{width:3rem;height:3rem;margin:0 auto;color:#d1d5db;margin-bottom:.75rem}.live-alerts__empty-text{font-size:.875rem}.live-alerts__list{max-height:400px;overflow-y:auto}.live-alerts__list>*+*{border-top:1px solid #f3f4f6}.alert-item{padding:1rem;transition:background-color .2s ease;cursor:pointer;display:flex;align-items:flex-start;gap:.75rem}.alert-item:hover{background-color:#f9fafb}.alert-item--new{background-color:#eff6ff80}.alert-item__severity-icon{padding:.5rem;border-radius:.5rem}.alert-item__severity-icon-svg{width:1rem;height:1rem}.alert-item__body{flex:1;min-width:0}.alert-item__title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.alert-item__type{font-weight:500;color:#111827;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-item__message{font-size:.75rem;color:#4b5563;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-item__meta{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;font-size:.75rem;color:#9ca3af}.alert-item__chevron{width:1rem;height:1rem;color:#d1d5db;flex-shrink:0}.live-anomalies__skeleton{padding:1.5rem}.live-anomalies__skeleton>*+*{margin-top:1rem}.live-anomalies__skeleton-item{display:flex;align-items:flex-start;gap:.75rem}.live-anomalies__skeleton-icon{width:2rem;height:2rem;background-color:#e5e7eb;border-radius:.5rem}.live-anomalies__skeleton-lines{flex:1}.live-anomalies__skeleton-lines>*+*{margin-top:.5rem}.live-anomalies__skeleton-line{height:1rem;background-color:#e5e7eb;border-radius:.25rem}.live-anomalies__skeleton-line--wide{width:75%}.live-anomalies__skeleton-line--narrow{width:50%;height:.75rem;background-color:#f3f4f6}.live-anomalies__empty{padding:2rem;text-align:center;color:#6b7280}.live-anomalies__empty-icon{width:3rem;height:3rem;margin:0 auto;color:#d1d5db;margin-bottom:.75rem}.live-anomalies__empty-text{font-size:.875rem}.live-anomalies__list{max-height:300px;overflow-y:auto}.live-anomalies__list>*+*{border-top:1px solid #f3f4f6}.anomaly-item{padding:1rem;transition:background-color .2s ease;cursor:pointer;display:flex;align-items:flex-start;gap:.75rem}.anomaly-item:hover{background-color:#f9fafb}.anomaly-item--new{background-color:#faf5ff80}.anomaly-item__severity-icon{padding:.5rem;border-radius:.5rem}.anomaly-item__severity-icon-svg{width:1rem;height:1rem}.anomaly-item__body{flex:1;min-width:0}.anomaly-item__title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.anomaly-item__type{font-weight:500;color:#111827;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anomaly-item__description{font-size:.75rem;color:#4b5563;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anomaly-item__meta{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;font-size:.75rem;color:#9ca3af}.anomaly-item__chevron{width:1rem;height:1rem;color:#d1d5db;flex-shrink:0}.fleet-health__skeleton>*+*{margin-top:1rem}.fleet-health__skeleton-row{display:flex;align-items:center;gap:1.5rem}.fleet-health__skeleton-circle{width:5rem;height:5rem;background-color:#e5e7eb;border-radius:9999px}.fleet-health__skeleton-lines{flex:1}.fleet-health__skeleton-lines>*+*{margin-top:.5rem}.fleet-health__skeleton-line{background-color:#e5e7eb;border-radius:.25rem}.fleet-health__skeleton-line--wide{height:1rem;width:75%}.fleet-health__skeleton-line--narrow{height:.75rem;width:50%;background-color:#f3f4f6}.fleet-health__content{display:flex;align-items:center;gap:1.5rem}.fleet-health__score-wrapper{position:relative}.fleet-health__score-circle{width:5rem;height:5rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.fleet-health__score-value{font-size:1.5rem;font-weight:700;color:#fff}.fleet-health__score-trend{position:absolute;bottom:-.25rem;right:-.25rem;background-color:#fff;border-radius:9999px;padding:.25rem;box-shadow:0 1px 2px #0000000d}.fleet-health__trend-icon{width:1rem;height:1rem}.fleet-health__trend-icon--up{color:#10b981}.fleet-health__trend-icon--flat{color:#eab308}.fleet-health__trend-icon--down{color:#ef4444}.fleet-health__score-circle--good{background:linear-gradient(to bottom right,#10b981,#059669)}.fleet-health__score-circle--ok{background:linear-gradient(to bottom right,#eab308,#ca8a04)}.fleet-health__score-circle--warn{background:linear-gradient(to bottom right,#f97316,#ea580c)}.fleet-health__score-circle--bad{background:linear-gradient(to bottom right,#ef4444,#dc2626)}.fleet-health__threats{flex:1}.fleet-health__threats>*+*{margin-top:.5rem}.fleet-health__threats-label{font-size:.875rem;color:#6b7280}.fleet-health__threats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.fleet-health__threat-item{display:flex;align-items:center;gap:.5rem}.fleet-health__threat-dot{width:.75rem;height:.75rem;border-radius:9999px}.fleet-health__threat-dot--critical{background-color:#ef4444}.fleet-health__threat-dot--high{background-color:#f97316}.fleet-health__threat-dot--medium{background-color:#eab308}.fleet-health__threat-dot--low{background-color:#3b82f6}.fleet-health__threat-text{font-size:.75rem;color:#4b5563}.fleet-health__risk{margin-top:1rem;padding-top:1rem;border-top:1px solid #f3f4f6}.fleet-health__risk-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.fleet-health__risk-icon{width:1rem;height:1rem;color:#ef4444}.fleet-health__risk-text{color:#4b5563}.fleet-health__risk-count{font-weight:600;color:#dc2626}.fleet-connectivity__skeleton>*+*{margin-top:1rem}.fleet-connectivity__skeleton-bar{height:1rem;background-color:#e5e7eb;border-radius:.25rem;width:100%}.fleet-connectivity__skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.fleet-connectivity__skeleton-cell{height:4rem;background-color:#f3f4f6;border-radius:.5rem}.fleet-connectivity__progress-bar{height:.75rem;background-color:#f3f4f6;border-radius:9999px;overflow:hidden;display:flex}.fleet-connectivity__progress-segment{transition:width .5s ease}.fleet-connectivity__progress-segment--active{background-color:#10b981}.fleet-connectivity__progress-segment--idle{background-color:#eab308}.fleet-connectivity__progress-segment--offline{background-color:#9ca3af}.fleet-connectivity__status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.fleet-connectivity__status-card{padding:.75rem;border-radius:.75rem}.fleet-connectivity__status-card--active{background-color:#ecfdf5}.fleet-connectivity__status-card--idle{background-color:#fefce8}.fleet-connectivity__status-card--offline{background-color:#f3f4f6}.fleet-connectivity__status-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.fleet-connectivity__status-icon{width:1rem;height:1rem}.fleet-connectivity__status-icon--active{color:#047857}.fleet-connectivity__status-icon--idle{color:#a16207}.fleet-connectivity__status-icon--offline{color:#6b7280}.fleet-connectivity__status-label{font-size:.75rem;font-weight:500}.fleet-connectivity__status-label--active{color:#047857}.fleet-connectivity__status-label--idle{color:#a16207}.fleet-connectivity__status-label--offline{color:#6b7280}.fleet-connectivity__status-count{font-size:1.25rem;font-weight:700;color:#111827}.fleet-connectivity__status-percent{font-size:.75rem;color:#6b7280}.live-dashboard>*+*{margin-top:1.5rem}.live-dashboard__header{display:flex;align-items:center;justify-content:space-between}.live-dashboard__title-section{display:flex;align-items:center;gap:1rem}.live-dashboard__title-icon{padding:.75rem;background-color:#eff6ff;border-radius:.75rem}.live-dashboard__title-icon-svg{width:1.5rem;height:1.5rem;color:#2563eb}.live-dashboard__title{font-size:1.5rem;font-weight:700;color:#111827}.live-dashboard__title-sub{font-size:.875rem;color:#6b7280}.live-dashboard__actions{display:flex;align-items:center;gap:1rem}.live-dashboard__polling-status{display:flex;align-items:center;gap:.5rem}.live-dashboard__polling-icon{width:1rem;height:1rem;margin-right:.375rem}.live-dashboard__last-updated{font-size:.875rem;color:#6b7280}.live-dashboard__refresh-icon{width:1rem;height:1rem;margin-right:.5rem}.live-dashboard__error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;padding:1rem;display:flex;align-items:center;gap:.75rem}.live-dashboard__error-icon{width:1.25rem;height:1.25rem;color:#dc2626;flex-shrink:0}.live-dashboard__error-text{font-size:.875rem;color:#b91c1c}.live-dashboard__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:1024px){.live-dashboard__grid{grid-template-columns:repeat(12,1fr)}}.live-dashboard__left-col>*+*{margin-top:1.5rem}@media(min-width:1024px){.live-dashboard__left-col{grid-column:span 8}}.live-dashboard__widgets-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.live-dashboard__widgets-grid{grid-template-columns:1fr 1fr}}.live-dashboard__right-col>*+*{margin-top:1.5rem}@media(min-width:1024px){.live-dashboard__right-col{grid-column:span 4}}.login{min-height:100vh;background:linear-gradient(to bottom right,#0f172a,#1e3a8a,#0f172a);display:flex;align-items:center;justify-content:center;padding:1rem}.login__background{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTSAxMCAwIEwgMCAwIDAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiYSgyNTUsMjU1LDI1NSwwLjAzKSIgc3Ryb2tlLXdpZHRoPSIxIi8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyaWQpIi8+PC9zdmc+);opacity:.4}.login__container{position:relative;width:100%;max-width:28rem}.login__logo{text-align:center;margin-bottom:2rem}.login__logo-icon-wrapper{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;background-color:#2563eb;border-radius:1rem;margin:0 auto 1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a,0 4px 12px #3b82f680}.login__logo-icon{width:2.25rem;height:2.25rem;color:#fff}.login__logo-title{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:.5rem}.login__logo-tagline{color:#bfdbfe;font-size:.875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.login__card{background-color:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;padding:2rem}.login__card-header{margin-bottom:1.5rem}.login__card-title{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:.25rem}.login__card-subtitle{color:#6b7280;font-size:.875rem}.login__error{margin-bottom:1.5rem;padding:1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;display:flex;align-items:flex-start;gap:.75rem}.login__error-icon{width:1.25rem;height:1.25rem;color:#dc2626;flex-shrink:0;margin-top:.125rem}.login__error-title{font-size:.875rem;font-weight:500;color:#991b1b}.login__error-message{font-size:.75rem;color:#dc2626;margin-top:.25rem}.login__form>*+*{margin-top:1.25rem}.login__label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.login__input-wrapper{position:relative}.login__input-icon{position:absolute;top:50%;left:.75rem;transform:translateY(-50%);pointer-events:none;width:1.25rem;height:1.25rem;color:#9ca3af}.login__input{display:block;width:100%;padding:.625rem .75rem .625rem 2.5rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;color:#111827;transition:all .2s ease}.login__input::placeholder{color:#9ca3af}.login__input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f640}.login__input:disabled{opacity:.6;cursor:not-allowed}.login__submit{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background-color:#2563eb;color:#fff;font-weight:600;border-radius:.5rem;border:none;cursor:pointer;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a,0 4px 12px #3b82f64d;transition:all .2s ease}.login__submit:hover{background-color:#1d4ed8;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a,0 4px 12px #3b82f680}.login__submit:disabled{background-color:#60a5fa;cursor:not-allowed}.login__submit-icon{width:1.25rem;height:1.25rem}.login__footer{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.login__footer-text{font-size:.75rem;text-align:center;color:#6b7280}.login__bottom-notice{margin-top:1.5rem;text-align:center;font-size:.875rem;color:#bfdbfe}
