*{box-sizing:border-box}

body.vh-setup-page{
  margin:0;
  min-height:100vh;
  background:#0f172a;
  color:#e2e8f0;
  font-family:"Segoe UI","Prompt",system-ui,-apple-system,sans-serif;
}

.vh-setup-shell{
  width:min(980px,calc(100% - 32px));
  margin:0 auto;
  padding:32px 0;
}

.vh-setup-shell-narrow{max-width:680px}

.vh-setup-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.vh-setup-topbar .vh-setup-brand{margin-bottom:0}

.vh-setup-refresh-group{
  display:flex;
  flex:0 0 auto;
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
}

.vh-setup-refresh-group small{
  color:#94a3b8;
  font-size:11px;
  font-variant-numeric:tabular-nums;
}

.vh-setup-refresh-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:40px;
  border:1px solid #0369a1;
  border-radius:10px;
  padding:9px 13px;
  color:#e0f2fe;
  background:#0c4a6e;
  font-weight:700;
  text-decoration:none;
}

.vh-setup-refresh-button:hover,
.vh-setup-refresh-button:focus-visible{
  color:#fff;
  background:#075985;
}

.vh-setup-refresh-button:focus-visible{
  outline:2px solid #38bdf8;
  outline-offset:2px;
}

.vh-setup-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:64px;
  margin:0 0 14px;
  color:#fff;
}

.vh-setup-brand-logo{
  display:block;
  flex:0 0 auto;
  width:56px;
  height:56px;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(14,165,233,.28));
}

.vh-setup-brand-copy{
  display:grid;
  gap:2px;
  min-width:0;
}

.vh-setup-brand-copy strong{
  font-size:17px;
  letter-spacing:.055em;
}

.vh-setup-brand-copy span{
  color:#94a3b8;
  font-size:12px;
}

.vh-setup-login-portal{
  display:flex;
  align-items:center;
  gap:16px;
  min-height:112px;
  border:1px solid #1d4ed8;
  border-radius:16px;
  padding:16px 18px;
  color:#e0f2fe;
  background:linear-gradient(135deg,rgba(30,64,175,.32),rgba(14,116,144,.2));
  box-shadow:0 18px 45px rgba(0,0,0,.28);
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;
}

.vh-setup-login-portal:hover,
.vh-setup-login-portal:focus{
  border-color:#38bdf8;
  color:#fff;
  background:linear-gradient(135deg,rgba(37,99,235,.46),rgba(8,145,178,.32));
  box-shadow:0 22px 48px rgba(2,132,199,.2);
  outline:none;
  text-decoration:none;
  transform:translateY(-2px);
}

.vh-setup-login-portal:focus-visible{
  outline:3px solid #fbbf24;
  outline-offset:3px;
}

.vh-setup-login-portal-logo{
  display:block;
  flex:0 0 auto;
  width:76px;
  height:76px;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(56,189,248,.28));
}

.vh-setup-login-portal-copy{
  display:grid;
  flex:1 1 auto;
  gap:5px;
  min-width:0;
}

.vh-setup-login-portal-copy strong{
  color:#fff;
  font-size:17px;
  letter-spacing:.02em;
}

.vh-setup-login-portal-copy span{
  color:#bae6fd;
  font-size:13px;
}

.vh-setup-login-portal-arrow{
  flex:0 0 auto;
  color:#7dd3fc;
  font-size:28px;
  line-height:1;
}

.vh-setup-session-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  padding:14px 18px;
  border:1px solid #0369a1;
  border-radius:14px;
  background:#0c4a6e;
  color:#e0f2fe;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}

