/* DataDent – auth stránky ve vizuálu webu v32 (ReDesign-Landing, 01/11/2026)
   Doplněk k pages.css (.au-*, .cf-*, .pw-*, .rg-*) a stavy.css pro FUNKČNÍ stránky aplikace, které předlohy
   grafika (prihlaseni/registrace/zapomenute-heslo.html) nepokrývají: hlášky (.au-msg = komponenta .stav),
   legacy modaly přihlášení, plný registrační formulář, 2FA, potvrzovací stránky účtu.
   Načítá se jen na auth stránkách (App\Landing\AuthShell) za stavy.css. */

/* ---------- hlášky: stav (čtvereček + text ve stavové barvě, vlevo, bez pilulky) ve velikosti textu formuláře ---------- */
.au-msg{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:14.5px;font-weight:500;line-height:1.5;text-align:left}
.au-msg.stav i{width:8px;height:8px;margin-top:.5em;border-radius:2px}
.au-msg p,.au-msg ul{margin:0;color:inherit}
.au-msg ul{padding-left:18px;display:grid;gap:2px}
.au-msg strong,.au-msg b{font-weight:700;color:inherit}
.au-msg a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* hláška, jejíž text plní JS (textContent smaže <i>) → čtvereček přes ::before */
.au-msg--js::before{content:"";width:8px;height:8px;margin-top:.5em;border-radius:2px;background:currentColor;flex:none}

/* 2FA: přepínač způsobu ověření (klíč / kód z aplikace / záložní kód) */
.au-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:4px;border-radius:14px;background:var(--lav)}
.au-tabs button{flex:1 1 auto;min-height:40px;padding:8px 12px;border:0;border-radius:10px;background:transparent;font:inherit;font-size:14px;font-weight:500;color:var(--ink-2);cursor:pointer}
.au-tabs button[aria-selected="true"]{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(16,24,40,.08),0 0 0 1px var(--line) inset}
.verify-panel.au-in{width:100%}
.au-help-det{display:block}
.au-help-det summary{cursor:pointer;color:var(--ink)}
.au-help-det span{display:block;margin-top:6px}

/* stav v náhledových řádcích panelu (předloha měla pilulku vpravo) → levý blok pod textem, i na telefonu */
.au-r{grid-template-columns:46px 30px minmax(0,1fr)}
.au-r .stav,.au-mh .stav{margin-top:3px}
.au-mh{grid-template-columns:36px minmax(0,1fr)}
@media(max-width:520px){.au-r{grid-template-columns:40px 28px minmax(0,1fr)}}

/* odpočet blokace IP */
.au-odpocet{font-size:clamp(2rem,6vw,2.6rem);font-weight:700;color:var(--stav-bad);letter-spacing:.04em}
.au-muted{color:var(--muted)}
.au-in .cf-f strong{font-weight:700;color:var(--ink)}
.au-in .cf-consent{font-size:14px}
/* akce pod formulářem / místo formuláře (např. „Poslat nový odkaz“) */
.au-akce{display:flex;flex-wrap:wrap;gap:10px}
.au-akce .btn{flex:1 1 auto;justify-content:center}
/* definice (údržba, údaje účtu) */
.au-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin:0;font-size:14px}
.au-dl dt{color:var(--muted)}
.au-dl dd{margin:0;color:var(--ink);font-weight:500;overflow-wrap:anywhere}

/* jednosloupcové auth stránky bez pravého panelu (2FA, potvrzení, aktivace) */
.au-grid.au-solo{grid-template-columns:minmax(0,1fr);min-height:calc(100dvh - 260px)}
.au-solo .au-in{width:min(460px,100%)}

