/* Core Care Clinic VPN start page. Colours come from brand.css variables. */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--brand-font);
  color: var(--brand-text);
  background: var(--brand-bg);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-size: 20px;
  line-height: 1.4;
}
.site-header {
  text-align: center;
  padding: 28px 16px 12px;
  border-bottom: 4px solid var(--brand-primary);
}
.clinic-logo { max-width: 90vw; width: 318px; height: auto; }
.product-name {
  margin: 6px 0 0;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: var(--brand-primary-dark);
  text-transform: uppercase;
}
main { flex: 1; width: 100%; max-width: 680px; margin: 0 auto; padding: 24px 16px; }

.status { display: none; text-align: center; border-radius: 14px; padding: 28px 20px; }
body[data-state="checking"] .status-checking,
body[data-state="connected"] .status-ok,
body[data-state="disconnected"] .status-bad,
.nojs { display: block; }

.status-checking { background: var(--brand-surface); color: var(--brand-muted); }
.status-ok  { background: var(--status-ok-bg);  border: 3px solid var(--status-ok); }
.status-bad { background: var(--status-bad-bg); border: 3px solid var(--status-bad); }
.status-text { font-size: 28px; font-weight: bold; margin: 0 0 20px; }
.status-ok .status-text  { color: var(--status-ok); }
.status-bad .status-text { color: var(--status-bad); }

.btn-primary {
  display: inline-block;
  min-width: 260px;
  padding: 20px 36px;
  font-size: 28px;
  font-weight: bold;
  color: #FFFFFF;
  background: var(--brand-primary);
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 0 3px 0 var(--brand-primary-dark);
}
.btn-primary:hover, .btn-primary:focus { background: var(--brand-primary-dark); outline: 3px solid var(--brand-text); outline-offset: 3px; }
.switch-img { max-width: 100%; height: auto; }
.hint { font-size: 18px; color: var(--brand-muted); margin: 16px 0 0; }

.site-footer {
  background: var(--footer-bg);
  color: var(--footer-text);
  font-size: 15px;
  padding: 12px 16px;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.site-footer a { color: var(--footer-accent); }
.vintiq-logo { height: 28px; width: auto; background: #FFFFFF; border-radius: 4px; padding: 2px; }

@media (max-width: 480px) {
  body { font-size: 18px; }
  .status-text { font-size: 23px; }
  .btn-primary { font-size: 24px; min-width: 0; width: 100%; }
}
