@font-face{font-family:"RR UI";src:url("/fonts/DMSans-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"RR UI";src:url("/fonts/DMSans-600.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"RR Mono";src:url("/fonts/JetBrainsMono-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"RR Mono";src:url("/fonts/JetBrainsMono-700.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"RR Condensed";src:url("/fonts/BigShouldersDisplay-700.ttf") format("truetype");font-weight:700;font-display:swap}

:root{color-scheme:dark light;background:#040705}
*{box-sizing:border-box}
html,body{min-width:0;min-height:100%;margin:0}
body{background:#040705}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}

.family-app{
  --r-sm:4px;--r-md:7px;--r-lg:11px;
  --mono:"RR Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ui:"RR UI",system-ui,-apple-system,"Segoe UI",sans-serif;
  --cond:"RR Condensed","Arial Narrow",sans-serif;
  --glow:none;--wordmark-spacing:.01em;
  min-height:100dvh;background:var(--bg);color:var(--text-hi);font-family:var(--ui);font-size:14px;
  line-height:1.45;-webkit-font-smoothing:antialiased;transition:background .18s ease,color .18s ease
}
.family-app[data-skin="amber"][data-mode="dark"]{
  --bg:#07080a;--panel:#141719;--panel-2:#0d0f12;--sunk:#1b1f23;--rule:#23282d;
  --border:rgba(255,255,255,.09);--border-hi:rgba(255,255,255,.16);
  --text-hi:#f2f4f6;--text-mid:#9aa4ad;--text-lo:#6b757e;
  --brand:#f0871f;--brand-soft:rgba(240,135,31,.14);--on-brand:#07080a;
  --live:#35d07f;--danger:#f2564d;--pending:#8b96a0;--story:#07080a;--story-text:#f2f4f6
}
.family-app[data-skin="amber"][data-mode="light"]{
  --bg:#efe6d4;--panel:#fbf6ec;--panel-2:#f5eee0;--sunk:#e7dcc6;--rule:#d9cbb0;
  --border:rgba(40,30,18,.14);--border-hi:rgba(40,30,18,.26);
  --text-hi:#1e1710;--text-mid:#5c5140;--text-lo:#867a66;
  --brand:#b8620c;--brand-soft:rgba(184,98,12,.12);--on-brand:#fbf6ec;
  --live:#137a4c;--danger:#a92e28;--pending:#7f8a93;--story:#11110f;--story-text:#fbf6ec
}
.family-app[data-skin="phosphor"][data-mode="dark"]{
  --bg:#040705;--panel:#0a100c;--panel-2:#070d09;--sunk:#0e1710;--rule:#16281c;
  --border:rgba(90,255,168,.13);--border-hi:rgba(90,255,168,.26);
  --text-hi:#d8ffe9;--text-mid:#79c39a;--text-lo:#568b6e;
  --brand:#3dff9a;--brand-soft:rgba(61,255,154,.13);--on-brand:#03150b;
  --live:#3dff9a;--danger:#ff5f57;--pending:#6f8f80;--story:#020403;--story-text:#d8ffe9;
  --glow:0 0 8px rgba(61,255,154,.55);--wordmark-spacing:.14em
}
.family-app[data-skin="phosphor"][data-mode="light"]{
  --bg:#eaf0e7;--panel:#f7faf4;--panel-2:#f1f5ed;--sunk:#dfe7db;--rule:#cbd7c5;
  --border:rgba(18,40,26,.15);--border-hi:rgba(18,40,26,.28);
  --text-hi:#0d1a12;--text-mid:#42624e;--text-lo:#6d8878;
  --brand:#0d7a45;--brand-soft:rgba(13,122,69,.11);--on-brand:#f7faf4;
  --live:#0d7a45;--danger:#a92e28;--pending:#7d9186;--story:#07100b;--story-text:#e3ffed;
  --wordmark-spacing:.14em
}
.family-app *:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.wordmark{font-family:var(--cond);font-size:20px;font-weight:700;letter-spacing:var(--wordmark-spacing);white-space:nowrap}
.family-app[data-skin="phosphor"] .wordmark{font-family:var(--mono);font-size:15px}
.wordmark-accent{color:var(--brand);text-shadow:var(--glow)}
.env-badge{display:inline-flex;min-height:28px;align-items:center;border:1px solid var(--brand);padding:3px 8px;color:var(--brand);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.brand-lockup{display:flex;align-items:center;gap:11px;min-width:0}
.brand-wordmark{margin:0;color:var(--story-text);font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:var(--wordmark-spacing);white-space:nowrap}
.brand-wordmark span{color:var(--brand);text-shadow:var(--glow)}
.brand-mark{width:43px;height:43px;object-fit:contain;flex:none}
.brand-copy{min-width:0}
.brand-title{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}
.brand-subtitle{margin:1px 0 0;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-lo)}

.auth-shell{display:grid;min-height:100dvh;grid-template-columns:minmax(360px,.92fr) minmax(480px,1.08fr)}
.auth-story{position:relative;display:flex;min-height:100dvh;flex-direction:column;justify-content:space-between;overflow:hidden;background:var(--story);color:var(--story-text);padding:44px 54px}
.auth-story::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.055;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 3px,currentColor 4px)}
.auth-story>*{position:relative;z-index:1}
.auth-story .brand-subtitle{color:color-mix(in srgb,var(--story-text) 55%,transparent)}
.auth-story-header{display:flex;align-items:center;justify-content:space-between;gap:24px}
.auth-story-main{max-width:620px;padding-block:50px}
.auth-kicker{display:flex;align-items:center;gap:9px;margin:0 0 22px;color:var(--live);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.auth-kicker::before{content:"";width:8px;height:8px;background:var(--live);box-shadow:var(--glow)}
.auth-story h1{max-width:570px;margin:0;font-size:clamp(42px,3.75vw,48px);font-weight:600;line-height:1.06;letter-spacing:-.045em;text-wrap:balance}
.auth-story-main>p{max-width:500px;margin:22px 0 0;color:color-mix(in srgb,var(--story-text) 72%,transparent);font-size:15px;line-height:1.7}
.auth-story-index{display:grid;max-width:520px;margin-top:42px;grid-template-columns:repeat(3,1fr);border-block:1px solid color-mix(in srgb,var(--story-text) 16%,transparent);padding-block:16px;color:color-mix(in srgb,var(--story-text) 52%,transparent);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.auth-story-footer{color:color-mix(in srgb,var(--story-text) 42%,transparent);font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase}

.auth-content{display:flex;min-height:100dvh;align-items:center;justify-content:center;background:var(--bg);padding:max(34px,env(safe-area-inset-top)) 48px max(34px,env(safe-area-inset-bottom))}
.auth-stack{width:100%;max-width:470px}
.auth-mobile-header{display:none;margin-bottom:28px;align-items:center;justify-content:space-between;gap:14px}
.auth-mobile-header .brand-wordmark{color:var(--text-hi)}
.auth-card{border:1px solid var(--border-hi);background:var(--panel);padding:32px;box-shadow:0 22px 60px -38px rgba(0,0,0,.65)}
.auth-card-header{margin-bottom:26px}
.auth-eyebrow{margin:0;color:var(--brand);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.auth-card h2{margin:8px 0 0;color:var(--text-hi);font-size:31px;font-weight:600;line-height:1.08;letter-spacing:-.035em}
.auth-card-intro{margin:10px 0 0;color:var(--text-mid);font-size:14px;line-height:1.65}
.auth-alert{margin:0 0 18px;border-left:2px solid var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--panel));padding:10px 12px;color:var(--text-hi);font-size:13px;line-height:1.5}
.auth-success{border-color:var(--live);background:color-mix(in srgb,var(--live) 8%,var(--panel))}
.auth-form{display:grid;gap:16px}
.auth-label{display:grid;gap:7px;color:var(--text-mid);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.auth-input{width:100%;min-height:46px;border:1px solid var(--border-hi);border-radius:var(--r-sm);background:var(--panel-2);padding:10px 12px;color:var(--text-hi);font-family:var(--ui);font-size:16px;outline:0}
.auth-input::placeholder{color:var(--text-lo)}
.auth-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}
.auth-input[readonly]{color:var(--text-mid);background:var(--sunk)}
.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.field-link,.text-action{border:0;background:transparent;padding:0;color:var(--brand);font-size:12px;font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--brand) 45%,transparent);text-underline-offset:3px}
.primary-action,.secondary-action{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;border-radius:var(--r-sm);padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none}
.primary-action{border:1px solid var(--brand);background:var(--brand);color:var(--on-brand)}
.provider-action{gap:11px;border-color:var(--border-hi);background:var(--sunk);color:var(--text-hi);box-shadow:none}
.provider-mark{width:18px;height:18px;flex:none}
.primary-action:hover{filter:brightness(1.06)}
.secondary-action{border:1px solid var(--border-hi);background:transparent;color:var(--text-hi)}
.secondary-action:hover{border-color:var(--brand);background:var(--brand-soft)}
.primary-action:disabled{border-color:var(--border);background:var(--sunk);color:var(--text-lo);box-shadow:none;opacity:.7}
.auth-divider{display:flex;align-items:center;gap:13px;margin:20px 0;color:var(--text-lo);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--border)}
.auth-help{margin:22px 0 0;border-top:1px solid var(--border);padding-top:18px;color:var(--text-mid);font-size:12px;line-height:1.65}
.auth-help button{border:0;background:none;padding:0;color:var(--brand);font-weight:600}
.auth-back{display:inline-flex;min-height:34px;align-items:center;border:0;background:none;margin:0 0 14px;padding:0;color:var(--text-mid);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.auth-back:hover{color:var(--brand)}
.auth-back[hidden]{display:none}

.org-list{display:grid;gap:9px;margin:0;padding:0;border:0}
.org-choice{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);padding:10px 12px;text-align:left;color:var(--text-hi)}
.org-choice:hover{border-color:var(--border-hi)}
.org-choice.selected{border-color:var(--brand);background:var(--brand-soft)}
.org-choice input{position:absolute;opacity:0;pointer-events:none}
.org-monogram{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--border-hi);background:var(--sunk);color:var(--brand);font-family:var(--mono);font-size:12px;font-weight:700}
.org-name{display:block;font-size:14px;font-weight:600}
.org-meta{display:block;margin-top:2px;color:var(--text-lo);font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.org-role{color:var(--text-mid);font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.code-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
.code-grid .auth-input{padding-inline:0;text-align:center;font-family:var(--mono);font-weight:700}
.status-panel{border:1px solid var(--border);background:var(--panel-2);padding:18px}
.status-line{display:flex;align-items:center;gap:10px;color:var(--text-hi);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.status-dot{width:9px;height:9px;border-radius:50%;background:var(--pending)}
.status-dot.live{background:var(--live);box-shadow:var(--glow)}
.status-panel p{margin:12px 0 0;color:var(--text-mid);font-size:13px;line-height:1.65}
.auth-actions{display:grid;gap:9px;margin-top:18px}
.auth-progress{display:flex;gap:5px;margin-top:22px}
.auth-progress span{height:3px;flex:1;background:var(--rule)}
.auth-progress span.on{background:var(--brand);box-shadow:var(--glow)}

@media (max-width:860px){
  .auth-shell{display:block}
  .auth-story{display:none}
  .auth-content{align-items:flex-start;padding:calc(26px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom))}
  .auth-mobile-header{display:flex}
  .auth-card{padding:26px 24px}
  .field-link,.auth-help button,.auth-back{display:inline-flex;min-height:44px;align-items:center}
}
@media (max-width:420px){
  .auth-content{padding-left:20px;padding-right:20px}
  .brand-wordmark{font-size:14px}
  .brand-mark{width:40px;height:40px}
  .brand-title{font-size:14px}
  .brand-subtitle{font-size:8px}
  .env-badge{min-height:27px;padding-inline:7px;font-size:9px}
  .auth-card{padding:24px}
  .auth-card h2{font-size:29px}
  .code-grid{gap:5px}
}
@media (max-width:340px){
  .auth-content{padding-left:14px;padding-right:14px}
  .auth-card{padding:21px 18px}
  .brand-subtitle{display:none}
  .org-choice{grid-template-columns:36px minmax(0,1fr)}
  .org-monogram{width:36px;height:36px}
  .org-role{grid-column:2}
}
@media (max-width:420px){
  .mobile-app-nav a{font-size:10px;letter-spacing:.03em}
}
@media (prefers-reduced-motion:reduce){
  .family-app{transition:none}
}

/* Shared authenticated application shell */
.application-shell{position:relative;display:flex;min-height:100dvh;flex-direction:column;background:var(--bg)}
.application-header{position:sticky;top:0;z-index:30;display:flex;min-height:76px;align-items:center;gap:14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 96%,transparent);padding:10px 20px}
.application-brand{display:flex;min-height:44px;align-items:center;color:var(--text-hi);text-decoration:none}
.application-wordmark{font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:var(--wordmark-spacing);white-space:nowrap}
.application-wordmark span{color:var(--brand);text-shadow:var(--glow)}
.application-breadcrumbs{display:flex;min-width:0;align-items:center;gap:10px;color:var(--text-lo);font-size:14px}
.application-breadcrumbs strong{overflow:hidden;color:var(--text-hi);font-weight:600;text-overflow:ellipsis;white-space:nowrap}
/* Breadcrumb links use console tokens — never the default browser blue —
   with hover, focus, and visited treatments that hold contrast in every
   theme. */
.application-breadcrumbs a{color:var(--text-mid);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--text-mid) 55%,transparent)}
.application-breadcrumbs a:visited{color:var(--text-mid)}
.application-breadcrumbs a:hover{color:var(--brand);text-decoration-color:currentColor}
.application-breadcrumbs a:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}
.breadcrumb-button{min-height:44px;border:0;background:transparent;padding:0;color:var(--text-mid);font-weight:600}
.breadcrumb-button:hover{color:var(--brand)}
.application-global-nav{display:flex;align-self:stretch;align-items:center;margin-left:8px;border-left:1px solid var(--border)}
.application-global-nav a{display:flex;min-height:44px;align-items:center;border-right:1px solid var(--border);padding:8px 12px;color:var(--text-lo);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.09em;text-decoration:none;text-transform:uppercase}
.application-global-nav a:hover{background:var(--brand-soft);color:var(--text-hi)}
.application-global-nav a.is-active{color:var(--brand);box-shadow:inset 0 -2px var(--brand)}
.location-switcher{display:flex;min-width:0;height:44px;align-items:center;border:1px solid var(--border-hi);border-radius:var(--r-sm);background:var(--sunk);color:var(--text-hi)}
.location-switcher select{width:clamp(132px,14vw,174px);height:42px;min-width:0;border:0;background:transparent;padding:0 28px 0 10px;color:inherit;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.03em;outline:0}
.location-switcher:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}
.application-header-spacer{flex:1}
.organization-summary{color:var(--text-lo);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.profile-trigger{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--border-hi);border-radius:var(--r-sm);background:var(--sunk);color:var(--text-mid);font-family:var(--mono);font-size:12px;font-weight:700}
.profile-trigger:hover,.profile-trigger[aria-expanded="true"]{border-color:var(--brand);color:var(--brand)}
.header-menu{position:absolute;top:64px;right:20px;z-index:40;width:210px;border:1px solid var(--border-hi);background:var(--panel);box-shadow:0 22px 50px -28px rgba(0,0,0,.85);padding:8px}
.header-menu[hidden]{display:none}
.header-menu-label{margin:0 0 6px;border-bottom:1px solid var(--border);padding:10px 11px;color:var(--text-lo);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.header-menu a{display:flex;min-height:44px;align-items:center;padding:8px 11px;color:var(--text-mid);font-size:13px;text-decoration:none}
.header-menu a:hover{background:var(--brand-soft);color:var(--brand)}
.header-menu-navigation a.is-active{color:var(--brand)}

/* Fleet family */
.fleet-main{width:min(1240px,100%);margin:0 auto;padding:34px 28px 60px}
.fleet-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.page-eyebrow{margin:0;color:var(--brand);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.fleet-heading h1{margin:7px 0 0;color:var(--text-hi);font-family:var(--cond);font-size:clamp(38px,4vw,54px);line-height:1;text-transform:uppercase;letter-spacing:.01em}
.family-app[data-skin="phosphor"] .fleet-heading h1{font-family:var(--mono);font-size:clamp(30px,3vw,42px);letter-spacing:.08em}
.page-intro{max-width:650px;margin:13px 0 0;color:var(--text-mid);font-size:15px;line-height:1.65}
.fleet-primary-action,.fleet-secondary-action{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border-radius:var(--r-sm);padding:10px 16px;font-size:13px;font-weight:700;text-decoration:none}
.fleet-primary-action{border:1px solid var(--brand);background:var(--brand-soft);color:var(--brand)}
.fleet-primary-action:hover{background:var(--brand);color:var(--on-brand)}
.fleet-secondary-action{border:1px solid var(--border-hi);background:var(--panel-2);color:var(--text-hi)}
.fleet-secondary-action:hover{border-color:var(--brand);color:var(--brand)}
.fleet-summary{display:grid;margin-top:30px;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);background:var(--panel-2)}
.fleet-summary article{display:flex;min-height:86px;flex-direction:column;justify-content:center;padding:15px 18px}
.fleet-summary article+article{border-left:1px solid var(--border)}
.fleet-summary span{color:var(--text-lo);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.fleet-summary strong{margin-top:4px;color:var(--text-hi);font-family:var(--mono);font-size:21px;line-height:1.1}
.fleet-summary .live-value{color:var(--live);text-shadow:var(--glow)}
.fleet-summary .warning-value{color:#f0a044}
.fleet-controls{display:flex;margin-top:24px;align-items:center;justify-content:space-between;gap:16px}
.fleet-search-label{width:min(420px,100%)}
.fleet-search{width:100%;min-height:46px;border:1px solid var(--border-hi);border-radius:var(--r-sm);background:var(--panel-2);padding:10px 13px;color:var(--text-hi);font-size:16px;outline:0}
.fleet-search::placeholder{color:var(--text-lo)}
.fleet-search:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}
.fleet-filter-group{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}
.fleet-filter{display:flex;min-height:44px;align-items:center;gap:7px;border:0;background:var(--panel-2);padding:8px 12px;color:var(--text-mid);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.fleet-filter+.fleet-filter{border-left:1px solid var(--border)}
.fleet-filter span{color:var(--text-lo)}
.fleet-filter:hover{color:var(--text-hi)}
.fleet-filter.is-active{background:var(--brand-soft);color:var(--brand);box-shadow:inset 0 -2px var(--brand)}
.fleet-results{margin-top:18px}
.fleet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fleet-card{position:relative;display:grid;min-height:270px;grid-template-rows:auto auto 1fr auto;border:1px solid var(--border-hi);background:var(--panel);padding:18px;color:var(--text-hi);text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.fleet-card:hover{border-color:var(--brand);transform:translateY(-1px)}
.fleet-card:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.fleet-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:13px}
.fleet-card h2{margin:0;color:var(--text-hi);font-size:18px;line-height:1.25;letter-spacing:-.015em}
.fleet-card-id{margin:5px 0 0;color:var(--text-lo);font-family:var(--mono);font-size:9px;letter-spacing:.09em;text-transform:uppercase}
.fleet-health{display:inline-flex;min-height:28px;align-items:center;border:1px solid currentColor;border-radius:99px;padding:4px 9px;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.fleet-health.online{color:var(--live);box-shadow:var(--glow)}
.fleet-health.degraded{color:#f0a044}
.fleet-health.offline{color:var(--danger)}
.fleet-health.unknown{color:var(--pending)}
.fleet-product-badge{display:inline-flex;margin-top:11px;min-height:25px;align-items:center;border:1px solid var(--border);padding:3px 7px;color:var(--text-lo);font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.fleet-metrics{display:grid;margin-top:20px;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--border);padding-block:14px}
.fleet-metric{min-width:0}
.fleet-metric+.fleet-metric{border-left:1px solid var(--border);padding-left:13px}
.fleet-metric strong{display:block;color:var(--text-hi);font-family:var(--mono);font-size:17px;line-height:1.1}
.fleet-metric span{display:block;margin-top:5px;color:var(--text-lo);font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.fleet-card-message{align-self:center;margin:17px 0;color:var(--text-mid);font-size:13px;line-height:1.55}
.fleet-card-message strong{color:var(--text-hi);font-weight:600}
.fleet-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:12px;color:var(--text-lo);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase}
.fleet-card-open{color:var(--brand);font-weight:700}
.fleet-no-results,.fleet-empty{display:flex;min-height:340px;flex-direction:column;align-items:center;justify-content:center;border:1px dashed var(--border-hi);background:var(--panel-2);padding:34px;text-align:center}
.fleet-no-results[hidden],.fleet-empty[hidden]{display:none}
.fleet-no-results h2,.fleet-empty h2{margin:10px 0 0;color:var(--text-hi);font-size:25px}
.fleet-no-results p:not(.page-eyebrow),.fleet-empty p:not(.page-eyebrow){max-width:490px;margin:10px 0 20px;color:var(--text-mid);line-height:1.65}
.fleet-loading-card{min-height:270px;border:1px solid var(--border);background:var(--panel);padding:18px}
.fleet-loading-card h2{margin:0;color:var(--text-hi);font-size:17px}
.fleet-loading-card p{margin:12px 0 0;color:var(--text-mid);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.mobile-app-nav{display:none}

/* Shared modal treatment */
.dialog-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.76);padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))}
.dialog-backdrop[hidden]{display:none}
.family-dialog{width:min(500px,100%);max-height:calc(100dvh - 36px);overflow:auto;border:1px solid var(--border-hi);background:var(--panel);padding:22px;box-shadow:0 30px 80px -30px rgba(0,0,0,.9)}
.family-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.family-dialog h2{margin:6px 0 0;color:var(--text-hi);font-size:26px;line-height:1.15}
.dialog-close{min-height:44px;border:1px solid var(--border);background:transparent;padding:7px 10px;color:var(--text-mid);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.dialog-close:hover{border-color:var(--brand);color:var(--brand)}
.dialog-copy{margin:20px 0;color:var(--text-mid);font-size:13px;line-height:1.65}
.setup-form{display:grid;gap:16px}
.setup-form>label,.setup-form legend{color:var(--text-mid);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.setup-form>label{display:grid;gap:7px}
.setup-form input[type="text"]{width:100%;min-height:46px;border:1px solid var(--border-hi);border-radius:var(--r-sm);background:var(--panel-2);padding:10px 12px;color:var(--text-hi);font-family:var(--ui);font-size:16px;outline:0}
.setup-form input[type="text"]:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}
.setup-form fieldset{display:grid;gap:8px;margin:0;padding:0;border:0}
.setup-choice{display:grid;min-height:60px;grid-template-columns:auto 1fr;align-items:center;gap:12px;border:1px solid var(--border);background:var(--panel-2);padding:10px 12px;color:var(--text-hi);cursor:pointer}
.setup-choice:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.setup-choice input{width:18px;height:18px;accent-color:var(--brand)}
.setup-choice strong{display:block;font-size:13px}
.setup-choice small{display:block;margin-top:2px;color:var(--text-lo);font-size:11px}
.setup-success{padding-top:20px}
.setup-success[hidden]{display:none}
.setup-status{border-left:2px solid var(--live);background:var(--brand-soft);padding:15px;color:var(--live);font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;box-shadow:var(--glow)}
.setup-success p{margin:16px 0 20px;color:var(--text-mid);font-size:13px;line-height:1.65}

@media (max-width:960px){
  .application-global-nav{display:none}
  .fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .application-header{min-height:64px;gap:8px;padding:8px 10px}
  .application-breadcrumbs,.organization-summary{display:none}
  .application-wordmark{font-size:13px}
  .location-switcher select{width:clamp(108px,34vw,142px);padding-left:8px;font-size:9px}
  .profile-trigger{width:44px;height:44px}
  .header-menu{top:58px;right:14px}
  .fleet-main{padding:24px 16px calc(84px + env(safe-area-inset-bottom))}
  .fleet-heading{display:block}
  .fleet-heading .fleet-primary-action{width:100%;margin-top:20px}
  .page-intro{font-size:14px}
  .fleet-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
  .fleet-summary article{min-height:78px;padding:10px 9px}
  .fleet-summary article+article{border-left:1px solid var(--border)}
  .fleet-summary span{font-size:8px;letter-spacing:.08em}
  .fleet-summary strong{font-size:18px}
  .fleet-controls{display:block}
  .fleet-search-label{display:block;width:100%}
  .fleet-filter-group{margin-top:12px}
  .fleet-filter{min-width:0;flex:1;justify-content:center;padding-inline:8px;font-size:11px;letter-spacing:.04em}
  .fleet-grid{grid-template-columns:1fr}
  .fleet-card{min-height:248px;padding:16px}
  .mobile-app-nav{position:fixed;inset:auto 0 0;z-index:35;display:grid;min-height:60px;grid-template-columns:repeat(var(--app-nav-count,3),minmax(0,1fr));border-top:1px solid var(--border);background:var(--panel);padding-bottom:env(safe-area-inset-bottom)}
  .mobile-app-nav a{display:flex;min-height:60px;align-items:center;justify-content:center;color:var(--text-mid);font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.035em;text-decoration:none;text-transform:uppercase}
  .mobile-app-nav a.is-active{color:var(--brand);box-shadow:inset 0 2px var(--brand)}
  .family-dialog{padding:19px 17px}
}
@media (max-width:340px){
  .application-wordmark{font-size:12px;letter-spacing:.08em}
  .location-switcher select{width:104px;font-size:8px}
  .mobile-app-nav a{font-size:11px;letter-spacing:-.025em}
  .fleet-main{padding-left:12px;padding-right:12px}
  .fleet-summary strong{font-size:18px}
  .fleet-filter{font-size:11px}
  .fleet-card-header{display:block}
  .fleet-health{margin-top:10px}
}