/* ---------- legacy modaly přihlášení (zrušený / ověřený / deaktivovaný účet, servis, převzetí relace) ---------- */
.au-page .modal-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,40,41,.42);backdrop-filter:blur(2px)}
.au-page .modal{width:min(520px,100%);max-height:calc(100dvh - 40px);overflow:auto;border-radius:var(--r-xl,24px);background:#fff;box-shadow:0 30px 80px -20px rgba(0,60,61,.35),0 0 0 1px var(--line) inset;text-align:left}
.au-page .modal--sm{width:min(420px,100%)}
.au-page .modal--doc{width:min(960px,100%);height:min(86dvh,900px);display:flex;flex-direction:column;overflow:hidden}
.au-page .modal--center .modal__body{text-align:center;justify-items:center}
.au-page .modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 26px 0}
.au-page .modal__title{margin:0;font-size:1.3rem;letter-spacing:-.02em;color:var(--ink)}
.au-page .modal__body{display:grid;gap:12px;padding:14px 26px 4px}
.au-page .modal__body.cform{border-radius:0;box-shadow:none;background:none}
.au-page .modal__text{margin:0;font-size:15px;line-height:1.6;color:var(--ink-2)}
.au-page .modal__text--sm{font-size:13.5px;color:var(--muted)}
.au-page .modal__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 0 22px}
.au-page .modal > .modal__footer{padding:16px 26px 22px}
.au-page .modal--doc .modal__header{padding:8px 10px 0;justify-content:flex-end}
.au-page .modal--doc .modal__body{flex:1;padding:8px 10px 10px}
.au-page .modal--doc iframe{width:100%;height:100%;border:0;border-radius:14px;background:#fff}
.au-page .modal__close-x{width:40px;height:40px;border:0;border-radius:12px;background:var(--lav);color:var(--ink);cursor:pointer}
/* křížek (jeden, vycentrovaný, otočení uvnitř) kreslí sdílený zavrit.css */
.au-page .modal__close-x:hover{background:var(--lilac)}

/* ---------- registrace (otevřená): plný formulář ordinace ve stylu .cform ---------- */
.rg-full{gap:22px}
.rg-sec{display:grid;gap:14px;padding:0 0 22px;border-bottom:1px solid var(--line)}
.rg-sec:last-of-type{border-bottom:0;padding-bottom:0}
.rg-sec-h{display:flex;align-items:center;gap:12px}
.rg-sec-h h2{margin:0;font-size:1.2rem;letter-spacing:-.02em}
.rg-num{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:9px;background:var(--dd-teal,#03b2b5);color:#fff;font-size:14px;font-weight:700}
.rg-sec-p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.55}
.rg-ico{display:flex;gap:8px;align-items:stretch}
.rg-ico input{flex:1}
.rg-ico .btn{flex:none;min-height:48px}
.rg-phone{display:flex;gap:8px;align-items:stretch}
.rg-phone span{display:flex;align-items:center;padding:0 14px;border-radius:var(--r-sm);background:var(--lav);color:var(--ink-2);font-weight:600;font-size:15px}
.rg-phone input{flex:1}
.cf-f input[readonly]{background:#f3f7f7;color:var(--ink-2)}
.cf-f .cf-err{color:var(--stav-bad,#bf3a31);font-size:13px;font-weight:600}
.rg-wrap--plna{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);max-width:1240px}
@media (max-width:900px){.rg-wrap--plna{grid-template-columns:minmax(0,1fr)}}
/* zpětná vazba ARES / kontrola IČO: text plní JS (textContent) → čtvereček stavu přes ::before */
.rg-fb{display:none;margin:0}
.rg-fb.stav{font-size:13px;align-items:flex-start}
.rg-fb.stav::before{content:"";width:7px;height:7px;margin-top:.45em;border-radius:2px;background:currentColor;flex:none}
.rg-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#f5fafa;box-shadow:0 0 0 1px #e7f2f2 inset;color:var(--ink-2);font-size:14px;line-height:1.55}
.rg-note svg{flex:none;color:var(--dd-teal,#03b2b5);margin-top:2px}
.rg-full .cf-consent a{color:var(--peri-d);text-decoration:underline;text-underline-offset:2px}
.rg-submit{display:grid;gap:10px;justify-items:center}
.rg-submit .btn{width:100%;height:54px;justify-content:center}
.rg-submit p{margin:0;font-size:14.5px;color:var(--muted)}
/* jméno lékaře (sdílený partial name-fields.php: titul / jméno / příjmení / titul, inline mřížka 120px) */
.rg-full .prof__name-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.7fr)!important}
.rg-full .cf-f .is-invalid{border-color:var(--bad);box-shadow:0 0 0 3px rgba(212,70,60,.12)}
@media(max-width:600px){.rg-full .prof__name-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.rg-ico{flex-wrap:wrap}.rg-ico .btn{width:100%}}

/* registrace pozastavena: potvrzení zápisu (stav + kroky) */
.rg-done{display:grid;gap:14px;align-content:start}
.rg-done h2{margin:0;font-size:clamp(1.4rem,2.4vw,1.8rem);letter-spacing:-.02em}
.rg-done p{margin:0;color:var(--ink-2);line-height:1.6}
.rg-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rg-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.rg-steps b{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--dd-teal,#03b2b5);color:#fff;font-size:13px}
.rg-steps strong{display:block;color:var(--ink);font-weight:600}

/* 2FA: kód */
.au-kod input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:24px!important;letter-spacing:.4em;text-align:center}

/* záložní obal bez webové hlavičky (kill switch) */
.au-zaloha-head{padding:18px clamp(16px,4vw,40px)}
.au-zaloha-head .logo{font-weight:800;font-size:20px;color:var(--ink);text-decoration:none}
.au-zaloha .au{padding-top:24px}

/* U37: původní logo DataDentu (obrysy currentColor) — v záložní hlavičce a jako odesílatel v náhledu e-mailu */
.au-zaloha-head .logo{display:inline-flex;align-items:center;gap:10px}
.au-zaloha-head .logo svg{width:32px;height:32px;color:var(--ink)}
.au-logo svg{width:26px;height:26px}
