/* Shared finishing details for the public site and demonstration workspace. */
.demo-banner {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:10px var(--gut,24px); background:#f4f7fb; color:#52657b;
  border-bottom:1px solid #e4eaf2; font-size:12px; line-height:1.45;
}
.demo-banner__label { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 14px; }
.demo-banner__label strong { color:#364d69; font-weight:600; }
.demo-banner .btn { flex-shrink:0; padding:6px 10px; min-height:32px; font-size:12px; }
.demo-notice {
  position:fixed; bottom:24px; left:50%; transform:translateX(-50%);
  max-width:min(560px,calc(100vw - 32px)); width:max-content; padding:14px 20px;
  background:#18354f; color:white; border-radius:10px; box-shadow:0 6px 24px #102d5026;
  z-index:1000; font-size:14px; line-height:1.5;
}
.demo-dialog {
  border:1px solid #dfe6ef; border-radius:16px; padding:28px;
  width:min(480px,calc(100vw - 32px)); max-height:85vh; color:var(--navy,#102d50);
  background:white; box-shadow:0 24px 80px #071b4533;
}
.demo-dialog::backdrop { background:#142b466b; }
.demo-dialog h2 { margin-bottom:20px; font-size:24px; letter-spacing:-.025em; }
.demo-dialog p,.demo-dialog ul { margin:16px 0; }
.demo-dialog ul { list-style:none; padding:0; }
.demo-dialog li { padding:0; border-bottom:1px solid #edf0f5; }
.demo-dialog li a { display:block; padding:12px 4px; }
.demo-dialog li a:hover { color:var(--blue); background:#f6f9fd; }
.demo-dialog .btn { margin:12px 12px 0 0; }
.demo-dialog input,.demo-field input {
  display:block; width:100%; border:1px solid #bdcadb; border-radius:8px;
  padding:11px 12px; margin-top:7px; font:inherit; background:white;
}
.demo-field { display:block; margin:18px 0; font-size:14px; font-weight:500; }
.demo-hint { font-size:13px; color:#627186; line-height:1.65; margin-block:12px 18px; }
.demo-entry { margin-top:24px; border-top:1px solid var(--line); padding-top:24px; }
.demo-entry p { font-size:14px; line-height:1.65; margin-bottom:16px; color:#52657b; }
.demo-entry .btn { width:100%; }

/* Keep the existing brand palette; give dense workspace screens more air. */
.cab__main { background:#f6f8fb; }
.cab__topbar { min-height:76px; gap:16px; }
.cab__topbar h1 { font-weight:600; letter-spacing:-.025em; }
.cab__body { max-width:1540px; margin-inline:auto; }
.cab__body>.demo-hint:first-child { max-width:760px; margin-top:0; }
.cab__cards { gap:16px; margin-bottom:28px; }
.cab .statcard { border-color:#e2e8f0; padding:22px; box-shadow:0 1px 2px #12274104; }
.cab .statcard .v { font-variant-numeric:tabular-nums; font-size:clamp(27px,2.5vw,36px); line-height:1.2; }
.cab .statcard .k { margin-top:10px; color:#64748a; font-weight:400; }
.cab .panel { border-color:#e2e8f0; border-radius:14px; padding:24px; box-shadow:0 1px 2px #12274104; }
.cab .panel__h { gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.cab .panel__h h3 { font-size:18px; font-weight:600; letter-spacing:-.015em; }
.cab .table th { font-weight:500; color:#64748a; background:#f8fafc; padding-block:13px; }
.cab .table td { padding-block:16px; border-color:#edf1f6; line-height:1.55; }
.cab .table tbody tr:last-child td { border-bottom:0; }
.cab .table tbody tr:hover { background:#fafcff; }
.cab .table a { text-underline-offset:3px; }
.cab .table a:hover { text-decoration:underline; }
.cab .setgrp { padding-block:22px; }
.cab .setgrp h3 { font-weight:600; letter-spacing:-.015em; }
.cab .setfield input,.cab .setfield select { min-height:44px; border-radius:8px; }
.cab .setrow { gap:20px; }
.cab input[type=checkbox] { width:18px; height:18px; accent-color:var(--blue); flex-shrink:0; }
.auth-card { box-shadow:0 12px 36px #12274108; }
.auth-card .form__note { font-size:13px; line-height:1.55; }
.auth-card input:disabled { color:#7d8999; background:#f6f8fb; }
.auth-card button:disabled { cursor:not-allowed; opacity:.5; }
:is(a,button,input,select,video):focus-visible { outline:3px solid #629bea; outline-offset:3px; }
@media(max-width:640px) {
  .demo-banner { align-items:flex-start; gap:10px; padding:10px 16px; }
  .demo-banner__label { display:block; }
  .demo-banner__label span { display:block; font-size:11px; margin-top:3px; }
  .demo-banner .btn { font-size:11px; padding-inline:7px; }
  .demo-notice { bottom:12px; }
  .demo-dialog { padding:20px; }
  .cards--2 { grid-template-columns:minmax(0,1fr); }
  .cab__topbar { min-height:68px; gap:10px; flex-wrap:wrap; }
  .cab__topbar .cab__user { display:none; }
  .cab .panel { padding:18px; }
  .cab .statcard { padding:18px; }
  .cab__cards { gap:12px; margin-bottom:20px; }
}

@media(min-width:360px) and (max-width:640px){.cab__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cab__navgroup [data-demo-exit]{text-transform:none;letter-spacing:normal;font-size:13px}
