/* HQ UI 3.0 · modul Systém a osobní (T7). Jen skládá prvky hq-*, hodnoty z tokenů. */

/* ——— Přihlašovací stránky: centrovaná bílá karta na barevném okně (prostor home) ——— */
.hq-auth { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px 16px;
  background: linear-gradient(140deg, var(--hq-space-home-a) 0%, var(--hq-space-home-b) 55%, var(--hq-space-home-c) 100%); }
.hq-auth-card { width: 100%; max-width: 440px; padding: 36px; border-radius: var(--hq-radius-panel); background: var(--hq-surface);
  box-shadow: var(--hq-shadow-panel); position: relative; overflow: hidden; }
.hq-auth-card::before { content: ""; position: absolute; inset: -80px -60px auto auto; width: 260px; height: 200px; pointer-events: none;
  background: radial-gradient(closest-side, var(--hq-glow-home-x), transparent); opacity: 0.4; }
.hq-auth-card > * { position: relative; }
.hq-auth-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; }
.hq-auth-brand-name { font-size: 17px; font-weight: 600; letter-spacing: -0.02em; color: var(--hq-ink); }
.hq-auth-brand-sub { font-size: 12px; color: var(--hq-ink-3); }
.hq-auth-title { margin: 0 0 6px; font-size: 30px; font-weight: 600; letter-spacing: -0.03em; line-height: 1.15; color: var(--hq-ink); }
.hq-auth-sub { margin: 0 0 24px; font-size: 14px; color: var(--hq-ink-2); }
.hq-auth-form { display: flex; flex-direction: column; gap: 16px; }
.hq-auth-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.hq-auth-label-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.hq-auth-label-row > label { font-size: 13px; font-weight: 500; color: var(--hq-ink); }
.hq-auth-remember { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--hq-ink-2); }
.hq-auth-remember input { width: 18px; height: 18px; margin: 0; accent-color: var(--hq-primary); }
.hq-auth .hq-btn { width: 100%; }
.hq-auth-back { display: flex; width: fit-content; margin-top: 22px; font-size: 14px; }
.hq-auth-foot { margin: 22px 0 0; font-size: 13px; color: var(--hq-ink-3); text-align: center; }
.hq-auth-banner { margin-bottom: 18px; }
.hq-auth-banner h3 { margin: 0 0 4px; font-size: 15px; font-weight: 600; }
.hq-auth-banner p { margin: 0; font-weight: 400; }
.hq-auth-invite { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; padding: 12px 14px; border-radius: var(--hq-radius-control);
  background: var(--hq-primary-soft); color: var(--hq-ink); font-size: 14px; }
.hq-auth-invite .hq-icon { color: var(--hq-primary); }
.hq-password { position: relative; }
.hq-password .hq-input { padding-right: 46px; }
.hq-password-toggle { position: absolute; top: 0; right: 0; width: var(--hq-control-height); height: var(--hq-control-height); display: grid; place-items: center;
  border: 0; background: transparent; color: var(--hq-ink-3); cursor: pointer; border-radius: var(--hq-radius-control); }
.hq-password-toggle:hover { color: var(--hq-ink); }
.hq-pw-strength { height: 4px; border-radius: 2px; background: var(--hq-well); overflow: hidden; }
.hq-pw-bar { height: 100%; width: 0; transition: width var(--hq-dur-fast), background var(--hq-dur-fast); }
.hq-pw-hint { font-size: 12px; color: var(--hq-ink-3); }
.hq-auth-readonly { background: var(--hq-well); color: var(--hq-ink-2); }

/* ——— Obecné prvky modulu ——— */
.hq-sys-forbidden { max-width: 640px; }
.hq-sys-forbidden p { margin: 0 0 12px; color: var(--hq-ink-2); }
.hq-sys-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px; }

@media (max-width: 480px) { .hq-auth-card { padding: 28px 22px; } .hq-auth-row { grid-template-columns: 1fr; } }