.vh-setup-session-card strong{color:#fff}

.vh-setup-session-card span{
  display:block;
  margin-top:4px;
  color:#bae6fd;
  font-size:13px;
}

.vh-setup-countdown{
  flex:0 0 auto;
  min-width:120px;
  border-radius:10px;
  padding:10px 14px;
  background:#082f49;
  text-align:center;
  white-space:nowrap;
}

.vh-setup-countdown strong{
  display:inline;
  margin-left:5px;
  font-size:20px;
  font-variant-numeric:tabular-nums;
}

.vh-setup-session-card.is-warning{
  border-color:#d97706;
  background:#78350f;
}

.vh-setup-session-card.is-expired{
  border-color:#dc2626;
  background:#7f1d1d;
}

.vh-setup-card{
  background:#111827;
  border:1px solid #263244;
  border-radius:16px;
  box-shadow:0 18px 45px rgba(0,0,0,.35);
  padding:20px;
  margin-bottom:14px;
}

.vh-setup-heading{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:18px;
}

.vh-setup-icon{font-size:24px}
.vh-setup-heading h1{margin:0;color:#fff;font-size:21px}
.vh-setup-heading p{margin:6px 0 0;color:#94a3b8}
.vh-setup-build{
  display:inline-flex;
  margin-top:8px;
  border:1px solid #334155;
  border-radius:999px;
  padding:3px 8px;
  color:#bae6fd;
  background:#0b1220;
  font-size:12px;
  font-variant-numeric:tabular-nums;
}
.vh-setup-section-title{margin:24px 0 12px;color:#fff;font-size:17px}

.vh-setup-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.vh-setup-grid-one{grid-template-columns:1fr}

.vh-setup-label-hint{
  color:#7dd3fc;
  font-size:12px;
  font-weight:600;
}

.vh-setup-grid label,
.vh-setup-checkbox{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:#cbd5e1;
  font-size:14px;
}

.vh-setup-grid input{
  width:100%;
  border:1px solid #3a475c;
  border-radius:10px;
  background:#0b1220;
  color:#f8fafc;
  padding:11px 12px;
  font:inherit;
}

.vh-setup-grid input:focus{
  outline:2px solid #38bdf8;
  outline-offset:1px;
}

.vh-setup-password-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:stretch;
}

.vh-setup-password-toggle{
  min-width:72px;
  border:1px solid #0369a1;
  border-radius:10px;
  padding:9px 12px;
  color:#e0f2fe;
  background:#0c4a6e;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.vh-setup-password-toggle:hover,
.vh-setup-password-toggle:focus-visible{
  color:#fff;
  background:#075985;
}

.vh-setup-password-toggle:focus-visible{
  outline:2px solid #38bdf8;
  outline-offset:1px;
}

.vh-setup-password-status{
  color:#94a3b8;
  font-size:12px;
  line-height:1.45;
}

.vh-setup-checkbox{
  flex-direction:row;
  align-items:center;
  margin-top:12px;
}

.vh-setup-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.vh-setup-button,
.vh-setup-link-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  border:1px solid #334155;
  border-radius:10px;
  padding:9px 14px;
  background:#1d4ed8;
  color:#fff;
  text-decoration:none;
  font:inherit;
  cursor:pointer;
}

.vh-setup-button-success{background:#059669;border-color:#047857}
.vh-setup-button-warning{background:#7c3aed;border-color:#6d28d9}
.vh-setup-button-danger{background:#b91c1c;border-color:#991b1b}
.vh-setup-link-button{background:#0b1220}
.vh-setup-discard-button{
  border-color:#7f1d1d;
  background:transparent;
  color:#fecaca;
}
.vh-setup-discard-button:hover,
.vh-setup-discard-button:focus-visible{
  border-color:#ef4444;
  background:#3f1d1d;
}

.vh-setup-alert{
  border-radius:10px;
  padding:12px 14px;
  margin:14px 0;
  line-height:1.55;
}

.vh-setup-alert-info{background:#0c4a6e;border:1px solid #0369a1;color:#e0f2fe}
.vh-setup-alert-success{background:#052e16;border:1px solid #15803d;color:#bbf7d0}
.vh-setup-alert-warning{background:#422006;border:1px solid #a16207;color:#fef3c7}
.vh-setup-alert-error{background:#3f1d1d;border:1px solid #b91c1c;color:#fecaca}

.vh-setup-warning-list,
.vh-setup-save-note ul{
  margin:8px 0 0;
  padding-left:20px;
}

.vh-setup-warning-list li + li,
.vh-setup-save-note li + li{margin-top:6px}

.vh-setup-save-note{
  margin-top:14px;
  border:1px solid #334155;
  border-radius:10px;
  padding:12px 14px;
  background:#0b1220;
  color:#cbd5e1;
  font-size:13px;
  line-height:1.55;
}

.vh-setup-save-note strong{color:#fff}
.vh-setup-save-note code{color:#bae6fd}

.vh-setup-note-field{
  display:grid;
  gap:9px;
  margin-top:14px;
  border-top:1px solid #334155;
  padding-top:14px;
}

.vh-setup-note-field label{
  display:grid;
  gap:7px;
  color:#e2e8f0;
  font-weight:700;
}

.vh-setup-note-field textarea{
  display:block;
  width:100%;
  min-height:104px;
  resize:vertical;
  border:1px solid #3a475c;
  border-radius:10px;
  padding:11px 12px;
  color:#f8fafc;
  background:#111827;
  font:inherit;
  font-weight:400;
  line-height:1.5;
}

.vh-setup-note-field textarea:focus{
  outline:2px solid #38bdf8;
  outline-offset:1px;
}

.vh-setup-note-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.vh-setup-note-toolbar small,
.vh-setup-note-warning{
  color:#94a3b8;
  font-weight:400;
}

.vh-setup-note-save{flex:0 0 auto}

.vh-setup-emergency-active{
  margin-top:0;
  border-width:2px;
  box-shadow:0 0 0 1px rgba(248,113,113,.18);
}

.vh-setup-code{
  display:block;
  overflow:auto;
  margin:10px 0;
  padding:10px 12px;
  background:#020617;
  border:1px solid #334155;
  border-radius:8px;
  color:#bae6fd;
  white-space:pre-wrap;
  word-break:break-word;
}

.vh-setup-footnote{margin:18px 0 0;color:#94a3b8;font-size:13px}
.vh-setup-footnote a{color:#7dd3fc}

.vh-public-url-settings{
  display:grid;
  gap:14px;
}

.vh-public-url-settings small{
  color:#94a3b8;
  line-height:1.55;
}

.vh-public-url-settings code,
.vh-public-url-preview dd{
  color:#bae6fd;
  font-family:Consolas,"Courier New",monospace;
}

.vh-public-url-preview{
  border:1px solid #334155;
  border-radius:12px;
  padding:14px;
  background:#0b1220;
}

.vh-public-url-preview-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.vh-public-url-preview-heading span{
  border-radius:999px;
  padding:4px 9px;
  font-size:12px;
  font-weight:700;
}

.vh-public-url-preview-heading .is-ready{
  color:#bbf7d0;
  background:#14532d;
}

.vh-public-url-preview-heading .is-incomplete{
  color:#fde68a;
  background:#78350f;
}

.vh-public-url-preview dl{
  display:grid;
  gap:9px;
  margin:0 0 12px;
}

.vh-public-url-preview dl>div{
  display:grid;
  gap:4px;
}

.vh-public-url-preview dt{
  color:#94a3b8;
  font-size:12px;
}

.vh-public-url-preview dd{
  margin:0;
  overflow-wrap:anywhere;
}

.vh-public-url-preview p{
  margin:10px 0 0;
  color:#94a3b8;
  font-size:12px;
}

.vh-public-url-test-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  border:1px solid #0369a1;
  border-radius:9px;
  padding:7px 11px;
  color:#e0f2fe;
  background:#0c4a6e;
  text-decoration:none;
}

.vh-public-url-test-link:hover,
.vh-public-url-test-link:focus{
  color:#fff;
  background:#075985;
}

.vh-public-url-test-link.is-disabled{
  border-color:#334155;
  color:#64748b;
  background:#111827;
  cursor:not-allowed;
  pointer-events:none;
}

.vh-setup-empty{
  border:1px dashed #334155;
  border-radius:10px;
  padding:18px;
  color:#94a3b8;
  text-align:center;
}

.vh-setup-table-wrap{
  width:100%;
  overflow-x:auto;
  border:1px solid #334155;
  border-radius:10px;
}

.vh-setup-report-table{
  width:100%;
  min-width:1120px;
  border-collapse:collapse;
  background:#0b1220;
  color:#e2e8f0;
  font-size:13px;
}

.vh-setup-report-table th,
.vh-setup-report-table td{
  padding:11px 12px;
  border-bottom:1px solid #263244;
  text-align:left;
  vertical-align:top;
}

.vh-setup-report-table th{
  background:#172033;
  color:#fff;
  white-space:nowrap;
}

.vh-setup-report-table tr:last-child td{border-bottom:0}
.vh-setup-report-table tbody tr:hover{background:#111c30}

.vh-setup-report-table small{
  display:block;
  margin-top:4px;
  color:#94a3b8;
}

.vh-setup-nowrap{white-space:nowrap}

@media (max-width:700px){
  .vh-setup-shell{width:min(100% - 20px,980px);padding:14px 0}
  .vh-setup-topbar{align-items:stretch;flex-direction:column;gap:10px}
  .vh-setup-refresh-group{align-items:stretch}
  .vh-setup-refresh-group small{text-align:right}
  .vh-setup-refresh-button{width:100%}
  .vh-setup-brand{min-height:54px;margin-bottom:10px}
  .vh-setup-brand-logo{width:48px;height:48px}
  .vh-setup-brand-copy strong{font-size:15px}
  .vh-setup-login-portal{gap:12px;min-height:94px;padding:13px 14px}
  .vh-setup-login-portal-logo{width:60px;height:60px}
  .vh-setup-login-portal-copy strong{font-size:15px}
  .vh-setup-login-portal-copy span{font-size:12px}
  .vh-setup-login-portal-arrow{font-size:23px}
  .vh-setup-card{padding:17px}
  .vh-setup-session-card{
    align-items:stretch;
    flex-direction:column;
    padding:14px;
  }
  .vh-setup-countdown{width:100%}
  .vh-setup-grid{grid-template-columns:1fr}
  .vh-setup-actions{flex-direction:column}
  .vh-setup-button,.vh-setup-link-button{width:100%}
  .vh-setup-note-toolbar{align-items:stretch;flex-direction:column}
  .vh-public-url-preview-heading{align-items:flex-start;flex-direction:column}
  .vh-public-url-test-link{width:100%}
}
