/* ViziQ OS v16.00 — Application Foundation / corporate shell */
:root{
  --v16-bg:#0a0f14;
  --v16-panel:#111820;
  --v16-panel-soft:#0d141b;
  --v16-line:#24313c;
  --v16-line-strong:#30414f;
  --v16-text:#f5f7f9;
  --v16-muted:#91a0ab;
  --v16-accent:#62cbd1;
  --v16-good:#61c985;
  --v16-warn:#d8a652;
  --v16-bad:#dc6c78;
}
html{background:var(--v16-bg)}
body{background:var(--v16-bg)!important;color:var(--v16-text);letter-spacing:0!important}
body,button,input,select,textarea{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
header{min-height:70px;padding:13px 22px!important;background:rgba(10,15,20,.96)!important;border-bottom:1px solid var(--v16-line)!important}
.logo{letter-spacing:.14em!important;color:#eafcff!important;font-size:13px!important}
header .muted{font-size:10px!important;letter-spacing:.035em!important;color:#82919d!important}
header .toolbar-actions{gap:8px!important}
header button{min-height:36px}
.live{font-size:11px!important;color:#7fd89a!important}
main{margin-left:220px!important;padding:28px 30px 70px!important;max-width:none!important}
nav{left:14px!important;top:84px!important;bottom:14px!important;width:190px!important;max-width:190px!important;padding:10px!important;border-radius:14px!important;background:#0d1319!important;border:1px solid #202c36!important;box-shadow:0 18px 48px rgba(0,0,0,.22)!important}
nav button{font-size:12px!important;letter-spacing:0!important;text-transform:none!important;font-weight:650!important;padding:10px 11px!important;border-radius:9px!important;color:#9ba8b2!important}
nav button.active{background:#172229!important;color:#eafcff!important;border:1px solid #29414a!important}
nav button:hover{color:#effbfc!important;background:#131c23!important}
.screen>.toolbar:first-child{margin-bottom:18px!important}
.screen>.toolbar:first-child h1{font-size:27px!important;line-height:1.15!important;letter-spacing:-.025em!important;margin-bottom:5px!important}
.screen>.toolbar:first-child .muted{font-size:13px!important;line-height:1.5!important}
.card,.modal-box,.scout-agent-card{border-radius:14px!important;background:var(--v16-panel)!important;border-color:var(--v16-line)!important;box-shadow:0 10px 28px rgba(0,0,0,.13)!important}
.card h2,.card h3,.modal-box h2,.modal-box h3{letter-spacing:-.01em!important;text-transform:none!important}
.label{letter-spacing:.055em!important;font-size:10px!important;color:#82919d!important}
button{
  border-radius:9px!important;
  background:var(--v16-accent)!important;
  color:#061014!important;
  box-shadow:none!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-weight:700!important;
}
button:hover{filter:brightness(1.06)}
button:disabled{opacity:.5!important;cursor:not-allowed!important}
button.secondary,button.ghost,.tabs button{background:#151d25!important;color:#dce4e9!important;border:1px solid #293844!important}
button.danger{background:#32181e!important;border:1px solid #5a2933!important;color:#f29aa4!important}
input,select,textarea{background:#0b1117!important;border:1px solid #2b3945!important;border-radius:9px!important}
input:focus,select:focus,textarea:focus{border-color:#4faeb5!important;box-shadow:0 0 0 3px rgba(98,203,209,.08)!important}
.badge{letter-spacing:.025em!important}
.v1550-toast-host{top:78px!important;right:18px!important}.v1550-toast{border-radius:11px!important}

/* App shell controls */
.v160-shell-btn{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.v160-shell-btn .v160-dot{width:7px;height:7px;border-radius:50%;background:var(--v16-accent);display:inline-block}
.v160-env-badge{display:inline-flex;align-items:center;border:1px solid #2e3c47;border-radius:999px;padding:5px 8px;font-size:9px;letter-spacing:.055em;text-transform:uppercase;color:#8fa0aa;background:#10171d}
.v160-env-badge.staging{border-color:#69552d;color:#e0b763;background:#19150e}
.v160-update-banner{position:fixed;left:230px;right:18px;top:76px;z-index:15000;background:#101a20;border:1px solid #31515a;border-radius:12px;padding:10px 12px;box-shadow:0 16px 40px rgba(0,0,0,.28);display:flex;align-items:center;justify-content:space-between;gap:12px}
.v160-update-banner strong{font-size:12px}.v160-update-banner .muted{font-size:11px}
.v160-offline-pill{display:none;position:fixed;right:16px;bottom:16px;z-index:15000;background:#241b0c;border:1px solid #6b5220;color:#f0c36b;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:750}
body.v160-offline .v160-offline-pill{display:block}

/* Diagnostics */
.v160-diag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v160-diag-card{background:#0c1319;border:1px solid #22303a;border-radius:12px;padding:13px}
.v160-diag-card h3{margin:0 0 10px;font-size:13px}.v160-diag-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:7px 0;border-bottom:1px solid #1e2932;font-size:12px}.v160-diag-row:last-child{border-bottom:0}.v160-diag-row span{color:#8999a4}.v160-diag-row strong{text-align:right;word-break:break-word}.v160-health-good{color:#7ed99a}.v160-health-warn{color:#e3b660}.v160-health-bad{color:#ea8490}.v160-error-list{max-height:190px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.45;color:#b8c3ca;background:#081016;border:1px solid #202d36;border-radius:9px;padding:10px;white-space:pre-wrap}

/* Login / installable app presentation */
#loginScreen{background:radial-gradient(circle at 50% 25%,rgba(77,143,153,.12),transparent 34%),var(--v16-bg)!important}
#loginScreen .login-box{border-radius:18px!important;border-color:#26343f!important;background:#10171e!important;box-shadow:0 28px 80px rgba(0,0,0,.32)!important}
#loginScreen .login-box h2{font-size:25px!important;letter-spacing:-.03em!important}
.v160-login-caption{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#697984;margin-top:6px}

/* Driver app refinements */
body.driver-app-mode header .logo{font-size:12px!important}
body.driver-app-mode header{border-bottom-color:#1f2b34!important}
body.driver-app-mode #driverScreen .driver-main-card{box-shadow:none!important}
body.driver-app-mode .driver-mobile-nav{background:rgba(9,14,19,.96)!important;border-top-color:#263540!important;backdrop-filter:blur(18px)}
body.driver-app-mode .driver-mobile-nav button{font-size:16px!important;color:#d5dee4!important}
body.driver-app-mode .driver-mobile-nav button small{text-transform:none!important;letter-spacing:0!important;font-size:9px!important}

/* Client app mode */
.v160-client-mobile-nav{display:none}
body.client-app-mode{overflow-x:hidden;background:#080d12!important}
body.client-app-mode header{min-height:54px;padding:8px 11px!important;position:sticky;top:0;z-index:1000;flex-wrap:nowrap!important}
body.client-app-mode header>div:first-child .muted{display:none!important}
body.client-app-mode header .toolbar-actions{margin-left:auto}
body.client-app-mode header .live,body.client-app-mode #globalAddNewBtn,body.client-app-mode #globalSearchBtn{display:none!important}
body.client-app-mode header .logout{padding:7px 9px!important;font-size:10px!important}
body.client-app-mode main{margin-left:0!important;padding:10px 9px 88px!important;max-width:100vw!important}
body.client-app-mode nav{display:none!important}
body.client-app-mode #portalScreen>.toolbar{display:block!important;margin-bottom:10px!important}
body.client-app-mode #portalScreen>.toolbar h1{font-size:22px!important}
body.client-app-mode #portalScreen>.toolbar .toolbar-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}
body.client-app-mode #portalScreen>.toolbar .toolbar-actions button{min-width:0;padding:9px 7px!important;font-size:10px!important}
body.client-app-mode #portalRoleBanner{display:none!important}
body.client-app-mode #portalScreen .portal-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}
body.client-app-mode #portalScreen .portal-grid>.card{margin:0 0 9px!important;padding:13px!important;box-shadow:none!important}
body.client-app-mode #portalScreen .portal-grid>.card h3{font-size:14px!important;margin-top:0!important}
body.client-app-mode input,body.client-app-mode select,body.client-app-mode textarea{font-size:16px!important}
body.client-app-mode .modal{padding:0!important;align-items:stretch!important;justify-content:stretch!important}
body.client-app-mode .modal-box,body.client-app-mode .modal-box.large,body.client-app-mode .modal-box.xlarge{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;border-left:0!important;border-right:0!important;padding:12px 10px 88px!important}
body.client-app-mode .viziq-ai-float{display:none!important}
body.client-app-mode .v160-client-mobile-nav{display:none}
body.client-app-mode .v160-client-mobile-nav button{border:0!important;background:transparent!important;color:#d5dee4!important;padding:7px 2px!important;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:16px!important;min-width:0!important}
body.client-app-mode .v160-client-mobile-nav button small{font-size:9px!important;color:#8ea0aa!important;font-weight:600!important}

@media(max-width:1100px){
  main{margin-left:0!important;padding-bottom:92px!important}
  nav{left:50%!important;transform:translateX(-50%)!important;top:auto!important;bottom:10px!important;width:max-content!important;max-width:calc(100vw - 20px)!important;height:auto!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important}
  nav button{font-size:10px!important;padding:8px 9px!important;white-space:nowrap!important}
  .v160-update-banner{left:12px;right:12px;top:72px}
}
@media(max-width:820px){
  body.client-app-mode #portalScreen .portal-grid{display:block!important}
  body.client-app-mode .v160-client-mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:1600;padding:6px 5px calc(6px + env(safe-area-inset-bottom));background:rgba(9,14,19,.97);border-top:1px solid #263540;box-shadow:0 -8px 30px rgba(0,0,0,.45);backdrop-filter:blur(18px)}
}
@media(max-width:760px){
  header{padding:9px 11px!important}.screen>.toolbar:first-child h1{font-size:23px!important}.v160-diag-grid{grid-template-columns:1fr}.v160-shell-btn .v160-shell-label{display:none}.v160-env-badge{display:none}
}
@media(display-mode:standalone){
  body{overscroll-behavior-y:none}
  header{padding-top:max(11px,env(safe-area-inset-top))!important}
}
