.auth-page { min-height: 100vh; }

.auth-header {
  width: 100%;
  min-height: 68px;
  margin-inline: auto;
  padding-inline: max(32px, calc((100vw - 1376px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.auth-header > a:last-child {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--muted);
  font-size: 13px;
  text-decoration: none;
  transition: color 140ms ease;
}
.auth-header > a:last-child:hover { color: var(--accent); }

.error-layout {
  width: min(100% - 64px, 960px);
  margin: 88px auto;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}
.error-code { margin: 4px 0; color: var(--muted); font-size: 36px; line-height: 1; font-weight: 600; font-variant-numeric: tabular-nums; }
.error-content { padding-left: 28px; border-left: 1px solid var(--line); }
.error-layout h1 { margin: 0 0 14px; font-size: 32px; line-height: 1.2; letter-spacing: -.025em; font-weight: 600; }
.error-layout .error-content > p { max-width: 50ch; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.6; }
.error-layout .actions { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 10px; }
.error-layout .actions a {
  min-height: 44px;
  padding: 10px 15px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  font-size: 13px;
  text-decoration: none;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}
.error-layout .actions a:hover { background: var(--hover); }
.error-layout .actions a:last-child { border-color: var(--ink); background: var(--ink); color: var(--surface); }
.error-layout .actions a:last-child:hover { border-color: #10151D; background: #10151D; }

@media (max-width: 800px) {
  .auth-header { min-height: 60px; padding-inline: 16px; }
  .error-layout { width: min(100% - 32px, 560px); margin: 42px auto; grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .error-code { font-size: 30px; }
  .error-content { padding: 18px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .error-layout h1 { font-size: 28px; }
  .error-layout .actions { flex-direction: column; }
  .error-layout .actions a { justify-content: center; }
}
/* error page shares the dark ground (kept from fid3) */
body.auth-page:not(.auth-entry){position:relative;min-height:100vh;overflow-x:hidden;background:#090D13;color:#F1F3F7}
body.auth-page:not(.auth-entry) .auth-header{background:transparent;border-bottom-color:#BED5F01F}
body.auth-page:not(.auth-entry) .v7-brand{display:inline-flex;align-items:center;gap:10px;color:#F1F3F7}

/* === V6b: Vstup (login / register / recovery), Ohnisko direction. Glass tokens only, one panel, spiral draws once. === */
body.auth-entry{margin:0;min-height:100vh;background:radial-gradient(60% 50% at 50% 0%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%),var(--canvas);color:var(--text);font:var(--fw-regular) var(--t-body)/var(--t-body-lh) var(--font-sans)}
body.auth-entry .v7-skip{position:absolute;left:var(--space-4);top:-48px;padding:var(--space-2) var(--space-3);background:var(--btn);color:var(--btn-ink);border-radius:var(--r-ctl)}
body.auth-entry .v7-skip:focus{top:var(--space-3)}
.entry{width:min(100% - 32px,440px);margin:0 auto;padding:clamp(40px,10vh,104px) 0 var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}
.entry-mark{display:block;width:96px;height:96px;color:var(--accent)}
.entry-mark path{stroke-dasharray:1;stroke-dashoffset:0;animation:authdraw 1.4s var(--e-move) both}
.entry-mark circle{fill:var(--accent-hi);animation:authdot var(--d-3) var(--e-out) 1.2s both}
.entry-title{margin:0;font:var(--fw-semi) var(--t-verdict)/var(--t-verdict-lh) var(--font-display);font-variation-settings:"opsz" var(--t-verdict-opsz),"wdth" 88;letter-spacing:var(--t-verdict-ls);text-wrap:balance}
.entry-sub{margin:calc(var(--space-2) * -1) 0 var(--space-2);max-width:40ch;color:var(--text2);font:var(--fw-regular) var(--t-lead)/var(--t-lead-lh) var(--font-sans);text-wrap:balance}
.entry .auth-panel{width:100%;min-width:0;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--r-panel);background:var(--panel);text-align:left}
.auth-panel h2{margin:0 0 var(--space-2);font:var(--fw-semi) var(--t-section)/var(--t-section-lh) var(--font-display);font-variation-settings:"opsz" var(--t-section-opsz);letter-spacing:var(--t-section-ls)}
.auth-panel p{margin:0 0 var(--space-4);color:var(--muted);font-size:var(--t-body);line-height:var(--t-body-lh)}
.auth-panel label{display:block;margin:0 0 var(--space-3);color:var(--text);font-size:var(--t-small);font-weight:var(--fw-medium)}
.auth-panel input{width:100%;min-height:48px;margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);display:block;border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--well);color:var(--text);font:var(--fw-regular) var(--t-body)/1.2 var(--font-sans)}
.auth-panel input:focus-visible,.auth-panel button:focus-visible,.auth-panel a:focus-visible,.owner-options summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.auth-panel button{min-height:48px;padding:var(--space-2) var(--space-4);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:transparent;color:var(--text);font:var(--fw-medium) var(--t-body)/1 var(--font-sans);cursor:pointer;transition:background-color var(--d-1) var(--e-out),transform var(--d-1) var(--e-out)}
.auth-panel button:hover:not(:disabled){background:var(--raised)}
.auth-panel button.primary{width:100%;background:var(--btn);border-color:var(--btn);color:var(--btn-ink);font-weight:var(--fw-semi)}
.auth-panel button.primary:hover:not(:disabled){background:var(--accent-hi);border-color:var(--accent-hi)}
.auth-panel button:disabled{opacity:.6;cursor:default}
.auth-panel .icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.auth-panel .entry-note{margin:var(--space-3) 0 0;font-size:var(--t-small);text-align:center}
.auth-panel .micro{margin:0 0 var(--space-4);font-size:var(--t-small)}
.auth-password{position:relative;display:flex}
.auth-password input{padding-right:84px;margin:var(--space-2) 0 var(--space-3)}
.auth-password button{position:absolute;top:calc(var(--space-2) + 2px);right:2px;min-width:68px;min-height:44px;padding-inline:var(--space-2);border:0;background:transparent;color:var(--muted);font-size:var(--t-small)}
.owner-options{margin-top:var(--space-4);border-top:1px solid var(--line)}
.owner-options summary{min-height:48px;display:flex;align-items:center;color:var(--muted);font-size:var(--t-small);cursor:pointer}
.owner-options summary:hover{color:var(--text)}
.owner-options[open] summary{margin-bottom:var(--space-3)}
.auth-links{margin-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-size:var(--t-small)}
.auth-links a{min-height:40px;display:inline-flex;align-items:center;color:var(--accent)}
.error-text{margin:var(--space-3) 0;color:var(--crit-ink);font-size:var(--t-small);line-height:1.5}
.error-text:empty{display:none}
.notice{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--well);color:var(--muted);font-size:var(--t-small);line-height:1.5}
.notice code{font:var(--fw-regular) var(--t-data)/var(--t-data-lh) var(--font-mono);overflow-wrap:anywhere}
.entry-symbol{display:none}
@keyframes authdraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes authdot{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.entry-mark path,.entry-mark circle{animation:none}.auth-panel button{transition:none}}
@media (max-width:420px){.entry .auth-panel{padding:var(--space-4)}.entry-mark{width:72px;height:72px}}
