.ana-final-overlay{
  position:fixed;inset:0;z-index:99999;background:rgba(5,8,18,.72);
  backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;
  padding:20px;
}
.ana-final-modal{
  width:min(760px,100%);max-height:88vh;overflow:auto;position:relative;
  background:var(--background,#0d1020);color:var(--foreground,#f7f8ff);
  border:1px solid rgba(151,112,255,.35);border-radius:22px;
  box-shadow:0 28px 90px rgba(0,0,0,.42);padding:28px;
}
.ana-final-modal h2,.ana-final-modal h3{margin:0 0 12px}
.ana-final-modal h3{margin-top:26px}
.ana-final-muted{opacity:.7;font-size:.92rem}
.ana-final-link{display:inline-flex;min-height:44px;align-items:center;font-weight:700;margin:8px 0 18px}
.ana-final-check{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid rgba(127,138,170,.28);border-radius:14px;margin:8px 0 16px}
.ana-final-check input{width:20px;height:20px;margin-top:2px;flex:0 0 auto}
.ana-final-primary,.ana-final-danger,.ana-security-button,.ana-final-close{
  min-height:44px;border-radius:12px;border:0;padding:10px 16px;font:inherit;font-weight:800;cursor:pointer
}
.ana-final-primary{background:#9770ff;color:#fff}
.ana-final-primary:disabled{opacity:.45;cursor:not-allowed}
.ana-final-danger{background:rgba(239,68,68,.13);color:#ef4444;border:1px solid rgba(239,68,68,.28)}
.ana-final-error{color:#ef4444;min-height:1.4em}
.ana-final-close{position:absolute;right:14px;top:12px;background:transparent;color:inherit;font-size:28px;padding:4px 12px}
.ana-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.ana-security-line{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:rgba(127,138,170,.09)}
.ana-security-line span{opacity:.72}
.ana-security-line strong{text-align:right;overflow-wrap:anywhere}
.ana-security-list{display:grid;gap:10px}
.ana-security-card{border:1px solid rgba(127,138,170,.20);border-radius:14px;padding:12px}
.ana-security-card .ana-security-line{padding:6px 0;background:transparent}
.ana-security-button{background:rgba(151,112,255,.12);color:inherit;border:1px solid rgba(151,112,255,.28);white-space:nowrap}
.admin-user-security-summary{display:block;margin-top:3px;opacity:.78}
@media (max-width:640px){
  .ana-final-overlay{padding:10px;align-items:flex-end}
  .ana-final-modal{border-radius:20px 20px 10px 10px;padding:22px 16px;max-height:92vh}
  .ana-security-grid{grid-template-columns:1fr}
  .ana-security-line{flex-direction:column;gap:4px}
  .ana-security-line strong{text-align:left}
  .app-dashboard-title a.bg-primary,
  .app-dashboard-title a[class*="bg-primary"]{color:#fff!important;min-height:44px!important}
  .demo-plan-link,.app-dashboard-table-foot a{min-height:44px!important;display:inline-flex!important;align-items:center!important}
  .app-topbar button,.app-topbar a[role="button"]{min-width:44px;min-height:44px}
  .theme-switch button{min-width:44px!important;min-height:44px!important}
  .admin-user-row{gap:8px}
  .ana-security-button{width:100%;justify-self:stretch}
}

/* Privacy consent */
.ana-legal-lock{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(4,7,17,.82);backdrop-filter:blur(12px)}
.ana-legal-card{width:min(680px,100%);max-height:90vh;overflow:auto;padding:28px;border-radius:22px;border:1px solid rgba(151,112,255,.35);background:var(--background,#0c1020);color:var(--foreground,#f7f8ff);box-shadow:0 30px 90px rgba(0,0,0,.5)}
.ana-legal-card h1{font-size:clamp(1.35rem,4vw,2rem);margin:0 0 12px}
.ana-legal-body,.ana-legal-meta{opacity:.82;line-height:1.55}
.ana-legal-card label{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid rgba(127,138,170,.28);border-radius:14px;margin:18px 0}
.ana-legal-card input{width:20px;height:20px;flex:0 0 auto;margin-top:2px}
.ana-legal-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ana-legal-read,.ana-legal-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:12px;font-weight:800}
.ana-legal-read{border:1px solid rgba(151,112,255,.35)}
.ana-legal-actions button{border:0;background:#9770ff;color:#fff}
.ana-legal-actions button:disabled{opacity:.45}
.ana-legal-error{color:#ef4444}

/* Admin per-user security */
.ana-admin-security{margin:22px 0;padding:20px;border:1px solid rgba(127,138,170,.22);border-radius:18px;background:rgba(127,138,170,.055)}
.ana-admin-security-intro{opacity:.74}
.ana-security-table-wrap{overflow:auto;width:100%}
.ana-security-table{width:100%;border-collapse:collapse;min-width:860px}
.ana-security-table th,.ana-security-table td{text-align:left;padding:11px;border-bottom:1px solid rgba(127,138,170,.17);vertical-align:top}
.ana-security-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;opacity:.72}
.ana-security-ok{color:#2fcf8f;font-weight:800}
.ana-security-no{opacity:.65}
.ana-security-detail{margin-top:20px;padding-top:18px;border-top:1px solid rgba(127,138,170,.2)}
.ana-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ana-security-box{padding:14px;border:1px solid rgba(127,138,170,.2);border-radius:14px;background:rgba(127,138,170,.05)}
.ana-security-box h3{margin:0 0 10px}
.ana-security-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ana-security-list li{padding:10px;border-radius:11px;background:rgba(127,138,170,.08)}
.ana-security-revoke{margin-top:8px;border-color:rgba(239,68,68,.3)!important;color:#ef4444!important}

/* Work notifications */
.ana-notification-bell{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid rgba(127,138,170,.22);background:transparent;color:inherit}
.ana-notification-bell svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9}
.ana-notification-badge{position:absolute;right:-3px;top:-3px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#ef4444;color:white;font-size:11px;line-height:19px;text-align:center;font-weight:900}
.ana-notification-panel{position:fixed;z-index:50000;max-height:min(540px,70vh);overflow:auto;border:1px solid rgba(127,138,170,.26);border-radius:16px;background:var(--background,#0c1020);color:var(--foreground,#f7f8ff);box-shadow:0 24px 70px rgba(0,0,0,.38)}
.ana-notification-head{position:sticky;top:0;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 14px;background:inherit;border-bottom:1px solid rgba(127,138,170,.16);z-index:2}
.ana-notification-read-all{border:0;background:transparent;color:#9770ff;font-weight:800}
.ana-notification-list{display:grid}
.ana-notification-item{display:grid;grid-template-columns:30px 1fr 8px;gap:9px;text-align:left;padding:13px 14px;border:0;border-bottom:1px solid rgba(127,138,170,.12);background:transparent;color:inherit}
.ana-notification-item.unread{background:rgba(151,112,255,.06)}
.ana-notification-copy{display:grid;gap:3px}
.ana-notification-copy span,.ana-notification-copy small{opacity:.72}
.ana-notification-dot{width:7px;height:7px;border-radius:50%;background:#9770ff;margin-top:7px}
.ana-notification-state{padding:24px;text-align:center;opacity:.72}
.ana-notification-state.error{color:#ef4444;opacity:1}

@media(max-width:700px){
 .ana-legal-lock{padding:8px;align-items:flex-end}
 .ana-legal-card{padding:20px 15px;border-radius:20px 20px 9px 9px;max-height:94vh}
 .ana-legal-actions{display:grid;grid-template-columns:1fr}
 .ana-security-grid{grid-template-columns:1fr}
 .ana-admin-security{padding:14px}
 .ana-notification-panel{left:10px!important;right:10px!important;width:auto!important}
}

/* Final work-order quick actions */
.order-quick-status,.order-worker-quick{display:grid;gap:5px;min-width:132px}
.order-quick-status select,.order-worker-quick select,.staff-assign-order{
  min-height:40px;width:100%;max-width:220px;padding:7px 10px;border-radius:10px;
  border:1px solid rgba(87,183,225,.34);background:rgba(6,29,43,.72);color:inherit;
  font:inherit;font-size:.86rem
}
.order-quick-status small,.order-worker-quick small{max-width:220px;line-height:1.25}
.order-worker-quick.closed{min-width:120px}
.order-worker-quick.closed strong{font-size:.9rem}
.order-worker-quick.closed small{opacity:.72}
.staff-assign-order{max-width:240px}
.staff-actions{flex-wrap:wrap}
.vehicle-mileage{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}

@media(max-width:760px){
 .orders-list{overflow-x:auto;-webkit-overflow-scrolling:touch}
 .orders-list table{min-width:980px}
 .order-quick-status select,.order-worker-quick select,.staff-assign-order{min-height:44px}
 .staff-actions{display:grid!important;grid-template-columns:1fr;align-items:stretch}
 .staff-actions button,.staff-actions .staff-assign-order{width:100%;max-width:none;min-height:44px}
}

/* Final compact topbar status + notification cluster */
.app-topbar-actions{gap:8px!important;align-items:center}
.service-status{
  display:inline-flex!important;align-items:center;gap:8px;min-height:38px;
  padding:0 12px!important;border-radius:999px!important;white-space:nowrap;
  border:1px solid rgba(70,211,157,.26)!important;
  background:linear-gradient(180deg,rgba(41,166,124,.13),rgba(8,43,42,.22))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 24px rgba(0,0,0,.08);
  font-size:.78rem!important;font-weight:800!important;letter-spacing:.01em;
}
.service-status .service-pulse{width:7px!important;height:7px!important;min-width:7px;border-radius:50%;background:#35d39a;box-shadow:0 0 0 4px rgba(53,211,154,.10),0 0 12px rgba(53,211,154,.48)}
.service-status.inactive{border-color:rgba(245,183,91,.28)!important;background:rgba(245,183,91,.08)!important}
.service-status.offline{border-color:rgba(148,163,184,.24)!important;background:rgba(100,116,139,.09)!important}
.ana-notification-bell{width:38px!important;height:38px!important;border-radius:999px!important;background:rgba(127,138,170,.06)!important;border-color:rgba(127,138,170,.22)!important;transition:.18s ease}
.ana-notification-bell:hover{transform:translateY(-1px);background:rgba(151,112,255,.10)!important;border-color:rgba(151,112,255,.32)!important}
.ana-notification-badge{right:-4px!important;top:-4px!important;box-shadow:0 0 0 2px var(--background,#0c1020)}

/* AnA AI conversation history */
.ana-chat-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.ana-chat-history-head h3{margin:0}
.ana-chat-new{min-height:36px;padding:7px 11px;border-radius:10px;border:1px solid rgba(151,112,255,.28);background:rgba(151,112,255,.09);color:inherit;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.ana-chat-new:hover{background:rgba(151,112,255,.15)}
.ana-chat-new:disabled{opacity:.5;cursor:not-allowed}
.ana-chat-history{display:grid;gap:7px;max-height:330px;overflow:auto;padding-right:3px}
.ana-chat-history-item{display:grid;gap:3px;width:100%;padding:10px 11px;text-align:left;border:1px solid rgba(127,138,170,.16);border-radius:12px;background:rgba(127,138,170,.045);color:inherit;cursor:pointer}
.ana-chat-history-item:hover{border-color:rgba(151,112,255,.30);background:rgba(151,112,255,.07)}
.ana-chat-history-item.active{border-color:rgba(82,183,225,.40);background:rgba(82,183,225,.09);box-shadow:inset 3px 0 0 rgba(82,183,225,.72)}
.ana-chat-history-item strong{font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ana-chat-history-item span{font-size:.76rem;opacity:.72;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ana-chat-history-item small{font-size:.68rem;opacity:.55}
.ana-chat-history-empty{margin:4px 0 8px;font-size:.82rem;opacity:.66}
.ana-chat-history-divider{height:1px;margin:15px 0;background:rgba(127,138,170,.16)}
@media(max-width:700px){.service-status{min-height:36px;padding:0 9px!important;font-size:.72rem!important}.ana-notification-bell{width:36px!important;height:36px!important}.ana-chat-history{max-height:240px}}

.vehicle-brand-logo-img{display:block;width:100%;height:100%;object-fit:contain}

/* Public static-shell fallback: keeps marketing pages interactive without heavy hydration */
@media(max-width:980px){
  body.public-menu-open .site-nav{
    display:flex!important;position:fixed;left:16px;right:16px;top:74px;z-index:9998;
    flex-direction:column;gap:4px;padding:14px;border-radius:16px;
    background:var(--background,#08141e);border:1px solid rgba(127,138,170,.22);
    box-shadow:0 22px 60px rgba(0,0,0,.34)
  }
  body.public-menu-open .site-nav a{display:flex!important;min-height:44px;align-items:center;padding:0 10px}
}

/* Public landing SAFE MODE: avoid Chrome compositor/main-thread stalls */
body.ana-public-safe *,
body.ana-public-safe *::before,
body.ana-public-safe *::after{
  animation:none!important;
  transition:none!important;
  scroll-behavior:auto!important;
}
body.ana-public-safe *,
body.ana-public-safe *::before,
body.ana-public-safe *::after{
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.ana-public-safe [data-reveal]{
  opacity:1!important;
  transform:none!important;
}

/* Public marketing CTA cleanup */
body.ana-public-safe .marketing-scroll-cue{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  margin-top:16px!important;
  min-height:40px!important;
  padding:8px 12px!important;
  border:1px solid rgba(82,183,225,.22)!important;
  border-radius:999px!important;
  background:rgba(82,183,225,.055)!important;
  color:inherit!important;
  font-size:.78rem!important;
  font-weight:800!important;
  text-decoration:none!important;
}
body.ana-public-safe .marketing-scroll-cue span{
  display:inline-grid!important;
  place-items:center!important;
  width:22px!important;
  height:22px!important;
  border-radius:50%!important;
  background:rgba(151,112,255,.14)!important;
  color:#a98cff!important;
  font-size:14px!important;
  line-height:1!important;
}
body.ana-public-safe .marketing-scroll-cue:hover{
  border-color:rgba(151,112,255,.35)!important;
  background:rgba(151,112,255,.08)!important;
}

/* Auth empty-state cleanup */
#ana-login-error:empty,
.auth-error:empty,
.auth-success:empty{
  display:none!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  background:transparent!important;
}
