/*!
 * admio-auth.css — jednotná komponenta jádra Admio pro přihlašovací a ověřovací obrazovky (vzhled služby auth.admio.app v2 „Moderní“).
 * Zdroj: design tokeny a komponenty z auth/static/app.css.txt služby; sem se přenáší jen to, co potřebují obrazovky na webech.
 *
 * POJMENOVÁNÍ (konvence jádra: třídy komponent PascalCase s prefixem Admio, PHP rodina AdmioAuth*):
 *   .AdmioAuth                 kořen komponenty; všechny styly jsou scoped pod něj (nic neprosákne do adminu ani do vzhledu projektu)
 *   .AdmioAuthStandalone       celostránková obrazovka (mezistránka potvrzení, výsledky callbacků); vždy spolu s .AdmioAuth. Dává vlastní pozadí stránky. Vložené stránky
 *                              v layoutu projektu (/admin/, /heslo/, /registrace/…) nesou jen .AdmioAuth a pozadí nechávají projektu.
 *   .AdmioAuthThemeDark        tmavé tokeny, PŘIPRAVENO pro budoucí ruční volbu vzhledu; nic ho zatím nenastavuje. Komponenta je na webech Admia VŽDY světlá —
 *                              žádný automatický tmavý režim podle systému (prefers-color-scheme se nepoužívá; rozhodnutí H 2026-10-20).
 *   .AdmioAuthNav, .AdmioAuthBrand, .AdmioAuthNavInfo       tmavá horní lišta Admio (jen celostránkové obrazovky)
 *   .AdmioAuthCard, .AdmioAuthCardLogo, .AdmioAuthLogo, .AdmioAuthCardHead, .AdmioAuthCardBody    karta (radius 20), odznak loga přes horní hranu, hlavička s ikonou
 *   .AdmioAuthIcon, .AdmioAuthIconBox, .AdmioAuthHero      ikony (inline SVG), tónovaný čtvereček, úvodní blok karty
 *   .AdmioAuthBadge (+ Danger | Success | Warning | Info | Secondary | Primary), .AdmioAuthBadgeCritical    odznaky
 *   .AdmioAuthBtn (+ Primary | Ghost | Danger)             tlačítka (na <button class="btn …"> i <a class="btn …">)
 *   .AdmioAuthField, .AdmioAuthLabel, .AdmioAuthHelp, .AdmioAuthFieldError    pole formuláře a chyby
 *   .AdmioAuthCode (+ Label | Value | Text)                box kódu (velký mono)
 *   .AdmioAuthSteps, .AdmioAuthStep, .AdmioAuthStepBody    kroky 1–3 v kroužcích
 *   .AdmioAuthCheck (+ Ok | No | Warn | Info), .AdmioAuthCheckTitle, .AdmioAuthCheckList    boxy se seznamy ✔ / ✖
 *   .AdmioAuthTag (+ Read | Write | Unknown), .AdmioAuthTagTitle    štítky oprávnění
 *   .AdmioAuthFacts, .AdmioAuthTable, .AdmioAuthFingerprint   fakta, diff tabulka, otisk klíče
 *   .AdmioAuthAlert (+ Danger | Success | Warning | Info), .AdmioAuthStatus, .AdmioAuthSpinner, .AdmioAuthTime    hlášky a stavové panely
 *   .AdmioAuthFooter, .AdmioAuthDivider (oddělovač „nebo“ s linkou), .AdmioAuthOr, .AdmioAuthHint, .AdmioAuthMuted, .AdmioAuthPowered    patička a drobnosti
 *   .AdmioAuthTitle, .AdmioAuthLead, .AdmioAuthPageHead, .AdmioAuthNavPills, .AdmioAuthTabs, .AdmioAuthControl, .AdmioAuthCodeInput, .AdmioAuthQr, .AdmioAuthRecoveryCodes,
 *   .AdmioAuthBtnBlock, .AdmioAuthBtnSm, .AdmioAuthLinkBtn, .AdmioAuthInline, .AdmioAuthTableStack (+ TableWrapStack, TableAction, TableCurrent)    stránky přihlášení, hesla, 2FA, ověření a profilu
 * Tlačítko „Přihlásit klíčem“ (AU9, AdmioKeyLoginButtonHtml()): sekundární .AdmioAuthBtn .AdmioAuthBtnGhost + svg.AdmioAuthIconLead + oddělovač .AdmioAuthOr (text „nebo“ ve <span>);
 *   formulář .AdmioAuthKeyForm a rozbalovací pole e-mailu „Klíč se nenabídl?“ .AdmioAuthKeyMail (nativní <details>, odkaz = summary).
 * AU-K6b: .AdmioAuthForm (užší osa formuláře ≤ 22rem, vycentrovaná; pole, tlačítka i texty pod nimi; i v .AdmioAuthSolo — konvence motobox, H 27. 10.), .AdmioAuthSolo (jednotná šířka karty jedné úlohy, --admio-auth-solo-width), .AdmioAuthCardSolo (vzdušnější vnitřní okraj karty jedné úlohy),
 *   .AdmioAuthCodeBox + .AdmioAuthCodeInput + .AdmioAuthCodeCells (jedno pole pro 6místný kód vykreslené jako šest políček; AdmioAuthUiCodeInputHtml()), .AdmioAuthMonoInput (záchranný kód),
 *   .AdmioAuthSrOnly (vizuálně skryté pole uživatelského jména pro správce hesel).
 * Proměnné: --admio-auth-*. Žádné BEM (__ / --), žádné obecné globální názvy; layout (grid, spacing, flex) dělají třídy Bootstrap 4.6,
 * komponenta řeší jen vzhled. Písmo: Inter / JetBrains Mono, jen pokud je má návštěvník; jinak systémový stack (bez Google Fonts).
 * Odkazuj vždy s ?v=<md5 souboru> (SvětHostingu edge cache drží statiku rok).
 */

