/* rhost.cz – portál: veřejný web (lp-*) a doplňky aplikací muj/sprava nad azure-theme.css. Bez inline stylů (CSP). */

/* =============================================================== veřejný web */
.lp { background: #fff; color: var(--text); font-size: 16px; line-height: 1.6; }
.lp-wrap { width: min(1180px, 100% - 2rem); margin-inline: auto; }
.lp-wrap--uzky { width: min(820px, 100% - 2rem); }
.lp h1, .lp h2, .lp h3 { color: var(--text-strong); letter-spacing: -.02em; line-height: 1.15; }
.lp h1 { font-size: clamp(2.1rem, 5vw, 3.4rem); font-weight: 800; margin: 0 0 1rem; }
.lp h2 { font-size: clamp(1.6rem, 3.4vw, 2.4rem); font-weight: 800; margin: 0 0 .75rem; }
.lp h3 { font-size: 1.15rem; font-weight: 750; margin: 0 0 .4rem; }
.lp a:not(.btn) { color: var(--brand-700); }
.lp a.btn-primary { color: #fff; }
.lp .btn { font-size: .98rem; }
.lp-eyebrow { display: inline-flex; align-items: center; gap: .4rem; margin: 0 0 .8rem; font-size: .8rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; color: var(--brand-700); }
.lp-btn-velke { padding: .95rem 1.6rem; font-size: 1.05rem; border-radius: 12px; }

/* hlavička */
.lp-hlavicka { position: sticky; top: 0; z-index: 50; background: rgb(255 255 255 / .86); backdrop-filter: blur(14px) saturate(1.6); border-bottom: 1px solid rgb(19 40 107 / .08); }
.lp-hlavicka__in { display: flex; align-items: center; gap: 1rem; min-height: 68px; }
.lp-logo { display: inline-flex; align-items: center; gap: .55rem; font-weight: 800; font-size: 1.25rem; color: var(--text-strong) !important; text-decoration: none; letter-spacing: -.02em; }
.lp-logo b { color: var(--brand-700); font-weight: 800; }
.lp-logo > .ic { width: 36px; height: 36px; padding: 7px; border-radius: 11px; background: var(--grad-primary); color: #fff; box-shadow: var(--shadow-btn); }
.lp-logo--svetle { color: #fff !important; } .lp-logo--svetle b { color: var(--brand-300); }
.lp-menu { margin-left: auto; display: flex; align-items: center; gap: .3rem; }
.lp-menu > a:not(.btn) { padding: .5rem .8rem; border-radius: 10px; color: var(--text); text-decoration: none; font-weight: 600; font-size: .95rem; display: inline-flex; align-items: center; gap: .35rem; }
.lp-menu > a:not(.btn):hover, .lp-menu > a[aria-current="page"] { background: var(--primary-soft); color: var(--brand-800); }
.lp-menu .btn { margin-left: .4rem; }
.lp-menu-tlacitko { display: none; margin-left: auto; background: none; border: 0; padding: .5rem; border-radius: 10px; color: var(--text-strong); cursor: pointer; }
@media (max-width: 899px) {
  .lp-menu-tlacitko { display: inline-flex; }
  .lp-menu { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: .2rem; padding: .75rem 1rem 1.1rem; background: #fff; border-bottom: 1px solid var(--border); box-shadow: 0 18px 40px rgb(6 20 60 / .12); }
  .lp-menu.je-otevrene { display: flex; }
  .lp-menu .btn { margin: .5rem 0 0; justify-content: center; }
}

/* hero */
.lp-hero { position: relative; overflow: hidden; color: #fff; background: var(--grad-hero); background-color: var(--brand-900); padding: clamp(3rem, 7vw, 5.5rem) 0 clamp(3.5rem, 8vw, 6rem); }
.lp-hero__grid { display: grid; gap: 3rem; align-items: center; grid-template-columns: 1fr; }
@media (min-width: 980px) { .lp-hero__grid { grid-template-columns: 1.05fr .95fr; } }
.lp-hero h1 { color: #fff; }
.lp-hero h1 span { background: linear-gradient(90deg, #a5c8ff, #7dd3fc); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lp-hero .lp-eyebrow { color: #bfdbfe; background: rgb(255 255 255 / .1); padding: .35rem .75rem; border-radius: 999px; border: 1px solid rgb(255 255 255 / .16); }
.lp-hero__lead { font-size: 1.15rem; color: #dbeafe; max-width: 36rem; margin: 0 0 1.6rem; }
.lp-zalozit { display: flex; flex-wrap: wrap; gap: .6rem; max-width: 34rem; }
.lp-zalozit__pole { flex: 1 1 15rem; display: flex; align-items: center; background: #fff; border-radius: 12px; padding: 0 .9rem; box-shadow: 0 12px 30px rgb(6 20 60 / .35); }
.lp-zalozit__pole input { flex: 1; min-width: 0; border: 0; outline: 0; padding: .95rem 0; font: inherit; font-weight: 650; color: var(--text-strong); background: transparent; }
.lp-zalozit__pole span { color: var(--text-muted); font-weight: 600; }
.lp-zalozit__pole:focus-within { box-shadow: 0 0 0 3px #7dd3fc, 0 12px 30px rgb(6 20 60 / .35); }
.lp-zalozit .btn { padding: .95rem 1.4rem; border-radius: 12px; }
.lp-hero__body { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem 1.3rem; padding: 0; margin: 1.3rem 0 0; color: #dbeafe; font-size: .93rem; }
.lp-hero__body li { display: inline-flex; align-items: center; gap: .35rem; } .lp-hero__body .ic { color: #7dd3fc; }
.lp-hero__nahled { position: relative; }
.lp-prohlizec { border-radius: 16px; background: #fff; box-shadow: 0 40px 80px rgb(3 10 40 / .5); overflow: hidden; transform: perspective(1400px) rotateY(-6deg) rotateX(2deg); }
.lp-prohlizec__lista { display: flex; align-items: center; gap: .35rem; padding: .6rem .8rem; background: #eef2fa; }
.lp-prohlizec__lista i { width: 10px; height: 10px; border-radius: 50%; background: #cbd5e1; }
.lp-prohlizec__lista span { margin-left: .6rem; padding: .2rem .7rem; border-radius: 999px; background: #fff; font-size: .75rem; color: var(--text-muted); }
.lp-prohlizec__web { background: #fbf8f2; color: #13281a; }
.lp-mock-hlavicka { display: flex; align-items: center; gap: .6rem; padding: .8rem 1rem; font-size: .85rem; }
.lp-mock-hlavicka b { font-family: Georgia, serif; margin-right: auto; } .lp-mock-hlavicka span { width: 36px; height: 6px; border-radius: 3px; background: #d6d0c4; }
.lp-mock-hlavicka em, .lp-mock-hero em { font-style: normal; font-size: .72rem; font-weight: 700; color: #fff; background: #a3221f; padding: .35rem .7rem; border-radius: 999px; }
.lp-mock-hero { display: grid; gap: .5rem; justify-items: start; padding: 1.6rem 1.2rem 1.4rem; background: linear-gradient(120deg, #1f4d2b, #2f6b3a); color: #fff; }
.lp-mock-hero strong { font-family: Georgia, serif; font-size: 1.35rem; line-height: 1.2; } .lp-mock-hero small { color: #dcebd5; max-width: 22rem; }
.lp-mock-karty { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; padding: 1rem; }
.lp-mock-karty span { height: 64px; border-radius: 10px; background: #fff; border: 1px solid #ebe5d8; }
.lp-plovouci { position: absolute; display: flex; align-items: center; gap: .6rem; padding: .7rem .9rem; border-radius: 14px; background: #fff; color: var(--text-strong); box-shadow: 0 18px 40px rgb(3 10 40 / .35); font-size: .85rem; line-height: 1.3; }
.lp-plovouci small { display: block; color: var(--text-muted); } .lp-plovouci > .ic { flex: none; width: 34px; height: 34px; padding: 7px; border-radius: 10px; color: #fff; background: var(--grad-primary); }
.lp-plovouci--ai { left: -1rem; bottom: 2.5rem; } .lp-plovouci--zaloha { right: -.5rem; top: 1.5rem; } .lp-plovouci--zaloha > .ic { background: linear-gradient(135deg, #10b981, #0d9488); }
@media (max-width: 979px) { .lp-plovouci { display: none; } .lp-prohlizec { transform: none; } }

/* čísla */
.lp-cisla { background: var(--brand-950); color: #c7d7f7; padding: 1.6rem 0; }
.lp-cisla__grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); text-align: center; }
@media (min-width: 800px) { .lp-cisla__grid { grid-template-columns: repeat(4, 1fr); } }
.lp-cisla b { display: block; font-size: 1.5rem; font-weight: 800; color: #fff; } .lp-cisla span { font-size: .88rem; }

/* sekce */
.lp-sekce { padding: clamp(3.5rem, 8vw, 6rem) 0; }
.lp-sekce--prvni { padding-top: clamp(2.5rem, 6vw, 4rem); }
.lp-sekce--alt { background: #f4f7fe; }
.lp-sekce__hlava { max-width: 44rem; margin: 0 auto 2.6rem; text-align: center; }
.lp-sekce__hlava p:not(.lp-eyebrow) { color: var(--text-muted); font-size: 1.08rem; margin: 0; }
.lp-sekce__hlava--radek { max-width: none; display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; text-align: left; }
.lp-h2-maly { font-size: 1.5rem !important; margin-bottom: 1.2rem !important; }

.lp-kroky { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.2rem; grid-template-columns: 1fr; counter-reset: k; }
@media (min-width: 860px) { .lp-kroky { grid-template-columns: repeat(3, 1fr); } }
.lp-kroky li { position: relative; background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 1.6rem 1.4rem; box-shadow: var(--shadow); }
.lp-kroky__c { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--grad-primary); color: #fff; font-weight: 800; margin-bottom: .9rem; box-shadow: var(--shadow-btn); }
.lp-kroky p, .lp-vyhoda p { color: var(--text-muted); margin: 0; }

.lp-vyhody { display: grid; gap: 1.1rem; grid-template-columns: 1fr; }
@media (min-width: 700px) { .lp-vyhody { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1020px) { .lp-vyhody { grid-template-columns: repeat(3, 1fr); } }
.lp-vyhoda { background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 1.5rem; transition: transform .15s ease, box-shadow .15s ease; }
.lp-vyhoda:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.lp-vyhoda__ic { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--primary-soft); color: var(--brand-700); margin-bottom: .9rem; }

/* vzhledy */
.lp-vzhledy { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.lp-vzhled { display: flex; flex-direction: column; gap: .7rem; background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: .7rem .7rem 1rem; text-decoration: none; color: inherit; transition: box-shadow .15s ease, transform .15s ease; }
a.lp-vzhled:hover, .lp-vzhled:focus-within { box-shadow: var(--shadow); transform: translateY(-2px); }
.lp-vzhled .btn { align-self: flex-start; margin: 0 .3rem; }
.lp-vzhled__nahled { aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: linear-gradient(135deg, var(--brand-100), #f4f7fe); }
.lp-vzhled__nahled img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.lp-vzhled__nahled--remeslo { background: linear-gradient(135deg, #1f4d2b, #fbf8f2); } .lp-vzhled__nahled--chut { background: linear-gradient(135deg, #7c2d12, #fde7c7); }
.lp-vzhled__nahled--elegance { background: linear-gradient(135deg, #1c1917, #e7d9c3); } .lp-vzhled__nahled--pece { background: linear-gradient(135deg, #0e7490, #e0f2f1); }
.lp-vzhled__nahled--studio { background: linear-gradient(135deg, #111827, #6366f1); } .lp-vzhled__nahled--energie { background: linear-gradient(135deg, #f97316, #111827); }
.lp-vzhled__nahled--obec { background: linear-gradient(135deg, #1e3a5f, #e2e8f0); } .lp-vzhled__nahled--hrava { background: linear-gradient(135deg, #f59e0b, #a7f3d0); }
.lp-vzhled__nahled--cista-linie { background: linear-gradient(135deg, #0ea5e9, #14b8a6); }
.lp-vzhled__text { display: grid; gap: .1rem; padding: 0 .3rem; } .lp-vzhled__text small { color: var(--text-muted); } .lp-vzhled__popis { color: var(--text-muted); font-size: .88rem; }
.lp-filtr { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1.8rem; justify-content: center; }
.lp-filtr a { padding: .4rem .85rem; border-radius: 999px; border: 1px solid var(--border); background: #fff; font-size: .88rem; font-weight: 600; text-decoration: none; color: var(--text); }
.lp-filtr a[aria-current="page"], .lp-filtr a:hover { background: var(--grad-primary); color: #fff; border-color: transparent; }

/* tarify */
.lp-tarify { display: grid; gap: 1.1rem; grid-template-columns: 1fr; align-items: stretch; }
@media (min-width: 720px) { .lp-tarify { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .lp-tarify { grid-template-columns: repeat(4, 1fr); } }
.lp-tarif { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--border); border-radius: 20px; padding: 1.6rem 1.4rem; }
.lp-tarif--hlavni { border: 2px solid var(--brand-600); box-shadow: 0 20px 50px rgb(29 78 216 / .18); }
.lp-tarif__stitek { position: absolute; top: -.8rem; left: 1.4rem; background: var(--grad-primary); color: #fff; font-size: .75rem; font-weight: 750; padding: .25rem .7rem; border-radius: 999px; }
.lp-tarif__stitek--pripravujeme { background: var(--text-muted); }
.lp-tarif__cena.lp-tarif__cena--skryta { margin-bottom: 1.1rem; } .lp-tarif__cena.lp-tarif__cena--skryta b { font-size: 1.15rem; letter-spacing: 0; }
.lp-tarif__popis { color: var(--text-muted); margin: 0 0 1rem; min-height: 2.8em; }
.lp-tarif__cena { margin: 0; display: flex; align-items: baseline; gap: .35rem; } .lp-tarif__cena b { font-size: 2.1rem; font-weight: 800; color: var(--text-strong); letter-spacing: -.02em; }
.lp-tarif__cena span, .lp-tarif__rok { color: var(--text-muted); font-size: .9rem; } .lp-tarif__rok { margin: .1rem 0 1.1rem; }
.lp-tarif ul { list-style: none; padding: 0; margin: 0 0 1.4rem; display: grid; gap: .45rem; flex: 1; }
.lp-tarif li { display: flex; gap: .45rem; align-items: flex-start; } .lp-tarif li .ic { color: var(--success-600); flex: none; margin-top: .25rem; }
.lp-srovnani td, .lp-srovnani th[scope="row"] { font-size: .93rem; } .lp-srovnani th[scope="row"] { font-weight: 600; text-align: left; }
.lp-pozn { margin-top: 2rem; background: #fff; border: 1px solid var(--border); border-radius: 16px; padding: 1.4rem 1.5rem; }
.lp-pozn ul { margin: .5rem 0 1rem; padding-left: 1.2rem; }

/* FAQ, CTA, dokumenty */
.lp-faq { display: grid; gap: .7rem; }
.lp-faq details { background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 0 1.2rem; }
.lp-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.05rem 0; font-weight: 700; color: var(--text-strong); }
.lp-faq summary::-webkit-details-marker { display: none; }
.lp-faq summary .ic { flex: none; transition: transform .15s ease; color: var(--brand-600); } .lp-faq details[open] summary .ic { transform: rotate(180deg); }
.lp-faq details p { margin: 0 0 1.1rem; color: var(--text-muted); }
.lp-cta { padding: 0 0 clamp(3.5rem, 8vw, 6rem); }
.lp-cta__in { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; justify-content: space-between; padding: clamp(1.8rem, 4vw, 3rem); border-radius: 24px; background: var(--grad-hero); background-color: var(--brand-900); color: #dbeafe; }
.lp-cta__in h2 { color: #fff; } .lp-cta__in p { margin: 0; }
.lp-dokument h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); } .lp-dokument h2 { font-size: 1.35rem; margin-top: 2rem; } .lp-dokument h3 { margin-top: 1.4rem; }
.lp-dokument p, .lp-dokument li { color: var(--text); }
.lp-past { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lp-404 { text-align: center; }

/* patička */
.lp-paticka { background: var(--brand-950); color: #a9bbe0; padding: 3rem 0 1.5rem; font-size: .93rem; }
.lp-paticka__grid { display: grid; gap: 2rem; grid-template-columns: 1fr; }
@media (min-width: 800px) { .lp-paticka__grid { grid-template-columns: 1.6fr 1fr 1.2fr 1fr; } }
.lp-paticka a:not(.lp-logo) { display: flex; align-items: center; gap: .35rem; color: #cfdcf7; text-decoration: none; padding: .2rem 0; } .lp-paticka a:hover { color: #fff; }
.lp-paticka__nadpis { color: #fff; font-weight: 750; margin-bottom: .5rem; }
.lp-paticka__spodek { margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid rgb(255 255 255 / .1); font-size: .85rem; }

/* =============================================================== aplikace (muj, sprava) */
.inline-form { display: inline; margin: 0; }
.form-grid .pul { min-width: 0; }
.form-help a { color: var(--link); }
.sub { color: var(--text-muted); font-size: .92rem; margin-top: .2rem; }
.mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .86em; }
.nowrap { white-space: nowrap; }
.tab-num { font-variant-numeric: tabular-nums; }
.vlevo { text-align: left; } .vpravo { text-align: right; }
.mezera { margin-top: 1rem; }
.stav-radek { display: flex; flex-wrap: wrap; gap: .4rem .9rem; align-items: center; }
.dl { display: grid; grid-template-columns: minmax(8rem, max-content) 1fr; gap: .45rem 1.2rem; margin: 0; }
.dl dt { color: var(--text-muted); font-size: .9rem; } .dl dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.code-box { background: var(--surface-2); border: 1px solid var(--border); border-radius: 10px; padding: .7rem .9rem; font-family: ui-monospace, Consolas, monospace; font-size: .85rem; overflow-x: auto; white-space: pre-wrap; word-break: break-all; }
.log { max-height: 420px; overflow: auto; }
.log li { font-size: .88rem; }
.log .uroven-chyba { color: var(--danger-600); }
.qr { width: 200px; max-width: 100%; background: #fff; padding: .4rem; border-radius: 12px; border: 1px solid var(--border); }
.qr-velky { width: 380px; }
.qr svg { display: block; width: 100%; height: auto; }

/* registrace – průvodce */
.reg { width: 100%; max-width: 560px; }
.reg .auth-card { max-width: none; }
.reg-kroky { display: flex; gap: .35rem; list-style: none; padding: 0; margin: 0 0 1.3rem; }
.reg-kroky li { flex: 1; height: 5px; border-radius: 3px; background: var(--border); }
.reg-kroky li.hotovo { background: var(--brand-600); } .reg-kroky li.ted { background: var(--grad-primary); }
.reg-krok-nazev { color: var(--text-muted); font-size: .85rem; font-weight: 650; margin: -0.6rem 0 .3rem; }
.reg h1 { font-size: 1.4rem; margin: 0 0 .4rem; color: var(--text-strong); }
.reg .lead { color: var(--text-muted); margin: 0 0 1.2rem; }
.reg-volba { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-bottom: .4rem; }
.reg-volba label { display: flex; gap: .55rem; align-items: flex-start; padding: .8rem .9rem; border: 1px solid var(--border); border-radius: 12px; cursor: pointer; background: var(--surface); }
.reg-volba label:has(input:checked) { border-color: var(--brand-600); box-shadow: 0 0 0 3px var(--primary-soft); }
.reg-volba small { display: block; color: var(--text-muted); font-size: .82rem; }
.reg-sub { display: flex; align-items: center; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding-right: .8rem; }
.reg-sub:focus-within { border-color: var(--brand-600); box-shadow: 0 0 0 3px var(--primary-soft); }
.reg-sub .input { border: 0; box-shadow: none !important; background: transparent; } .reg-sub span { color: var(--text-muted); white-space: nowrap; }
.reg-sub select { border: 0; background: transparent; color: var(--text-muted); font: inherit; padding: .55rem 0 .55rem .25rem; max-width: 55%; cursor: pointer; }
.reg-dostupnost { min-height: 1.3em; font-size: .88rem; margin-top: .3rem; } .reg-dostupnost.ok { color: var(--success-600); } .reg-dostupnost.chyba { color: var(--danger-600); }
.reg-firma { background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: .8rem 1rem; }
.reg-vzhledy { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); max-height: 360px; overflow-y: auto; padding: .2rem; }
.reg-vzhledy label { display: grid; gap: .35rem; border: 1px solid var(--border); border-radius: 12px; padding: .4rem; cursor: pointer; font-size: .85rem; font-weight: 600; }
.reg-vzhledy label:has(input:checked) { border-color: var(--brand-600); box-shadow: 0 0 0 3px var(--primary-soft); }
.reg-vzhledy input { position: absolute; opacity: 0; pointer-events: none; }
.reg-vzhledy .lp-vzhled__nahled { aspect-ratio: 16 / 10; border-radius: 8px; }
.reg-kod { font-size: 1.5rem; letter-spacing: .4em; text-align: center; font-weight: 700; }
.reg-pata { margin-top: 1.1rem; font-size: .88rem; color: var(--text-muted); text-align: center; }

/* karty webů v portálu */
.weby-grid { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.web-karta .card-body { display: grid; gap: .8rem; }
.web-karta__adresa { font-weight: 700; font-size: 1.05rem; color: var(--text-strong); overflow-wrap: anywhere; }
.web-karta__akce { display: flex; flex-wrap: wrap; gap: .4rem; }
.meric { height: 8px; border-radius: 4px; background: var(--surface-3); overflow: hidden; }
.meric > span { display: block; height: 100%; border-radius: 4px; background: var(--grad-primary); }
.meric--varovani > span { background: linear-gradient(90deg, #f59e0b, #ef4444); }
.meric-w-0 > span { width: 0 } .meric-w-5 > span { width: 5% } .meric-w-10 > span { width: 10% } .meric-w-15 > span { width: 15% } .meric-w-20 > span { width: 20% } .meric-w-25 > span { width: 25% }
.meric-w-30 > span { width: 30% } .meric-w-35 > span { width: 35% } .meric-w-40 > span { width: 40% } .meric-w-45 > span { width: 45% } .meric-w-50 > span { width: 50% } .meric-w-55 > span { width: 55% }
.meric-w-60 > span { width: 60% } .meric-w-65 > span { width: 65% } .meric-w-70 > span { width: 70% } .meric-w-75 > span { width: 75% } .meric-w-80 > span { width: 80% } .meric-w-85 > span { width: 85% }
.meric-w-90 > span { width: 90% } .meric-w-95 > span { width: 95% } .meric-w-100 > span { width: 100% }
.tarif-volba { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); }
.tarif-volba label { display: grid; gap: .25rem; padding: 1rem; border: 1px solid var(--border); border-radius: 14px; cursor: pointer; background: var(--surface); }
.tarif-volba label:has(input:checked) { border-color: var(--brand-600); box-shadow: 0 0 0 3px var(--primary-soft); }
.tarif-volba b { font-size: 1.05rem; color: var(--text-strong); } .tarif-volba .cena { font-weight: 800; font-size: 1.2rem; color: var(--brand-700); }
.dns-tabulka td { vertical-align: top; }
.kopirovat { cursor: pointer; }
.tocitko { display: inline-block; width: 18px; height: 18px; flex: none; border-radius: 50%; border: 2.5px solid var(--brand-100); border-top-color: var(--brand-600); animation: tocit .8s linear infinite; }
@keyframes tocit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .tocitko { animation-duration: 2.4s; } }
details > summary.btn { list-style: none; display: inline-flex; } details > summary.btn::-webkit-details-marker { display: none; }
.narrow { max-width: 460px; }
.nav-foot .btn-ghost { color: var(--sidebar-text); border-color: rgb(255 255 255 / .25); }
.nav-foot .btn-ghost:hover { background: rgb(255 255 255 / .12); color: #fff; }

/* oznámení: zvonek v liště, seznam, nastavení odběrů a zařízení (PWA) */
[hidden] { display: none !important; }   /* .btn a další mají display – atribut hidden musí vyhrát (tlačítka push a instalace ukazuje až JS) */
.zvonek { position: relative; }
.zvonek-pocet { position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--danger-solid); color: #fff; font: 700 11px/18px var(--font); text-align: center; box-shadow: 0 0 0 2px var(--topbar-bg); }
.oznameni-seznam { list-style: none; margin: 0; padding: 0; }
.oznameni-polozka { display: flex; gap: .8rem; padding: 1rem 1.1rem; border-bottom: 1px solid var(--border); }
.oznameni-polozka:last-child { border-bottom: 0; }
.oznameni-polozka > .ic { flex: none; margin-top: .15rem; color: var(--info-600); }
.oznameni-warning > .ic { color: var(--warning-600); }
.oznameni-danger > .ic { color: var(--danger-600); }
.oznameni-polozka > div { flex: 1; min-width: 0; }
.oznameni-polozka p { margin: .3rem 0 .35rem; }
.oznameni-polozka.nove { background: var(--soft-info-bg); }
.push-blok { display: grid; gap: .75rem; }
.push-stav { margin: 0; }
.odbery-tabulka th:not(:first-child), .odbery-tabulka td:not(:first-child) { text-align: center; width: 92px; }
.odbery-tabulka input[type="checkbox"] { width: 20px; height: 20px; }

/* veřejný web: kontakt, stav služeb, nápověda, AI */
.lp-kontakt { display: grid; gap: 1.5rem; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 900px) { .lp-kontakt { grid-template-columns: 1.4fr 1fr; } }
.lp-kontakt__info { display: grid; gap: 1rem; }
.lp-odkazy { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.lp-odkazy a { display: inline-flex; align-items: center; gap: .4rem; }
.lp-stav { list-style: none; margin: 1.2rem 0; padding: 0; display: grid; gap: .7rem; }
.lp-stav__polozka { background: #fff; border: 1px solid var(--border); border-left: 4px solid var(--success-600); border-radius: 12px; padding: .9rem 1.1rem; }
.lp-stav__polozka--omezeni { border-left-color: var(--warning-600); } .lp-stav__polozka--vypadek { border-left-color: var(--danger-600); } .lp-stav__polozka--nezname { border-left-color: var(--border); }
.lp-stav__polozka p { margin: .3rem 0 0; }
.lp-stav__celkem { margin-bottom: 0; }
.lp-hledat { display: flex; gap: .6rem; margin: 0 0 1.2rem; } .lp-hledat .input { flex: 1; min-width: 0; }
.lp-hledat__vysledek { margin: 0 0 1rem; }
.lp-clanky { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.lp-clanky a { display: grid; gap: .25rem; background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 1rem 1.2rem; text-decoration: none; color: var(--text); }
.lp-clanky a:hover, .lp-clanky a:focus-visible { box-shadow: var(--shadow); border-color: var(--brand-600); }
.lp-clanky b { color: var(--brand-700); font-size: 1.05rem; } .lp-clanky span { color: var(--text-muted); font-size: .93rem; }
.lp-napoveda { display: grid; gap: 2rem; grid-template-columns: 1fr; }
@media (min-width: 960px) { .lp-napoveda { grid-template-columns: minmax(0, 1fr) 280px; } }
.lp-napoveda__clanek { min-width: 0; max-width: 760px; }
.lp-napoveda__menu ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.lp-napoveda__menu a[aria-current="page"] { font-weight: 700; }
.lp-napoveda__nadpis { font-weight: 750; color: var(--text-strong); margin-bottom: .6rem; }
.lp-drobky { margin: 0 0 .6rem; } .lp-drobky a { display: inline-flex; align-items: center; gap: .3rem; }
.lp-seznam { list-style: none; margin: 0 0 1.2rem; padding: 0; display: grid; gap: .9rem; }
.lp-seznam li { display: flex; gap: .7rem; align-items: flex-start; } .lp-seznam li > .ic { flex: none; color: var(--success-600); margin-top: .2rem; }
.lp-pod-tabulkou { margin: 1rem 0 0; }

/* přesun webu na jiný server */
.presun-cil { padding: .8rem 0; border-top: 1px solid var(--border); }
.presun-cil p { margin: .3rem 0 0; }
meter.bar { width: 100%; max-width: 160px; height: 10px; }

/* přílohy tiketů podpory */
.prilohy-seznam { list-style: none; padding: 0; margin: .5rem 0 0; display: flex; flex-wrap: wrap; gap: .25rem 1rem; }
.prilohy-seznam a { display: inline-flex; align-items: center; gap: .35rem; }

/* správa: katalog vzhledů, AI po dnech, lišta „správce jako zákazník“ */
.katalog-vzhledu { display: grid; gap: .9rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.katalog-vzhledu article { display: flex; flex-direction: column; gap: .45rem; border: 1px solid var(--border); border-radius: 14px; padding: .55rem; background: var(--surface); }
.katalog-vzhledu article.skryty { opacity: .62; }
.katalog-vzhledu .lp-vzhled__nahled { aspect-ratio: 16 / 10; border-radius: 10px; }
.katalog-vzhledu .between { gap: .4rem; flex-wrap: wrap; }
meter.bar-siroky { width: 100%; height: 10px; }
.jako-lista { margin: 0 0 1rem; align-items: center; }
.jako-lista form { margin-left: auto; }
.json-box { max-height: 420px; overflow: auto; }

/* grafy statistiky webu (SVG ze serveru, inc/zprava_mesicni.php): jedna řada = jeden odstín značky, mřížka a osy zdrženlivé, text v barvách textu */
.graf { display: block; width: 100%; height: auto; overflow: visible; }
.graf-sloupec { fill: var(--brand-600); }
.graf-den:hover .graf-sloupec, .graf-den:focus-within .graf-sloupec { fill: var(--brand-800); }
.graf-cil { fill: transparent; }
.graf-stopa { fill: var(--soft-muted-bg); }
.graf-mrizka { stroke: var(--border); stroke-width: 1; }
.graf-zaklad { stroke: var(--border-strong); stroke-width: 1; }
.graf-osa { fill: var(--text-muted); font-size: 11px; }
@media (max-width: 640px) { .graf-osa { font-size: 19px; } }   /* SVG se na mobilu zmenší – popisky os zůstanou čitelné */
.graf-pruhy { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.graf-pruhy li { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr) 4.5rem; gap: .75rem; align-items: center; }
.graf-pruhy__popis { font-size: .9rem; color: var(--text); }
.graf-pruhy__hodnota { font-size: .9rem; font-weight: 600; color: var(--text-strong); text-align: right; }
.graf-pruh { display: block; width: 100%; height: 12px; border-radius: 4px; }
@media (max-width: 640px) { .graf-pruhy li { grid-template-columns: minmax(0, 1fr) auto; gap: .25rem .75rem; } .graf-pruh { grid-column: 1 / -1; grid-row: 2; } }
:root[data-theme="dark"] .graf-sloupec { fill: var(--brand-400); }
:root[data-theme="dark"] .graf-den:hover .graf-sloupec { fill: var(--brand-300); }
.akce-bunka { display: flex; flex-wrap: wrap; gap: .4rem; align-items: flex-start; }
.akce-bunka details { flex-basis: 100%; }

/* rychlé odkazy do administrace webu (Přehled a detail webu) */
.web-odkazy { display: flex; flex-wrap: wrap; gap: .3rem; }
.page-head + .web-odkazy { margin-bottom: 1rem; }

/* návod na DNS podle poskytovatele (detail webu) */
.dns-kroky { margin: 0 0 .75rem; padding-left: 1.25rem; display: grid; gap: .25rem; }

/* trychtýř registrací (Správa) */
.trychtyr { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.trychtyr li { display: grid; gap: .25rem; }

/* fotobanka (Správa) */
.fotobanka-mrizka { display: grid; gap: .9rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.fotobanka-mrizka article { display: flex; flex-direction: column; gap: .35rem; border: 1px solid var(--border); border-radius: 12px; padding: .6rem; min-width: 0; }
.fotobanka-mrizka article.skryty { opacity: .62; }
.fotobanka-mrizka img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px; }
.vzhled-ukazka { display: flex; flex-wrap: wrap; gap: .5rem; align-items: end; margin-bottom: .9rem; }
.vzhled-ukazka .form-row { flex: 1 1 18rem; margin: 0; }

/* Ukažte mi můj web (www /muj-web) a živé ukázky v katalogu vzhledů */
.lp-hero__odkaz { margin: .9rem 0 0; } .lp-hero__odkaz a { color: #dbeafe; text-decoration: underline; display: inline-flex; align-items: center; gap: .35rem; }
.lp-nahledy { display: grid; gap: 2.2rem; }
.lp-nahled { display: grid; gap: .7rem; min-width: 0; }
.lp-nahled__hlava { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .6rem; }
.lp-nahled__hlava > div { display: grid; gap: .1rem; min-width: 0; }
.lp-nahled__ram { display: block; width: 100%; height: min(70vh, 640px); border: 0; background: #fff; }
.lp-vzhled__ukazka { padding: 0 .3rem; }

/* dotazník při zakládání webu (views/muj/_web-dotaznik.php) */
.dotaznik__volba { padding: .8rem 1rem; border: 1px solid var(--border); border-radius: 12px; }
.dotaznik__volba > summary { cursor: pointer; }

/* Správa → Čísla (views/sprava/cisla.php): grafy jako inline SVG, jedna řada v jednom grafu, barvy z ověřené palety pro světlý i tmavý režim */
.cisla-lista { margin-bottom: 1rem; gap: .75rem; flex-wrap: wrap; }
.cisla-akce { display: inline-flex; gap: .4rem; flex-wrap: wrap; align-items: center; }
.cisla-def { margin: 0 0 .75rem; max-width: 75ch; }
.cisla-definice { margin: 0; display: grid; gap: .85rem 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.cisla-definice dt { font-weight: 700; }
.cisla-definice dd { margin: 0; color: var(--text-muted); font-size: .88rem; }
.cisla-grafy { --cisla-sloupec: #2a78d6; --cisla-mrizka: #e4e8f0; --cisla-nula: #b9c2d3; display: grid; gap: 1.25rem 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
:root[data-theme="dark"] .cisla-grafy { --cisla-sloupec: #3987e5; --cisla-mrizka: #22345a; --cisla-nula: #31476f; }
.cisla-figura { margin: 0; min-width: 0; }
.cisla-figura figcaption { font-weight: 700; color: var(--text-strong); margin-bottom: .25rem; }
.cisla-graf { display: block; width: 100%; height: auto; overflow: visible; }
.cisla-mrizka { stroke: var(--cisla-mrizka); stroke-width: 1; }
.cisla-nula { stroke: var(--cisla-nula); }
.cisla-osa { fill: var(--text-muted); font-size: 10px; font-variant-numeric: tabular-nums; }
.cisla-hodnota { fill: var(--text-strong); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.cisla-terc { fill: transparent; }
.cisla-pasmo.je-aktivni .cisla-terc { fill: var(--cisla-mrizka); fill-opacity: .55; }
.cisla-sloupec { fill: var(--cisla-sloupec); }
.cisla-tip { position: fixed; z-index: 90; pointer-events: none; padding: .3rem .55rem; border-radius: 6px; background: var(--text-strong); color: var(--surface); font-size: .82rem; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; box-shadow: 0 2px 8px rgb(0 0 0 / .25); }
.cisla-tarify { list-style: none; margin: 0 0 .9rem; padding: 0; display: grid; gap: .85rem; }
.cisla-tarify .meric { margin: .3rem 0; }

/* průvodce e-mailem (views/muj/email.php): barvy z tokenů, takže funguje světle i tmavě; bílý text jen na sytém přechodu úvodu */
.em-domeny { margin-bottom: 1rem; }
.em-uvod { display: grid; gap: 1.5rem; padding: clamp(1.25rem, 3vw, 2.25rem); margin-bottom: 1.1rem; border-radius: var(--radius); background: var(--grad-hero); color: #fff; box-shadow: var(--shadow-lg); }
@media (min-width: 1100px) { .em-uvod { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; } }
.em-uvod h2 { margin: 0 0 .6rem; color: #fff; font-size: clamp(1.4rem, 3.2vw, 2rem); line-height: 1.25; }
.em-uvod p { color: rgb(255 255 255 / .94); }
.em-uvod a { color: #fff; text-decoration: underline; }
.em-uvod__nadpisek { margin: 0 0 .5rem; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #dbeafe !important; }
.em-uvod__adresa { padding: .02em .35em; border-radius: 8px; background: rgb(255 255 255 / .16); font-family: var(--mono); font-size: .82em; }
.em-fakta { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .6rem; }
.em-fakta li { display: flex; gap: .6rem; align-items: flex-start; }
.em-fakta .ic { flex: none; margin-top: .2rem; color: #bfdbfe; }
.em-cesty { margin: 0; display: grid; gap: .7rem; padding: .9rem; border: 1px solid rgb(255 255 255 / .22); border-radius: 14px; background: rgb(255 255 255 / .1); }
.em-cesty figcaption { font-size: .85rem; font-weight: 700; color: #dbeafe; }
.em-cesta { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr); align-items: stretch; gap: .25rem; }
.em-uzel { display: grid; justify-items: center; align-content: center; gap: .25rem; min-height: 4.4rem; padding: .5rem .2rem; border-radius: 12px; background: rgb(255 255 255 / .13); text-align: center; font-size: .76rem; line-height: 1.2; }
.em-uzel b { font-size: 1.15rem; }
.em-uzel--zaznam { background: #fff; color: #13286b; font-weight: 650; }
.em-uzel--klid { border: 1.5px dashed rgb(255 255 255 / .6); background: transparent; }
.em-sipka { display: flex; align-items: center; color: #bfdbfe; }
.em-rail { margin-bottom: 1.1rem; }
.em-rail ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .2rem; }
.em-rail__krok { position: relative; min-width: 0; }
.em-rail__krok + .em-rail__krok::before { content: ""; position: absolute; top: 1.02rem; left: -50%; right: 50%; height: 2px; background: var(--border-strong); }
.em-rail a { position: relative; display: grid; justify-items: center; gap: .35rem; color: var(--text-muted); font-size: .76rem; font-weight: 650; line-height: 1.2; text-align: center; text-decoration: none; }
.em-rail a:hover { color: var(--link); }
.em-rail__cislo { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border: 2px solid var(--border-strong); border-radius: 50%; background: var(--surface); color: var(--text-strong); font-size: .9rem; font-weight: 800; }
.em-rail__krok--hotovo .em-rail__cislo { border-color: var(--success-600); background: var(--soft-success-bg); color: var(--success-700); }
.em-rail__krok--chybi .em-rail__cislo { border-color: var(--warning-600); background: var(--soft-warning-bg); color: var(--warning-700); }
.em-rail__krok--spatne .em-rail__cislo { border-color: var(--danger-600); background: var(--soft-danger-bg); color: var(--danger-700); }
@media (max-width: 640px) { .em-rail__text { display: none; } }
.em-kontrola, .em-krok, #potize { scroll-margin-top: 5rem; }
.em-krok { margin-bottom: 1.1rem; padding: clamp(1rem, 2.4vw, 1.5rem); border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.em-krok__hlava { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .85rem; margin-bottom: .9rem; }
.em-krok__hlava h2 { flex: 1 1 12rem; min-width: 0; margin: 0; font-size: clamp(1.12rem, 2.4vw, 1.35rem); }
.em-krok__cislo { flex: none; display: grid; place-items: center; width: 3.1rem; height: 3.1rem; border-radius: 50%; background: var(--grad-primary); color: #fff; font-size: 1.55rem; font-weight: 800; box-shadow: var(--shadow-btn); }
@media (min-width: 720px) { .em-krok__obsah { padding-left: 3.95rem; } }
@media (max-width: 480px) { .em-krok__cislo { width: 2.6rem; height: 2.6rem; font-size: 1.3rem; } }
.em-krok__obsah > :first-child { margin-top: 0; }
.em-krok__obsah > :last-child { margin-bottom: 0; }
.em-postup { display: grid; gap: .55rem; margin: .5rem 0 1rem; padding-left: 1.4rem; }
.em-postup li::marker { color: var(--link); font-weight: 800; }
.em-tl, .em-zas { padding: .1em .5em; border: 1px solid var(--border-strong); border-bottom-width: 2px; border-radius: 7px; background: var(--surface-2); color: var(--text-strong); font-size: .92em; font-weight: 700; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.em-zas .ic { width: 1.05em; height: 1.05em; margin-right: .35em; padding: 1px; border-radius: 3px; background: var(--link); color: var(--surface); vertical-align: -.14em; }
.em-kod { padding: .08em .35em; border-radius: 6px; background: var(--surface-3); color: var(--text-strong); font-family: var(--mono); font-size: .9em; overflow-wrap: anywhere; }
.em-kod--radek { display: block; width: fit-content; max-width: 100%; margin: .25rem 0 0; }
.em-pozn, .em-dalsi { display: flex; gap: .6rem; align-items: flex-start; margin: .8rem 0; padding: .7rem .9rem; border-radius: 12px; background: var(--soft-info-bg); color: var(--text); }
.em-pozn > .ic, .em-dalsi > .ic { flex: none; margin-top: .2rem; color: var(--info-600); }
.em-pozn--pozor { background: var(--soft-warning-bg); } .em-pozn--pozor > .ic { color: var(--warning-600); }
.em-pozn--dulezite { background: var(--soft-danger-bg); } .em-pozn--dulezite > .ic { color: var(--danger-600); }
.em-dalsi { margin-top: 1rem; background: var(--primary-soft); } .em-dalsi > .ic { color: var(--link); }
.em-dalsi--hotovo { background: var(--soft-success-bg); } .em-dalsi--hotovo > .ic { color: var(--success-600); }
.em-volba { display: grid; gap: .8rem; margin-top: 1rem; }
@media (min-width: 720px) { .em-volba { grid-template-columns: 1fr 1fr; } }
.em-volba__karta { padding: .9rem 1rem; border: 2px solid; border-radius: 14px; }
.em-volba__karta--ano { border-color: var(--success-600); background: var(--soft-success-bg); }
.em-volba__karta--ne { border-color: var(--danger-600); background: var(--soft-danger-bg); }
.em-volba__hlava { display: flex; gap: .5rem; align-items: center; color: var(--text-strong); }
.em-volba__karta--ano .ic { color: var(--success-600); } .em-volba__karta--ne .em-volba__hlava .ic { color: var(--danger-600); }
.em-volba p { margin: .5rem 0 0; color: var(--text); }
.em-zona { margin: 1rem 0; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2); }
.em-zona__hlava { padding: .5rem .85rem; color: var(--text-muted); font-size: .8rem; font-weight: 750; overflow-wrap: anywhere; }
.em-zona__radek { display: grid; grid-template-columns: 4.1rem 3.9rem minmax(0, 1fr); gap: .5rem; align-items: baseline; padding: .45rem .85rem; border-top: 1px solid var(--border); color: var(--text); font-size: .86rem; }
.em-zona__radek code { overflow-wrap: anywhere; }
.em-zona__radek > span { padding: .1rem .3rem; border-radius: 6px; font-size: .7rem; font-weight: 800; letter-spacing: .03em; text-align: center; text-transform: uppercase; }
.em-zona__radek--pryc > span { background: var(--soft-danger-bg); color: var(--danger-700); } .em-zona__radek--pryc code { text-decoration: line-through; }
.em-zona__radek--nove { background: var(--soft-success-bg); } .em-zona__radek--nove > span { background: var(--surface); color: var(--success-700); }
.em-zona__radek--nechat > span { background: var(--soft-muted-bg); color: var(--text-muted); }
.em-mx-formular { display: grid; gap: .75rem; margin-top: 1rem; padding: 1rem; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2); }
.em-mx-formular .btn { justify-self: start; } .em-mx-formular p, .em-mx-formular .alert { margin: 0; }
.em-mx-radek { display: grid; grid-template-columns: minmax(0, 1fr) 6.5rem; gap: .6rem; }
@media (max-width: 480px) { .em-mx-radek { grid-template-columns: minmax(0, 1fr) 4.8rem; } }
.em-kod-pole { font-family: var(--mono); font-size: .88rem; }
.em-potvrzeni { margin-top: 1rem; padding: 1rem; border: 2px solid var(--warning-600); border-radius: 14px; background: var(--soft-warning-bg); color: var(--text); scroll-margin-top: 5rem; }
.em-potvrzeni h3 { display: flex; gap: .5rem; align-items: center; margin: 0 0 .4rem; }
.em-potvrzeni h3 .ic { color: var(--warning-600); }
.em-potvrzeni__mrizka { display: grid; gap: .8rem; margin: .7rem 0; }
@media (min-width: 720px) { .em-potvrzeni__mrizka { grid-template-columns: 1fr 1fr; } }
.em-plan { list-style: none; display: grid; gap: .4rem; margin: .8rem 0; padding: 0; }
.em-plan__radek { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); gap: .5rem; padding: .55rem .75rem; border: 1px solid var(--border); border-left: 4px solid var(--link); border-radius: 10px; background: var(--surface-2); }
.em-plan__radek--nic { border-left-color: var(--success-600); }
.em-plan__radek--konflikt { border-left-color: var(--warning-600); background: var(--soft-warning-bg); }
.em-tab-obal { margin: .8rem 0; }
.em-tab { width: 100%; border-collapse: collapse; font-size: .9rem; }
.em-tab th { padding: .45rem .6rem; background: var(--table-head-bg); color: var(--table-head-text); font-size: .78rem; text-align: left; }
.em-tab td { padding: .55rem .6rem; border-top: 1px solid var(--border); vertical-align: top; overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .em-tab thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .em-tab, .em-tab tbody, .em-tab tr, .em-tab td { display: block; width: 100%; }
  .em-tab tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .8rem; margin-bottom: .6rem; padding: .35rem .7rem; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); }
  .em-tab td { grid-column: 1 / -1; padding: .3rem 0; border: 0; }
  .em-tab--zaznamy td:nth-child(1) { grid-column: 1; grid-row: 1; } .em-tab--zaznamy td:nth-child(4) { grid-column: 2; grid-row: 1; }
  .em-tab--sluzby td:nth-child(3), .em-tab--sluzby td:nth-child(4) { grid-column: auto; }
  .em-tab td::before { content: attr(data-label); display: block; color: var(--text-muted); font-size: .72rem; font-weight: 750; }
}
.em-vysledky { list-style: none; display: grid; gap: .55rem; margin: 1rem 0 0; padding: 0; }
.em-vysledek { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .7rem; padding: .75rem .85rem; border: 1px solid var(--border); border-left: 4px solid var(--border-strong); border-radius: 12px; background: var(--surface-2); }
.em-vysledek__ikona { color: var(--text-muted); }
.em-vysledek--hotovo { border-left-color: var(--success-600); } .em-vysledek--hotovo .em-vysledek__ikona { color: var(--success-600); }
.em-vysledek--chybi { border-left-color: var(--warning-600); } .em-vysledek--chybi .em-vysledek__ikona { color: var(--warning-600); }
.em-vysledek--spatne { border-left-color: var(--danger-600); background: var(--soft-danger-bg); } .em-vysledek--spatne .em-vysledek__ikona { color: var(--danger-600); }
.em-vysledek__hlava { display: flex; flex-wrap: wrap; gap: .4rem .6rem; align-items: center; color: var(--text-strong); }
.em-vysledek p { margin: .25rem 0 0; }
.em-vysledek__rada { color: var(--text-strong); font-weight: 600; }
.em-navrh { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: .4rem 0 0; }
.em-sluzby { display: grid; gap: .6rem; margin: .8rem 0; }
@media (min-width: 720px) { .em-sluzby { grid-template-columns: 1fr 1fr; } }
.em-sluzba { display: flex; gap: .7rem; padding: .7rem .9rem; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); }
.em-sluzba > .ic { flex: none; color: var(--link); } .em-sluzba p { margin: .1rem 0 0; color: var(--text-muted); font-size: .9rem; }
.em-potize { display: grid; gap: .5rem; } .em-potize details p { margin: .5rem 0 0; } .em-potize > p { margin: .4rem 0 0; }
.em-pata { display: flex; gap: .5rem; align-items: flex-start; margin: 0 .2rem 1.5rem; } .em-pata > .ic { flex: none; margin-top: .15rem; }
.em-vyber { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; }
.em-pozvanka { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between; padding: .85rem 1rem; border: 1px solid var(--border); border-radius: 12px; background: var(--primary-soft); color: var(--text); }
.em-pozvanka > div { flex: 1 1 18rem; min-width: 0; }

/* články a dokumenty z Markdownu (md_html, inc/pravni.php): tabulky, poznámky a kroky */
.md-tabulka { margin: 1rem 0; overflow-x: auto; }
.md-tabulka table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.md-tabulka th { padding: .5rem .7rem; background: var(--table-head-bg); color: var(--table-head-text); font-size: .82rem; text-align: left; }
.md-tabulka td { padding: .5rem .7rem; border-top: 1px solid var(--border); vertical-align: top; }
.md-pozn { margin: 1.1rem 0; padding: .75rem 1rem; border-left: 4px solid var(--link); border-radius: 12px; background: var(--soft-info-bg); }
.md-pozn p, .md-pozn ul, .md-pozn ol { margin: .3rem 0; }
.md-pozn--varovani { border-left-color: var(--danger-600); background: var(--soft-danger-bg); }
.md-pozn--pozor { border-left-color: var(--warning-600); background: var(--soft-warning-bg); }
.md-pozn--tip { border-left-color: var(--success-600); background: var(--soft-success-bg); }
.md-krok { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .7rem; margin-top: 2.2rem; scroll-margin-top: 5.5rem; }
.md-krok__cislo { display: inline-block; padding: .2rem .65rem; border-radius: 999px; background: var(--grad-primary); color: #fff; font-size: .82rem; font-weight: 800; letter-spacing: .02em; white-space: nowrap; }
.lp-dokument code { padding: .08em .35em; border-radius: 6px; background: var(--surface-3); color: var(--text-strong); overflow-wrap: anywhere; }
.lp-dokument h2 + .md-tabulka, .lp-dokument h3 + .md-tabulka { margin-top: .6rem; }

