/* Účet, tím a chyby: kostry z Stavba-stranky.md. Len tokeny. */
.account-card.narrow-page { max-width: 420px; }
.account-card .form-panel { border: 0; padding: 0; background: transparent; }
@media (min-width: 768px) { .account-card.narrow-page .form-panel:not(.resend-card) { border: 1px solid var(--line); padding: var(--app-space-6); background: var(--ground); } }
.register-layout.account-card { max-width: 420px; margin-inline: auto; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) { .register-layout.account-card { grid-template-columns: minmax(0, 1fr); } .register-layout.account-card .form-panel { border: 1px solid var(--line); padding: var(--app-space-6); } }
.mail-line { overflow-wrap: anywhere; }
.code-input { font-size: var(--app-title-size); letter-spacing: .3em; text-align: center; font-variant-numeric: tabular-nums; }
.resend-card { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--app-space-3); margin-top: var(--app-space-5); padding: var(--app-space-4) !important; border: 1px solid var(--line) !important; border-radius: var(--radius-card); }
.resend-card form { margin: 0; }
.resend-card .btn-ghost { margin-left: 0; }
.resend-card .btn[disabled] { opacity: .62; cursor: not-allowed; }
.quiet-link { display: inline-flex; align-items: center; justify-content: center; min-height: var(--app-tap); padding: 0 var(--app-space-3); font-size: var(--app-body-sm-size); font-weight: var(--app-label-weight); color: var(--ink-muted); }
.quiet-link:hover { color: var(--ink); }

/* Súhlas (FormPrvky) */
.suhlas-wrap { margin-bottom: var(--app-space-2); }
.suhlas { position: relative; display: flex; align-items: flex-start; gap: var(--app-space-3); min-height: var(--app-tap); padding: var(--app-space-2) 0; cursor: pointer; font-size: 15px; line-height: 1.5; }
.suhlas input { position: absolute; opacity: 0; width: 24px; height: 24px; margin: 0; top: var(--app-space-2); left: 0; cursor: pointer; }
.suhlas-box { position: relative; flex: none; width: 24px; height: 24px; margin-top: 0; border: 1px solid var(--control-edge); border-radius: 7px; background: var(--white); transition: background 260ms cubic-bezier(.22, 1, .36, 1); }
.suhlas input:checked + .suhlas-box { background: var(--burgundy); border-color: var(--burgundy); }
.suhlas input:checked + .suhlas-box::after { content: ""; position: absolute; left: 8px; top: 3px; width: 6px; height: 12px; border: solid var(--white); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.suhlas input[aria-invalid="true"] + .suhlas-box { border: 1.5px solid var(--burgundy); }
.suhlas input:focus-visible + .suhlas-box { outline: 2px solid var(--accent); outline-offset: 3px; box-shadow: 0 0 0 5px var(--focus-gap), 0 0 0 6px var(--focus-hair); }
.suhlas input:disabled + .suhlas-box { opacity: .62; border-style: dashed; }
.suhlas-text a { text-decoration: underline; }
.suhlas-wrap .field-error { margin-top: 0; padding-left: 36px; }

/* Profil */
.profile-page { max-width: 720px; }
.profile-page .profile-grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1200px) { .profile-page .profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .profile-page { max-width: 720px; } }
.profile-sub { color: var(--ink-muted); margin: var(--app-space-2) 0 var(--app-space-5); }
.profile-page .notice { margin-bottom: var(--app-space-4); }
.profile-grid > .form-panel:last-child { grid-column: 1 / -1; }
.js [data-autosave-submit] { display: none; }
.danger-link { display: inline-flex; align-items: center; min-height: var(--app-tap); color: var(--burgundy); font-weight: var(--app-label-weight); }
.btn-danger-quiet { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 var(--app-space-5); border: 1px solid transparent; border-radius: var(--radius-pill); background: transparent; color: var(--burgundy); font-weight: var(--app-label-weight); text-decoration: none; cursor: pointer; }
.btn-danger-quiet:hover { background: color-mix(in srgb, var(--burgundy) 8%, transparent); }

