.vuj-login-shell {
  width: min(100%, 760px);
  margin: 0 auto;
}

.vuj-login-card {
  background: #fff;
  border: 1px solid var(--vuj-line, #dfe6e5);
  border-radius: 18px;
  padding: clamp(24px, 5vw, 46px);
  box-shadow: var(--vuj-shadow, 0 12px 35px rgba(35,31,32,.08));
}

.vuj-login-heading { margin-bottom: 26px; }
.vuj-login-kicker { display:block; margin-bottom:6px; color:var(--vuj-teal-dark,#008775); font-size:13px; font-weight:800; letter-spacing:.08em; }
.vuj-login-heading h1 { margin:0 0 8px; font-size:clamp(34px,6vw,50px); line-height:1.06; font-weight:450; letter-spacing:-.035em; }
.vuj-login-heading p { margin:0; color:var(--vuj-muted,#697170); }
.vuj-login-form { display:grid; gap:18px; }
.vuj-login-field label { display:block; margin-bottom:7px; font-weight:700; }
.vuj-login-field input[type="text"],
.vuj-login-field input[type="email"],
.vuj-login-field input[type="password"] { width:100%; }
.vuj-login-name-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.vuj-login-row { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.vuj-login-remember { display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
.vuj-login-remember input { width:auto; }
.vuj-login-lost,
.vuj-login-link,
.vuj-login-footer-link a { color:var(--vuj-teal-dark,#008775); font-weight:700; text-underline-offset:3px; }
.vuj-login-submit,
.vuj-login-button { width:100%; min-height:50px; }
.vuj-login-button { display:inline-flex; align-items:center; justify-content:center; border-radius:8px; padding:12px 20px; background:var(--vuj-teal,#00a98f); color:#fff !important; text-decoration:none; font-weight:750; }
.vuj-login-message { margin-bottom:20px; border-radius:10px; padding:13px 15px; }
.vuj-login-message--error { background:#fff0f0; border:1px solid #efc5c5; color:#8e2626; }
.vuj-login-message--success { background:#eaf8f2; border:1px solid #bee5d4; color:#166b4d; }
.vuj-login-actions { display:grid; gap:14px; }
.vuj-login-actions .vuj-login-link { text-align:center; }
.vuj-login-footer-link { margin-top:24px; padding-top:20px; border-top:1px solid var(--vuj-line,#dfe6e5); text-align:center; color:var(--vuj-muted,#697170); }
.vuj-login-help { margin:-7px 0 0; color:var(--vuj-muted,#697170); font-size:14px; }

@media (max-width:600px) {
  .vuj-login-row { align-items:flex-start; flex-direction:column; }
  .vuj-login-name-grid { grid-template-columns:1fr; }
}

/* Můj účet */
.vuj-account-shell {
  width: min(100%, 1120px);
  margin: 0 auto;
}
.vuj-account-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}
.vuj-account-head h1 {
  margin:4px 0 4px;
  font-size:clamp(34px,5vw,54px);
  line-height:1.05;
  font-weight:450;
  letter-spacing:-.035em;
}
.vuj-account-head p { margin:0; color:var(--vuj-muted,#697170); }
.vuj-account-logout { color:var(--vuj-teal-dark,#008775); font-weight:700; text-underline-offset:3px; }
.vuj-account-grid {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:24px;
  align-items:start;
}
.vuj-account-card {
  background:#fff;
  border:1px solid var(--vuj-line,#dfe6e5);
  border-radius:18px;
  padding:clamp(22px,3vw,34px);
  box-shadow:var(--vuj-shadow,0 12px 35px rgba(35,31,32,.08));
}
.vuj-account-card h2 { margin:0 0 22px; font-size:26px; line-height:1.15; }
.vuj-account-extra { margin-top:6px; padding-top:18px; border-top:1px solid var(--vuj-line,#dfe6e5); display:grid; gap:16px; }
.vuj-account-extra h3 { margin:0; font-size:18px; }
.vuj-account-items { display:grid; gap:16px; }
.vuj-account-item { border:1px solid var(--vuj-line,#dfe6e5); border-radius:12px; padding:18px; background:#fff; }
.vuj-account-item__top { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.vuj-account-item__type { display:block; color:var(--vuj-teal-dark,#008775); font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.vuj-account-item h3 { margin:5px 0 0; font-size:18px; line-height:1.3; }
.vuj-account-status { flex:0 0 auto; border-radius:999px; padding:5px 9px; font-size:12px; font-weight:800; }
.vuj-account-status.is-active { background:#eaf8f2; color:#166b4d; }
.vuj-account-status.is-inactive { background:#f2f2f2; color:#666; }
.vuj-account-meta { margin:15px 0 0; display:grid; gap:9px; }
.vuj-account-meta div { display:grid; grid-template-columns:135px 1fr; gap:12px; }
.vuj-account-meta dt { color:var(--vuj-muted,#697170); font-size:13px; }
.vuj-account-meta dd { margin:0; font-weight:650; }
.vuj-account-open { width:auto; margin-top:16px; }
.vuj-account-empty { color:var(--vuj-muted,#697170); }
.vuj-login-field select { width:100%; }

@media (max-width:850px) {
  .vuj-account-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .vuj-account-head { flex-direction:column; }
  .vuj-account-item__top { flex-direction:column; }
  .vuj-account-meta div { grid-template-columns:1fr; gap:2px; }
}
.vuj-account-detail.is-sent dd,.vuj-account-detail.is-ready dd{color:#166b4d}.vuj-account-detail.is-waiting_test dd,.vuj-account-detail.is-waiting_data dd{color:#9a6700}

/* Samostatná sekce pro bezpečnou změnu hesla na stránce Můj účet. */
.vuj-account-password { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--vuj-line, #dfe6e5); }
.vuj-account-password h3 { margin: 0 0 8px; }
.vuj-account-password > p { margin: 0 0 18px; }
