:root{--bg-deep:#07131c;--bg-panel:#0f2230;--bg-card:#132a3b;--line:#b4d2e624;--text:#e7f0f6;--muted:#8fa6b5;--brand:#2bb8a0;--brand-soft:#2bb8a029;--ok:#3ecf8e;--ok-soft:#3ecf8e24;--error:#ef6b6b;--error-soft:#ef6b6b24;--pending:#d4a24c;--pending-soft:#d4a24c24;--loading:#6eb6d9;--loading-soft:#6eb6d924;--radius:1rem;--shadow:0 18px 40px #00000047;--font-display:"Manrope", "Segoe UI", sans-serif;--font-body:"IBM Plex Sans", "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%, #2bb8a02e, transparent 55%), radial-gradient(900px 500px at 100% 0%, #6eb6d91f, transparent 50%), linear-gradient(165deg, #061018 0%, var(--bg-deep) 45%, #0a1822 100%);background-attachment:fixed;margin:0}body:before{content:"";pointer-events:none;opacity:.35;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.app-shell{z-index:1;width:min(100%,68rem);margin:0 auto;padding:1.5rem 1.1rem 2.5rem;animation:.55s ease-out both rise;position:relative}.hero{border:1px solid var(--line);border-radius:calc(var(--radius) + .25rem);box-shadow:var(--shadow);background:linear-gradient(145deg,#132a3beb,#0f2230c7);margin-bottom:1.5rem;padding:1.4rem 1.2rem 1.5rem}.hero__layout{flex-direction:column;gap:1.1rem;min-width:0;display:flex}.hero__main{min-width:0}.hero__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .55rem;font-size:.78rem}.hero__aside{flex-direction:column;align-items:stretch;gap:.75rem;min-width:0;display:flex}.hero__logout{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #b4d2e638;border-radius:.65rem;flex-shrink:0;align-self:flex-end;padding:.45rem .8rem;font-size:.86rem;font-weight:600}.hero__logout:hover:not(:disabled){color:var(--brand);border-color:#2bb8a073}.hero__logout:disabled{opacity:.6;cursor:default}.hero__brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);margin:0;font-size:clamp(2rem,8vw,3.4rem);font-weight:700;line-height:1.05}.hero__subtitle{max-width:28rem;color:var(--muted);margin:.85rem 0 0;font-size:1rem;line-height:1.45}.hero__session{color:var(--brand);margin:.9rem 0 0;font-size:.9rem}.hero-import{background:color-mix(in srgb, var(--bg-deep) 55%, transparent);border:1px solid #b4d2e629;border-radius:.75rem;min-width:0;padding:.75rem .85rem}.hero-import--ok{border-color:#3ecf8e47}.hero-import--warn{background:#e6b4500e;border-color:#e6b45059}.hero-import__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .45rem;font-size:.72rem}.hero-import__body{gap:.35rem;min-width:0;display:grid}.hero-import__when{flex-wrap:wrap;align-items:baseline;gap:.25rem .65rem;margin:0;display:flex}.hero-import__date{font-size:.95rem;font-weight:700}.hero-import__time{color:var(--brand);font-size:.88rem;font-weight:650}.hero-import__file{overflow-wrap:anywhere;word-break:break-word;color:var(--text);margin:0;font-size:.86rem;font-weight:600}.hero-import__meta{flex-wrap:wrap;align-items:center;gap:.4rem .65rem;min-width:0;display:flex}.hero-import__badge{width:fit-content;color:var(--text);background:#b4d2e61f;border-radius:999px;align-items:center;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.hero-import__badge--ok{background:var(--ok-soft);color:var(--ok)}.hero-import__badge--error{background:var(--error-soft);color:var(--error)}.hero-import__badge--busy{background:var(--loading-soft);color:var(--loading)}.hero-import__badge--pending{background:var(--pending-soft);color:var(--pending)}.hero-import__result{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.82rem}.hero-import--ok .hero-import__result{color:var(--ok)}.hero-import--warn .hero-import__result{color:#e6b450}.hero-import__empty,.hero-import__state,.hero-import__updating{color:var(--muted);margin:0;font-size:.86rem}.hero-import__error{gap:.45rem;display:grid}.hero-import__error-text{color:var(--error);overflow-wrap:anywhere;margin:0;font-size:.82rem}.hero-import__retry{width:fit-content;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #b4d2e638;border-radius:.55rem;padding:.35rem .65rem;font-size:.8rem;font-weight:600}.status-grid{grid-template-columns:1fr;gap:.9rem;display:grid}.status-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.05rem 1.1rem 1.15rem;transition:transform .2s,border-color .2s;animation:.45s both fade-card}.status-card:nth-child(2){animation-delay:60ms}.status-card:nth-child(3){animation-delay:.12s}.status-card:nth-child(4){animation-delay:.18s}.status-card:hover{border-color:#2bb8a059;transform:translateY(-2px)}.status-card__header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.55rem;display:flex}.status-card__title{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:650}.status-card__badge{letter-spacing:.02em;border-radius:999px;flex-shrink:0;padding:.28rem .6rem;font-size:.72rem;font-weight:600}.status-card__detail{color:var(--muted);margin:0;font-size:.92rem;line-height:1.4}.status-card--ok{border-color:#3ecf8e47}.status-card--ok .status-card__badge{color:var(--ok);background:var(--ok-soft)}.status-card--error{border-color:#ef6b6b4d}.status-card--error .status-card__badge{color:var(--error);background:var(--error-soft)}.status-card--pending .status-card__badge{color:var(--pending);background:var(--pending-soft)}.status-card--loading .status-card__badge{color:var(--loading);background:var(--loading-soft);animation:1.2s ease-in-out infinite pulse}@media (width>=640px){.app-shell{padding:2.25rem 1.5rem 3rem}.hero{padding:1.8rem 1.7rem 1.9rem}.status-grid{grid-template-columns:1fr 1fr;gap:1rem}}@media (width>=960px){.hero__layout{grid-template-columns:minmax(0,1.45fr) minmax(16rem,.85fr);align-items:start;gap:1.25rem 1.75rem;display:grid}.hero__aside{align-items:stretch}.hero__logout{align-self:flex-end}.hero__subtitle{font-size:1.05rem}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-card{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.auth-screen{z-index:1;place-items:center;min-height:100dvh;padding:1.5rem 1.1rem 2rem;display:grid;position:relative}.auth-screen__panel{border:1px solid var(--line);border-radius:calc(var(--radius) + .25rem);width:min(100%,26rem);box-shadow:var(--shadow);background:linear-gradient(145deg,#132a3beb,#0f2230c7);padding:1.5rem 1.25rem 1.6rem;animation:.45s ease-out both rise}.auth-screen__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .55rem;font-size:.78rem}.auth-screen__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.55rem,6vw,2rem);font-weight:700;line-height:1.15}.auth-screen__text{color:var(--muted);margin:.85rem 0 0;font-size:.98rem;line-height:1.45}.auth-screen__hint{color:var(--muted);margin:.85rem 0 0;font-size:.86rem;line-height:1.4}.auth-screen__link{color:var(--brand);margin-top:1.15rem;font-weight:600;text-decoration:none;display:inline-block}.auth-screen__link:hover{text-decoration:underline}.auth-screen__spinner{border:2px solid #6eb6d940;border-top-color:var(--loading);border-radius:50%;width:1.75rem;height:1.75rem;margin-top:1.2rem;animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-screen__panel--form{width:min(100%,24rem)}.auth-form{gap:.95rem;margin-top:1.25rem;display:grid}.auth-form__field{gap:.4rem;display:grid}.auth-form__label{color:var(--muted);font-size:.86rem;font-weight:600}.auth-form__input{width:100%;color:var(--text);font:inherit;background:#07131c8c;border:1px solid #b4d2e638;border-radius:.75rem;padding:.75rem .85rem;font-size:1rem}.auth-form__input:focus{outline-offset:1px;border-color:#2bb8a080;outline:2px solid #2bb8a073}.auth-form__input:disabled{opacity:.7}.auth-form__error{background:var(--error-soft);color:var(--error);border-radius:.7rem;margin:0;padding:.7rem .8rem;font-size:.9rem;line-height:1.4}.auth-form__banner{background:var(--pending-soft);color:var(--pending);border-radius:.7rem;margin:1rem 0 0;padding:.7rem .8rem;font-size:.9rem;line-height:1.4}.auth-form__success{background:var(--ok-soft);color:var(--ok);border-radius:.7rem;margin:1rem 0 0;padding:.7rem .8rem;font-size:.9rem;line-height:1.4}.auth-form__hints{color:var(--muted);margin:.9rem 0 0;padding-left:1.15rem;font-size:.86rem;line-height:1.45}.auth-screen__header-row{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.55rem;display:flex}.auth-screen__header-row .auth-screen__eyebrow{margin:0}.hero__user{margin-top:.9rem}.hero__role{color:var(--muted);margin:.35rem 0 0;font-size:.9rem}.hero__role-code{font-family:ui-monospace,Consolas,monospace;font-size:.84em}.nav-grid{grid-template-columns:1fr;gap:.9rem;margin-top:1.25rem;display:grid}.nav-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 92%, transparent);color:inherit;padding:1.05rem 1.1rem 1.15rem;text-decoration:none;transition:transform .2s,border-color .2s;display:block}.nav-card:hover{border-color:#2bb8a059;transform:translateY(-2px)}.nav-card--static{cursor:default}.nav-card--static:hover{transform:none}.nav-card__title{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:650}.nav-card__detail{color:var(--muted);margin:.45rem 0 0;font-size:.9rem}.coming-soon{border:1px solid var(--line);border-radius:calc(var(--radius) + .25rem);box-shadow:var(--shadow);background:linear-gradient(145deg,#132a3beb,#0f2230c7);padding:1.5rem 1.25rem;animation:.45s ease-out both rise}.coming-soon__title{font-family:var(--font-display);margin:0;font-size:clamp(1.55rem,6vw,2rem)}.coming-soon__text{color:var(--muted);margin:.85rem 0 0}.coming-soon__badge{background:var(--pending-soft);color:var(--pending);border-radius:999px;margin:1rem 0 0;padding:.35rem .7rem;font-size:.82rem;font-weight:600;display:inline-block}@media (width>=640px){.nav-grid{grid-template-columns:1fr 1fr}}.auth-form__submit{color:#041015;font:inherit;cursor:pointer;background:linear-gradient(135deg,#2bb8a0,#1f9a86);border:0;border-radius:.8rem;margin-top:.25rem;padding:.85rem 1rem;font-size:1rem;font-weight:700}.auth-form__submit:hover:not(:disabled){filter:brightness(1.05)}.auth-form__submit:disabled{opacity:.7;cursor:default}.page-header{border:1px solid var(--line);border-radius:calc(var(--radius) + .25rem);box-shadow:var(--shadow);background:linear-gradient(145deg,#132a3beb,#0f2230c7);margin-bottom:1.25rem;padding:1.4rem 1.2rem 1.5rem}.page-header__top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.55rem;display:flex}.page-header__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem}.page-header__back{color:var(--brand);flex-shrink:0;font-size:.86rem;font-weight:600;text-decoration:none}.page-header__back:hover{text-decoration:underline}.page-header__title{font-family:var(--font-display);margin:0;font-size:clamp(1.6rem,6vw,2.2rem);font-weight:700;line-height:1.1}.page-header__subtitle{max-width:36rem;color:var(--muted);margin:.75rem 0 0;line-height:1.45}.erp-import-state{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 92%, transparent);color:var(--muted);margin:0;padding:1rem 1.1rem}.erp-import-state--error{color:var(--error);background:var(--error-soft);border-color:#ef6b6b47}.erp-import-action{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 1rem;padding:.9rem 1rem;font-size:.92rem;line-height:1.45}.erp-import-action--success{color:var(--ok);background:var(--ok-soft);border-color:#3ecf8e47}.erp-import-action--error{color:var(--error);background:var(--error-soft);border-color:#ef6b6b47}.erp-upload{margin-bottom:1rem}.erp-upload__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.erp-upload__button{color:#041015;width:100%;min-height:3rem;font:inherit;cursor:pointer;background:linear-gradient(135deg,#3ecf8e,#2bb8a0);border:0;border-radius:.85rem;justify-content:center;align-items:center;padding:.8rem 1.1rem;font-size:1rem;font-weight:700;display:inline-flex;box-shadow:0 10px 24px #2bb8a02e}.erp-upload__button:hover:not(:disabled){filter:brightness(1.05)}.erp-upload__button:disabled{opacity:.72;cursor:default}@media (width>=900px){.erp-upload__button{width:auto;min-width:14rem}}.erp-import-run-button{color:#041015;width:100%;min-height:2.75rem;font:inherit;cursor:pointer;background:linear-gradient(135deg,#2bb8a0,#1f9a86);border:0;border-radius:.75rem;justify-content:center;align-items:center;padding:.65rem 1rem;font-size:.92rem;font-weight:700;display:inline-flex}.erp-import-run-button:hover:not(:disabled){filter:brightness(1.05)}.erp-import-run-button:disabled{opacity:.72;cursor:default}.erp-import-card__actions{margin-top:.95rem}.erp-import-table__action{white-space:nowrap;min-width:8.5rem}.erp-import-table__action .erp-import-run-button{width:auto;min-width:7.5rem;min-height:2.35rem;padding:.45rem .8rem}.erp-import-cards{gap:.9rem;display:grid}.erp-import-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 92%, transparent);padding:1rem 1.05rem 1.1rem}.erp-import-card__header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.erp-import-card__filename{font-family:var(--font-display);word-break:break-word;margin:0;font-size:1rem;font-weight:650;line-height:1.35}.erp-import-card__meta{gap:.55rem;margin:0;display:grid}.erp-import-card__row{grid-template-columns:minmax(6.5rem,38%) 1fr;gap:.65rem;display:grid}.erp-import-card__row dt{color:var(--muted);margin:0;font-size:.86rem}.erp-import-card__row dd{margin:0;font-size:.92rem}.erp-import-card__error{background:var(--error-soft);color:var(--error);border-radius:.7rem;margin:.85rem 0 0;padding:.7rem .8rem;font-size:.88rem;line-height:1.4}.erp-import-status{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;padding:.28rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.erp-import-status--pending{color:var(--pending);background:var(--pending-soft)}.erp-import-status--processing{color:var(--loading);background:var(--loading-soft)}.erp-import-status--completed{color:var(--ok);background:var(--ok-soft)}.erp-import-status--failed{color:var(--error);background:var(--error-soft)}.erp-import-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 92%, transparent);display:none;overflow-x:auto}.erp-import-table{border-collapse:collapse;width:100%;font-size:.88rem}.erp-import-table th,.erp-import-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.8rem .85rem}.erp-import-table th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.78rem;font-weight:600}.erp-import-table tbody tr:last-child td{border-bottom:0}.erp-import-table__filename{min-width:10rem;font-weight:600}.erp-import-table__error{min-width:12rem;max-width:22rem;color:var(--muted);line-height:1.35}@media (width>=900px){.erp-import-cards{display:none}.erp-import-table-wrap{display:block}}.erp-import-card--clickable{cursor:pointer;transition:transform .2s,border-color .2s}.erp-import-card--clickable:hover,.erp-import-card--clickable:focus-visible{border-color:#2bb8a059;outline:none;transform:translateY(-1px)}.erp-import-table__row--clickable{cursor:pointer}.erp-import-table__row--clickable:hover td{background:#2bb8a00f}.erp-import-detail{gap:1rem;display:grid}.erp-import-detail__section{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 92%, transparent);padding:1rem 1.05rem 1.1rem}.erp-import-detail__section-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.9rem;display:flex}.erp-import-detail__section h2{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:650}.erp-import-detail__grid{gap:.7rem;margin:0;display:grid}.erp-import-detail__field{gap:.25rem;display:grid}.erp-import-detail__field dt{color:var(--muted);margin:0;font-size:.84rem}.erp-import-detail__field dd{word-break:break-word;margin:0;font-size:.95rem;line-height:1.4}.erp-import-detail__mono{font-family:ui-monospace,Consolas,monospace;font-size:.88rem}.erp-import-detail__no-errors{color:var(--ok);margin:0}.erp-import-detail__error-text{background:var(--error-soft);color:var(--error);border-radius:.7rem;margin:0;padding:.75rem .85rem;line-height:1.45}.erp-import-detail__error-list{color:var(--error);margin:0;padding-left:1.1rem}.erp-import-detail__error-list li+li{margin-top:.35rem}.erp-import-detail__actions{margin-top:.25rem}@media (width>=900px){.erp-import-detail__grid{grid-template-columns:1fr 1fr;gap:.85rem 1.25rem}}.vehicle-state{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 92%, transparent);color:var(--muted);margin:0;padding:.95rem 1rem}.vehicle-state--error{border-color:color-mix(in srgb, var(--error) 35%, var(--line));background:var(--error-soft);color:var(--error)}.vehicle-missing-badge{background:color-mix(in srgb, var(--error) 18%, transparent);min-height:1.65rem;color:var(--error);letter-spacing:.02em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.15rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.vehicle-cards{gap:.9rem;display:grid}.vehicle-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 92%, transparent);padding:1rem 1.05rem 1.1rem}.vehicle-card__header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.vehicle-card__title{font-family:var(--font-display);word-break:break-word;margin:0;font-size:1rem;font-weight:650;line-height:1.35}.vehicle-card__meta{gap:.55rem;margin:0;display:grid}.vehicle-card__row{grid-template-columns:minmax(6.5rem,38%) 1fr;gap:.65rem;display:grid}.vehicle-card__row dt{color:var(--muted);margin:0;font-size:.86rem}.vehicle-card__row dd{margin:0;font-size:.92rem}.vehicle-card__mono{font-family:var(--font-mono,ui-monospace, monospace);word-break:break-all}.vehicle-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 92%, transparent);display:none;overflow-x:auto}.vehicle-table{border-collapse:collapse;width:100%;font-size:.9rem}.vehicle-table th,.vehicle-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.75rem .85rem}.vehicle-table th{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.8rem;font-weight:600}.vehicle-table tbody tr:last-child td{border-bottom:0}.vehicle-table__registration{font-weight:650}.vehicle-table__mono{font-family:var(--font-mono,ui-monospace, monospace);word-break:break-all}@media (width>=900px){.vehicle-cards{display:none}.vehicle-table-wrap{display:block}}.fleet-dashboard{border:1px solid var(--line);border-radius:calc(var(--radius) + .25rem);box-shadow:var(--shadow);background:linear-gradient(145deg,#132a3beb,#0f2230c7);min-width:0;margin-bottom:1.5rem;padding:1.25rem 1.1rem 1.35rem;overflow-x:clip}.fleet-dashboard__header{margin-bottom:1rem}.fleet-dashboard__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,5vw,1.75rem);font-weight:700}.fleet-dashboard__subtitle{max-width:40rem;color:var(--muted);margin:.55rem 0 0;font-size:.95rem;line-height:1.45}.fleet-dashboard-filters{margin-bottom:1rem}.fleet-dashboard-filters__label{color:var(--muted);margin-bottom:.4rem;font-size:.82rem;font-weight:600;display:block}.fleet-dashboard-filters__select{background:color-mix(in srgb, var(--bg-deep) 78%, transparent);width:100%;max-width:100%;min-height:2.75rem;color:var(--text);font:inherit;border:1px solid #b4d2e638;border-radius:.75rem;padding:.65rem .85rem;font-size:.95rem;display:block}.fleet-dashboard-filters__select:disabled{opacity:.65;cursor:default}.fleet-dashboard-kpi{min-width:0;margin-bottom:1rem}.fleet-dashboard-kpi__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.7rem;display:grid}.fleet-dashboard-kpi__card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 88%, transparent);flex-direction:column;justify-content:space-between;gap:.55rem;min-width:0;height:100%;min-height:5.25rem;padding:.85rem .9rem;display:flex}.fleet-dashboard-kpi__label{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.74rem;line-height:1.35}.fleet-dashboard-kpi__value{font-family:var(--font-display);letter-spacing:-.03em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.2rem,5.2vw,1.65rem);font-weight:700;line-height:1.1}.fleet-dashboard-kpi--refreshing{opacity:.88}.fleet-dashboard-state{color:var(--muted);margin:0;font-size:.95rem}.fleet-dashboard-state--inline{margin-bottom:.75rem}.fleet-dashboard-state--error{color:var(--error)}.fleet-dashboard-error,.fleet-dashboard-kpi--error{justify-items:start;gap:.75rem;min-width:0;display:grid}.fleet-dashboard-retry{background:var(--brand-soft);color:var(--brand);font:inherit;cursor:pointer;border:1px solid #2bb8a073;border-radius:.65rem;padding:.55rem .9rem;font-size:.9rem;font-weight:600}.fleet-dashboard-retry:hover:not(:disabled){filter:brightness(1.08)}.fleet-dashboard-retry:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.fleet-dashboard-retry:disabled{opacity:.6;cursor:default}.fleet-dashboard-secondary{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;margin-top:1rem;display:grid}.fleet-widget{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 88%, transparent);min-width:0;padding:1rem 1rem 1.1rem}.fleet-widget--matrix{background:linear-gradient(160deg, #2bb8a014, transparent 42%), color-mix(in srgb, var(--bg-card) 90%, transparent);border-color:#2bb8a052;width:100%;margin-top:0;padding:1.15rem 1.05rem 1.25rem;box-shadow:0 10px 28px #0000002e}.fleet-widget--matrix .fleet-widget__title{letter-spacing:-.02em;font-size:clamp(1.12rem,3.2vw,1.4rem)}.fleet-widget__header{margin-bottom:.85rem}.fleet-widget__title{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:700}.fleet-widget__error{justify-items:start;gap:.75rem;display:grid}.fleet-status-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.fleet-status-list__meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .75rem;margin-bottom:.4rem;display:flex}.fleet-status-list__name{overflow-wrap:anywhere;font-size:.92rem;font-weight:600}.fleet-status-list__stats{color:var(--muted);white-space:nowrap;font-size:.82rem}.fleet-status-list__bar{background:#b4d2e61f;border-radius:999px;height:.55rem;overflow:hidden}.fleet-status-list__fill{border-radius:inherit;background:linear-gradient(90deg,#2bb8a0,#6eb6d9);max-width:100%;height:100%}.fleet-matrix-hint{color:var(--muted);margin:0 0 .65rem;font-size:.82rem;display:block}.fleet-matrix-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#9eb4c480 #07131ceb;border-radius:.75rem;max-width:100%;overflow-x:auto}.fleet-matrix-scroll::-webkit-scrollbar{height:.55rem}.fleet-matrix-scroll::-webkit-scrollbar-track{background:#07131ceb;border-radius:999px}.fleet-matrix-scroll::-webkit-scrollbar-thumb{background:#8fa6b57a;border:1px solid #07131c8c;border-radius:999px}.fleet-matrix-scroll::-webkit-scrollbar-thumb:hover{background:#b4d2e694}.fleet-matrix{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.88rem}.fleet-matrix th,.fleet-matrix td{text-align:right;vertical-align:middle;border-bottom:1px solid #b4d2e61f;padding:.6rem .75rem}.fleet-matrix thead th{color:var(--muted);background-color:#0f2230;font-weight:650}.fleet-matrix__corner,.fleet-matrix__row-head{z-index:3;box-sizing:border-box;text-align:left;white-space:normal;vertical-align:middle;background-color:#132a3b;border-right:1px solid #b4d2e638;width:13.75rem;min-width:13.75rem;max-width:13.75rem;padding-right:.95rem;position:sticky;left:0;overflow:hidden;box-shadow:6px 0 12px #00000057}.fleet-matrix__type-label{-webkit-line-clamp:2;overflow-wrap:break-word;word-break:normal;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.fleet-matrix thead .fleet-matrix__corner{z-index:4;background-color:#0f2230}.fleet-matrix__status-col,.fleet-matrix__total-col{box-sizing:border-box;white-space:nowrap;font-variant-numeric:tabular-nums;width:7.25rem;min-width:7.25rem}.fleet-matrix thead .fleet-matrix__status-col,.fleet-matrix thead .fleet-matrix__total-col{white-space:normal;vertical-align:bottom;-webkit-hyphens:auto;hyphens:auto;line-height:1.3}.fleet-matrix__total-col{font-weight:650}.fleet-matrix__footer th,.fleet-matrix__footer td{background-color:#102433;border-bottom:0;font-weight:700}.fleet-matrix__footer .fleet-matrix__row-head{z-index:3;background-color:#102433}.fleet-age-highlights{grid-template-columns:1fr;gap:.75rem;margin-bottom:.9rem;display:grid}.fleet-age-highlight,.fleet-age-count{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-deep) 55%, transparent);border-radius:.75rem;padding:.85rem .95rem}.fleet-age-highlight__label,.fleet-age-count__label{color:var(--muted);margin:0;font-size:.8rem}.fleet-age-highlight__value,.fleet-age-count__value{font-family:var(--font-display);letter-spacing:-.02em;margin:.35rem 0 0;font-size:1.25rem;font-weight:700}.fleet-age-highlight__sub{color:var(--muted);margin:.25rem 0 0;font-size:.84rem}.fleet-age-counts{grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem;display:grid}.home-sections{margin-top:1.5rem}.home-sections__title{font-family:var(--font-display);margin:0 0 .85rem;font-size:1.2rem;font-weight:700}.home-sections .nav-grid{margin-top:0}@media (width<=359px){.fleet-dashboard-kpi__grid{grid-template-columns:minmax(0,1fr)}}@media (width>=480px){.fleet-age-highlights{grid-template-columns:1fr 1fr}.fleet-age-counts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=640px){.fleet-dashboard{padding:1.45rem 1.35rem 1.55rem}.fleet-dashboard-filters__select{max-width:22rem}.fleet-dashboard-kpi__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-dashboard-kpi__card{min-height:5.5rem;padding:.95rem 1rem}.fleet-dashboard-kpi__label{font-size:.8rem}.fleet-matrix-hint{display:none}.fleet-matrix__corner,.fleet-matrix__row-head{width:17rem;min-width:17rem;max-width:17rem}.fleet-matrix__status-col,.fleet-matrix__total-col{width:7.5rem;min-width:7.5rem}}@media (width>=960px){.fleet-dashboard-kpi__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fleet-dashboard-kpi__value{font-size:1.7rem}.fleet-dashboard-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-widget--matrix{padding:1.35rem 1.25rem 1.4rem}.fleet-age-highlights{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1100px){.fleet-dashboard-kpi__grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.diagnostics-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;min-height:2.85rem;margin:0 0 1.35rem;display:flex}.diagnostics-updated{min-width:0;max-width:min(100%,22rem);color:var(--muted);opacity:.88;flex-wrap:wrap;align-items:baseline;gap:.3rem .55rem;margin:0;font-size:.8rem;line-height:1.35;display:flex}.diagnostics-updated--empty{flex:1;min-height:1.2rem}.diagnostics-updated__label{text-transform:uppercase;letter-spacing:.05em;opacity:.9;font-size:.68rem;font-weight:650}.diagnostics-updated__date,.diagnostics-updated__time{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.diagnostics-refresh{background:var(--brand-soft);min-width:8.25rem;min-height:2.75rem;color:var(--brand);font:inherit;cursor:pointer;border:1px solid #2bb8a059;border-radius:.7rem;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.92rem;font-weight:700;transition:border-color .15s,opacity .15s;display:inline-flex}.diagnostics-refresh--inline{margin-top:.65rem}.diagnostics-refresh:hover:not(:disabled){border-color:#2bb8a08c}.diagnostics-refresh:focus-visible{outline-offset:2px;outline:2px solid #2bb8a0a6}.diagnostics-refresh:disabled{opacity:.7;cursor:default}.diagnostics-refresh__spinner{border:2px solid #2bb8a040;border-top-color:var(--brand);border-radius:50%;flex-shrink:0;width:.9rem;height:.9rem;animation:.75s linear infinite diagnostics-spin}@keyframes diagnostics-spin{to{transform:rotate(360deg)}}.diagnostics-section{min-width:0;margin-bottom:1.55rem}.diagnostics-section__title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.12rem;font-weight:700;line-height:1.25}.diagnostics-section>.diagnostics-section__title{margin-bottom:.75rem}.diagnostics-section__header{margin-bottom:.85rem}.diagnostics-section__subtitle{color:var(--muted);margin:.4rem 0 0;font-size:.9rem;line-height:1.45}.diagnostics-state{color:var(--muted);margin:0;font-size:.9rem;line-height:1.4}.diagnostics-state--slot{min-height:1.4rem;margin-bottom:.55rem}.diagnostics-state--error{color:var(--error)}.diagnostics-error{border-radius:var(--radius);background:color-mix(in srgb, var(--error-soft) 55%, transparent);border:1px solid #ef6b6b47;padding:.9rem 1rem}.diagnostics-error--inline{margin-bottom:.85rem}.diagnostics-metrics__grid,.diagnostics-info-grid{grid-template-columns:1fr;align-items:stretch;gap:.85rem;display:grid}.diagnostics-metric{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 92%, transparent);flex-direction:column;gap:.55rem;min-width:0;height:100%;min-height:9.5rem;padding:1rem 1.05rem;display:flex}.diagnostics-metric__header{justify-content:space-between;align-items:baseline;gap:.75rem;min-height:1.7rem;display:flex}.diagnostics-metric__label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.76rem;line-height:1.3}.diagnostics-metric__value{font-family:var(--font-display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:1.28rem;font-weight:700;line-height:1.15}.diagnostics-metric__value--scope{margin-top:.2rem;font-size:1.28rem}.diagnostics-metric__ratio,.diagnostics-metric__free,.diagnostics-metric__note,.diagnostics-metric__uptime{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.4}.diagnostics-metric__uptime{font-family:var(--font-display);color:var(--text);margin-top:.15rem;font-size:clamp(1.15rem,4vw,1.4rem);font-weight:700;line-height:1.2}.diagnostics-metric__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .75rem;margin-top:auto;padding-top:.35rem;display:grid}.diagnostics-metric__facts div{min-width:0}.diagnostics-metric__facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.7rem}.diagnostics-metric__facts dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:.15rem 0 0;font-size:.9rem;font-weight:650}.diagnostics-progress{background:#b4d2e61f;border-radius:999px;flex-shrink:0;width:100%;height:.5rem;min-height:.5rem;overflow:hidden}.diagnostics-progress__fill{border-radius:inherit;will-change:width;background:#b4d2e673;height:100%;transition:width .3s}.diagnostics-progress--ok .diagnostics-progress__fill{background:var(--ok)}.diagnostics-progress--warn .diagnostics-progress__fill{background:#e6b450}.diagnostics-progress--crit .diagnostics-progress__fill{background:var(--error)}.diagnostics-progress--neutral .diagnostics-progress__fill{background:#b4d2e659}.system-services-overall{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg, #2bb8a014, transparent 55%), color-mix(in srgb, var(--bg-card) 94%, transparent);min-width:0;margin-bottom:1.1rem;padding:1.05rem 1.15rem 1.1rem}.system-services-overall--healthy{border-color:#3ecf8e52}.system-services-overall--degraded{border-color:#e6b45061}.system-services-overall--unavailable{border-color:#ef6b6b57}.system-services-overall--not_configured{border-color:#6eb6d94d}.system-services-overall__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;display:flex}.system-services-overall__eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.74rem;font-weight:650}.system-services-overall__badge{color:var(--text);background:#b4d2e61f;border-radius:999px;flex-shrink:0;padding:.28rem .65rem;font-size:.74rem;font-weight:700}.system-services-overall--healthy .system-services-overall__badge{background:var(--ok-soft);color:var(--ok)}.system-services-overall--degraded .system-services-overall__badge{color:#e6b450;background:#e6b45029}.system-services-overall--unavailable .system-services-overall__badge{background:var(--error-soft);color:var(--error)}.system-services-overall--not_configured .system-services-overall__badge{background:var(--loading-soft);color:var(--loading)}.system-services-overall__status{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;margin:.55rem 0 0;font-size:clamp(1.25rem,3.5vw,1.55rem);font-weight:700;line-height:1.2}.system-services-overall--healthy .system-services-overall__status{color:var(--ok)}.system-services-overall--degraded .system-services-overall__status{color:#e6b450}.system-services-overall--unavailable .system-services-overall__status{color:var(--error)}.system-services-overall__checked{color:var(--muted);opacity:.92;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:.45rem 0 0;font-size:.82rem;line-height:1.35}.system-services-grid{grid-template-columns:1fr;align-items:stretch;gap:.85rem;display:grid}.system-service-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-card) 92%, transparent);flex-direction:column;gap:.65rem;min-width:0;height:100%;min-height:10.5rem;padding:1rem 1.05rem;display:flex}.system-service-card--healthy{border-color:#3ecf8e40}.system-service-card--degraded{border-color:#e6b4504d}.system-service-card--unavailable{border-color:#ef6b6b47}.system-service-card--not_configured{border-color:#6eb6d940}.system-service-card__header{justify-content:space-between;align-items:flex-start;gap:.65rem;min-height:1.85rem;display:flex}.system-service-card__name{font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:1.02rem;font-weight:700;line-height:1.25}.system-service-card__badge{color:var(--text);background:#b4d2e61f;border-radius:999px;flex-shrink:0;padding:.28rem .6rem;font-size:.72rem;font-weight:700;line-height:1.2}.system-service-card--healthy .system-service-card__badge{background:var(--ok-soft);color:var(--ok)}.system-service-card--degraded .system-service-card__badge{color:#e6b450;background:#e6b45029}.system-service-card--unavailable .system-service-card__badge{background:var(--error-soft);color:var(--error)}.system-service-card--not_configured .system-service-card__badge{background:var(--loading-soft);color:var(--loading)}.system-service-card__message{min-height:2.8rem;color:var(--muted);overflow-wrap:anywhere;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.9rem;line-height:1.45;display:-webkit-box;overflow:hidden}.system-service-card__meta{gap:.4rem;margin-top:auto;padding-top:.15rem;display:grid}.system-service-card__meta-row{grid-template-columns:5.5rem minmax(0,1fr);align-items:baseline;gap:.5rem;min-width:0;display:grid}.system-service-card__meta dt{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.7rem}.system-service-card__meta dd{overflow-wrap:anywhere;margin:0;font-size:.86rem;font-weight:650}.system-service-card__time{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;justify-self:end}@media (width>=640px){.diagnostics-metrics__grid,.diagnostics-info-grid,.system-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=960px){.system-services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1100px){.diagnostics-metrics__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.diagnostics-metric{min-height:10.25rem}}