/* Potvrdenia */
.confirm-page { display: flex; justify-content: center; padding: var(--app-space-6) 0 var(--rhythm); }
.confirm-card { width: 100%; max-width: 420px; display: grid; gap: var(--app-space-2); }
.confirm-card h1 { font-size: var(--app-headline-size); line-height: var(--app-headline-line); margin-bottom: var(--app-space-2); }
.confirm-tip { color: var(--ink-muted); }
.confirm-actions { display: grid; gap: var(--app-space-2); margin-top: var(--app-space-3); }
.confirm-actions form { margin: 0; }
.confirm-dialog { border: 0; padding: var(--app-space-5) var(--gutter) var(--app-space-6); background: var(--paper, var(--ground)); color: var(--ink); width: 100%; max-width: none; margin: auto 0 0; border-radius: var(--radius-card) var(--radius-card) 0 0; box-shadow: var(--shadow-card); max-height: 90dvh; overflow-y: auto; animation: sheet-up 380ms cubic-bezier(.22, 1, .36, 1); }
.confirm-dialog::backdrop { background: color-mix(in srgb, var(--void) 55%, transparent); }
.confirm-dialog .confirm-card { max-width: none; }
@keyframes sheet-up { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (min-width: 768px) { .confirm-dialog { width: min(420px, 100% - 2 * var(--gutter)); margin: auto; border-radius: var(--radius-card); padding: var(--app-space-6); } }

/* Tím */
.team-page .count { color: var(--ink-muted); font-weight: var(--app-body-weight); }
.team-search { display: grid; gap: var(--app-space-2); margin-bottom: var(--app-space-4); max-width: 520px; }
.team-search .field { margin: 0; }
.team-search .btn { justify-self: start; }
.js .team-search .btn { display: none; }
.person-info .person-mail { color: var(--ink); }
.pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--app-space-3); margin-top: var(--app-space-5); }
.pager .btn-ghost { margin-left: 0; }
.pager-info { color: var(--ink-muted); font-size: var(--app-body-sm-size); }
.empty-state { display: flex; gap: var(--app-space-3); align-items: flex-start; padding: var(--app-space-6) 0; max-width: 520px; color: var(--ink-muted); }
.empty-state p { margin: 0; }
.team-page .person-row .btn { min-height: var(--app-tap); }
.team-page .person-row { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1200px) {
  .team-page .person-row { grid-template-columns: minmax(0, 1fr) auto; }
  .team-page .person-info { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--app-space-4); align-items: center; }
}

/* Chyba */
.error-page { min-height: calc(100dvh - 280px); display: flex; flex-direction: column; justify-content: center; max-width: 420px; margin: 0 auto; padding: var(--app-space-6) 0 var(--rhythm); }
.error-code { margin: 0 0 var(--app-space-2); font-size: var(--app-caption-size); line-height: var(--app-caption-line); font-weight: var(--app-caption-weight); color: var(--ink-muted); }
.error-page h1 { font-size: var(--app-headline-size); line-height: var(--app-headline-line); margin-bottom: var(--app-space-3); }
.error-text { color: var(--ink-muted); }
.error-actions { display: grid; gap: var(--app-space-2); margin-top: var(--app-space-4); }

/* Právna stránka */
.legal-page { max-width: var(--maxw); }
.legal-page p { max-width: 68ch; }
.legal-layout { display: grid; gap: var(--app-space-5); }
.legal-toc { display: flex; flex-wrap: nowrap; overflow-x: auto; min-width: 0; }
.legal-toc a { flex: none; }
.legal-copy { min-width: 0; max-width: 72ch; }
.legal-copy section { scroll-margin-top: 100px; }
@media (min-width: 1200px) {
  .legal-layout { grid-template-columns: minmax(0, 240px) minmax(0, 1fr); align-items: start; }
  .legal-toc { position: sticky; top: 100px; flex-direction: column; }
  .legal-toc a { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) { .confirm-dialog { animation: none; } }
@media (forced-colors: active) {
  .suhlas input { position: static; opacity: 1; appearance: auto; }
  .suhlas-box { display: none; }
}

/* Obchodné podmienky (právna stránka, 4 časti) */
.terms-page { min-width: 0; }
.terms-head h1 { margin-bottom: var(--app-space-1); }
.terms-date { color: var(--ink-muted); font-size: var(--app-body-sm-size); margin-top: 0; }
.terms-page .notice { margin: var(--app-space-4) 0; }
.terms-toc { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 var(--app-space-5); padding-bottom: var(--app-space-1); }
.terms-toc ul { display: flex; flex-wrap: wrap; gap: var(--app-space-2); list-style: none; margin: 0; padding: 0; }
.terms-pill { display: inline-flex; align-items: center; min-height: var(--app-tap); white-space: nowrap; padding: 6px 14px; border-radius: var(--radius-pill); border: 1px solid var(--control-edge); background: var(--ground); color: var(--ink); text-decoration: none; font-size: var(--app-body-sm-size); }
.terms-pill:hover, .terms-pill:focus-visible { border-color: var(--ink); }
.terms-section { scroll-margin-top: 96px; margin-top: var(--rhythm); }
.terms-section h2 { font-size: var(--app-headline-size); line-height: var(--app-headline-line); }
.terms-page p { max-width: 68ch; }
@media (max-width: 767px) {
  .terms-toc ul { flex-wrap: nowrap; width: max-content; }
}