.AdmioAuth {
  --admio-auth-solo-width:32rem;   /* 32rem = šířka karty dle motobox.cz (H 27. 10.; dřív 34rem) */
  --admio-auth-g100:#f8f7fc;
  --admio-auth-g200:#ecebf4;
  --admio-auth-g300:#dddbe9;
  --admio-auth-g400:#bdbad0;
  --admio-auth-g500:#8d89a6;
  --admio-auth-g600:#64617d;
  --admio-auth-g700:#4a4764;
  --admio-auth-g800:#3a3755;
  --admio-auth-g900:#1F1169;
  --admio-auth-g1000:#150f45;
  --admio-auth-fg:#2b2845;
  --admio-auth-muted:#5d5a78;
  --admio-auth-card-bg:#fff;
  --admio-auth-card-line:rgba(31,17,105,.08);
  --admio-auth-card-shadow:0 1px 2px rgba(31,17,105,.04),0 4px 10px -4px rgba(31,17,105,.06),0 18px 36px -16px rgba(31,17,105,.16);
  --admio-auth-page-bg:#f6f5fb;
  --admio-auth-glow:rgba(56,47,219,.13);
  --admio-auth-code-bg:#efecff;
  --admio-auth-code-line:#dcd6ff;
  --admio-auth-code-ink:#1F1169;
  --admio-auth-accent:#382fdb;
  --admio-auth-link:#382fdb;
  --admio-auth-focus:rgba(56,47,219,.3);
  --admio-auth-btn-from:#2e2199;
  --admio-auth-btn-to:#1F1169;
  --admio-auth-btn-from-hover:#3829b0;
  --admio-auth-btn-to-hover:#25167c;
  --admio-auth-btn-line:#1F1169;
  --admio-auth-btn-danger:#c8264a;
  --admio-auth-soft-danger-bg:#fde8ec;
  --admio-auth-soft-danger:#a3173a;
  --admio-auth-soft-success-bg:#e2f7ee;
  --admio-auth-soft-success:#0b6b46;
  --admio-auth-soft-warning-bg:#fff1e6;
  --admio-auth-soft-warning:#8f4413;
  --admio-auth-soft-info-bg:#e8f4ff;
  --admio-auth-soft-info:#1d5c8f;
  --admio-auth-soft-secondary-bg:#efeef5;
  --admio-auth-soft-secondary:#4a4764;
  --admio-auth-soft-primary-bg:#efecff;
  --admio-auth-chip-warning-line:#fbd4b9;
  --admio-auth-chip-info-line:#cfe6fb;
  --admio-auth-chip-unknown-line:#dcdae8;
  --admio-auth-weak-row:#fff4f6;
  --admio-auth-ghost-line:#cfccdf;
  --admio-auth-danger-ink:#c8264a;
  --admio-auth-alert-danger-line:#f7c6d1;
  --admio-auth-alert-danger-ink:#7d1230;
  --admio-auth-tip-bg:#150f45;
  --admio-auth-tip-fg:#fff;
  --admio-auth-disabled-bg:#ecebf3;
  --admio-auth-disabled-ink:#5b5876;
  --admio-auth-input-bg:#fff;
  --admio-auth-input-line:#cfccdf;
  --admio-auth-badge-bg:#fff;
  --admio-auth-badge-ink:#382fdb;
  --admio-auth-font-sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --admio-auth-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
/* tmavé tokeny: PŘIPRAVENO pro budoucí ruční volbu (např. přepínač vzhledu). Na webech Admia je komponenta VŽDY světlá, žádný automatický tmavý režim
   (prefers-color-scheme se nepoužívá); třídu .AdmioAuthThemeDark zatím nic nenastavuje. */
.AdmioAuth.AdmioAuthThemeDark {
  color-scheme:dark;
  --admio-auth-g100:#1d1b31;
  --admio-auth-g200:#2a2742;
  --admio-auth-g300:#3a3757;
  --admio-auth-g400:#55517a;
  --admio-auth-g500:#8a87a8;
  --admio-auth-g600:#aeabc8;
  --admio-auth-g700:#c6c4da;
  --admio-auth-g800:#d8d6e8;
  --admio-auth-g900:#f1f0fb;
  --admio-auth-g1000:#fbfaff;
  --admio-auth-fg:#e4e2f2;
  --admio-auth-muted:#aeabc8;
  --admio-auth-card-bg:#171528;
  --admio-auth-card-line:rgba(255,255,255,.08);
  --admio-auth-card-shadow:0 1px 2px rgba(0,0,0,.4),0 18px 36px -16px rgba(0,0,0,.6);
  --admio-auth-page-bg:#0d0c18;
  --admio-auth-glow:rgba(139,133,255,.16);
  --admio-auth-code-bg:rgba(139,133,255,.12);
  --admio-auth-code-line:rgba(139,133,255,.3);
  --admio-auth-code-ink:#d4d0ff;
  --admio-auth-accent:#8b85ff;
  --admio-auth-link:#aaa5ff;
  --admio-auth-focus:rgba(139,133,255,.5);
  --admio-auth-btn-from:#5d53f2;
  --admio-auth-btn-to:#4337dc;
  --admio-auth-btn-from-hover:#6a61f5;
  --admio-auth-btn-to-hover:#4c40e6;
  --admio-auth-btn-line:#4337dc;
  --admio-auth-soft-danger-bg:rgba(255,99,132,.14);
  --admio-auth-soft-danger:#ffa8b9;
  --admio-auth-soft-success-bg:rgba(52,211,153,.13);
  --admio-auth-soft-success:#74e8bc;
  --admio-auth-soft-warning-bg:rgba(251,146,60,.14);
  --admio-auth-soft-warning:#fdbf94;
  --admio-auth-soft-info-bg:rgba(56,189,248,.13);
  --admio-auth-soft-info:#9cdcfc;
  --admio-auth-soft-secondary-bg:rgba(255,255,255,.07);
  --admio-auth-soft-secondary:#d2d0e3;
  --admio-auth-soft-primary-bg:rgba(139,133,255,.15);
  --admio-auth-chip-warning-line:rgba(251,146,60,.32);
  --admio-auth-chip-info-line:rgba(56,189,248,.3);
  --admio-auth-chip-unknown-line:rgba(255,255,255,.14);
  --admio-auth-weak-row:rgba(255,99,132,.08);
  --admio-auth-ghost-line:#3a3757;
  --admio-auth-danger-ink:#ff9cb0;
  --admio-auth-alert-danger-line:rgba(255,99,132,.32);
  --admio-auth-alert-danger-ink:#ffc4cf;
  --admio-auth-tip-bg:#f1f0fb;
  --admio-auth-tip-fg:#150f45;
  --admio-auth-disabled-bg:#25233a;
  --admio-auth-disabled-ink:#9a97b5;
  --admio-auth-input-bg:#1d1b31;
  --admio-auth-input-line:#3a3757;
  --admio-auth-badge-bg:#1f1c38;
  --admio-auth-badge-ink:#a59fff;
}

.AdmioAuth { font-family:var(--admio-auth-font-sans); font-size:1rem; line-height:1.55; color:var(--admio-auth-fg); -webkit-font-smoothing:antialiased; }
.AdmioAuth *, .AdmioAuth *::before, .AdmioAuth *::after { box-sizing:border-box; }
.AdmioAuth [hidden] { display:none !important; }
.AdmioAuth a { color:var(--admio-auth-link); text-decoration:none; }
.AdmioAuth a:hover { text-decoration:underline; }
/* Odkaz v odstavci: projekt (default.css) často tiskne `.middle p a:not(.btn){text-decoration:underline}` (specificita 0,2,2) a to přebíjí `.AdmioAuth a` (0,1,1) — odkaz by byl podtržený trvale
   a při hoveru ne. Pravidla níže mají vyšší specificitu (třída navíc), takže komponenta drží svůj vzor: bez podtržení, podtržení jen na hover; odkaz v hlášce zůstává podtržený. */
.AdmioAuth p a:not(.btn):not(.AdmioAuthUnderline) { text-decoration:none; }
.AdmioAuth p a:not(.btn):not(.AdmioAuthBtn):hover { text-decoration:underline; }
.AdmioAuth .AdmioAuthAlert p a:not(.btn):not(.AdmioAuthUnderline) { text-decoration:underline; }
.AdmioAuth :focus-visible { outline:3px solid var(--admio-auth-focus); outline-offset:2px; border-radius:6px; }
.AdmioAuth h1, .AdmioAuth h2, .AdmioAuth h3 { color:var(--admio-auth-g900); line-height:1.28; margin:0 0 .5rem; letter-spacing:-.015em; font-weight:600; font-family:inherit; }
.AdmioAuth p { margin:0 0 1rem; }
.AdmioAuth b, .AdmioAuth strong { font-weight:600; }
.AdmioAuth code { font-family:var(--admio-auth-font-mono); font-size:.9em; }
.AdmioAuth ul, .AdmioAuth ol { padding:0; margin:0; }
.AdmioAuth svg.AdmioAuthIcon { width:1em; height:1em; flex:none; vertical-align:-.15em; }

.AdmioAuth.AdmioAuthStandalone { min-height:100vh; margin:0; background:radial-gradient(560px 300px at 50% 132px,var(--admio-auth-glow),transparent 70%),var(--admio-auth-page-bg); background-color:var(--admio-auth-page-bg); overflow-x:hidden; }

/* ---------- horní lišta (jen celostránkové obrazovky) ---------- */
.AdmioAuth .AdmioAuthNav { background:#0b1727; color:rgba(255,255,255,.8); display:flex; align-items:center; flex-wrap:wrap; padding:0 1.25rem; min-height:4.2rem; }
.AdmioAuth .AdmioAuthBrand { display:flex; align-items:center; color:#fff; font-style:italic; font-weight:700; font-size:1.45rem; }
.AdmioAuth .AdmioAuthBrand svg { width:1.9rem; height:1.9rem; margin-right:.55rem; }
.AdmioAuth .AdmioAuthNavInfo { margin-left:auto; font-size:.83rem; font-weight:600; }

/* ---------- karta ---------- */
.AdmioAuth .AdmioAuthCard { position:relative; padding:0; margin:0; background:var(--admio-auth-card-bg); border:1px solid var(--admio-auth-card-line); border-radius:20px; box-shadow:var(--admio-auth-card-shadow); min-width:0; }
.AdmioAuth .AdmioAuthCardLogo { margin-top:38px; padding:2.9rem 2.75rem 2.25rem; }
.AdmioAuth .AdmioAuthLogo { position:absolute; left:50%; top:0; transform:translate(-50%,-50%); width:68px; height:68px; border-radius:50%; background:var(--admio-auth-badge-bg); color:var(--admio-auth-badge-ink); display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 1px var(--admio-auth-card-line),0 8px 20px -6px rgba(31,17,105,.28),0 2px 4px rgba(31,17,105,.08); z-index:1; }
.AdmioAuth .AdmioAuthLogo svg { width:40px; height:40px; }
.AdmioAuth .AdmioAuthCardHead { padding:1rem 1.25rem; border-bottom:1px solid var(--admio-auth-g200); display:flex; align-items:center; flex-wrap:wrap; }
.AdmioAuth .AdmioAuthCardHead h3 { margin:0; font-size:.97rem; display:flex; align-items:center; }
.AdmioAuth .AdmioAuthCardHead .AdmioAuthIconBox { margin-right:.7rem; }
.AdmioAuth .AdmioAuthCardBody { padding:1.25rem; }
.AdmioAuth svg.AdmioAuthIconBox { width:30px; height:30px; padding:7px; border-radius:10px; background:var(--admio-auth-soft-primary-bg); color:var(--admio-auth-accent); flex:none; }
.AdmioAuth .AdmioAuthHero h2 { font-size:1.3rem; margin:.1rem 0 .4rem; }
.AdmioAuth .AdmioAuthHero p { margin:0; font-size:.97rem; color:var(--admio-auth-g700); overflow-wrap:anywhere; }
.AdmioAuth .AdmioAuthHero p b { color:var(--admio-auth-g900); }
.AdmioAuth .AdmioAuthHeroIcon { width:3.25rem; height:3.25rem; border-radius:50%; background:var(--admio-auth-soft-primary-bg); color:var(--admio-auth-accent); display:flex; align-items:center; justify-content:center; flex:none; }
.AdmioAuth .AdmioAuthHeroIcon svg { width:1.5rem; height:1.5rem; }
.AdmioAuth .AdmioAuthImpact { font-size:.92rem; color:var(--admio-auth-g800); }
.AdmioAuth .AdmioAuthImpact b { color:var(--admio-auth-g900); }
.AdmioAuth .AdmioAuthPanel { background:var(--admio-auth-g100); border:1px solid var(--admio-auth-g300); border-radius:14px; padding:1rem 1.1rem; }

/* ---------- odznaky ---------- */
.AdmioAuth .AdmioAuthBadge { display:inline-flex; align-items:center; padding:.35em .75em; font-size:.75rem; font-weight:600; line-height:1; white-space:nowrap; border-radius:50rem; background:var(--admio-auth-soft-secondary-bg); color:var(--admio-auth-soft-secondary); }
.AdmioAuth .AdmioAuthBadge svg { width:.9em; height:.9em; margin-right:.35em; }
.AdmioAuth .AdmioAuthBadgeDanger { background:var(--admio-auth-soft-danger-bg); color:var(--admio-auth-soft-danger); }
.AdmioAuth .AdmioAuthBadgeSuccess { background:var(--admio-auth-soft-success-bg); color:var(--admio-auth-soft-success); }
.AdmioAuth .AdmioAuthBadgeWarning { background:var(--admio-auth-soft-warning-bg); color:var(--admio-auth-soft-warning); }
.AdmioAuth .AdmioAuthBadgeInfo { background:var(--admio-auth-soft-info-bg); color:var(--admio-auth-soft-info); }
.AdmioAuth .AdmioAuthBadgeSecondary { background:var(--admio-auth-soft-secondary-bg); color:var(--admio-auth-soft-secondary); }
.AdmioAuth .AdmioAuthBadgePrimary { background:var(--admio-auth-btn-to); color:#fff; }
.AdmioAuth .AdmioAuthBadgeCritical { padding:.42em .85em .42em .75em; }
.AdmioAuth .AdmioAuthBadgeCritical::before { content:""; width:.45rem; height:.45rem; margin-right:.45em; border-radius:50%; background:currentColor; box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent); }

/* ---------- tlačítka ---------- */
.AdmioAuth .AdmioAuthBtn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:.7rem 1.35rem; border-radius:12px; border:1px solid var(--admio-auth-btn-line); font-size:1rem; font-weight:600; line-height:1.4; text-align:center; text-decoration:none; color:#fff; background:linear-gradient(180deg,var(--admio-auth-btn-from) 0%,var(--admio-auth-btn-to) 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 2px rgba(31,17,105,.25),0 8px 18px -8px rgba(31,17,105,.55); transition:transform .08s ease,background-color .15s ease,border-color .15s ease; cursor:pointer; white-space:normal; }
.AdmioAuth .AdmioAuthBtn svg { width:1em; height:1em; margin:0 0 0 .5rem; }
.AdmioAuth .AdmioAuthBtn svg.AdmioAuthIconLead { margin:0 .5rem 0 0; }
.AdmioAuth .AdmioAuthBtn:hover { background:linear-gradient(180deg,var(--admio-auth-btn-from-hover) 0%,var(--admio-auth-btn-to-hover) 100%); text-decoration:none; color:#fff; }
.AdmioAuth .AdmioAuthBtn:active { transform:translateY(1px) scale(.995); }
.AdmioAuth .AdmioAuthBtn:focus-visible { outline:none; box-shadow:0 0 0 3px var(--admio-auth-focus),inset 0 1px 0 rgba(255,255,255,.18); }
/* Fokus po kliknutí myší: šablona webu (Bootstrap .btn:focus / .btn-primary:focus a :active:focus) přidá prstenec 0.2rem a vlastní barvy → tlačítko po kliknutí „naroste“ a přebarví se (hakon.cz 27. 10.). Komponenta drží svůj vzhled; prstenec jen při ovládání klávesnicí (:focus-visible výše). */
.AdmioAuth .AdmioAuthBtn:focus:not(:focus-visible), .AdmioAuth .AdmioAuthBtn:not(:disabled):not(.disabled):active:focus:not(:focus-visible) { outline:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 2px rgba(31,17,105,.25),0 8px 18px -8px rgba(31,17,105,.55); }
.AdmioAuth .AdmioAuthBtnPrimary:focus, .AdmioAuth .AdmioAuthBtnPrimary:not(:disabled):not(.disabled):active { color:#fff; border-color:var(--admio-auth-btn-line); background:linear-gradient(180deg,var(--admio-auth-btn-from-hover) 0%,var(--admio-auth-btn-to-hover) 100%); }
.AdmioAuth .AdmioAuthBtnGhost { background:var(--admio-auth-card-bg); color:var(--admio-auth-g800); border-color:var(--admio-auth-ghost-line); box-shadow:none; }
.AdmioAuth .AdmioAuthBtnGhost { transition:background-color .12s ease, border-color .12s ease, color .12s ease; }
.AdmioAuth .AdmioAuthBtnGhost:hover, .AdmioAuth .AdmioAuthBtnGhost:focus-visible { background:var(--admio-auth-soft-primary-bg); border-color:var(--admio-auth-accent); color:var(--admio-auth-accent); }
.AdmioAuth .AdmioAuthBtnDanger { background:var(--admio-auth-btn-danger); border-color:var(--admio-auth-btn-danger); color:#fff; box-shadow:none; }
.AdmioAuth .AdmioAuthBtnDanger:hover { background:#a91f3d; border-color:#a91f3d; color:#fff; }
.AdmioAuth .AdmioAuthBtn[disabled], .AdmioAuth .AdmioAuthBtn.disabled { background:var(--admio-auth-disabled-bg); border-color:var(--admio-auth-disabled-bg); color:var(--admio-auth-disabled-ink); box-shadow:none; cursor:not-allowed; }
@media (prefers-reduced-motion:reduce) { .AdmioAuth .AdmioAuthBtn { transition:none; } .AdmioAuth .AdmioAuthSpinner { animation:none; } }

/* ---------- formulář ---------- */
.AdmioAuth .AdmioAuthLabel { display:block; font-size:.85rem; font-weight:500; color:var(--admio-auth-g700); margin:0 0 .25rem; }
.AdmioAuth .AdmioAuthField { display:block; width:100%; min-height:48px; padding:.6rem .8rem; font:inherit; color:var(--admio-auth-fg); background:var(--admio-auth-input-bg); border:1px solid var(--admio-auth-input-line); border-radius:12px; box-shadow:none; }
.AdmioAuth .AdmioAuthField:focus, .AdmioAuth .AdmioAuthField:focus-visible { outline:none; border-color:var(--admio-auth-accent); box-shadow:0 0 0 3px var(--admio-auth-focus); background:var(--admio-auth-input-bg); color:var(--admio-auth-fg); }
.AdmioAuth .AdmioAuthField::placeholder { color:var(--admio-auth-g500); opacity:1; }
.AdmioAuth .AdmioAuthFieldInvalid { border-color:var(--admio-auth-danger-ink); }
.AdmioAuth .AdmioAuthFieldError { margin:.35rem 0 0; font-size:.85rem; color:var(--admio-auth-soft-danger); }
.AdmioAuth .AdmioAuthHelp { margin:.35rem 0 0; font-size:.84rem; color:var(--admio-auth-muted); }

/* ---------- box kódu žádosti ---------- */
.AdmioAuth .AdmioAuthCode { display:flex; align-items:center; flex-wrap:wrap; background:var(--admio-auth-code-bg); border:1px solid var(--admio-auth-code-line); border-radius:12px; padding:.8rem 1.1rem; }
.AdmioAuth .AdmioAuthCodeLabel { font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; color:var(--admio-auth-g700); font-weight:500; }
.AdmioAuth .AdmioAuthCodeValue { font-family:var(--admio-auth-font-mono); font-weight:600; font-size:1.85rem; letter-spacing:.14em; color:var(--admio-auth-code-ink); line-height:1.15; margin:.1rem 0 0; overflow-wrap:anywhere; }
.AdmioAuth .AdmioAuthCodeText { flex:1 1 15rem; min-width:0; font-size:.875rem; color:var(--admio-auth-g800); margin:0; }
.AdmioAuth .AdmioAuthCodeText b { color:var(--admio-auth-g1000); }
.AdmioAuth .AdmioAuthChip { font-family:var(--admio-auth-font-mono); font-weight:600; font-size:.85em; letter-spacing:.04em; color:var(--admio-auth-code-ink); background:var(--admio-auth-code-bg); padding:.08rem .45rem; border-radius:6px; white-space:nowrap; }

/* ---------- oddělovač, kroky ---------- */
.AdmioAuth .AdmioAuthDivider { position:relative; text-align:center; margin:1.3rem 0 1.1rem; }
.AdmioAuth .AdmioAuthDivider::before { content:""; position:absolute; left:0; right:0; top:50%; border-top:1px solid var(--admio-auth-g300); }
.AdmioAuth .AdmioAuthDivider span { position:relative; background:var(--admio-auth-card-bg); padding:0 1rem; font-size:.83rem; color:var(--admio-auth-g600); }
.AdmioAuth .AdmioAuthSteps { list-style:none; counter-reset:AdmioAuthN; }
.AdmioAuth .AdmioAuthStep { counter-increment:AdmioAuthN; display:flex; align-items:flex-start; font-size:.92rem; color:var(--admio-auth-g800); margin:0 0 .9rem; }
.AdmioAuth .AdmioAuthStep::before { content:counter(AdmioAuthN); width:1.5rem; height:1.5rem; flex:none; margin:.05rem .6rem 0 0; border-radius:50%; background:var(--admio-auth-card-bg); border:1px solid var(--admio-auth-chip-warning-line); color:var(--admio-auth-soft-warning); font-weight:600; font-size:.78rem; display:flex; align-items:center; justify-content:center; }
.AdmioAuth .AdmioAuthStepBody { flex:1 1 auto; min-width:0; overflow-wrap:anywhere; }
.AdmioAuth .AdmioAuthStepBody > .AdmioAuthCheck { margin-top:.7rem; }

/* ---------- boxy se seznamy ---------- */
.AdmioAuth .AdmioAuthCheck { --admio-auth-box-bg:var(--admio-auth-g100); --admio-auth-box-line:var(--admio-auth-g300); --admio-auth-box-ink:var(--admio-auth-accent); background:var(--admio-auth-box-bg); border:1px solid var(--admio-auth-box-line); border-radius:14px; padding:.95rem 1.05rem; }
.AdmioAuth .AdmioAuthCheckOk { --admio-auth-box-bg:var(--admio-auth-soft-success-bg); --admio-auth-box-line:color-mix(in srgb,var(--admio-auth-soft-success) 30%,transparent); --admio-auth-box-ink:var(--admio-auth-soft-success); }
.AdmioAuth .AdmioAuthCheckNo { --admio-auth-box-bg:var(--admio-auth-soft-danger-bg); --admio-auth-box-line:var(--admio-auth-alert-danger-line); --admio-auth-box-ink:var(--admio-auth-danger-ink); }
.AdmioAuth .AdmioAuthCheckWarn { --admio-auth-box-bg:var(--admio-auth-soft-warning-bg); --admio-auth-box-line:var(--admio-auth-chip-warning-line); --admio-auth-box-ink:var(--admio-auth-soft-warning); }
.AdmioAuth .AdmioAuthCheckInfo { --admio-auth-box-bg:var(--admio-auth-soft-primary-bg); --admio-auth-box-line:var(--admio-auth-code-line); --admio-auth-box-ink:var(--admio-auth-accent); }
.AdmioAuth .AdmioAuthCheckTitle { margin:0 0 .7rem; font-size:.9rem; display:flex; align-items:center; }
.AdmioAuth .AdmioAuthCheckTitle .AdmioAuthIconBox { width:28px; height:28px; padding:6px; border-radius:9px; margin-right:.6rem; background:var(--admio-auth-card-bg); color:var(--admio-auth-box-ink); }
.AdmioAuth .AdmioAuthCheckList { list-style:none; margin:0; }
.AdmioAuth .AdmioAuthCheckList li { display:flex; align-items:flex-start; line-height:1.5; font-size:.9rem; color:var(--admio-auth-g800); margin:0 0 .6rem; }
.AdmioAuth .AdmioAuthCheckList li:last-child { margin-bottom:0; }
.AdmioAuth .AdmioAuthCheckList li > svg { flex:none; width:1em; height:1em; margin:calc((1.5em - 1em) / 2) .7rem 0 .2rem; color:var(--admio-auth-box-ink); }
.AdmioAuth .AdmioAuthCheckList li > span { min-width:0; overflow-wrap:anywhere; }
.AdmioAuth .AdmioAuthCheckList code { color:var(--admio-auth-code-ink); background:var(--admio-auth-code-bg); padding:.08rem .45rem; border-radius:6px; font-weight:600; overflow-wrap:anywhere; }
.AdmioAuth .AdmioAuthCheck > p { overflow-wrap:anywhere; margin:0; font-size:.9rem; color:var(--admio-auth-g800); display:flex; align-items:flex-start; }
.AdmioAuth .AdmioAuthCheck > p > svg { flex:none; width:1em; height:1em; margin:calc((1.5em - 1em) / 2) .7rem 0 .2rem; color:var(--admio-auth-box-ink); }

/* ---------- štítky oprávnění ---------- */
.AdmioAuth .AdmioAuthTagTitle { font-size:.75rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--admio-auth-g800); margin-bottom:.45rem; }
.AdmioAuth .AdmioAuthTagHead { display:flex; align-items:center; font-size:.75rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; margin-bottom:.45rem; }
.AdmioAuth .AdmioAuthTagHead svg { margin-right:.4rem; }
.AdmioAuth .AdmioAuthTagHeadWrite { color:var(--admio-auth-soft-warning); }
.AdmioAuth .AdmioAuthTagHeadRead { color:var(--admio-auth-soft-info); }
.AdmioAuth .AdmioAuthTag { position:relative; display:inline-flex; align-items:center; font-size:.83rem; line-height:1.3; padding:.32rem .75rem; border-radius:50rem; border:1px solid transparent; cursor:help; font-weight:600; max-width:100%; }
.AdmioAuth .AdmioAuthTag svg { width:.85rem; height:.85rem; margin-right:.4rem; }
.AdmioAuth .AdmioAuthTagRead { background:var(--admio-auth-soft-info-bg); border-color:var(--admio-auth-chip-info-line); color:var(--admio-auth-soft-info); }
.AdmioAuth .AdmioAuthTagWrite { background:var(--admio-auth-soft-warning-bg); border-color:var(--admio-auth-chip-warning-line); color:var(--admio-auth-soft-warning); }
.AdmioAuth .AdmioAuthTagUnknown { background:var(--admio-auth-soft-secondary-bg); border-color:var(--admio-auth-chip-unknown-line); color:var(--admio-auth-soft-secondary); font-style:italic; }
.AdmioAuth .AdmioAuthTag::after { content:"Technický název: " attr(data-tip); position:absolute; left:0; bottom:calc(100% + 6px); z-index:5; background:var(--admio-auth-tip-bg); color:var(--admio-auth-tip-fg); font-size:.78rem; font-style:normal; font-weight:400; padding:.35rem .55rem; border-radius:8px; white-space:normal; width:max-content; max-width:min(18rem,calc(100vw - 3rem)); opacity:0; pointer-events:none; transition:opacity .12s; }
.AdmioAuth .AdmioAuthTag:hover::after, .AdmioAuth .AdmioAuthTag:focus::after { opacity:1; }
.AdmioAuth .AdmioAuthUnknownNote { margin-top:.75rem; font-size:.83rem; background:var(--admio-auth-g100); border:1px dashed var(--admio-auth-g400); border-radius:10px; padding:.5rem .75rem; color:var(--admio-auth-soft-secondary); }

/* ---------- fakta, tabulka, otisk ---------- */
.AdmioAuth .AdmioAuthFacts { margin:0; }
.AdmioAuth .AdmioAuthFacts dt { font-size:.7rem; text-transform:uppercase; letter-spacing:.07em; font-weight:600; color:var(--admio-auth-g600); margin-bottom:.15rem; }
.AdmioAuth .AdmioAuthFacts dd { margin:0; color:var(--admio-auth-g900); font-weight:500; overflow-wrap:anywhere; }
.AdmioAuth .AdmioAuthFacts dd small { display:block; font-weight:400; color:var(--admio-auth-g600); font-size:.83rem; margin-top:.1rem; }
.AdmioAuth .AdmioAuthMono { font-family:var(--admio-auth-font-mono); font-size:.9em; }
.AdmioAuth .AdmioAuthTableWrap { overflow-x:auto; max-width:100%; border:1px solid var(--admio-auth-g200); border-radius:12px; margin-top:.25rem; }
.AdmioAuth .AdmioAuthTable { width:100%; border-collapse:collapse; font-size:.875rem; margin:0; }
.AdmioAuth .AdmioAuthTable th { text-align:left; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; color:var(--admio-auth-g800); font-weight:600; padding:.55rem .75rem; background:var(--admio-auth-g200); white-space:nowrap; border:0; }
.AdmioAuth .AdmioAuthTable td { padding:.65rem .75rem; border:0; border-top:1px solid var(--admio-auth-g200); vertical-align:top; color:var(--admio-auth-g800); }
.AdmioAuth .AdmioAuthTable .AdmioAuthFrom { color:var(--admio-auth-g600); text-decoration:line-through; text-decoration-color:var(--admio-auth-g400); }
.AdmioAuth .AdmioAuthTable .AdmioAuthTo { font-weight:600; color:var(--admio-auth-g1000); }
.AdmioAuth .AdmioAuthTable tr.AdmioAuthWeak td { background:var(--admio-auth-weak-row); }
.AdmioAuth .AdmioAuthTable tr.AdmioAuthWeak .AdmioAuthTo { color:var(--admio-auth-soft-danger); }
.AdmioAuth .AdmioAuthFingerprint { font-family:var(--admio-auth-font-mono); font-size:1rem; letter-spacing:.06em; line-height:1.8; color:var(--admio-auth-g1000); background:var(--admio-auth-card-bg); border:1px solid var(--admio-auth-g300); border-radius:10px; padding:.4rem .75rem; display:inline-block; }
.AdmioAuth .AdmioAuthFingerprint b { background:var(--admio-auth-soft-warning-bg); color:var(--admio-auth-soft-warning); border-radius:3px; padding:0 2px; }
.AdmioAuth .AdmioAuthRole { display:inline-flex; align-items:center; flex-wrap:wrap; }
.AdmioAuth .AdmioAuthRole svg { margin:0 .5rem; width:1em; height:1em; }

/* ---------- hlášky, stavové panely ---------- */
.AdmioAuth .AdmioAuthAlert { display:flex; align-items:flex-start; border-radius:12px; padding:.75rem 1rem; border:1px solid transparent; font-size:.9rem; margin-bottom:.85rem; }
.AdmioAuth .AdmioAuthAlert > svg { flex:none; width:1em; height:1em; margin:calc((1.5em - 1em) / 2) .6rem 0 0; }
.AdmioAuth .AdmioAuthAlertDanger { background:var(--admio-auth-soft-danger-bg); border-color:var(--admio-auth-alert-danger-line); color:var(--admio-auth-alert-danger-ink); }
.AdmioAuth .AdmioAuthAlertSuccess { background:var(--admio-auth-soft-success-bg); border-color:color-mix(in srgb,var(--admio-auth-soft-success) 30%,transparent); color:var(--admio-auth-soft-success); }
.AdmioAuth .AdmioAuthAlertWarning { background:var(--admio-auth-soft-warning-bg); border-color:var(--admio-auth-chip-warning-line); color:var(--admio-auth-soft-warning); }
.AdmioAuth .AdmioAuthAlertInfo { background:var(--admio-auth-soft-info-bg); border-color:var(--admio-auth-chip-info-line); color:var(--admio-auth-soft-info); }
.AdmioAuth .AdmioAuthAlert a { color:inherit; font-weight:600; text-decoration:underline; }
.AdmioAuth .AdmioAuthStatus { border:1px solid var(--admio-auth-code-line); background:var(--admio-auth-code-bg); border-radius:14px; padding:1rem 1.1rem; }
.AdmioAuth .AdmioAuthStatusOk { border-color:color-mix(in srgb,var(--admio-auth-soft-success) 30%,transparent); background:var(--admio-auth-soft-success-bg); }
.AdmioAuth .AdmioAuthStatusNo { border-color:var(--admio-auth-alert-danger-line); background:var(--admio-auth-soft-danger-bg); }
.AdmioAuth .AdmioAuthStatus h3 { margin:0; font-size:1.02rem; overflow-wrap:anywhere; }
.AdmioAuth .AdmioAuthStatus p { margin:.1rem 0 0; font-size:.9rem; color:var(--admio-auth-g700); }
.AdmioAuth .AdmioAuthStatusIcon { width:2.5rem; height:2.5rem; border-radius:50%; background:var(--admio-auth-card-bg); display:inline-flex; align-items:center; justify-content:center; flex:none; box-shadow:0 0 0 1px var(--admio-auth-card-line); color:var(--admio-auth-soft-success); }
.AdmioAuth .AdmioAuthStatusNo .AdmioAuthStatusIcon { color:var(--admio-auth-danger-ink); }
.AdmioAuth .AdmioAuthSpinner { width:2.5rem; height:2.5rem; border-radius:50%; border:3px solid var(--admio-auth-code-line); border-top-color:var(--admio-auth-accent); flex:none; animation:AdmioAuthRotate 1s linear infinite; }
@keyframes AdmioAuthRotate { to { transform:rotate(360deg); } }
.AdmioAuth .AdmioAuthTime { display:flex; align-items:center; flex-wrap:wrap; margin-top:.9rem; padding-top:.8rem; border-top:1px solid var(--admio-auth-code-line); font-size:.9rem; color:var(--admio-auth-g800); }
.AdmioAuth .AdmioAuthTime svg { margin-right:.5rem; }
.AdmioAuth .AdmioAuthTime b { font-variant-numeric:tabular-nums; color:var(--admio-auth-g900); margin-left:.35rem; }
.AdmioAuth .AdmioAuthTimeLow b { color:var(--admio-auth-danger-ink); }
.AdmioAuth .AdmioAuthNote { margin:.7rem 0 0; font-size:.83rem; color:var(--admio-auth-soft-warning); }

/* ---------- drobnosti, patička ---------- */
.AdmioAuth .AdmioAuthHint { margin:.9rem 0 0; font-size:.84rem; color:var(--admio-auth-muted); }
.AdmioAuth .AdmioAuthMuted { color:var(--admio-auth-muted); font-size:.9rem; }
.AdmioAuth .AdmioAuthNoJs { margin:.9rem 0 0; font-size:.9rem; color:var(--admio-auth-g800); font-weight:600; }
html.AdmioAuthJs .AdmioAuth .AdmioAuthNoJs { display:none; }
.AdmioAuth .AdmioAuthSide { font-size:.9rem; color:var(--admio-auth-g800); margin:0 0 1rem; }
.AdmioAuth .AdmioAuthFooter { padding:.5rem 0 1.5rem; display:flex; justify-content:space-between; flex-wrap:wrap; font-size:.83rem; color:var(--admio-auth-muted); }

/* ---------- přihlašovací a ověřovací stránky (AU-K6) ---------- */
.AdmioAuth .AdmioAuthTitle { font-size:1.5rem; margin:0 0 .35rem; text-wrap:balance; }
.AdmioAuth .AdmioAuthLead { color:var(--admio-auth-g700); font-size:.97rem; margin:0 0 1.25rem; }
.AdmioAuth .AdmioAuthLead b { color:var(--admio-auth-g900); }
.AdmioAuth .AdmioAuthBtnBlock { display:flex; width:100%; }
.AdmioAuth .AdmioAuthBtnSm { min-height:44px; padding:.35rem .9rem; font-size:.88rem; border-radius:10px; }
.AdmioAuth .AdmioAuthLinkBtn { background:none; border:0; padding:.5rem .25rem; min-height:44px; color:var(--admio-auth-link); font-weight:500; cursor:pointer; }
.AdmioAuth .AdmioAuthLinkBtn:hover { text-decoration:underline; }
.AdmioAuth .AdmioAuthPowered { margin:1.5rem 0 0; text-align:center; font-size:.83rem; color:var(--admio-auth-muted); }
.AdmioAuth .AdmioAuthCodeInput { text-align:center; font-family:var(--admio-auth-font-mono); font-size:1.5rem; letter-spacing:.3em; min-height:56px; }   /* bez JS obyčejné pole; s JS viz AU-K6b níže */
.AdmioAuth .AdmioAuthControl { position:relative; padding-left:2rem; min-height:44px; display:flex; align-items:center; }
.AdmioAuth .AdmioAuthControl .custom-control-input { position:absolute; left:0; top:50%; margin-top:-.7rem; width:1.4rem; height:1.4rem; opacity:1; z-index:1; accent-color:var(--admio-auth-accent); cursor:pointer; }
.AdmioAuth .AdmioAuthControl .custom-control-label { margin:0; font-size:.92rem; color:var(--admio-auth-g800); cursor:pointer; }
.AdmioAuth .AdmioAuthControl .custom-control-label::before, .AdmioAuth .AdmioAuthControl .custom-control-label::after { display:none; }
.AdmioAuth .AdmioAuthTabs { list-style:none; display:flex; margin:0 0 1.25rem; padding:.25rem; background:var(--admio-auth-g100); border:1px solid var(--admio-auth-g300); border-radius:14px; }
.AdmioAuth .AdmioAuthTabs li { flex:1 1 0; }
.AdmioAuth .AdmioAuthTabs a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:.4rem .6rem; border-radius:10px; font-weight:600; font-size:.92rem; color:var(--admio-auth-g700); text-align:center; }
.AdmioAuth .AdmioAuthTabs a:hover { text-decoration:none; color:var(--admio-auth-g900); }
.AdmioAuth .AdmioAuthTabs a.active { background:var(--admio-auth-card-bg); color:var(--admio-auth-accent); box-shadow:0 1px 3px rgba(31,17,105,.12); }
.AdmioAuth .AdmioAuthQr { border:1px solid var(--admio-auth-g300); border-radius:14px; background:#fff; padding:6px; }
.AdmioAuth .AdmioAuthRecoveryCodes { list-style:none; display:flex; flex-wrap:wrap; margin:0 -.5rem 1rem; padding:0; font-family:var(--admio-auth-font-mono); font-size:1.05rem; color:var(--admio-auth-g900); }
.AdmioAuth .AdmioAuthRecoveryCodes li { flex:0 0 50%; padding:0 .5rem; margin:0 0 .5rem; }
.AdmioAuth .AdmioAuthRecoveryCodes li span { color:var(--admio-auth-g600); font-size:.8rem; margin-right:.35rem; }
.AdmioAuth .AdmioAuthRecoveryCodes { counter-reset:admio-rc; }
.AdmioAuth .AdmioAuthRecoveryCodes li { counter-increment:admio-rc; }
.AdmioAuth .AdmioAuthRecoveryCodes li::before { content:counter(admio-rc) "."; color:var(--admio-auth-g600); font-size:.8rem; margin-right:.35rem; user-select:none; }
.AdmioAuth .AdmioAuthCardBody > h2 + .AdmioAuthAlert { margin-top:.85rem; }
.AdmioAuth .AdmioAuthAlert + .AdmioAuthRecoveryCodes { margin-top:1.25rem; }
.AdmioAuth .AdmioAuthCardActions { display:flex; flex-wrap:wrap; align-items:center; }
.AdmioAuth .AdmioAuthTable td .AdmioAuthMuted, .AdmioAuth .AdmioAuthTable .AdmioAuthSub { display:block; font-size:.8rem; color:var(--admio-auth-g600); }
.AdmioAuth .AdmioAuthTableCurrent td { background:var(--admio-auth-soft-success-bg); }
.AdmioAuth .AdmioAuthTable td.AdmioAuthTableAction { vertical-align:middle; }
.AdmioAuth .AdmioAuthOr { display:flex; align-items:center; margin:1.1rem 0; font-size:.83rem; color:var(--admio-auth-g600); }
.AdmioAuth .AdmioAuthOr::before, .AdmioAuth .AdmioAuthOr::after { content:""; flex:1 1 auto; border-top:1px solid var(--admio-auth-g300); }
.AdmioAuth .AdmioAuthOr span { padding:0 1rem; }
.AdmioAuth .AdmioAuthKeyForm { margin:0 0 .5rem; }
.AdmioAuth .AdmioAuthKeyMail summary { display:block; list-style:none; cursor:pointer; text-align:center; font-size:.9rem; color:var(--admio-auth-link); }
.AdmioAuth .AdmioAuthKeyMail summary::-webkit-details-marker { display:none; }
.AdmioAuth .AdmioAuthKeyMail summary:hover { text-decoration:underline; }
.AdmioAuth .AdmioAuthKeyMail summary:focus-visible { outline:2px solid var(--admio-auth-accent); outline-offset:2px; border-radius:4px; }
.AdmioAuth .AdmioAuthKeyMail[open] summary { margin-bottom:.25rem; }
.AdmioAuth .AdmioAuthPageHead { margin:0 0 1.25rem; }
.AdmioAuth .AdmioAuthPageHead h1 { margin:0; font-size:1.5rem; }
.AdmioAuth .AdmioAuthPageHead small { font-weight:400; color:var(--admio-auth-g600); }
.AdmioAuth .AdmioAuthNavPills { list-style:none; display:flex; flex-wrap:wrap; margin:0 0 1.25rem; padding:0; }
.AdmioAuth .AdmioAuthNavPills li { margin:0 .5rem .5rem 0; }
.AdmioAuth .AdmioAuthNavPills a { display:flex; align-items:center; min-height:44px; padding:.4rem 1rem; border-radius:50rem; border:1px solid var(--admio-auth-g300); color:var(--admio-auth-g700); font-weight:600; font-size:.9rem; background:var(--admio-auth-card-bg); }
.AdmioAuth .AdmioAuthNavPills a:hover { text-decoration:none; background:var(--admio-auth-g100); }
.AdmioAuth .AdmioAuthNavPills a.active { background:var(--admio-auth-btn-to); border-color:var(--admio-auth-btn-to); color:#fff; }
.AdmioAuth .AdmioAuthNavPills a:focus-visible { outline:3px solid var(--admio-auth-focus); }
.AdmioAuth .AdmioAuthTableStack { }
.AdmioAuth .AdmioAuthInline { display:flex; flex-wrap:wrap; align-items:flex-start; }
.AdmioAuth .AdmioAuthInline .AdmioAuthField { flex:1 1 11rem; width:auto; margin:0 .5rem .5rem 0; }

/* ---------- užší osa formuláře, vzdušná karta, pole kódu (AU-K6b) ---------- */
.AdmioAuth .AdmioAuthCardBody.AdmioAuthCardSolo { padding:2.25rem 2.75rem 2rem; }
/* Karta „jedné úlohy“ (nebo sloupec s kartou a hláškami, heslo.php) (přihlášení, 2FA kód, záložní kód, risk výzva, heslo, registrace, ověření): jedna šířka --admio-auth-solo-width (32rem, na mobilu 100 %), vycentrovaná.
   Obalový sloupec stránky je col-12 (šířku řídí tahle třída, ne col-lg-6/col-xl-5); formulář uvnitř je na celou šířku těla karty. .AdmioAuthNarrower je alias téže šířky. */
.AdmioAuth .AdmioAuthSolo { width:100%; max-width:var(--admio-auth-solo-width); margin-left:auto; margin-right:auto; }
.AdmioAuth .AdmioAuthForm { max-width:22rem; margin-left:auto; margin-right:auto; }
/* Osa formuláře zůstává ≤ 22rem i v kartě jedné úlohy (karta 34rem, pole a tlačítka užší, vycentrované) — konvence dle motobox.cz, rozhodnutí H 27. 10. (dřív zde max-width:none roztáhlo formulář na celou kartu). */
@media (max-width:575.98px) { .AdmioAuth .AdmioAuthForm { max-width:none; } }
.AdmioAuth .AdmioAuthCardLogo .AdmioAuthTitle { margin-bottom:1.25rem; }
.AdmioAuth .AdmioAuthSrOnly { position:absolute !important; width:1px !important; height:1px !important; margin:-1px !important; padding:0 !important; border:0 !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap; }
.AdmioAuth .AdmioAuthMonoInput { text-align:center; font-family:var(--admio-auth-font-mono); font-size:1.15rem; letter-spacing:.08em; min-height:56px; }
/* ---------- ukázkové heslo (kopírovatelné pole; vzor jádra .jscopy) ---------- */
.AdmioAuth .AdmioAuthSuggest { flex-wrap:nowrap; }
.AdmioAuth .AdmioAuthSuggest .form-control { min-width:0; min-height:44px; font-family:var(--admio-auth-font-mono); font-size:.95rem; font-weight:500; letter-spacing:0; color:var(--admio-auth-code-ink); background:var(--admio-auth-code-bg); cursor:text; text-overflow:ellipsis; }
.AdmioAuth .AdmioAuthSuggest .btn { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
@media (max-width:420px) { .AdmioAuth .AdmioAuthSuggest .form-control { font-size:.82rem; padding-left:.6rem; padding-right:.4rem; } }
/* pole kódu: JEDEN <input>; skript (js/admio-auth.js) přidá .AdmioAuthCodeReady a pole se překryje šesti políčky, bez skriptu zůstává obyčejné pole */
.AdmioAuth .AdmioAuthCodeBox { position:relative; }
.AdmioAuth .AdmioAuthCodeCells { display:none; }
.AdmioAuth .AdmioAuthCodeBox.AdmioAuthCodeReady .AdmioAuthCodeCells { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.5rem; height:56px; pointer-events:none; }
.AdmioAuth .AdmioAuthCodeBox.AdmioAuthCodeReady .AdmioAuthCodeInput { position:absolute; top:0; left:0; width:100%; height:100%; margin:0; padding:0; opacity:0; z-index:1; cursor:text; font-size:16px; }
.AdmioAuth .AdmioAuthCodeCells i { display:flex; align-items:center; justify-content:center; min-width:0; font-style:normal; font-family:var(--admio-auth-font-mono); font-size:1.65rem; font-weight:600; line-height:1; color:var(--admio-auth-g900); background:var(--admio-auth-input-bg); border:1px solid var(--admio-auth-input-line); border-radius:12px; transition:border-color .12s ease,box-shadow .12s ease; }
.AdmioAuth .AdmioAuthCodeCells i.AdmioAuthCodeActive { border-color:var(--admio-auth-accent); box-shadow:0 0 0 3px var(--admio-auth-focus); }
.AdmioAuth .AdmioAuthCodeCells i.AdmioAuthCodeActive:empty::after { content:""; width:2px; height:1.7rem; background:var(--admio-auth-accent); animation:AdmioAuthCaret 1.1s steps(1) infinite; }
.AdmioAuth .AdmioAuthCodeBox.AdmioAuthCodeBusy .AdmioAuthCodeCells i { background:var(--admio-auth-g100); }
@keyframes AdmioAuthCaret { 50% { opacity:0; } }
@media (prefers-reduced-motion:reduce) { .AdmioAuth .AdmioAuthCodeCells i { transition:none; } .AdmioAuth .AdmioAuthCodeCells i.AdmioAuthCodeActive:empty::after { animation:none; } }

/* ---------- úzké obrazovky ---------- */
@media (max-width:575.98px) {
  .AdmioAuth .AdmioAuthCardBody { padding:1rem; }
  .AdmioAuth .AdmioAuthCardBody.AdmioAuthCardSolo { padding:1.5rem 1rem 1.25rem; }
  .AdmioAuth .AdmioAuthCodeCells i { font-size:1.45rem; }
  .AdmioAuth .AdmioAuthCardLogo { padding:2.9rem 1.1rem 1.4rem; }
  .AdmioAuth .AdmioAuthCodeValue { font-size:1.6rem; }
  .AdmioAuth .AdmioAuthNav { padding:.5rem .9rem; min-height:3.6rem; }
  .AdmioAuth .AdmioAuthNavInfo { margin-left:0; width:100%; }
  .AdmioAuth .AdmioAuthTableWrapStack { border:0; overflow:visible; }
  .AdmioAuth .AdmioAuthTableStack, .AdmioAuth .AdmioAuthTableStack tbody, .AdmioAuth .AdmioAuthTableStack tr, .AdmioAuth .AdmioAuthTableStack td { display:block; width:100%; }
  .AdmioAuth .AdmioAuthTableStack thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .AdmioAuth .AdmioAuthTableStack tr { border:1px solid var(--admio-auth-g200); border-radius:14px; margin:0 0 .75rem; padding:.4rem .9rem; background:var(--admio-auth-card-bg); }
  .AdmioAuth .AdmioAuthTableStack tr.AdmioAuthTableCurrent { background:var(--admio-auth-soft-success-bg); }
  .AdmioAuth .AdmioAuthTableStack td { border:0; padding:.4rem 0; display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; text-align:right; background:transparent; }
  .AdmioAuth .AdmioAuthTableStack td::before { content:attr(data-label); flex:none; font-size:.7rem; text-transform:uppercase; letter-spacing:.07em; font-weight:600; color:var(--admio-auth-g600); text-align:left; padding-top:.15rem; }
  .AdmioAuth .AdmioAuthTableStack td:not([data-label])::before { content:none; }
  .AdmioAuth .AdmioAuthTableStack td.AdmioAuthTableAction { justify-content:flex-end; align-items:center; }
  .AdmioAuth .AdmioAuthRecoveryCodes li { flex-basis:100%; }
}

/* ---------- hlavička účtu a drobečky (PF1-PILLS): .AdmioAuthAccountHead, .AdmioAuthAvatar (+ Lg, Initials), .AdmioAuthCrumbs ---------- */
.AdmioAuth .AdmioAuthAccountHead { display:flex; align-items:center; margin:0 0 1rem; }
.AdmioAuth .AdmioAuthAccountHead .AdmioAuthPageHead { margin:0; min-width:0; }
.AdmioAuth .AdmioAuthAccountHead .AdmioAuthPageHead h1 { overflow-wrap:anywhere; }
.AdmioAuth .AdmioAuthAvatar { width:56px; height:56px; border-radius:50%; object-fit:cover; flex:none; display:block; background:var(--admio-auth-soft-primary-bg); box-shadow:0 0 0 1px var(--admio-auth-card-line), 0 4px 10px -4px rgba(31,17,105,.25); }
.AdmioAuth .AdmioAuthAvatarLg { width:84px; height:84px; }
.AdmioAuth .AdmioAuthAvatarInitials { display:flex; align-items:center; justify-content:center; font-size:1.15rem; font-weight:600; color:#fff; background:linear-gradient(135deg,var(--admio-auth-accent),var(--admio-auth-btn-to)); letter-spacing:.02em; user-select:none; }
.AdmioAuth .AdmioAuthCrumbs { font-size:.88rem; margin:0 0 .75rem; color:var(--admio-auth-muted); }
@media (max-width:575.98px) {
  .AdmioAuth .AdmioAuthAccountHead .AdmioAuthAvatar { width:48px; height:48px; }
  .AdmioAuth .AdmioAuthAccountHead .AdmioAuthAvatarInitials { font-size:1.05rem; }
  .AdmioAuth .AdmioAuthNavPills li { margin-right:.4rem; }
  .AdmioAuth .AdmioAuthNavPills a { padding:.35rem .85rem; font-size:.86rem; }
}

/* ============ Účet — profil, adresy, registrace ============
 * Nové třídy stránek účtu pod .AdmioAuth, tokeny --admio-auth-*, font-weight <= 600, Bootstrap 4.6. Existující pravidla se nemění.
 * Telefon: vlajku a předvolbu dává admio.phone.V3.js (intl-tel-input, .iti), vlastní vlajka se nepoužívá.
 *   sekce a formulář:  .AdmioAuthSection, .AdmioAuthSelect, .AdmioAuthReq, .AdmioAuthSmall, .AdmioAuthSaveBar, .AdmioAuthRow, .AdmioAuthInputGroup/Toggle, .AdmioAuthPhone
 *   profil:            .AdmioAuthAvatarPick (+ Body), .AdmioAuthFileInput
 *   adresy:            .AdmioAuthList (+ Main, Actions, Sub), .AdmioAuthListPanel, .AdmioAuthListConfirm
 *   registrace:        .AdmioAuthNarrow/Narrower, .AdmioAuthSubhead, .AdmioAuthCaptcha, h2 v .AdmioAuthCardHead / .AdmioAuthStatus
 */
.AdmioAuth .AdmioAuthSection { padding:1.25rem; border-top:1px solid var(--admio-auth-g200); }
.AdmioAuth .AdmioAuthSection:first-child, .AdmioAuth .AdmioAuthCardHead + .AdmioAuthSection { border-top:0; }
.AdmioAuth .AdmioAuthSection h2 { font-size:.97rem; margin:0 0 .85rem; display:flex; align-items:center; }
.AdmioAuth .AdmioAuthSection h2 .AdmioAuthIconBox { margin-right:.6rem; }
.AdmioAuth .AdmioAuthSelect { display:block; width:100%; min-height:48px; padding:.6rem 2.2rem .6rem .8rem; font:inherit; color:var(--admio-auth-fg); background:var(--admio-auth-input-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238d89a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right .85rem center; border:1px solid var(--admio-auth-input-line); border-radius:12px; -webkit-appearance:none; appearance:none; }
.AdmioAuth .AdmioAuthSelect:focus { outline:none; border-color:var(--admio-auth-accent); box-shadow:0 0 0 3px var(--admio-auth-focus); }
.AdmioAuth .AdmioAuthReq { color:var(--admio-auth-danger-ink); margin-left:.15rem; }
.AdmioAuth .AdmioAuthFieldInvalid + .AdmioAuthFieldError { display:block; }
.AdmioAuth .AdmioAuthSmall { font-size:.84rem; color:var(--admio-auth-muted); }
.AdmioAuth .AdmioAuthSaveBar { display:flex; flex-wrap:wrap; align-items:center; padding:1rem 1.25rem; border-top:1px solid var(--admio-auth-g200); background:var(--admio-auth-g100); border-radius:0 0 20px 20px; }
.AdmioAuth .AdmioAuthSaveBar .AdmioAuthBtn { margin:.25rem .6rem .25rem 0; }
.AdmioAuth .AdmioAuthSaveBar .AdmioAuthHelp { margin:0 0 0 auto; }
.AdmioAuth .AdmioAuthRow { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; }
.AdmioAuth .AdmioAuthInputGroup { position:relative; }
.AdmioAuth .AdmioAuthInputGroup .AdmioAuthField { padding-right:3rem; }
.AdmioAuth .AdmioAuthInputToggle { position:absolute; right:.35rem; top:50%; transform:translateY(-50%); width:44px; height:44px; border:0; background:none; color:var(--admio-auth-g600); border-radius:10px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.AdmioAuth .AdmioAuthInputToggle:hover { color:var(--admio-auth-accent); background:var(--admio-auth-g100); }
.AdmioAuth .AdmioAuthInputToggle:focus { outline:none; box-shadow:0 0 0 3px var(--admio-auth-focus); }
.AdmioAuth .AdmioAuthInputToggle svg { width:20px; height:20px; }
/* telefon: pole .admio-validate-phone obalí admio.phone.V3.js (intl-tel-input, .iti); vlajka/předvolba je jeho výběr země; bez JS zůstane běžné pole.
   Skelet (obal na výšku inputu, tlačítko země uvnitř, seznam, fokus skupiny) dává sdílené cdn/js/vendor/intl-tel-input/css/admio-phone.css; tady jen tokeny komponenty.
   Obal je blokový a bez min-height: `.form-group>div` (default.css) jinak vnutí 4.25rem a šedý pruh s vlajkou přeroste input. */
.AdmioAuth .AdmioAuthPhone { display:block; min-height:0; }
.AdmioAuth .AdmioAuthPhone .iti {
  --admio-phone-radius:12px;
  --admio-phone-focus-border:var(--admio-auth-accent);
  --admio-phone-focus-ring:0 0 0 3px var(--admio-auth-focus);
  --admio-phone-invalid:var(--admio-auth-danger-ink);
  --admio-phone-invalid-ring:0 0 0 3px rgba(200,38,74,.25);
  --iti-border-color:var(--admio-auth-input-line);
  --iti-country-selector-bg:var(--admio-auth-input-bg);
  --iti-icon-color:var(--admio-auth-g600);
  --iti-hover-color:var(--admio-auth-g100);
  color:var(--admio-auth-fg);
}
.AdmioAuth .AdmioAuthPhone .iti .AdmioAuthField { width:100%; border-radius:12px; }
.AdmioAuth .AdmioAuthPhone .iti .iti__selected-country:focus-visible { outline:2px solid var(--admio-auth-accent); outline-offset:-3px; border-radius:11px 0 0 11px; }
.AdmioAuth .AdmioAuthPhone .iti .iti__country-selector { border-radius:12px; overflow:hidden; font-family:var(--admio-auth-font-sans); color:var(--admio-auth-fg); }
/* profil: avatar a výběr souboru */
.AdmioAuth .AdmioAuthAvatarPick { display:flex; align-items:center; flex-wrap:wrap; }
.AdmioAuth .AdmioAuthAvatarPick .AdmioAuthAvatar { margin-right:1rem; margin-bottom:.5rem; }
.AdmioAuth .AdmioAuthAvatarBody { flex:1 1 14rem; min-width:0; }
.AdmioAuth .AdmioAuthAvatarBody .AdmioAuthLabel { display:block; margin-bottom:.35rem; }
.AdmioAuth .AdmioAuthAvatarBody .AdmioAuthHelp { margin:.35rem 0 0; }
.AdmioAuth .AdmioAuthAvatarBody .AdmioAuthLinkBtn { padding-left:0; }
.AdmioAuth .AdmioAuthFileInput { display:block; width:100%; max-width:100%; font:inherit; font-size:.88rem; color:var(--admio-auth-g700); }
.AdmioAuth .AdmioAuthFileInput::file-selector-button { margin-right:.75rem; min-height:44px; padding:.35rem .9rem; font:inherit; font-size:.88rem; font-weight:600; color:var(--admio-auth-fg); background:var(--admio-auth-input-bg); border:1px solid var(--admio-auth-input-line); border-radius:10px; cursor:pointer; }
.AdmioAuth .AdmioAuthFileInput::file-selector-button:hover { border-color:var(--admio-auth-accent); color:var(--admio-auth-accent); }
.AdmioAuth .AdmioAuthFileInput:focus-visible { outline:none; border-radius:10px; box-shadow:0 0 0 3px var(--admio-auth-focus); }
/* adresy: seznam dodacích adres (řádek = jméno + adresa vlevo, akce vpravo; panely se rozbalují přes celou šířku řádku) */
.AdmioAuth .AdmioAuthList { list-style:none; margin:0; padding:0; }
.AdmioAuth .AdmioAuthList li { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; padding:.8rem 0; border-top:1px solid var(--admio-auth-g200); }
.AdmioAuth .AdmioAuthList li:first-child { border-top:0; }
.AdmioAuth .AdmioAuthList .AdmioAuthListMain { min-width:0; overflow-wrap:anywhere; }
.AdmioAuth .AdmioAuthList .AdmioAuthListMain b { font-weight:600; }
.AdmioAuth .AdmioAuthList .AdmioAuthSub { display:block; font-size:.85rem; color:var(--admio-auth-g600); }
.AdmioAuth .AdmioAuthList .AdmioAuthListActions { display:flex; align-items:center; flex-wrap:wrap; }
.AdmioAuth .AdmioAuthListPanel { flex:0 0 100%; width:100%; min-width:0; }
.AdmioAuth .AdmioAuthListPanel.show, .AdmioAuth .AdmioAuthListPanel.collapsing { padding-top:.75rem; }
.AdmioAuth .AdmioAuthListConfirm { display:flex; align-items:center; flex-wrap:wrap; }
.AdmioAuth .AdmioAuthListConfirm .AdmioAuthSmall { margin-right:.75rem; }
/* registrace a aktivace */
.AdmioAuth .AdmioAuthNarrow { max-width:38rem; margin-left:auto; margin-right:auto; }
.AdmioAuth .AdmioAuthNarrower { max-width:var(--admio-auth-solo-width); margin-left:auto; margin-right:auto; }
.AdmioAuth .AdmioAuthCardHead h2 { margin:0; font-size:.97rem; font-weight:600; display:flex; align-items:center; }
.AdmioAuth .AdmioAuthStatus h2 { margin:0; font-size:1.02rem; font-weight:600; overflow-wrap:anywhere; }
.AdmioAuth .AdmioAuthStatus p, .AdmioAuth .AdmioAuthNarrow .AdmioAuthHelp, .AdmioAuth .AdmioAuthNarrower .AdmioAuthHelp, .AdmioAuth .AdmioAuthSolo .AdmioAuthHelp { overflow-wrap:anywhere; }
.AdmioAuth .AdmioAuthSubhead { margin:1.5rem 0 1rem; padding-top:1rem; border-top:1px solid var(--admio-auth-g200); font-size:.97rem; font-weight:600; color:var(--admio-auth-g800); }
.AdmioAuth .AdmioAuthCaptcha { display:block; max-width:100%; height:auto; margin:0 0 .5rem; border:1px solid var(--admio-auth-g200); border-radius:12px; background:var(--admio-auth-card-bg); }
@media (max-width:575.98px) {
  .AdmioAuth .AdmioAuthSection { padding:1rem; }
  .AdmioAuth .AdmioAuthSaveBar { padding:.9rem 1rem; }
  .AdmioAuth .AdmioAuthSaveBar .AdmioAuthBtn { width:100%; margin-right:0; }
  .AdmioAuth .AdmioAuthSaveBar .AdmioAuthHelp { margin:.25rem 0 0; }
  .AdmioAuth .AdmioAuthList .AdmioAuthListActions { flex:0 0 100%; margin-top:.25rem; }
  .AdmioAuth .AdmioAuthNarrow .AdmioAuthCardBody { padding:1.1rem 1rem 1.25rem; }
}

/* ---------- nadpisy karet s ikonou v tónovaném čtverečku (PF-UI): Zabezpečení, dvoufázové ověření; ikona zarovnaná na první řádek nadpisu ---------- */
.AdmioAuth .AdmioAuthHeadIcon { display:flex; align-items:flex-start; line-height:1.2; }
.AdmioAuth .AdmioAuthHeadIcon > span { min-width:0; }
.AdmioAuth .AdmioAuthHeadIcon .AdmioAuthIconBox { margin:calc((1.2em - 30px) / 2) .7rem 0 0; }
.AdmioAuth .AdmioAuthHeadIcon.text-center { justify-content:center; }

/* ---------- vzdušnější spodek jednoúčelových karet (PF-UI): přihlášení a ověření rizikového přihlášení mají pod kartou jen py-4, nahoře je mezera mnohem větší; v modalu pokladny (bez sloupce) a na stránkách s vlastním py-5 obalem (obnova hesla, výzva 2FA) se nemění ---------- */
[class*="col-"] > .AdmioAuth#AccountLogin > .AdmioAuthCard, .AdmioAuth#AdmioLoginRiskWrap .AdmioAuthCard { margin-bottom:1.5rem; }
@media (min-width:768px) {
  [class*="col-"] > .AdmioAuth#AccountLogin > .AdmioAuthCard, .AdmioAuth#AdmioLoginRiskWrap .AdmioAuthCard { margin-bottom:3rem; }
}

/* ---------- tabulka „Zařízení a relace“ (PF-UI): ikona typu zařízení před názvem (aktuální zelená, ostatní světle šedá), bez zeleného řádku, jemný hover ---------- */
.AdmioAuth .AdmioAuthDevice { display:flex; align-items:flex-start; }
.AdmioAuth .AdmioAuthDeviceText { min-width:0; overflow-wrap:anywhere; }
.AdmioAuth svg.AdmioAuthDeviceIcon { margin-right:.65rem; background:var(--admio-auth-g200); color:var(--admio-auth-g500); }
.AdmioAuth .AdmioAuthTableCurrent svg.AdmioAuthDeviceIcon { background:var(--admio-auth-soft-success-bg); color:var(--admio-auth-soft-success); }
.AdmioAuth .AdmioAuthTable tr.AdmioAuthTableCurrent td { background:transparent; }
.AdmioAuth .AdmioAuthTableStack tr.AdmioAuthTableCurrent { background:var(--admio-auth-card-bg); }
.AdmioAuth .AdmioAuthTable tbody td, .AdmioAuth .AdmioAuthTableStack tbody tr { transition:background-color .12s ease; }
@media (hover:hover) {
  .AdmioAuth .AdmioAuthTable tbody tr:hover td { background:var(--admio-auth-g100); }
  .AdmioAuth .AdmioAuthTableStack tbody tr:hover, .AdmioAuth .AdmioAuthTableStack tbody tr.AdmioAuthTableCurrent:hover { background:var(--admio-auth-g100); }
}
@media (max-width:575.98px) {
  .AdmioAuth .AdmioAuthTableStack .AdmioAuthDevice { justify-content:flex-end; text-align:right; }
  .AdmioAuth .AdmioAuthTableStack tbody tr:hover td { background:transparent; }
}

/* vlajka země u IP (sprite intl-tel-input z CDN: 244 vlajek po 20x15 px, pozice = pořadí kódu v --af-i; mimo sprite = bez obrázku) */
.AdmioAuth .AdmioAuthFlag { display:inline-block; width:14px; height:10.5px; margin-right:.3rem; vertical-align:0; border-radius:1.5px; box-shadow:0 0 0 1px var(--admio-auth-g300); background-color:var(--admio-auth-g200); background-repeat:no-repeat; background-size:3416px 10.5px; background-position:calc(var(--af-i, 244) * -14px) 0; background-image:url("https://cdn.admio.net/js/vendor/intl-tel-input/img/flags.png"); background-image:image-set(url("https://cdn.admio.net/js/vendor/intl-tel-input/img/flags.webp") 1x, url("https://cdn.admio.net/js/vendor/intl-tel-input/img/flags@2x.webp") 2x); }

/* ---------- aplikace pro dvoufázové ověření (PF-2FA): řada dlaždic s ikonou v zaobleném čtverci a názvem, odkazy do obchodů; na počítači přepínač obchodů dvěma oficiálními odznaky (radio + label, bez JS) a řádek se štítem „Otevřený standard TOTP“. Ikony a odznaky: https://cdn.admio.net/img/auth-apps/ (AdmioTotpApps.php) ---------- */
.AdmioAuth .AdmioAuthApps { margin:1rem 0 .25rem; }
.AdmioAuth .AdmioAuthAppsList { display:grid; grid-template-columns:repeat(auto-fill, minmax(4.2rem, 1fr)); gap:.9rem .25rem; margin:0 0 .9rem; padding:0; list-style:none; }
.AdmioAuth .AdmioAuthAppsList > li { margin:0; padding:0; min-width:0; }
.AdmioAuth .AdmioAuthApp { display:flex; flex-direction:column; align-items:center; padding:.25rem 0 .1rem; border-radius:.75rem; color:var(--admio-auth-fg); font-size:clamp(.64rem, 2.85vw, .78rem); font-weight:500; line-height:1.25; text-align:center; text-decoration:none; }
.AdmioAuth .AdmioAuthApp:hover { color:var(--admio-auth-accent); text-decoration:none; }
.AdmioAuth .AdmioAuthApp:focus-visible { outline:2px solid var(--admio-auth-accent); outline-offset:2px; }
.AdmioAuth .AdmioAuthAppIcon { display:block; width:48px; height:48px; margin:0 0 .4rem; border-radius:22%; background:#fff; box-shadow:0 0 0 1px var(--admio-auth-card-line), 0 2px 6px -1px rgba(31,17,105,.18); transition:transform .12s ease, box-shadow .12s ease; }
@media (hover:hover) {
  .AdmioAuth .AdmioAuthApp:hover .AdmioAuthAppIcon { transform:translateY(-2px); box-shadow:0 0 0 1px var(--admio-auth-card-line), 0 6px 12px -3px rgba(31,17,105,.28); }
}
.AdmioAuth .AdmioAuthAppName { max-width:100%; overflow-wrap:break-word; }
.AdmioAuth .AdmioAuthAppsRadio { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0 0 0 0); opacity:0; }
.AdmioAuth .AdmioAuthAppsPick { position:relative; }
.AdmioAuth .AdmioAuthAppsPick .AdmioAuthAppsList, .AdmioAuth .AdmioAuthAppsPick .AdmioAuthAppsAegis { display:none; }
.AdmioAuth .AdmioAuthAppsRadioAndroid:checked ~ .AdmioAuthAppsPanelAndroid, .AdmioAuth .AdmioAuthAppsRadioIos:checked ~ .AdmioAuthAppsPanelIos { display:grid; }
.AdmioAuth .AdmioAuthAppsRadioIos:checked ~ .AdmioAuthAppsAegis { display:block; margin:-.4rem 0 .9rem; }
.AdmioAuth .AdmioAuthAppsHint { margin:0 0 .5rem; }
.AdmioAuth .AdmioAuthAppsSwitch { display:flex; flex-wrap:wrap; align-items:center; margin:0 -.35rem; }
.AdmioAuth .AdmioAuthStoreBadge { display:inline-flex; align-items:center; margin:0 .35rem .5rem; padding:.3rem .5rem; border-radius:.7rem; background:#fff; box-shadow:0 0 0 1px var(--admio-auth-g300); cursor:pointer; transition:box-shadow .12s ease; }
.AdmioAuth .AdmioAuthStoreBadge:hover { box-shadow:0 0 0 1px var(--admio-auth-g500); }
.AdmioAuth .AdmioAuthStoreBadge img { display:block; max-width:none; height:auto; }
.AdmioAuth .AdmioAuthAppsRadioAndroid:checked ~ .AdmioAuthAppsSwitch .AdmioAuthStoreBadgeAndroid, .AdmioAuth .AdmioAuthAppsRadioIos:checked ~ .AdmioAuthAppsSwitch .AdmioAuthStoreBadgeIos { box-shadow:0 0 0 2px var(--admio-auth-accent); }
.AdmioAuth .AdmioAuthAppsRadioAndroid:focus-visible ~ .AdmioAuthAppsSwitch .AdmioAuthStoreBadgeAndroid, .AdmioAuth .AdmioAuthAppsRadioIos:focus-visible ~ .AdmioAuthAppsSwitch .AdmioAuthStoreBadgeIos { outline:2px solid var(--admio-auth-accent); outline-offset:3px; }
.AdmioAuth .AdmioAuthStandard { margin:.5rem 0 1rem; font-size:.84rem; }
.AdmioAuth .AdmioAuthStandard a { display:inline-flex; align-items:center; color:var(--admio-auth-accent); font-weight:600; }
.AdmioAuth .AdmioAuthStandard svg.AdmioAuthIcon { width:1.15em; height:1.15em; margin-right:.4rem; vertical-align:0; }
@media (min-width:576px) {
  .AdmioAuth .AdmioAuthApp { font-size:.78rem; }
  .AdmioAuth .AdmioAuthAppsList { grid-template-columns:repeat(auto-fill, minmax(5.5rem, 1fr)); }
}

/* ---------- okno (modal) komponenty (PF-2FA kolo 2): nativní <dialog class="AdmioAuthModal"> — s JS showModal() (Esc, focus trap), bez JS (nebo v prohlížeči bez <dialog>, kde skript nenastaví html.AdmioAuthModalJs) se zobrazí přes :target (odkaz href="#id", zavření odkazem × nebo pozadím). Dialog je celoobrazovkový překryv, karta uvnitř; na telefonu skoro přes celou šířku a obsah se rolí uvnitř. Použito na /registrace/2fa/ (odkaz „Otevřený standard TOTP · RFC 6238“) ---------- */
html.AdmioAuthModalLock { overflow:hidden; }
html:not(.AdmioAuthModalJs):has(.AdmioAuth .AdmioAuthModal:target) { overflow:hidden; }
.AdmioAuth .AdmioAuthModal { display:none; position:fixed; top:0; right:0; bottom:0; left:0; z-index:1080; box-sizing:border-box; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:1rem; border:0; background:rgba(21,15,69,.55); color:var(--admio-auth-fg); align-items:center; justify-content:center; overflow:hidden; }
.AdmioAuth .AdmioAuthModal[open] { display:flex; }
html:not(.AdmioAuthModalJs) .AdmioAuth .AdmioAuthModal:target { display:flex; }
.AdmioAuth .AdmioAuthModal::backdrop { background:transparent; }
.AdmioAuth .AdmioAuthModalBackdrop { position:absolute; top:0; right:0; bottom:0; left:0; cursor:default; }
.AdmioAuth .AdmioAuthModalCard { position:relative; box-sizing:border-box; width:100%; max-width:40rem; max-height:100%; padding:1.5rem 1.5rem 1.25rem; overflow-y:auto; overscroll-behavior:contain; background:var(--admio-auth-card-bg); border-radius:20px; box-shadow:0 24px 60px -12px rgba(21,15,69,.5); }
.AdmioAuth .AdmioAuthModalHead { display:flex; align-items:flex-start; justify-content:space-between; }
.AdmioAuth .AdmioAuthModalHead .AdmioAuthHeadIcon { flex:1 1 auto; min-width:0; margin:0; }
.AdmioAuth .AdmioAuthModalClose { display:inline-flex; flex:none; align-items:center; justify-content:center; width:2.25rem; height:2.25rem; margin:-.35rem -.5rem 0 .5rem; border-radius:50%; color:var(--admio-auth-muted); font-size:1.6rem; font-weight:400; line-height:1; text-decoration:none; transition:background-color .12s ease, color .12s ease; }
.AdmioAuth .AdmioAuthModalClose:hover { background:var(--admio-auth-g200); color:var(--admio-auth-fg); text-decoration:none; }
.AdmioAuth .AdmioAuthModalClose:focus-visible { outline:2px solid var(--admio-auth-accent); outline-offset:2px; }
.AdmioAuth .AdmioAuthModalSection { margin-top:1.1rem; }
.AdmioAuth .AdmioAuthModalH { margin:0 0 .35rem; color:var(--admio-auth-g900); font-size:.95rem; font-weight:600; line-height:1.3; }
.AdmioAuth .AdmioAuthModalSection p { margin:0 0 .5rem; color:var(--admio-auth-muted); font-size:.9rem; }
.AdmioAuth .AdmioAuthModalSection .AdmioAuthApps { margin-top:.75rem; }
.AdmioAuth .AdmioAuthModalSection .AdmioAuthAppsList { margin-bottom:.4rem; }
.AdmioAuth .AdmioAuthModalSection .AdmioAuthAppsAegis, .AdmioAuth .AdmioAuthModalSection .AdmioAuthAppsRadioIos:checked ~ .AdmioAuthAppsAegis { margin-top:0; }
@media (max-width:575.98px) {
  .AdmioAuth .AdmioAuthModal { padding:.75rem; }
  .AdmioAuth .AdmioAuthModalCard { padding:1.1rem 1rem 1rem; border-radius:16px; }
}

/* odkaz „Otevřený standard TOTP · RFC 6238“ pod kartou: bez podtržení, podtržení jen na hover, viditelný focus (přebíjí dřívější pravidla výše) */
.AdmioAuth .AdmioAuthStandard { margin:.75rem 0 1rem; }
.AdmioAuth .AdmioAuthStandard a { text-decoration:none; }
.AdmioAuth .AdmioAuthStandard a:hover span { text-decoration:underline; }
.AdmioAuth p.AdmioAuthStandard a:not(.btn):not(.AdmioAuthUnderline):hover { text-decoration:none; }   /* podtrhne se jen text (span), ne ikona a mezera; přebíjí obecné hover pravidlo odstavců výše */
.AdmioAuth .AdmioAuthStandard a:focus-visible { outline:2px solid var(--admio-auth-accent); outline-offset:3px; border-radius:.25rem; }

/* přepínač obchodů (PF-2FA kolo 3): oba odznaky viditelně 40 px vysoké (Apple SVG 120x40, Google PNG 135x40 oříznutý na viditelnou plochu), ochrannou zónu dělá padding labelu (10 px = 1/4 výšky odznaku), oba labely stejně vysoké i široké, odznak vystředěný */
.AdmioAuth .AdmioAuthStoreBadge { box-sizing:border-box; justify-content:center; width:calc(135px + 20px); height:calc(40px + 20px); padding:10px; }
.AdmioAuth .AdmioAuthStoreBadge img { width:auto; height:40px; }

/* údaje o propojení klíče jako malé karty (AU9, karta „Přihlášení klíčem“): štítek nad hodnotou, v řádku BS 4.6 (col-md-4), na telefonu pod sebe */
.AdmioAuth .AdmioAuthInfoChip { box-sizing:border-box; height:100%; padding:.6rem .85rem; border:1px solid var(--admio-auth-g200); border-radius:12px; background:var(--admio-auth-g100); }
.AdmioAuth .AdmioAuthInfoChipLabel { display:block; margin-bottom:.15rem; font-size:.75rem; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:var(--admio-auth-g600); }
.AdmioAuth .AdmioAuthInfoChipValue { display:block; font-size:.9rem; font-weight:600; color:var(--admio-auth-g900); overflow-wrap:anywhere; }
.AdmioAuth .AdmioAuthInfoChipValue b { font-weight:600; }

/* způsob přihlášení u relace a v historii (ikona v tónovaném čtverečku + popisek; neznámý způsob = pomlčka) */
.AdmioAuth .AdmioAuthMethod { display:inline-flex; align-items:center; }
.AdmioAuth .AdmioAuthMethodUnknown { color:var(--admio-auth-g500); }
.AdmioAuth svg.AdmioAuthMethodIcon { width:28px; height:28px; padding:6px; border-radius:9px; }
.AdmioAuth .AdmioAuthMethodText { margin-left:.5rem; font-size:.85rem; color:var(--admio-auth-g800); }
.AdmioAuth .AdmioAuthTableStack .AdmioAuthMethod { justify-content:flex-end; }

/* okno Historie přihlášení: širší karta pro pětisloupcovou tabulku */
.AdmioAuth .AdmioAuthModalCardWide { max-width:52rem; }
.AdmioAuth .AdmioAuthModalCardWide .AdmioAuthTableWrap { margin-top:.75rem; }
