/* /Components/Account/Pages/Login.razor.rz.scp.css */
/* Přihlašovací obrazovka podle firemního návrhu.
   Izolované CSS stránky, aby obecné třídy (.field, .button, .page) nekolidovaly
   se zbytkem aplikace. ::deep je potřeba pro obsah vnořených komponent. */
/* Proměnné patří na scopované elementy — :root by v izolovaném CSS nikdy nesedělo
   (scope atribut nese jen markup této stránky, ne <html>). */
.page[b-xg9536rcvf], .page-decoration[b-xg9536rcvf] {
    --navy: #192b39;
    --navy-deep: #182936;
    --sand: #e4be8a;
    --sand-hover: #d3a86f;
    --login-ink: #1c2d3d;
    --login-muted: #6f7d90;
    --login-border: #cbd3de;
    --login-link: #aa601c;
    --login-error: #a52c32;
}

.svg-definitions[b-xg9536rcvf] { position: absolute; width: 0; height: 0; overflow: hidden; }

.page-decoration[b-xg9536rcvf] { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; background: radial-gradient(ellipse at 52% 45%, #fff 0, #f7f8fa 53%, #f5f6f8 100%); }
.blueprint[b-xg9536rcvf] { position: absolute; width: 420px; height: 403px; color: #94a2b4; opacity: .18; }
.blueprint--top[b-xg9536rcvf] { top: -30px; left: -45px; }
.blueprint--bottom[b-xg9536rcvf] { bottom: -25px; right: -95px; transform: rotate(180deg); }

.page[b-xg9536rcvf] { position: relative; z-index: 1; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 80px 32px 40px; color: var(--login-ink); }
.auth-card[b-xg9536rcvf] { display: grid; grid-template-columns: 46.75% 53.25%; width: min(1172px, 100%); min-height: 760px; border: 1px solid #cdd4de; border-radius: 20px; background: #fff; box-shadow: 0 18px 38px -18px #172b3d32, 0 3px 10px #172b3d06; overflow: hidden; isolation: isolate; }

/* Levý brand panel */
.brand-panel[b-xg9536rcvf] { min-width: 0; padding: 52px 58px 44px 70px; color: #f7f8fa; background: linear-gradient(118deg, var(--navy-deep), var(--navy)); }
.brand-logo[b-xg9536rcvf] { width: 318px; max-width: 100%; height: auto; display: block; }
.brand-copy[b-xg9536rcvf] { margin-top: 44px; }
.brand-heading[b-xg9536rcvf] { margin: 0; font-size: 52px; font-weight: 700; line-height: 1.14; letter-spacing: -1.6px; }
.brand-heading span[b-xg9536rcvf] { display: block; }
.brand-heading__accent[b-xg9536rcvf] { color: var(--sand); }
.brand-tagline[b-xg9536rcvf] { margin: 7px 0 0; font-size: 23px; line-height: 32px; letter-spacing: -.3px; color: #d4dde5; }
/* Kresba v pískové, popisky ve světlé — stejné rozdělení jako na tiskovinách. */
.brand-copy[b-xg9536rcvf]  .proces-obrazek { color: var(--sand); }
.brand-copy[b-xg9536rcvf]  .proces-znacky strong { color: #f7f8fa; }
.brand-copy[b-xg9536rcvf]  .proces-znacky small { color: #a9b6c4; opacity: 1; }

.house-art[b-xg9536rcvf] { position: relative; height: 181px; margin-top: 8px; overflow: hidden; }
.house-art[b-xg9536rcvf]  img { position: absolute; width: calc(100% + 96px); max-width: none; height: auto; left: -50px; top: -16px; opacity: .73; mix-blend-mode: lighten; filter: saturate(.8); }
.benefits[b-xg9536rcvf] { display: flex; flex-direction: column; gap: 22px; padding: 0; margin: 16px 0 0; list-style: none; }
.benefits li[b-xg9536rcvf] { display: flex; align-items: center; gap: 20px; font-size: 18px; line-height: 28px; letter-spacing: -.1px; }
.icon[b-xg9536rcvf] { display: block; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.benefit-icon[b-xg9536rcvf] { width: 30px; height: 30px; color: var(--sand); stroke-width: 1.25; }

/* Pravý panel s formulářem */
.form-panel[b-xg9536rcvf] { min-width: 0; padding: 74px 70px 44px 62px; }
.eyebrow[b-xg9536rcvf] { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 1.1px; line-height: 20px; color: #6f7e91; }
.form-heading h1[b-xg9536rcvf] { margin: 12px 0 0; font-size: 44px; font-weight: 700; line-height: 54px; letter-spacing: -1.1px; }
.form-subtitle[b-xg9536rcvf] { margin: 7px 0 0; font-size: 18px; line-height: 26px; color: #69788b; letter-spacing: -.1px; }
.form-panel[b-xg9536rcvf]  .login-form { margin-top: 34px; }
.field + .field[b-xg9536rcvf] { margin-top: 20px; }
.field > label[b-xg9536rcvf] { display: block; margin-bottom: 9px; color: #35465b; font-size: 14px; font-weight: 600; line-height: 20px; }
.field[b-xg9536rcvf]  input { display: block; width: 100%; min-width: 0; height: 52px; border: 1px solid var(--login-border); border-radius: 7px; padding: 0 19px; color: var(--login-ink); background: #fff; box-shadow: 0 1px 2px #142b4010; font-size: 16px; line-height: normal; transition: border-color .15s ease, box-shadow .15s ease; }
.field[b-xg9536rcvf]  input::placeholder { opacity: 1; color: #7b8799; }
.field[b-xg9536rcvf]  input:hover { border-color: #a3b1c2; }
.field[b-xg9536rcvf]  input:focus { border-color: #b58348; box-shadow: 0 0 0 3px #eab16d26; outline: none; }
.field[b-xg9536rcvf]  input.invalid { border-color: var(--login-error); }
.field-error[b-xg9536rcvf], .field[b-xg9536rcvf]  .field-error { display: block; margin: 7px 0 0; font-size: 13px; line-height: 19px; color: var(--login-error); }
.password-control[b-xg9536rcvf] { position: relative; }
.password-control[b-xg9536rcvf]  input { padding-right: 57px; }
.password-toggle[b-xg9536rcvf] { position: absolute; right: 5px; top: 4px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 5px; background: transparent; color: #35475a; cursor: pointer; }
.password-toggle:hover[b-xg9536rcvf] { background: #f2f5f7; }
.password-toggle .icon[b-xg9536rcvf] { width: 23px; height: 23px; stroke-width: 1.65; }
.form-options[b-xg9536rcvf] { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 32px; margin-top: 22px; font-size: 14px; line-height: 22px; }
.remember-option[b-xg9536rcvf] { display: inline-flex; align-items: center; gap: 10px; min-height: 32px; color: #4f6075; cursor: pointer; }
.remember-option[b-xg9536rcvf]  input { appearance: none; width: 20px; height: 20px; flex: 0 0 20px; border: 1px solid #8492a4; border-radius: 2px; margin: 0; background: #fff; cursor: pointer; }
.remember-option[b-xg9536rcvf]  input:checked { border-color: #b57b3d; background: var(--sand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-9' fill='none' stroke='%231c2d3d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat; }
.text-button[b-xg9536rcvf] { padding: 0; border: 0; background: none; font-size: inherit; line-height: inherit; border-radius: 3px; text-decoration: none; text-underline-offset: 4px; }
.text-button:hover[b-xg9536rcvf] { text-decoration: underline; }
.forgot-button[b-xg9536rcvf] { color: var(--login-link); white-space: nowrap; min-height: 32px; }
.button[b-xg9536rcvf] { display: flex; align-items: center; justify-content: center; gap: 19px; width: 100%; min-height: 56px; padding: 12px 18px; border: 1px solid transparent; border-radius: 7px; font-size: 18px; font-weight: 600; line-height: 26px; cursor: pointer; transition: background-color .15s, border-color .15s, box-shadow .15s, transform .15s; }
.button:hover[b-xg9536rcvf] { transform: translateY(-1px); }
.button:active[b-xg9536rcvf] { transform: translateY(0); }
.button--primary[b-xg9536rcvf] { margin-top: 20px; background: linear-gradient(100deg, #eab16f, #e9ae69); color: #1e1b17; }
.button--primary:hover[b-xg9536rcvf] { background: var(--sand-hover); box-shadow: 0 5px 14px #9f69311b; }
.button-arrow[b-xg9536rcvf] { width: 24px; height: 24px; stroke-width: 1.9; }
.status-message[b-xg9536rcvf] { padding: 12px 14px; margin: 14px 0 0; border: 1px solid #d4dee9; border-radius: 7px; background: #f4f7fa; color: #34465c; font-size: 14px; line-height: 21px; overflow-wrap: anywhere; }
.status-message[data-tone="error"][b-xg9536rcvf] { background: #fff4f4; border-color: #eac3c6; color: #92262d; }
.form-panel[b-xg9536rcvf]  .validation-errors { padding: 12px 14px; margin: 14px 0 0; border: 1px solid #eac3c6; border-radius: 7px; background: #fff4f4; color: #92262d; font-size: 14px; line-height: 21px; list-style: none; }

/* Externí přihlášení (vnořená komponenta) */
.form-panel[b-xg9536rcvf]  .login-divider { display: flex; align-items: center; gap: 18px; margin: 22px 0 24px; color: var(--login-muted); font-size: 14px; line-height: 20px; }
.form-panel[b-xg9536rcvf]  .login-divider::before, .form-panel[b-xg9536rcvf]  .login-divider::after { content: ""; flex: 1; height: 1px; background: #d2d8e0; }
.form-panel[b-xg9536rcvf]  .external-button { display: flex; align-items: center; justify-content: center; gap: 23px; width: 100%; min-height: 56px; padding: 12px 18px; border: 1px solid #a9b6c8; border-radius: 7px; background: #fff; color: var(--login-ink); box-shadow: 0 1px 2px #172b3d08; font-size: 18px; font-weight: 600; line-height: 26px; cursor: pointer; }
.form-panel[b-xg9536rcvf]  .external-button:hover { background: #f7f8fa; border-color: #8394aa; }
.form-panel[b-xg9536rcvf]  .provider-logo { flex: 0 0 30px; width: 30px; height: 30px; }

.resend-row[b-xg9536rcvf] { display: flex; justify-content: center; margin-top: 22px; }
.resend-button[b-xg9536rcvf] { min-height: 32px; color: #718095; font-size: 15px; line-height: 24px; }
.page-footer[b-xg9536rcvf] { position: relative; z-index: 1; margin-top: 32px; color: #6c7b8e; text-align: center; font-size: 15px; line-height: 22px; letter-spacing: .1px; }
.page-footer span[b-xg9536rcvf] { display: inline-block; margin: 0 6px; }

@media (max-width: 1150px) and (min-width: 821px) {
    .page[b-xg9536rcvf] { padding: 44px 26px 30px; }
    .auth-card[b-xg9536rcvf] { min-height: 720px; }
    .brand-panel[b-xg9536rcvf] { padding: 46px 34px 40px 42px; }
    .brand-heading[b-xg9536rcvf] { font-size: clamp(39px, 4.5vw, 49px); }
    .brand-tagline[b-xg9536rcvf] { font-size: 21px; }
    .form-panel[b-xg9536rcvf] { padding: 65px 38px 38px; }
    .form-heading h1[b-xg9536rcvf] { font-size: 40px; }
    .form-subtitle[b-xg9536rcvf] { font-size: 16px; }
    .house-art[b-xg9536rcvf] { height: 170px; margin-top: 16px; }
    .house-art[b-xg9536rcvf]  img { width: calc(100% + 85px); left: -42px; top: 0; }
    .benefits[b-xg9536rcvf] { gap: 19px; margin-top: 16px; }
    .benefits li[b-xg9536rcvf] { gap: 13px; font-size: 16px; }
    .form-options[b-xg9536rcvf] { flex-wrap: wrap; gap: 2px 12px; }
}

@media (max-width: 820px) {
    .page[b-xg9536rcvf] { justify-content: flex-start; padding: 30px 22px 24px; }
    .auth-card[b-xg9536rcvf] { grid-template-columns: 1fr; width: min(540px, 100%); min-height: 0; border-radius: 18px; }
    .brand-panel[b-xg9536rcvf] { padding: 30px 36px 32px; }
    .brand-logo[b-xg9536rcvf] { gap: 18px; }
    .brand-logo[b-xg9536rcvf] { width: 232px; }
    .brand-copy[b-xg9536rcvf] { margin-top: 25px; }
    .brand-heading[b-xg9536rcvf] { font-size: 32px; line-height: 1.18; letter-spacing: -.7px; max-width: 385px; }
    .brand-heading span[b-xg9536rcvf] { display: inline; }
    .brand-tagline[b-xg9536rcvf] { font-size: 17px; line-height: 25px; margin-top: 9px; }
    .house-art[b-xg9536rcvf], .benefits[b-xg9536rcvf] { display: none; }
    .form-panel[b-xg9536rcvf] { padding: 34px 36px 28px; }
    .form-heading h1[b-xg9536rcvf] { font-size: 36px; line-height: 44px; margin-top: 8px; }
    .eyebrow[b-xg9536rcvf] { font-size: 11px; line-height: 18px; }
    .form-subtitle[b-xg9536rcvf] { font-size: 16px; line-height: 24px; }
    .form-panel[b-xg9536rcvf]  .login-form { margin-top: 26px; }
    .form-options[b-xg9536rcvf] { flex-wrap: wrap; gap: 4px 12px; margin-top: 18px; }
    .page-footer[b-xg9536rcvf] { max-width: 320px; margin-top: 24px; font-size: 13px; line-height: 22px; }
    .blueprint[b-xg9536rcvf] { opacity: .13; }
}

@media (max-width: 390px) {
    .page[b-xg9536rcvf] { padding: 16px 12px 20px; }
    .brand-panel[b-xg9536rcvf] { padding: 26px; }
    .form-panel[b-xg9536rcvf] { padding: 30px 24px 24px; }
    .brand-heading[b-xg9536rcvf] { font-size: 29px; }
    .form-heading h1[b-xg9536rcvf] { font-size: 34px; }
    .form-subtitle[b-xg9536rcvf] { font-size: 15px; }
    .field > label[b-xg9536rcvf] { font-size: 13px; }
    .button[b-xg9536rcvf] { font-size: 16px; gap: 13px; }
}

@media (prefers-reduced-motion: reduce) {
    .button:hover[b-xg9536rcvf] { transform: none; }
}
/* /Components/Clients/KartaBlok.razor.rz.scp.css */
/* Blok karty klienta: bílá karta s nadpisem, ikonou a akcemi. Společné drobnosti
   obsahu (prázdný stav, „Zobrazit všechny“, řádky údajů) jsou tu přes ::deep, ať
   je nemusí každý blok opisovat. */
.blok[b-vjglv0mq49] { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.blok:focus[b-vjglv0mq49] { outline: none; }
.blok:focus-visible[b-vjglv0mq49] { outline: 2px solid var(--accent); outline-offset: 2px; }
.blok-hlava[b-vjglv0mq49] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 16px 18px 10px; }
.blok-hlava h2[b-vjglv0mq49] { display: flex; align-items: center; gap: 10px; min-width: 0; margin: 0; color: var(--ink); font-size: 16px; letter-spacing: -.3px; }
.blok-ikona[b-vjglv0mq49] { flex: 0 0 auto; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--accent-tint); color: var(--accent-strong); }
.blok-ikona[b-vjglv0mq49]  .ico { width: 17px; height: 17px; }
.blok-akce[b-vjglv0mq49] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.blok-telo[b-vjglv0mq49] { flex: 1 1 auto; min-width: 0; padding: 0 18px 16px; }

/* Poctivě prázdný stav — co tu bude, až to vznikne; žádné zástupné obrázky. */
.blok[b-vjglv0mq49]  .prazdno { margin: 2px 0 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }

/* „Zobrazit všechny (24)“ — odkaz na záložku, ne tlačítko zápisu. */
.blok[b-vjglv0mq49]  .vice { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; padding: 0 4px; border: 0; background: none; color: var(--accent-strong); font: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.blok[b-vjglv0mq49]  .vice:hover { text-decoration: underline; }
.blok[b-vjglv0mq49]  .vice:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; border-radius: 6px; }
.blok[b-vjglv0mq49]  .vice-pata { display: flex; justify-content: center; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border-soft); }

/* Řádky údajů: popisek vlevo, hodnota vpravo; na úzké ploše pod sebou. */
.blok[b-vjglv0mq49]  .udaje { display: grid; grid-template-columns: minmax(118px, auto) minmax(0, 1fr); gap: 9px 16px; margin: 0; font-size: 13px; line-height: 1.45; }
.blok[b-vjglv0mq49]  .udaje dt { color: var(--text-muted); }
.blok[b-vjglv0mq49]  .udaje dd { min-width: 0; margin: 0; color: var(--text); overflow-wrap: anywhere; }
.blok[b-vjglv0mq49]  .udaje dd.slabe { color: var(--text-muted); }
.blok[b-vjglv0mq49]  .udaje dd.poznamka { white-space: pre-line; color: #4b555f; }
.blok[b-vjglv0mq49]  .udaje a { color: var(--accent-strong); font-weight: 600; text-decoration: none; }
.blok[b-vjglv0mq49]  .udaje a:hover { text-decoration: underline; }

@media (max-width: 420px) {
    .blok-hlava[b-vjglv0mq49] { padding: 14px 14px 8px; }
    .blok-telo[b-vjglv0mq49] { padding: 0 14px 14px; }
    .blok[b-vjglv0mq49]  .udaje { grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .blok[b-vjglv0mq49]  .udaje dd { margin-bottom: 8px; }
}
/* /Components/Clients/KartaDokumenty.razor.rz.scp.css */
/* Dokumenty: dlaždice v přehledu, řádky podle zakázek v záložce. */
.prazdno[b-6q3ubvq9n5] { margin: 2px 0 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }

.dlazdice[b-6q3ubvq9n5] { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 140px), 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.dokument[b-6q3ubvq9n5] { position: relative; display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 12px; border: 1px solid var(--border-soft); border-radius: 12px; background: #fff; }
.dokument:hover[b-6q3ubvq9n5] { border-color: var(--accent-line); }
.dokument .soubor[b-6q3ubvq9n5] { position: absolute; top: 10px; right: 10px; }

.druh[b-6q3ubvq9n5] { flex: 0 0 auto; display: inline-grid; place-items: center; min-width: 42px; height: 30px; padding: 0 6px; border-radius: 7px; background: var(--surface-subtle); color: #4b555f; font-size: 10.5px; font-weight: 800; letter-spacing: .4px; }
.druh.pdf[b-6q3ubvq9n5] { background: #fdeced; color: var(--danger); }
.druh.obrazek[b-6q3ubvq9n5] { background: #eaf1fb; color: #2f66b5; }
.druh.kancelar[b-6q3ubvq9n5] { background: var(--accent-tint); color: var(--accent-strong); }
.dokument .druh[b-6q3ubvq9n5] { align-self: flex-start; }

.text[b-6q3ubvq9n5] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nazev[b-6q3ubvq9n5] { align-self: flex-start; max-width: 100%; padding: 0; border: 0; background: none; color: var(--ink); font: inherit; font-size: 13px; font-weight: 700; text-align: left; overflow-wrap: anywhere; cursor: pointer; }
.nazev:hover[b-6q3ubvq9n5] { color: var(--accent-strong); text-decoration: underline; }
.nazev:focus-visible[b-6q3ubvq9n5] { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
.text small[b-6q3ubvq9n5], .zarazeni small[b-6q3ubvq9n5] { color: var(--text-muted); font-size: 11.5px; overflow-wrap: anywhere; }

.stahnout[b-6q3ubvq9n5] { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 32px; height: 32px; padding: 0 8px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--accent-strong); font-size: 12px; font-weight: 650; text-decoration: none; }
.stahnout:hover[b-6q3ubvq9n5] { border-color: var(--accent); background: var(--accent-tint); }
.stahnout[b-6q3ubvq9n5]  .ico { width: 16px; height: 16px; }
.stav-souboru[b-6q3ubvq9n5] { display: inline-flex; padding: 5px 8px; border-radius: 6px; background: #eff2f4; color: #5c6570; font-size: 10.5px; font-weight: 700; white-space: nowrap; }
.stav-souboru.karantena[b-6q3ubvq9n5] { background: #fff4da; color: #8a5a0b; }

.skupina + .skupina[b-6q3ubvq9n5] { margin-top: 18px; }
.skupina h3[b-6q3ubvq9n5] { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 8px; font-family: inherit; font-size: 13px; }
.skupina h3 a[b-6q3ubvq9n5], .skupina h3 .kod-zakazky[b-6q3ubvq9n5] { color: var(--accent-strong); font-weight: 800; text-decoration: none; }
.skupina h3 a:hover[b-6q3ubvq9n5] { text-decoration: underline; }
.skupina h3 span[b-6q3ubvq9n5] { color: var(--ink); font-weight: 650; }
.skupina h3 .pocet[b-6q3ubvq9n5] { color: var(--text-muted); font-size: 12px; font-weight: 500; }
.radky[b-6q3ubvq9n5] { margin: 0; padding: 0; list-style: none; border: 1px solid var(--border-soft); border-radius: 12px; }
.radek[b-6q3ubvq9n5] { display: grid; grid-template-columns: auto minmax(0, 1.6fr) minmax(0, 1fr) auto; align-items: center; gap: 8px 14px; padding: 10px 12px; }
.radek + .radek[b-6q3ubvq9n5] { border-top: 1px solid var(--border-soft); }
.zarazeni[b-6q3ubvq9n5] { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 12.5px; }

@media (max-width: 640px) {
    .radek[b-6q3ubvq9n5] { grid-template-columns: auto minmax(0, 1fr); }
    .zarazeni[b-6q3ubvq9n5] { grid-column: 2; }
    .radek .soubor[b-6q3ubvq9n5] { grid-column: 2; justify-self: start; }
}

/* Štítek stavu (Koncept, Platné, Archiv) vedle druhu v řádku a pod údaji v dlaždici. */
.druh-a-stav[b-6q3ubvq9n5] { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.stav-dokumentu[b-6q3ubvq9n5] { margin-top: 4px; }
/* /Components/Clients/KartaFinance.razor.rz.scp.css */
/* Finance klienta: čtyři ukazatele, doklady a platby; tabulky na telefonu jako karty. */
.prazdno[b-ghroljjgg6] { margin: 2px 0 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }
.souhrn[b-ghroljjgg6] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 10px; margin-bottom: 18px; }
.ukazatel[b-ghroljjgg6] { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border: 1px solid var(--border-soft); border-radius: 12px; background: #fff; }
.ukazatel small[b-ghroljjgg6] { color: var(--text-muted); font-size: 11.5px; font-weight: 650; }
.ukazatel strong[b-ghroljjgg6] { color: var(--ink); font-family: var(--font-display); font-size: 21px; letter-spacing: -.4px; font-variant-numeric: tabular-nums; }
.ukazatel > span[b-ghroljjgg6] { color: var(--text-muted); font-size: 11.5px; }
.uhrazeno strong[b-ghroljjgg6] { color: var(--ok-dark); }
.podil[b-ghroljjgg6] { display: flex; align-items: center; gap: 8px; color: var(--text); font-size: 11.5px; font-weight: 700; font-variant-numeric: tabular-nums; }
.podil i[b-ghroljjgg6] { flex: 1 1 auto; display: block; height: 6px; overflow: hidden; border-radius: 3px; background: #e8ecf0; }
.podil em[b-ghroljjgg6] { display: block; height: 100%; border-radius: inherit; background: var(--ok); }

.cast + .cast[b-ghroljjgg6] { margin-top: 20px; }
.cast h3[b-ghroljjgg6] { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; color: var(--ink); font-size: 14px; }
.cast h3 span[b-ghroljjgg6] { padding: 1px 7px; border-radius: 999px; background: var(--surface-subtle); color: var(--text-muted); font-family: Inter, system-ui, sans-serif; font-size: 11.5px; }

.tabulka-obal[b-ghroljjgg6] { width: 100%; overflow-x: auto; border: 1px solid var(--border-soft); border-radius: 12px; }
.tabulka[b-ghroljjgg6] { width: 100%; border-collapse: collapse; font-size: 13px; }
.tabulka th[b-ghroljjgg6] { padding: 10px 12px; border-bottom: 1px solid var(--border); background: #f7f8fa; color: #6b7580; font-size: 10.5px; font-weight: 800; letter-spacing: .6px; text-align: left; text-transform: uppercase; white-space: nowrap; }
.tabulka td[b-ghroljjgg6] { padding: 11px 12px; border-bottom: 1px solid var(--border-soft); color: #3f4851; vertical-align: middle; }
.tabulka tbody tr:last-child td[b-ghroljjgg6] { border-bottom: 0; }
.tabulka a[b-ghroljjgg6] { color: var(--accent-strong); font-weight: 650; text-decoration: none; }
.tabulka a:hover[b-ghroljjgg6] { text-decoration: underline; }
.tabulka .nazev[b-ghroljjgg6] { display: block; color: var(--ink); font-weight: 650; }
.tabulka small[b-ghroljjgg6] { color: var(--text-muted); font-size: 11.5px; }
.stornovano td[b-ghroljjgg6] { color: var(--text-muted); }
.stornovano .cislo[b-ghroljjgg6] { text-decoration: line-through; }
.cislo[b-ghroljjgg6], .tabulka th.cislo[b-ghroljjgg6] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.doklad[b-ghroljjgg6] { padding: 0; border: 0; background: none; color: var(--accent-strong); font: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; white-space: nowrap; }
.doklad:focus-visible[b-ghroljjgg6] { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }

.stav[b-ghroljjgg6] { display: inline-flex; align-items: center; min-height: 22px; padding: 2px 9px; border-radius: 11px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.stav.ok[b-ghroljjgg6] { background: var(--ok-tint); color: var(--ok-dark); }
.stav.po[b-ghroljjgg6] { background: #fdeced; color: var(--danger); }
.stav.ceka[b-ghroljjgg6] { background: #fdf1e0; color: #8a5a0b; }
.stav.storno[b-ghroljjgg6] { background: var(--surface-subtle); color: var(--text-muted); }

.soucet[b-ghroljjgg6] { margin: 10px 2px 0; color: var(--text-muted); font-size: 12.5px; }
.soucet strong[b-ghroljjgg6] { color: var(--ink); font-variant-numeric: tabular-nums; }
.po-splatnosti[b-ghroljjgg6] { color: var(--danger); font-weight: 650; }

@media (max-width: 640px) {
    .tabulka-obal[b-ghroljjgg6] { overflow: visible; border: 0; }
    .tabulka[b-ghroljjgg6], .tabulka tbody[b-ghroljjgg6], .tabulka tr[b-ghroljjgg6], .tabulka td[b-ghroljjgg6] { display: block; width: 100%; }
    /* Hlavička jen vizuálně skrytá: display:none by ji vzal i čtečce a Safari by tabulku
       přestal hlásit jako tabulku. Role v kódu drží sémantiku i u řádků složených do karet. */
    .tabulka thead[b-ghroljjgg6] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .tabulka tr[b-ghroljjgg6] { padding: 10px 12px; border: 1px solid var(--border-soft); border-radius: 12px; }
    .tabulka tr + tr[b-ghroljjgg6] { margin-top: 10px; }
    .tabulka td[b-ghroljjgg6] { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 10px; padding: 5px 0; border: 0; text-align: left; }
    .tabulka td[b-ghroljjgg6]::before { content: attr(data-popisek); color: var(--text-muted); font-size: 11.5px; font-weight: 650; }
    .cislo[b-ghroljjgg6] { white-space: normal; }
}
/* /Components/Clients/KartaHlavicka.razor.rz.scp.css */
/* Hlavička karty klienta. Široká plocha: dlaždice, kdo to je, kontakty a akce v řadě.
   Užší: kontakty pod jménem. Telefon: všechno pod sebou, hlavní tlačítko přes šířku. */
.hlavicka[b-t16rfgidmd] { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "dlazdice identita akce" "dlazdice kontakty kontakty"; align-items: start; gap: 16px 24px; margin-bottom: 14px; padding: 20px 22px; }

.dlazdice[b-t16rfgidmd] { grid-area: dlazdice; display: grid; place-items: center; width: 104px; height: 104px; overflow: hidden; border-radius: 14px; background: var(--ink); color: var(--accent-soft); font-family: var(--font-display); font-size: 34px; font-weight: 700; letter-spacing: -.5px; }
.dlazdice.s-fotkou[b-t16rfgidmd] { border: 1px solid var(--border); background: var(--surface-subtle); }
.dlazdice img[b-t16rfgidmd] { width: 100%; height: 100%; object-fit: cover; display: block; }

.identita[b-t16rfgidmd] { grid-area: identita; min-width: 0; }
.kod-radek[b-t16rfgidmd] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.kod[b-t16rfgidmd] { color: var(--accent-strong); font-size: 13px; font-weight: 800; letter-spacing: .6px; font-variant-numeric: tabular-nums; }
.stav[b-t16rfgidmd] { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 12px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.stav.zajemce[b-t16rfgidmd] { background: var(--accent-tint); color: var(--accent-strong); box-shadow: inset 0 0 0 1px var(--accent-line); }
.stav.aktivni[b-t16rfgidmd] { background: var(--ok-tint); color: var(--ok-dark); }
.stav.predany[b-t16rfgidmd] { background: var(--ink); color: var(--accent-soft); }
.stav.neaktivni[b-t16rfgidmd] { background: var(--surface-subtle); color: var(--text-muted); box-shadow: inset 0 0 0 1px var(--border); }

.identita h1[b-t16rfgidmd] { margin: 6px 0 4px; color: var(--ink); font-size: clamp(26px, 3vw, 34px); line-height: 1.12; letter-spacing: -1px; overflow-wrap: anywhere; }
.podtitul[b-t16rfgidmd] { display: flex; flex-wrap: wrap; gap: 0 7px; margin: 0; color: var(--text-muted); font-size: 14px; }
.za-teckou[b-t16rfgidmd]::before { content: "·"; content: "·" / ""; margin-right: 7px; color: #b3bbc4; }

.stitky[b-t16rfgidmd] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.stitky ul[b-t16rfgidmd] { display: contents; margin: 0; padding: 0; list-style: none; }
.stitky li[b-t16rfgidmd] { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 12px; border: 1px solid var(--accent-line); border-radius: 8px; background: var(--accent-tint); color: var(--accent-strong); font-size: 12.5px; font-weight: 650; overflow-wrap: anywhere; }
.pridat-stitek[b-t16rfgidmd] { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 12px; border: 1px dashed #c5ccd4; border-radius: 8px; background: #fff; color: var(--text-muted); font: inherit; font-size: 12.5px; font-weight: 650; cursor: pointer; }
.pridat-stitek:hover[b-t16rfgidmd] { border-color: var(--accent); color: var(--accent-strong); }
.pridat-stitek:focus-visible[b-t16rfgidmd] { outline: 2px solid var(--accent); outline-offset: 2px; }

.kontakty[b-t16rfgidmd] { grid-area: kontakty; display: flex; flex-wrap: wrap; gap: 14px 28px; padding-top: 14px; border-top: 1px solid var(--border-soft); }
.kontakt[b-t16rfgidmd] { display: flex; align-items: center; gap: 12px; min-width: 0; }
.kontakt > div[b-t16rfgidmd] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kontakt-ikona[b-t16rfgidmd] { flex: 0 0 auto; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--border); border-radius: 10px; background: #fff; color: var(--ink); }
.kontakt-ikona[b-t16rfgidmd]  .ico { width: 18px; height: 18px; }
.kontakt-ikona.obchodnik[b-t16rfgidmd] { border-color: var(--accent-line); background: var(--accent-tint); color: var(--accent-strong); font-size: 13px; font-weight: 800; }
.kontakt small[b-t16rfgidmd] { color: var(--text-muted); font-size: 11px; font-weight: 650; }
.kontakt .hlavni[b-t16rfgidmd] { color: var(--ink); font-size: 13.5px; font-weight: 650; overflow-wrap: anywhere; }
.kontakt .vedlejsi[b-t16rfgidmd] { color: var(--text-muted); font-size: 12.5px; overflow-wrap: anywhere; }
.kontakt a[b-t16rfgidmd] { text-decoration: none; }
.kontakt a:hover[b-t16rfgidmd] { color: var(--accent-strong); text-decoration: underline; }

.akce[b-t16rfgidmd] { grid-area: akce; display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.novy-pripad[b-t16rfgidmd] { white-space: nowrap; }

/* Široký displej: kontakty se vejdou do řady vedle jména. */
@media (min-width: 1580px) {
    .hlavicka[b-t16rfgidmd] { grid-template-columns: auto minmax(0, 1fr) auto auto; grid-template-areas: "dlazdice identita kontakty akce"; }
    .kontakty[b-t16rfgidmd] { flex-wrap: nowrap; padding-top: 0; padding-left: 24px; border-top: 0; border-left: 1px solid var(--border-soft); }
}

@media (max-width: 760px) {
    .hlavicka[b-t16rfgidmd] { grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "dlazdice identita" "kontakty kontakty" "akce akce"; gap: 14px 16px; padding: 16px; }
    .dlazdice[b-t16rfgidmd] { width: 68px; height: 68px; border-radius: 12px; font-size: 24px; }
    .identita h1[b-t16rfgidmd] { font-size: 25px; letter-spacing: -.6px; }
    .podtitul[b-t16rfgidmd] { font-size: 13px; }
    .kontakty[b-t16rfgidmd] { flex-direction: column; gap: 12px; }
    .akce[b-t16rfgidmd] { justify-content: stretch; }
    .novy-pripad[b-t16rfgidmd] { flex: 1 1 auto; }
}
/* /Components/Clients/KartaKomunikace.razor.rz.scp.css */
/* Deník komunikace: druh · co, kdy, výsledek · kdo a z jakého případu. */
.prazdno[b-hnjtla00ke] { margin: 2px 0 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }
.aktivity[b-hnjtla00ke] { margin: 0; padding: 0; list-style: none; }
.aktivita[b-hnjtla00ke] { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 12px 0; }
.aktivita + .aktivita[b-hnjtla00ke] { border-top: 1px solid var(--border-soft); }
.druh[b-hnjtla00ke] { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--surface-subtle); color: var(--ink); }
.druh[b-hnjtla00ke]  .ico { width: 16px; height: 16px; }
.planovano .druh[b-hnjtla00ke] { background: var(--accent-tint); color: var(--accent-strong); }
.zruseno .druh[b-hnjtla00ke] { border: 1px dashed var(--border); background: none; color: var(--text-muted); }

.co[b-hnjtla00ke] { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.hlava[b-hnjtla00ke] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.hlava strong[b-hnjtla00ke] { color: var(--ink); font-size: 13.5px; }
.stav[b-hnjtla00ke] { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 10px; background: var(--ok-tint); color: var(--ok-dark); font-size: 10.5px; font-weight: 700; }
.planovano .stav[b-hnjtla00ke] { background: var(--accent-tint); color: var(--accent-strong); }
.zruseno .stav[b-hnjtla00ke] { background: var(--surface-subtle); color: var(--text-muted); }
.hlava time[b-hnjtla00ke] { margin-left: auto; color: var(--text-muted); font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.co p[b-hnjtla00ke] { margin: 0; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.predmet[b-hnjtla00ke] { color: var(--text); font-weight: 600; }
.text[b-hnjtla00ke] { color: #4b555f; white-space: pre-line; }
.vysledek[b-hnjtla00ke] { color: #3f4851; }
.vysledek span[b-hnjtla00ke] { color: var(--text-muted); font-weight: 650; }
.zruseno .predmet[b-hnjtla00ke] { color: var(--text-muted); text-decoration: line-through; }
.co small[b-hnjtla00ke] { color: var(--text-muted); font-size: 11.5px; overflow-wrap: anywhere; }
.co a[b-hnjtla00ke] { color: var(--accent-strong); font-weight: 650; text-decoration: none; }
.co a:hover[b-hnjtla00ke] { text-decoration: underline; }

@media (max-width: 480px) {
    .hlava time[b-hnjtla00ke] { margin-left: 0; flex-basis: 100%; }
}
/* /Components/Clients/KartaOknoSouhlasu.razor.rz.scp.css */
/* Okno souhlasu: dvě velké volby jako typ klienta v okně údajů. */
.typ[b-pmnvw4s04a] { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; }
.typ legend[b-pmnvw4s04a] { width: 100%; margin-bottom: 4px; padding: 0; color: var(--text-muted); font-size: 12px; }
.volba[b-pmnvw4s04a] { flex: 1 1 180px; display: flex; flex-direction: row; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--text); font-size: 13px; cursor: pointer; }
.volba:hover[b-pmnvw4s04a] { border-color: var(--accent-line); background: var(--accent-tint); }
.volba.vybrana[b-pmnvw4s04a] { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); font-weight: 650; }
/* Obecné pravidlo polí v okně by z přepínače udělalo 36px vysoké políčko. */
.volba input[b-pmnvw4s04a] { flex: 0 0 auto; width: 16px; height: 16px; min-height: 0; margin: 0; padding: 0; accent-color: var(--ink); }
.volba:has(input:focus-visible)[b-pmnvw4s04a] { outline: 2px solid var(--accent); outline-offset: 2px; }
.field-hint[b-pmnvw4s04a] { color: var(--text-muted); font-size: 11px; }
/* /Components/Clients/KartaOknoStitku.razor.rz.scp.css */
/* Štítky jako přepínače: vybraný podbarvený pískem a s fajfkou, návrh čárkovaný s plusem. */
.nabidka[b-gqzhs6h1pz] { display: flex; flex-wrap: wrap; gap: 8px; }
.stitek[b-gqzhs6h1pz] { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 4px 12px; border: 1px dashed #c5ccd4; border-radius: 8px; background: #fff; color: var(--text); font: inherit; font-size: 12.5px; font-weight: 650; cursor: pointer; }
.stitek:hover[b-gqzhs6h1pz] { border-color: var(--accent); color: var(--accent-strong); }
.stitek:focus-visible[b-gqzhs6h1pz] { outline: 2px solid var(--accent); outline-offset: 2px; }
.stitek.vybrany[b-gqzhs6h1pz] { border: 1px solid var(--accent-line); background: var(--accent-tint); color: var(--accent-strong); }
.stitek span[b-gqzhs6h1pz] { font-size: 11px; }

.vlastni[b-gqzhs6h1pz] { display: flex; align-items: flex-end; gap: 8px; }
.vlastni label[b-gqzhs6h1pz] { flex: 1 1 auto; }
.vlastni .link-button[b-gqzhs6h1pz] { min-height: 36px; }
/* /Components/Clients/KartaOknoUdaju.razor.rz.scp.css */
/* Okno údajů klienta: typ jako dvě velké volby, odkaz na kartu klienta s týmž kontaktem. */
.typ[b-2cx3srqx5j] { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; }
.typ legend[b-2cx3srqx5j] { width: 100%; margin-bottom: 4px; padding: 0; color: var(--text-muted); font-size: 12px; }
.volba[b-2cx3srqx5j] { flex: 1 1 140px; display: flex; flex-direction: row; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--text); font-size: 13px; cursor: pointer; }
.volba:hover[b-2cx3srqx5j] { border-color: var(--accent-line); background: var(--accent-tint); }
.volba.vybrana[b-2cx3srqx5j] { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); font-weight: 650; }
/* Obecné pravidlo polí v okně by z přepínače udělalo 36px vysoké políčko. */
.volba input[b-2cx3srqx5j] { flex: 0 0 auto; width: 16px; height: 16px; min-height: 0; margin: 0; padding: 0; accent-color: var(--ink); }
.volba:has(input:focus-visible)[b-2cx3srqx5j] { outline: 2px solid var(--accent); outline-offset: 2px; }

.jiny-klient[b-2cx3srqx5j] { margin: 0; font-size: 12.5px; }
.jiny-klient a[b-2cx3srqx5j] { color: var(--accent-strong); font-weight: 700; }
/* /Components/Clients/KartaOsa.razor.rz.scp.css */
/* Časová osa: tečka podle druhu · datum · co a kdo. */
.prazdno[b-f2nb20nyhw] { margin: 2px 0 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }
.osa[b-f2nb20nyhw] { margin: 0; padding: 0; list-style: none; }
.polozka[b-f2nb20nyhw] { position: relative; display: grid; grid-template-columns: 14px 104px minmax(0, 1fr); align-items: start; gap: 4px 12px; padding: 10px 0; }
.polozka + .polozka[b-f2nb20nyhw] { border-top: 1px solid var(--border-soft); }
.kompaktni .polozka[b-f2nb20nyhw] { grid-template-columns: 14px 86px minmax(0, 1fr); padding: 8px 0; }

.tecka[b-f2nb20nyhw] { width: 12px; height: 12px; margin-top: 3px; border: 3px solid #fff; border-radius: 50%; background: var(--text-muted); box-shadow: 0 0 0 1px var(--border); }
.pripad .tecka[b-f2nb20nyhw] { background: var(--accent); box-shadow: 0 0 0 1px var(--accent-line); }
.zakazka .tecka[b-f2nb20nyhw] { background: var(--ink); }
.dokument .tecka[b-f2nb20nyhw] { background: #2f66b5; }
.servis .tecka[b-f2nb20nyhw] { background: var(--warning); }
.poznamka .tecka[b-f2nb20nyhw] { background: var(--accent-soft); box-shadow: 0 0 0 1px var(--accent-strong); }
.klient .tecka[b-f2nb20nyhw] { background: var(--ok); }

time[b-f2nb20nyhw] { display: flex; flex-direction: column; gap: 1px; color: var(--text-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
time strong[b-f2nb20nyhw] { color: var(--text); font-weight: 650; white-space: nowrap; }
time small[b-f2nb20nyhw] { font-size: 11px; }

.co[b-f2nb20nyhw] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.co strong[b-f2nb20nyhw] { color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }
.co p[b-f2nb20nyhw] { margin: 0; color: #4b555f; font-size: 12.5px; line-height: 1.45; white-space: pre-line; overflow-wrap: anywhere; }
.kompaktni .co p[b-f2nb20nyhw] { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal; }
.co small[b-f2nb20nyhw] { color: var(--text-muted); font-size: 11.5px; overflow-wrap: anywhere; }
.co a[b-f2nb20nyhw] { color: var(--accent-strong); font-weight: 650; text-decoration: none; }
.co a:hover[b-f2nb20nyhw] { text-decoration: underline; }

@media (max-width: 480px) {
    .polozka[b-f2nb20nyhw], .kompaktni .polozka[b-f2nb20nyhw] { grid-template-columns: 14px minmax(0, 1fr); }
    time[b-f2nb20nyhw] { grid-column: 2; flex-direction: row; gap: 8px; }
    .co[b-f2nb20nyhw] { grid-column: 2; }
}
/* /Components/Clients/KartaOtevrenePripady.razor.rz.scp.css */
/* Rozjednané případy v přehledu: řádek na případ — číslo a fáze, hodnota a obchodník, další krok. */
.prazdno[b-vjsf2zbeg1] { margin: 2px 0 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }
.pripady[b-vjsf2zbeg1] { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.pripady li[b-vjsf2zbeg1] { display: flex; flex-direction: column; gap: 4px; padding: 10px 0; }
.pripady li + li[b-vjsf2zbeg1] { border-top: 1px solid var(--border-soft); }
.pripady li:first-child[b-vjsf2zbeg1] { padding-top: 2px; }
.hlava[b-vjsf2zbeg1] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.kod[b-vjsf2zbeg1] { color: var(--accent-strong); font-size: 13.5px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.kod:hover[b-vjsf2zbeg1] { text-decoration: underline; }
.faze[b-vjsf2zbeg1] { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 11px; background: var(--accent-tint); color: var(--accent-strong); font-size: 11px; font-weight: 700; white-space: nowrap; }
.radek[b-vjsf2zbeg1] { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 12px; }
.hodnota[b-vjsf2zbeg1] { color: var(--ink); font-size: 14px; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.obchodnik[b-vjsf2zbeg1] { color: var(--text-muted); font-size: 12px; }
.krok[b-vjsf2zbeg1] { margin: 0; color: var(--text); font-size: 12.5px; line-height: 1.45; }
.krok .popisek[b-vjsf2zbeg1] { color: var(--text-muted); }
.krok small[b-vjsf2zbeg1] { display: block; color: var(--text-muted); font-size: 12px; overflow-wrap: anywhere; }
.krok.po-terminu[b-vjsf2zbeg1] { color: var(--danger); font-weight: 650; }
.bez-kroku[b-vjsf2zbeg1] { color: var(--danger); font-weight: 650; }
.faze.odlozeno[b-vjsf2zbeg1] { background: var(--surface-subtle); color: var(--text-muted); }
/* /Components/Clients/KartaPoznamky.razor.rz.scp.css */
/* Poznámky: ikona · kdy a kdo · text; odebrat vpravo. */
.prazdno[b-oyebxuuwmx] { margin: 2px 0 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }
.poznamky[b-oyebxuuwmx] { margin: 0; padding: 0; list-style: none; }
.poznamka[b-oyebxuuwmx] { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: start; gap: 4px 12px; padding: 11px 0; }
.poznamka + .poznamka[b-oyebxuuwmx] { border-top: 1px solid var(--border-soft); }
.ikona[b-oyebxuuwmx] { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--surface-subtle); color: var(--text-muted); }
.ikona[b-oyebxuuwmx]  .ico { width: 16px; height: 16px; }
.obsah[b-oyebxuuwmx] { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.obsah small[b-oyebxuuwmx] { color: var(--text-muted); font-size: 11.5px; }
.obsah p[b-oyebxuuwmx] { margin: 0; color: var(--text); font-size: 13px; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; }
.odebrat[b-oyebxuuwmx] { min-height: 30px; font-size: 12px; }

@media (max-width: 480px) {
    .poznamka[b-oyebxuuwmx] { grid-template-columns: 30px minmax(0, 1fr); }
    .odebrat[b-oyebxuuwmx] { grid-column: 2; justify-self: start; }
}
/* /Components/Clients/KartaPrehled.razor.rz.scp.css */
/* Přehled: vlevo hlavní část (dvojice bloků, dokumenty, osa s úkoly), vpravo boční
   sloupec. Na střední šířce boční bloky pod hlavní částí vedle sebe, na telefonu
   všechno pod sebou. */
.prehled[b-myjgwsxboy] { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 14px; }
.hlavni-cast[b-myjgwsxboy] { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.dvojice[b-myjgwsxboy] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); align-items: start; gap: 14px; }
.sloupec[b-myjgwsxboy] { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.bok[b-myjgwsxboy] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); align-items: start; gap: 14px; min-width: 0; }

@media (min-width: 1280px) {
    .prehled[b-myjgwsxboy] { grid-template-columns: minmax(0, 2.15fr) minmax(0, 1fr); }
    .bok[b-myjgwsxboy] { display: flex; flex-direction: column; align-items: stretch; }
}

/* Štítek stavu — stejné barvy jako v hlavičce. */
.stav[b-myjgwsxboy] { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 11px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.stav.zajemce[b-myjgwsxboy] { background: var(--accent-tint); color: var(--accent-strong); box-shadow: inset 0 0 0 1px var(--accent-line); }
.stav.aktivni[b-myjgwsxboy] { background: var(--ok-tint); color: var(--ok-dark); }
.stav.predany[b-myjgwsxboy] { background: var(--ink); color: var(--accent-soft); }
.stav.neaktivni[b-myjgwsxboy] { background: var(--surface-subtle); color: var(--text-muted); box-shadow: inset 0 0 0 1px var(--border); }

/* Kontaktní osoby: kroužek · kdo · tlačítka, pod jménem telefon a e-mail. */
.osoby[b-myjgwsxboy] { margin: 0; padding: 0; list-style: none; }
.osoba[b-myjgwsxboy] { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; grid-template-areas: "avatar kdo tlacitka" "avatar spojeni tlacitka"; align-items: center; gap: 2px 12px; padding: 10px 0; }
.osoba + .osoba[b-myjgwsxboy] { border-top: 1px solid var(--border-soft); }
.avatar[b-myjgwsxboy] { grid-area: avatar; align-self: start; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--surface-subtle); color: var(--ink); font-size: 13px; font-weight: 800; }
.hlavni-kontakt .avatar[b-myjgwsxboy] { background: var(--accent-soft); color: var(--ink); }
.kdo[b-myjgwsxboy] { grid-area: kdo; display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.kdo strong[b-myjgwsxboy] { color: var(--ink); font-size: 13.5px; overflow-wrap: anywhere; }
.kdo small[b-myjgwsxboy] { color: var(--text-muted); font-size: 12px; }
.kdo .pozn[b-myjgwsxboy] { font-style: italic; }
.spojeni[b-myjgwsxboy] { grid-area: spojeni; display: flex; flex-wrap: wrap; gap: 0 12px; min-width: 0; font-size: 12.5px; }
.spojeni a[b-myjgwsxboy] { color: var(--accent-strong); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.spojeni a:hover[b-myjgwsxboy] { text-decoration: underline; }
.tlacitka[b-myjgwsxboy] { grid-area: tlacitka; display: flex; align-items: center; gap: 6px; }
.ikonove[b-myjgwsxboy] { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--border); border-radius: 9px; background: #fff; color: var(--ink); }
.ikonove:hover[b-myjgwsxboy] { border-color: var(--accent); background: var(--accent-tint); color: var(--accent-strong); }
.ikonove:focus-visible[b-myjgwsxboy] { outline: 2px solid var(--accent); outline-offset: 2px; }
.ikonove[b-myjgwsxboy]  .ico { width: 16px; height: 16px; }
/* Telefon: tlačítka pod spojením, ať jméno a e-mail nezůstanou v úzkém proužku. */
@media (max-width: 420px) {
    .osoba[b-myjgwsxboy] { grid-template-columns: 40px minmax(0, 1fr); grid-template-areas: "avatar kdo" "avatar spojeni" "avatar tlacitka"; }
    .tlacitka[b-myjgwsxboy] { margin-top: 6px; }
}

/* Rychlé akce: řádky s ikonou; odkazy i tlačítka vypadají stejně. */
.rychle-akce[b-myjgwsxboy] { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.rychle-akce button[b-myjgwsxboy], .rychle-akce a[b-myjgwsxboy] { width: 100%; min-height: 42px; display: flex; align-items: center; gap: 12px; padding: 0 14px; border: 1px solid var(--border-soft); border-radius: 10px; background: #fff; color: var(--text); font: inherit; font-size: 13px; font-weight: 650; text-align: left; text-decoration: none; cursor: pointer; }
.rychle-akce button:hover[b-myjgwsxboy], .rychle-akce a:hover[b-myjgwsxboy] { border-color: var(--accent-line); background: var(--accent-tint); color: var(--ink); }
.rychle-akce button:focus-visible[b-myjgwsxboy], .rychle-akce a:focus-visible[b-myjgwsxboy] { outline: 2px solid var(--accent); outline-offset: 2px; }
.rychle-akce[b-myjgwsxboy]  .ico { width: 17px; height: 17px; color: var(--accent-strong); }

/* Lokalita: údaje a dva odkazy ven — do map a do katastru. */
.mapy[b-myjgwsxboy] { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.mapy[b-myjgwsxboy]  .ico { width: 15px; height: 15px; }

/* Finanční přehled: tři řádky, u uhrazeného ukazatel podílu. */
.finance[b-myjgwsxboy] { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.finance > div[b-myjgwsxboy] { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 4px 12px; }
.finance dt[b-myjgwsxboy] { color: var(--text-muted); font-size: 12.5px; }
.finance dd[b-myjgwsxboy] { margin: 0; color: var(--ink); font-size: 14px; font-weight: 750; text-align: right; font-variant-numeric: tabular-nums; }
.finance .uhrazeno dd[b-myjgwsxboy] { color: var(--ok-dark); }
.finance .podil[b-myjgwsxboy] { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; color: var(--text); font-size: 11.5px; font-weight: 700; }
.podil i[b-myjgwsxboy] { flex: 1 1 auto; display: block; height: 7px; overflow: hidden; border-radius: 4px; background: #e8ecf0; }
.podil em[b-myjgwsxboy] { display: block; height: 100%; border-radius: inherit; background: var(--ok); }

/* „Změnit“ u souhlasu s marketingem: odkaz v řádku, ne další tlačítko s rámečkem. */
.souhlas-zmenit[b-myjgwsxboy] { min-height: 24px; margin-left: 6px; vertical-align: baseline; }
/* /Components/Clients/KartaPripady.razor.rz.scp.css */
/* Tabulka obchodních případů; na telefonu karty s popisky z data-popisek. */
.prazdno[b-20fvihsqp5] { margin: 2px 0 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }
.tabulka-obal[b-20fvihsqp5] { width: 100%; overflow-x: auto; }
.tabulka[b-20fvihsqp5] { width: 100%; border-collapse: collapse; font-size: 13px; }
.tabulka th[b-20fvihsqp5] { padding: 10px 12px; border-bottom: 1px solid var(--border); background: #f7f8fa; color: #6b7580; font-size: 10.5px; font-weight: 800; letter-spacing: .6px; text-align: left; text-transform: uppercase; white-space: nowrap; }
.tabulka td[b-20fvihsqp5] { padding: 12px; border-bottom: 1px solid var(--border-soft); color: #3f4851; vertical-align: middle; }
.tabulka tbody tr:last-child td[b-20fvihsqp5] { border-bottom: 0; }
.tabulka tbody tr:hover td[b-20fvihsqp5] { background: #fafbfc; }
.cislo[b-20fvihsqp5], .tabulka th.cislo[b-20fvihsqp5] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kod[b-20fvihsqp5] { color: var(--accent-strong); font-weight: 800; text-decoration: none; white-space: nowrap; }
.kod:hover[b-20fvihsqp5] { text-decoration: underline; }
.nazev[b-20fvihsqp5] { display: block; color: var(--ink); font-weight: 650; overflow-wrap: anywhere; }
.zakazka[b-20fvihsqp5] { color: var(--text-muted); font-size: 12px; text-decoration: underline; text-underline-offset: 2px; }
.zakazka:hover[b-20fvihsqp5] { color: var(--accent-strong); }
.faze[b-20fvihsqp5] { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 11px; background: var(--accent-tint); color: var(--accent-strong); font-size: 11px; font-weight: 700; white-space: nowrap; }
.faze.vyhrano[b-20fvihsqp5] { background: var(--ok-tint); color: var(--ok-dark); }
.faze.prohrano[b-20fvihsqp5] { background: #fdeced; color: var(--danger); }
.faze.odlozeno[b-20fvihsqp5] { background: var(--surface-subtle); color: var(--text-muted); }

@media (max-width: 640px) {
    .tabulka-obal[b-20fvihsqp5] { overflow: visible; }
    .tabulka[b-20fvihsqp5], .tabulka tbody[b-20fvihsqp5], .tabulka tr[b-20fvihsqp5], .tabulka td[b-20fvihsqp5] { display: block; width: 100%; }
    /* Hlavička jen vizuálně skrytá: display:none by ji vzal i čtečce a Safari by tabulku
       přestal hlásit jako tabulku. Role v kódu drží sémantiku i u řádků složených do karet. */
    .tabulka thead[b-20fvihsqp5] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .tabulka tr[b-20fvihsqp5] { padding: 10px 12px; border: 1px solid var(--border-soft); border-radius: 12px; }
    .tabulka tr + tr[b-20fvihsqp5] { margin-top: 10px; }
    .tabulka td[b-20fvihsqp5] { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 5px 0; border: 0; text-align: left; }
    .tabulka td[b-20fvihsqp5]::before { content: attr(data-popisek); color: var(--text-muted); font-size: 11.5px; font-weight: 650; }
    .tabulka tbody tr:hover td[b-20fvihsqp5] { background: none; }
    .cislo[b-20fvihsqp5] { white-space: normal; }
}

/* Kód zakázky bez práva na zakázky je jen text — nesmí vypadat jako odkaz. */
span.zakazka[b-20fvihsqp5] { text-decoration: none; }
/* /Components/Clients/KartaServis.razor.rz.scp.css */
/* Servis a záruky: tři seznamy pod sebou — případy, vady, předání. */
.prazdno[b-0esjoycd92] { margin: 2px 0 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }
.prazdno.poznamka[b-0esjoycd92] { margin-top: 18px; }
.cast + .cast[b-0esjoycd92] { margin-top: 20px; }
.cast h3[b-0esjoycd92] { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; color: var(--ink); font-size: 14px; }
.cast h3 span[b-0esjoycd92] { padding: 1px 7px; border-radius: 999px; background: var(--surface-subtle); color: var(--text-muted); font-family: Inter, system-ui, sans-serif; font-size: 11.5px; }
.seznam[b-0esjoycd92] { margin: 0; padding: 0; list-style: none; border: 1px solid var(--border-soft); border-radius: 12px; }
.radek[b-0esjoycd92] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 16px; padding: 11px 14px; }
.radek + .radek[b-0esjoycd92] { border-top: 1px solid var(--border-soft); }
.co[b-0esjoycd92] { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1 1 280px; }
.co strong[b-0esjoycd92] { color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }
.co small[b-0esjoycd92], .stavy small[b-0esjoycd92] { color: var(--text-muted); font-size: 11.5px; overflow-wrap: anywhere; }
.radek a[b-0esjoycd92] { color: var(--accent-strong); font-weight: 650; text-decoration: none; }
.radek a:hover[b-0esjoycd92] { text-decoration: underline; }
.stavy[b-0esjoycd92] { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.stav[b-0esjoycd92] { display: inline-flex; align-items: center; min-height: 22px; padding: 2px 9px; border-radius: 11px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.stav.otevreny[b-0esjoycd92] { background: #fdf1e0; color: #8a5a0b; }
.stav.hotovo[b-0esjoycd92] { background: var(--ok-tint); color: var(--ok-dark); }
.stav.ceka[b-0esjoycd92] { background: var(--accent-tint); color: var(--accent-strong); }
.stavy .po-terminu[b-0esjoycd92] { color: var(--danger); font-weight: 700; }
.uzavreny .co strong[b-0esjoycd92] { color: #4b555f; }

@media (max-width: 480px) {
    .stavy[b-0esjoycd92] { align-items: flex-start; }
}
/* /Components/Clients/KartaUkoly.razor.rz.scp.css */
/* Otevřené úkoly: druh · co a odkud · termín · řešitel. */
.prazdno[b-kboks6ir9g] { margin: 2px 0 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }
.ukoly[b-kboks6ir9g] { margin: 0; padding: 0; list-style: none; }
.ukol[b-kboks6ir9g] { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto auto; align-items: center; gap: 4px 12px; padding: 9px 0; }
.ukol + .ukol[b-kboks6ir9g] { border-top: 1px solid var(--border-soft); }

.druh[b-kboks6ir9g] { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--surface-subtle); color: var(--ink); }
.druh[b-kboks6ir9g]  .ico { width: 16px; height: 16px; }
.po-terminu .druh[b-kboks6ir9g] { background: #fdeceb; color: var(--danger); }

.co[b-kboks6ir9g] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.co strong[b-kboks6ir9g] { color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }
.co small[b-kboks6ir9g] { color: var(--text-muted); font-size: 11.5px; }
/* Číslo OP-26004 se nesmí zlomit na pomlčce — na další řádek jde celé. */
.co a[b-kboks6ir9g] { color: var(--accent-strong); font-weight: 650; text-decoration: none; white-space: nowrap; }
.co a:hover[b-kboks6ir9g] { text-decoration: underline; }

.kdy[b-kboks6ir9g] { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kdy strong[b-kboks6ir9g] { color: var(--text); font-weight: 650; }
.po-terminu .kdy strong[b-kboks6ir9g], .kdy small[b-kboks6ir9g] { color: var(--danger); }
.kdy small[b-kboks6ir9g] { font-size: 11px; font-weight: 700; }

.resitel[b-kboks6ir9g] { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--accent-tint); color: var(--accent-strong); font-size: 11px; font-weight: 800; }

@media (max-width: 480px) {
    .ukol[b-kboks6ir9g] { grid-template-columns: 32px minmax(0, 1fr) auto; }
    .kdy[b-kboks6ir9g] { grid-column: 2; grid-row: 2; flex-direction: row; gap: 8px; align-items: baseline; }
    .resitel[b-kboks6ir9g] { grid-column: 3; grid-row: 1 / span 2; }
}
/* /Components/Clients/KartaZakazky.razor.rz.scp.css */
/* Karty zakázek: obrázek, název s fází, postup a předání; celá karta je odkaz. */
.prazdno[b-76cjlzbndo] { margin: 2px 0 0; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }
.prazdno-akce[b-76cjlzbndo] { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
/* Odkaz vypadá jako tlačítko (vede do okna), na telefonu dost velký na palec. */
.novy-dum[b-76cjlzbndo] { min-height: 40px; display: inline-flex; align-items: center; padding: 0 14px; border: 1px solid var(--accent-line); border-radius: 10px; background: var(--accent-tint); color: var(--accent-strong); font-size: 13px; font-weight: 700; text-decoration: none; }
.novy-dum:hover[b-76cjlzbndo] { border-color: var(--accent); }
.novy-dum:focus-visible[b-76cjlzbndo] { outline: 2px solid var(--accent); outline-offset: 2px; }
.zakazky[b-76cjlzbndo] { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.zakazky.mrizka[b-76cjlzbndo] { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 12px; }

.zakazka[b-76cjlzbndo] { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 10px; border: 1px solid var(--border-soft); border-radius: 12px; background: #fff; color: inherit; text-decoration: none; }
.zakazka:hover[b-76cjlzbndo] { border-color: var(--accent-line); background: #fffdf9; }
.zakazka:focus-visible[b-76cjlzbndo] { outline: 2px solid var(--accent); outline-offset: 2px; }
.mrizka .zakazka[b-76cjlzbndo] { height: 100%; }

.obrazek[b-76cjlzbndo] { display: grid; place-items: center; width: 96px; height: 72px; overflow: hidden; border-radius: 9px; background: var(--ink); color: var(--accent-soft); font-family: var(--font-display); font-size: 17px; font-weight: 700; }
.obrazek img[b-76cjlzbndo] { width: 100%; height: 100%; object-fit: cover; display: block; }
.zruseno .obrazek[b-76cjlzbndo] { background: var(--surface-subtle); color: var(--text-muted); }

.popis[b-76cjlzbndo] { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.nazev-radek[b-76cjlzbndo] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.nazev-radek strong[b-76cjlzbndo] { color: var(--ink); font-size: 13.5px; overflow-wrap: anywhere; }
.popis small[b-76cjlzbndo] { color: var(--text-muted); font-size: 12px; overflow-wrap: anywhere; }
.faze[b-76cjlzbndo] { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 11px; background: var(--accent-tint); color: var(--accent-strong); font-size: 11px; font-weight: 700; white-space: nowrap; }
.predano .faze[b-76cjlzbndo] { background: var(--ok-tint); color: var(--ok-dark); }
.zruseno .faze[b-76cjlzbndo] { background: #fdeced; color: var(--danger); }

.postup[b-76cjlzbndo] { display: flex; align-items: center; gap: 10px; }
.postup i[b-76cjlzbndo] { flex: 1 1 auto; display: block; height: 6px; overflow: hidden; border-radius: 3px; background: #e8ecf0; }
.postup em[b-76cjlzbndo] { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.predano .postup em[b-76cjlzbndo] { background: var(--ok); }
.postup > span[b-76cjlzbndo] { flex: 0 0 auto; color: var(--text); font-size: 11.5px; font-weight: 700; font-variant-numeric: tabular-nums; }

.sipka[b-76cjlzbndo] { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--border); border-radius: 8px; color: var(--text-muted); }
.sipka[b-76cjlzbndo]  .ico { width: 16px; height: 16px; }

@media (max-width: 420px) {
    .zakazka[b-76cjlzbndo] { grid-template-columns: 72px minmax(0, 1fr); gap: 12px; }
    .obrazek[b-76cjlzbndo] { width: 72px; height: 60px; font-size: 14px; }
    .sipka[b-76cjlzbndo] { display: none; }
}

/* Datum se neláme uvnitř („27. 11. / 2026“) — zalomí se celé za popiskem. */
.datum[b-76cjlzbndo] { white-space: nowrap; }
/* /Components/Clients/KartaZalozky.razor.rz.scp.css */
/* Záložky pod hlavičkou. Devět záložek se do řady vejde jen na širokém displeji —
   jinak se zalomí na další řádek, ať žádná nezůstane schovaná za okrajem. Ikony
   jsou jen ozdoba, proto je dostane jen plocha, kde na ně zbývá místo. Na telefonu
   mřížka dlaždic. */
.zalozky[b-brh020jqld] { display: flex; flex-wrap: wrap; gap: 0 2px; margin-bottom: 14px; border-bottom: 1px solid var(--border); }
.zalozky button[b-brh020jqld] { position: relative; flex: 0 0 auto; min-height: 46px; display: inline-flex; align-items: center; gap: 8px; padding: 0 14px; border: 0; border-bottom: 3px solid transparent; background: none; color: var(--text-muted); font: inherit; font-size: 13.5px; font-weight: 650; white-space: nowrap; cursor: pointer; }
.zalozky button:hover[b-brh020jqld] { color: var(--ink); }
.zalozky button.vybrana[b-brh020jqld] { border-bottom-color: var(--accent); color: var(--ink); }
.zalozky button:focus-visible[b-brh020jqld] { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: 8px 8px 0 0; }
.ikona[b-brh020jqld] { display: none; place-items: center; }
@media (min-width: 1680px) {
    .ikona[b-brh020jqld] { display: inline-grid; }
}
.ikona[b-brh020jqld]  .ico { width: 17px; height: 17px; }
.vybrana .ikona[b-brh020jqld] { color: var(--accent-strong); }

.pocet[b-brh020jqld] { min-width: 22px; padding: 2px 7px; border-radius: 999px; background: var(--surface-subtle); color: var(--text-muted); font-size: 11.5px; font-weight: 700; text-align: center; font-variant-numeric: tabular-nums; }
.vybrana .pocet[b-brh020jqld] { background: var(--accent-tint); color: var(--accent-strong); }
.pocet.po-terminu[b-brh020jqld] { background: var(--danger); color: #fff; }

@media (max-width: 760px) {
    .zalozky[b-brh020jqld] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; border-bottom: 0; }
    .ikona[b-brh020jqld] { display: inline-grid; }
    .zalozky button[b-brh020jqld] { min-width: 0; justify-content: flex-start; gap: 6px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 10px; background: #fff; white-space: normal; text-align: left; line-height: 1.25; }
    .nazev[b-brh020jqld] { flex: 1 1 auto; min-width: 0; }
    .zalozky button.vybrana[b-brh020jqld] { border-color: var(--ink); background: var(--ink); color: #fff; }
    .zalozky button.vybrana .ikona[b-brh020jqld] { color: var(--accent-soft); }
    .zalozky button.vybrana .pocet[b-brh020jqld] { background: rgba(255, 255, 255, .16); color: #fff; }
    .zalozky button.vybrana .pocet.po-terminu[b-brh020jqld] { background: var(--danger); }
}
/* /Components/Clients/KlientiFiltry.razor.rz.scp.css */
/* Lišta seznamu klientů: hledání a čipy vlevo, řazení vpravo — tvarem stejná jako
   lišta obchodní nástěnky. Na úzké obrazovce se zalomí, nic se neposouvá do strany.
   Lišta leží nad clonou rozbalené nabídky, takže druhý čip jde stisknout rovnou. */
.klienti-nastroje[b-f7od2ayhqg] {
    position: relative;
    z-index: 26;
    display: flex;
    flex-wrap: wrap;
    /* Nahoru: když se čipy zalomí do dvou řádků, řazení zůstane u prvního. */
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px 18px;
    margin: 0 0 14px;
}
.filtry[b-f7od2ayhqg] { position: relative; min-width: 0; flex: 1 1 520px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }

.hledani[b-f7od2ayhqg] {
    flex: 0 1 340px;
    min-width: 220px;
    height: 36px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    margin-right: 4px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text-muted);
}
.hledani:focus-within[b-f7od2ayhqg] { border-color: var(--accent); outline: 2px solid rgba(225, 134, 59, .25); }
.hledani[b-f7od2ayhqg]  .ico { width: 16px; height: 16px; }
.hledani input[b-f7od2ayhqg] { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; font-size: 13px; }

.cip[b-f7od2ayhqg] {
    min-height: 32px;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 13px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text);
    font-size: 12.5px;
    font-weight: 550;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cip:hover[b-f7od2ayhqg] { border-color: var(--accent); color: var(--accent-strong); }
.cip .sipka[b-f7od2ayhqg] { color: var(--text-muted); font-size: 10px; }
/* Zapnutý filtr je tmavý jako logo — na první pohled je vidět, že seznam je zúžený. */
.cip.aktivni[b-f7od2ayhqg] { border-color: var(--ink); background: var(--ink); color: #fff; }
.cip.aktivni .sipka[b-f7od2ayhqg] { color: var(--accent-soft); }

.cip-obal[b-f7od2ayhqg] { position: relative; min-width: 0; max-width: 100%; display: inline-flex; }
.cip-obal.ma-hodnotu .cip[b-f7od2ayhqg] { padding-right: 9px; border-radius: 999px 0 0 999px; }
.cip-zrusit[b-f7od2ayhqg] {
    flex: 0 0 auto;
    min-width: 30px;
    padding: 0 10px 0 7px;
    border: 1px solid var(--ink);
    border-left-color: rgba(255, 255, 255, .25);
    border-radius: 0 999px 999px 0;
    background: var(--ink);
    color: #fff;
    font-size: 15px;
    line-height: 1;
}
.cip-zrusit:hover[b-f7od2ayhqg] { background: var(--ink-3); }

.cip-menu[b-f7od2ayhqg] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 2;
    width: max-content;
    min-width: 220px;
    max-width: min(320px, calc(100vw - 32px));
    max-height: 340px;
    overflow-y: auto;
    display: grid;
    gap: 2px;
    padding: 6px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--surface);
    box-shadow: 0 14px 34px rgba(29, 39, 47, .16);
}
.cip-volba[b-f7od2ayhqg] {
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--text);
    font-size: 13px;
    text-align: left;
}
.cip-volba:hover[b-f7od2ayhqg] { background: var(--surface-subtle); }
.cip-volba[aria-pressed="true"][b-f7od2ayhqg] { background: var(--accent-tint); color: var(--accent-strong); font-weight: 650; }
.volba-text[b-f7od2ayhqg] { min-width: 0; overflow-wrap: anywhere; }
.pocet[b-f7od2ayhqg] { flex: 0 0 auto; color: var(--text-muted); font-size: 11.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.cip-prazdne[b-f7od2ayhqg] { margin: 6px 10px; color: var(--text-muted); font-size: 12px; }

.zrusit-filtry[b-f7od2ayhqg] {
    min-height: 32px;
    padding: 0 8px;
    border: 0;
    background: transparent;
    color: var(--accent-strong);
    font-size: 12.5px;
    font-weight: 650;
    text-decoration: underline;
    text-decoration-color: var(--accent-soft);
    text-underline-offset: 3px;
}
.zrusit-filtry:hover[b-f7od2ayhqg] { text-decoration-color: var(--accent-strong); }

.razeni[b-f7od2ayhqg] { flex: 0 0 auto; min-height: 36px; display: inline-flex; align-items: center; gap: 8px; color: var(--text-muted); font-size: 12.5px; white-space: nowrap; }
.razeni select[b-f7od2ayhqg] { min-height: 32px; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--text); font: inherit; font-size: 12.5px; font-weight: 600; }
.razeni select:focus[b-f7od2ayhqg] { border-color: var(--accent); outline: 2px solid rgba(225, 134, 59, .25); }

/* Clona pod lištou: klik vedle nabídku zavře. */
.cip-clona[b-f7od2ayhqg] { position: fixed; inset: 0; z-index: 25; background: transparent; }

@media (max-width: 680px) {
    /* Hledání má na telefonu celý řádek, čipy se zalomí pod něj. Nabídka se roztáhne
       přes šířku lišty — u čipu na pravém kraji by jinak vyjela mimo obrazovku. */
    .filtry[b-f7od2ayhqg] { flex-basis: 100%; }
    .hledani[b-f7od2ayhqg] { flex: 1 1 100%; min-width: 0; margin-right: 0; }
    .cip-obal[b-f7od2ayhqg] { position: static; }
    .cip-menu[b-f7od2ayhqg] { right: 0; width: auto; max-width: none; }
    .razeni[b-f7od2ayhqg] { width: 100%; }
    .razeni select[b-f7od2ayhqg] { flex: 1; min-width: 0; }
}
@media (max-width: 680px), (pointer: coarse) {
    /* Pod 16 px Safari při klepnutí přiblíží celou stránku. */
    .razeni select[b-f7od2ayhqg], .hledani input[b-f7od2ayhqg] { font-size: 16px; }
    .hledani[b-f7od2ayhqg] { height: 40px; }
    .cip[b-f7od2ayhqg], .cip-zrusit[b-f7od2ayhqg], .zrusit-filtry[b-f7od2ayhqg] { min-height: 38px; }
}
/* /Components/Clients/KlientiNovyKlient.razor.rz.scp.css */
/* Okno „Nový klient“. Mřížku o dvou sloupcích, pole a tlačítka bere z formuláře
   nového obchodního případu (details-editor nova-poptavka) — obě okna mají vypadat
   stejně. Tady je jen to, co má navíc: přepínač typu, adresa, nabídka štítků
   a hláška o duplicitě s odkazem. */

/* Typ klienta jako dvě tlačítka vedle sebe; přepínače samy jsou schované, ale
   zůstávají ovladatelné klávesnicí (šipky) a čtečka je čte jako skupinu. */
.typ-klienta[b-jgsvkryvs5] { min-width: 0; margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.typ-klienta legend[b-jgsvkryvs5] { width: 100%; margin-bottom: 4px; padding: 0; color: var(--text-muted); font-size: 12px; }
.typ-klienta label[b-jgsvkryvs5] {
    position: relative;
    min-height: 36px;
    flex: 1 1 110px;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #fff;
    color: var(--text);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.typ-klienta label:hover[b-jgsvkryvs5] { border-color: var(--accent); }
.typ-klienta label.vybrany[b-jgsvkryvs5] { border-color: var(--ink); background: var(--ink); color: #fff; }
.typ-klienta input[b-jgsvkryvs5] { position: absolute; width: 1px; height: 1px; min-height: 0; margin: 0; padding: 0; border: 0; opacity: 0; }
.typ-klienta label:has(input:focus-visible)[b-jgsvkryvs5] { outline: 2px solid var(--accent); outline-offset: 2px; }

.souhlas[b-jgsvkryvs5] { align-self: end; min-height: 36px; }

.adresa[b-jgsvkryvs5] { min-width: 0; margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.adresa legend[b-jgsvkryvs5] { margin-bottom: 6px; padding: 0; color: var(--ink); font-size: 12.5px; font-weight: 700; }
.adresa legend small[b-jgsvkryvs5] { margin-left: 6px; color: var(--text-muted); font-size: 11px; font-weight: 500; }

.field-hint[b-jgsvkryvs5] { color: var(--text-muted); font-size: 11px; }

/* Pole s chybou: obrys dává app.css (.invalid), rámeček ať je stejně červený. */
label[b-jgsvkryvs5]  input.invalid { border-color: var(--danger); }

.nabidka-stitku[b-jgsvkryvs5] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: -4px; }
.nabidka-stitku > span[b-jgsvkryvs5] { color: var(--text-muted); font-size: 11.5px; }
.nabidnuty[b-jgsvkryvs5] {
    min-height: 28px;
    padding: 0 10px;
    border: 1px dashed var(--accent-line);
    border-radius: 999px;
    background: #fff;
    color: var(--accent-strong);
    font-size: 11.5px;
    font-weight: 600;
}
.nabidnuty:hover[b-jgsvkryvs5] { border-color: var(--accent); background: var(--accent-tint); }
.nabidnuty.vybrany[b-jgsvkryvs5] { border-style: solid; border-color: var(--accent-soft); background: var(--accent-tint); }

/* Prázdná oblast hlášky vypadne z mřížky okna, ze stromu přístupnosti ne (jinak by ji čtečka
   při objevení s hláškou nemusela ohlásit). */
.duplicita-oblast:empty[b-jgsvkryvs5] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.duplicita[b-jgsvkryvs5] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    padding: 12px 15px;
    border: 1px solid #f2c4bf;
    border-radius: 7px;
    background: #fff0ee;
    color: #8e1d16;
    font-size: 12.5px;
    font-weight: 650;
}
.duplicita a[b-jgsvkryvs5] { color: var(--ink); font-weight: 750; text-decoration: underline; text-decoration-color: var(--accent-soft); text-underline-offset: 3px; }
.duplicita a:hover[b-jgsvkryvs5] { text-decoration-color: var(--accent-strong); }

@media (max-width: 620px) {
    .adresa[b-jgsvkryvs5] { grid-template-columns: 1fr; }
    .souhlas[b-jgsvkryvs5] { align-self: start; }
}
/* /Components/Clients/KlientiStav.razor.rz.scp.css */
/* Štítek stavu klienta — tvar jako status-pill v aplikaci, barva podle stavu.
   Zelená a modrá zůstávají stavům (staví se, předáno), písek je značka pro zájemce. */
.klient-stav[b-ul5c1mcs9q] {
    height: 24px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 9px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}
.klient-stav i[b-ul5c1mcs9q] { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: currentColor; }
.stav-zajemce[b-ul5c1mcs9q] { background: var(--accent-tint); color: var(--accent-strong); }
.stav-aktivni[b-ul5c1mcs9q] { background: var(--ok-tint); color: var(--ok-dark); }
.stav-predany[b-ul5c1mcs9q] { background: #e8eefb; color: #2a4f9e; }
.stav-neaktivni[b-ul5c1mcs9q] { background: var(--surface-subtle); color: #5c6570; }
/* /Components/Clients/KlientiTabulka.razor.rz.scp.css */
/* Seznam klientů: tabulka na šířku, karty na úzké ploše. O přepnutí rozhoduje šířka
   seznamu (container query), ne okna — mezi 980 a 1180 px zabere boční panel tolik
   místa, že by se devět sloupců tlačilo, i když je okno široké. */
.obal[b-4tkvlfi2qi] { container-type: inline-size; container-name: klienti; overflow-x: auto; }

.klienti-tabulka[b-4tkvlfi2qi] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.klienti-tabulka th[b-4tkvlfi2qi] {
    padding: 11px 12px;
    border-bottom: 1px solid var(--border);
    background: #f7f8fa;
    color: #6b7580;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .8px;
    text-align: left;
    white-space: nowrap;
}
.klienti-tabulka th:first-child[b-4tkvlfi2qi], .klienti-tabulka td:first-child[b-4tkvlfi2qi] { padding-left: 20px; }
.klienti-tabulka th:last-child[b-4tkvlfi2qi], .klienti-tabulka td:last-child[b-4tkvlfi2qi] { padding-right: 20px; }
.klienti-tabulka td[b-4tkvlfi2qi] { padding: 12px; border-bottom: 1px solid var(--border-soft); color: #46505a; vertical-align: middle; }
.klienti-tabulka tbody tr:last-child td[b-4tkvlfi2qi] { border-bottom: 0; }
.klienti-tabulka .cislo[b-4tkvlfi2qi] { text-align: right; font-variant-numeric: tabular-nums; }

/* Řádek je odkaz: ::after odkazu na jménu se roztáhne přes celý řádek. Telefon
   a e-mail leží nad ním (z-index), aby šly vytočit, napsat i označit a zkopírovat. */
.klienti-tabulka tbody tr[b-4tkvlfi2qi] { position: relative; }
.klienti-tabulka tbody tr:hover td[b-4tkvlfi2qi] { background: #fbfaf7; }
.odkaz[b-4tkvlfi2qi] { color: var(--ink); font-weight: 700; text-decoration: none; }
.odkaz[b-4tkvlfi2qi]::after { content: ""; position: absolute; inset: 0; }
.odkaz:focus-visible[b-4tkvlfi2qi] { outline: none; }
.klienti-tabulka tbody tr:has(.odkaz:focus-visible)[b-4tkvlfi2qi] { outline: 2px solid var(--accent); outline-offset: -2px; }
.klienti-tabulka tbody tr:hover .odkaz[b-4tkvlfi2qi] { color: var(--accent-strong); }

.kod[b-4tkvlfi2qi] { color: var(--accent-strong); font-size: 12px; font-weight: 750; letter-spacing: .2px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.klient[b-4tkvlfi2qi] { min-width: 200px; }
.jmeno[b-4tkvlfi2qi] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 13.5px; overflow-wrap: anywhere; }
.typ[b-4tkvlfi2qi] { padding: 2px 7px; border-radius: 5px; background: var(--surface-subtle); color: var(--text-muted); font-size: 10px; font-weight: 700; letter-spacing: .3px; }
.kontakt[b-4tkvlfi2qi] { display: flex; flex-wrap: wrap; gap: 2px 12px; margin-top: 3px; font-size: 11.5px; }
.kontakt a[b-4tkvlfi2qi] { position: relative; z-index: 1; color: var(--text-muted); text-decoration: none; overflow-wrap: anywhere; }
.kontakt a:hover[b-4tkvlfi2qi] { color: var(--accent-strong); text-decoration: underline; }

/* Obec se smí zalomit: dlouhý název stavby z pozemku by jinak sloupec nafoukl a poslední
   aktivita, podle které se seznam řadí, by vyjela za okraj. */
.obec[b-4tkvlfi2qi] { max-width: 180px; overflow-wrap: break-word; }
.obec .stavba[b-4tkvlfi2qi] { color: var(--text-muted); font-size: 11px; }
.stav[b-4tkvlfi2qi] { white-space: nowrap; }
.obchodnik[b-4tkvlfi2qi] { white-space: nowrap; }
.inicialy[b-4tkvlfi2qi] {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    margin-right: 7px;
    border-radius: 50%;
    background: var(--ink);
    color: var(--accent-soft);
    font-size: 9.5px;
    font-weight: 800;
    vertical-align: middle;
}
.zakazky small[b-4tkvlfi2qi] { display: block; margin-top: 2px; color: var(--ok-dark); font-size: 10.5px; font-weight: 650; white-space: nowrap; }

.stitky[b-4tkvlfi2qi] { max-width: 240px; }
.stitek[b-4tkvlfi2qi] {
    display: inline-flex;
    max-width: 100%;
    margin: 2px 4px 2px 0;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--accent-tint);
    color: var(--accent-strong);
    font-size: 10.5px;
    font-weight: 650;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* „+2“ leží nad odkazem řádku (jako telefon a e-mail), jinak by bublina se zbylými štítky nevyskočila. */
.stitek.dalsi[b-4tkvlfi2qi] { position: relative; z-index: 1; background: var(--surface-subtle); color: var(--text-muted); cursor: help; }
.aktivita[b-4tkvlfi2qi] { color: var(--text-muted); white-space: nowrap; }

/* Středně široký seznam: štítky ustoupí — dají se filtrovat a jsou na kartě klienta.
   Hranice odpovídá notebooku 1440 px (seznam má kolem 1100 px): se štítky by tam poslední
   aktivita ležela za pravým okrajem rámečku. */
@container klienti (max-width: 1280px) {
    .klienti-tabulka .stitky[b-4tkvlfi2qi] { display: none; }
}

/* Úzký seznam: každý klient je karta. Buňky se skládají do řádků — číslo a stav
   nahoře, jméno s kontaktem, pak obec, obchodník a počty s popiskem, štítky a čas. */
@container klienti (max-width: 960px) {
    .klienti-tabulka[b-4tkvlfi2qi], .klienti-tabulka tbody[b-4tkvlfi2qi] { display: block; }
    .klienti-tabulka thead[b-4tkvlfi2qi] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .klienti-tabulka tbody tr[b-4tkvlfi2qi] {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px 14px;
        padding: 14px 16px;
        border-bottom: 1px solid var(--border-soft);
    }
    .klienti-tabulka tbody tr:last-child[b-4tkvlfi2qi] { border-bottom: 0; }
    .klienti-tabulka td[b-4tkvlfi2qi], .klienti-tabulka td:first-child[b-4tkvlfi2qi], .klienti-tabulka td:last-child[b-4tkvlfi2qi] { display: block; padding: 0; border: 0; text-align: left; }
    .klienti-tabulka tbody tr:hover td[b-4tkvlfi2qi] { background: none; }
    .klienti-tabulka tbody tr:hover[b-4tkvlfi2qi] { background: #fbfaf7; }

    .kod[b-4tkvlfi2qi] { order: 1; flex: 1 1 auto; }
    .stav[b-4tkvlfi2qi] { order: 2; flex: 0 0 auto; }
    .klient[b-4tkvlfi2qi] { order: 3; flex: 1 1 100%; min-width: 0; }
    .jmeno[b-4tkvlfi2qi] { font-size: 15px; }
    .kontakt[b-4tkvlfi2qi] { gap: 2px 14px; margin-top: 4px; font-size: 12.5px; }
    .kontakt a[b-4tkvlfi2qi] { color: var(--accent-strong); }
    .obec[b-4tkvlfi2qi], .obchodnik[b-4tkvlfi2qi], .pripady[b-4tkvlfi2qi], .zakazky[b-4tkvlfi2qi] { order: 4; flex: 0 1 auto; min-width: 0; max-width: none; font-size: 12px; white-space: normal; overflow-wrap: anywhere; }
    .obec[b-4tkvlfi2qi]::before, .obchodnik[b-4tkvlfi2qi]::before, .pripady[b-4tkvlfi2qi]::before, .zakazky[b-4tkvlfi2qi]::before {
        content: attr(data-popisek) " ";
        color: var(--text-muted);
        font-size: 10.5px;
        font-weight: 700;
    }
    /* Na kartě se chybějící obec a obchodník vynechají — „Obec —“ by jen přidalo řádek. */
    .klienti-tabulka td.chybi[b-4tkvlfi2qi] { display: none; }
    .inicialy[b-4tkvlfi2qi] { display: none; }
    .zakazky small[b-4tkvlfi2qi] { display: inline; margin: 0 0 0 4px; }
    .klienti-tabulka td.stitky[b-4tkvlfi2qi] { order: 5; display: block; flex: 1 1 100%; max-width: none; }
    .klienti-tabulka td.stitky.bez-stitku[b-4tkvlfi2qi] { display: none; }
    .aktivita[b-4tkvlfi2qi] { order: 6; flex: 1 1 100%; font-size: 11.5px; }
    .aktivita[b-4tkvlfi2qi]::before { content: "Poslední aktivita "; }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-gd8i1ooz11] { min-height: 100vh; background: var(--surface-subtle); }

/* --- Boční navigace ------------------------------------------------------ */
.sidebar[b-gd8i1ooz11] { position: fixed; inset: 0 auto 0 0; z-index: 40; width: 256px; display: flex; flex-direction: column; color: #fff; background: var(--ink); }
.brand[b-gd8i1ooz11] { height: 88px; display: flex; align-items: center; gap: 14px; padding: 0 22px; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.07); }
.brand-logo[b-gd8i1ooz11] { width: 168px; height: auto; display: block; }

.sidebar-footer[b-gd8i1ooz11] { margin-top: auto; padding: 10px 12px 14px; }
.sidebar-author[b-gd8i1ooz11] { display: block; padding: 10px 4px 0; color: #7d8893; text-decoration: none; font-size: 11px; letter-spacing: .2px; text-align: center; }
.sidebar-author:hover[b-gd8i1ooz11] { color: #cfd7df; }
.sidebar-author strong[b-gd8i1ooz11] { font-weight: 700; }

.user-box[b-gd8i1ooz11] { display: flex; align-items: center; gap: 6px; padding: 8px; border-radius: 10px; background: rgba(255,255,255,.05); }
.user-box-main[b-gd8i1ooz11] { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.avatar[b-gd8i1ooz11] { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: var(--accent-soft); color: var(--ink); font-size: 13px; font-weight: 800; }
.user-box-copy[b-gd8i1ooz11] { display: flex; flex-direction: column; min-width: 0; }
.user-box-copy strong[b-gd8i1ooz11] { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-box-copy small[b-gd8i1ooz11] { margin-top: 2px; color: #92a0ad; font-size: 11px; }
.user-box-logout[b-gd8i1ooz11] { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 8px; background: transparent; color: #92a0ad; cursor: pointer; }
.user-box-logout:hover[b-gd8i1ooz11] { background: rgba(255,255,255,.08); color: #fff; }
.user-box-logout[b-gd8i1ooz11]  .ico { width: 18px; height: 18px; }

/* --- Pracovní plocha ----------------------------------------------------- */
.workspace[b-gd8i1ooz11] { min-height: 100vh; margin-left: 256px; display: flex; flex-direction: column; }
.topbar[b-gd8i1ooz11] { position: sticky; top: 0; z-index: 30; height: 74px; padding: 0 30px; display: flex; align-items: center; gap: 20px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--border); backdrop-filter: blur(12px); }
.breadcrumb[b-gd8i1ooz11] { display: flex; align-items: center; gap: 9px; color: var(--text-muted); font-size: 13.5px; white-space: nowrap; }
.breadcrumb strong[b-gd8i1ooz11] { color: var(--text); font-weight: 650; }
.breadcrumb .sep[b-gd8i1ooz11] { color: #c3cad2; }
.global-search[b-gd8i1ooz11] { width: min(520px, 40vw); height: 44px; display: flex; align-items: center; gap: 11px; padding: 0 16px; margin: 0 auto; border: 1px solid var(--border); border-radius: 10px; background: #fbfcfd; color: var(--text-muted); text-decoration: none; font-size: 13.5px; }
.global-search:hover[b-gd8i1ooz11], .global-search:focus-within[b-gd8i1ooz11] { border-color: var(--accent); background: #fff; box-shadow: 0 0 0 3px rgba(225,134,59,.1); }
.global-search[b-gd8i1ooz11]  .ico { width: 18px; height: 18px; flex: 0 0 auto; }
.global-search input[b-gd8i1ooz11] { flex: 1 1 auto; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; font-size: 13.5px; }
.global-search input[b-gd8i1ooz11]::placeholder { color: var(--text-muted); }
/* Vlastní křížek prohlížeče u type=search si bere místo navíc a rozhodí řádek. */
.global-search input[b-gd8i1ooz11]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.topbar-actions[b-gd8i1ooz11] { margin-left: auto; flex: 0 0 auto; display: flex; align-items: center; gap: 12px; }
.icon-button[b-gd8i1ooz11] { display: grid; flex: 0 0 auto; place-items: center; width: 40px; height: 40px; border: 1px solid var(--border); border-radius: 10px; background: #fff; color: var(--text-muted); text-decoration: none; }
.icon-button:hover[b-gd8i1ooz11] { border-color: var(--accent); color: var(--accent-strong); }
.icon-button[b-gd8i1ooz11]  .ico { width: 19px; height: 19px; }
.topbar-avatar[b-gd8i1ooz11] { display: grid; flex: 0 0 auto; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--ink); color: var(--accent-soft); text-decoration: none; font-size: 13.5px; font-weight: 800; }
.menu-toggle[b-gd8i1ooz11] { display: none; flex: 0 0 auto; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--border); border-radius: 10px; background: #fff; color: var(--text); font-size: 18px; line-height: 1; cursor: pointer; }
.menu-toggle:hover[b-gd8i1ooz11] { border-color: var(--accent); color: var(--accent-strong); }
.nav-scrim[b-gd8i1ooz11] { display: none; }
.main-content[b-gd8i1ooz11] { flex: 1; width: 100%; padding: 28px 30px 40px; }

#blazor-error-ui[b-gd8i1ooz11] { color-scheme: light only; background: #fff6d6; bottom: 0; box-shadow: 0 -1px 12px rgba(0,0,0,.12); display: none; left: 0; padding: .75rem 1.25rem; position: fixed; width: 100%; z-index: 1000; }
#blazor-error-ui .dismiss[b-gd8i1ooz11] { cursor: pointer; position: absolute; right: .75rem; top: .6rem; }

@media (max-width: 1100px) {
    .breadcrumb[b-gd8i1ooz11] { display: none; }
    .global-search[b-gd8i1ooz11] { margin: 0; }
}
@media (max-width: 980px) {
    .sidebar[b-gd8i1ooz11] { transform: translateX(-100%); transition: transform .2s ease; }
    .nav-open .sidebar[b-gd8i1ooz11] { transform: translateX(0); }
    .nav-open .nav-scrim[b-gd8i1ooz11] { display: block; position: fixed; inset: 0; z-index: 35; border: 0; background: rgba(15,21,27,.46); }
    .workspace[b-gd8i1ooz11] { margin-left: 0; }
    .menu-toggle[b-gd8i1ooz11] { display: grid; }
    .global-search[b-gd8i1ooz11] { width: auto; flex: 1; }
}
@media (max-width: 680px) {
    .topbar[b-gd8i1ooz11] { height: 64px; padding: 0 14px; gap: 8px; }
    /* Hledání zůstává skutečné políčko — jen se smrskne na zbylé místo. */
    .global-search[b-gd8i1ooz11] { width: auto; flex: 1 1 auto; min-width: 0; gap: 8px; padding: 0 12px; }
    /* Pod 16 px iOS při klepnutí do pole přiblíží celou stránku. */
    .global-search input[b-gd8i1ooz11] { font-size: 16px; }
    .topbar-actions[b-gd8i1ooz11] { gap: 8px; }
    .main-content[b-gd8i1ooz11] { padding: 20px 14px 32px; }
}
/* Na ležícím telefonu zbývá na výšku ~375 px; ze 74px lišty by byla pětina obrazovky. */
@media (max-height: 480px) {
    .topbar[b-gd8i1ooz11] { height: 56px; }
    .brand[b-gd8i1ooz11] { height: 68px; }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.main-nav[b-o8hwq6y82n] { padding: 16px 12px; overflow-y: auto; }
.nav-group[b-o8hwq6y82n] { margin-bottom: 20px; }
/* Správa systému je oddělená linkou, aby na první pohled nesplývala s provozem. */
.nav-group--admin[b-o8hwq6y82n] { margin-top: 4px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .12); }
.nav-label[b-o8hwq6y82n] { display: block; padding: 8px 12px; color: #7d8893; font-size: 10px; font-weight: 800; letter-spacing: 1.6px; }

/* NavLink je komponenta — její <a> nedostane scope atribut, proto ::deep. */
.main-nav[b-o8hwq6y82n]  .nav-item { position: relative; height: 44px; display: flex; align-items: center; gap: 13px; padding: 0 14px; margin: 3px 0; border-radius: 10px; color: #b6c0ca; text-decoration: none; font-size: 13.5px; font-weight: 550; }
.main-nav[b-o8hwq6y82n]  .nav-item:hover { color: #fff; background: rgba(255,255,255,.05); }
.main-nav[b-o8hwq6y82n]  .nav-item.active { color: #fff; background: linear-gradient(96deg, rgba(225,134,59,.24), rgba(225,134,59,.08)); }
.main-nav[b-o8hwq6y82n]  .nav-item.active::before { content: ""; position: absolute; left: 0; width: 3px; height: 24px; border-radius: 0 3px 3px 0; background: var(--accent-soft); }
.main-nav[b-o8hwq6y82n]  .ico { width: 19px; height: 19px; flex: 0 0 auto; color: #8b95a0; }
.main-nav[b-o8hwq6y82n]  .nav-item.active .ico { color: var(--accent-soft); }
.main-nav[b-o8hwq6y82n]  .nav-item:hover .ico { color: #cfd7df; }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-l2hz0c149b],
.components-reconnect-repeated-attempt-visible[b-l2hz0c149b],
.components-reconnect-failed-visible[b-l2hz0c149b],
.components-pause-visible[b-l2hz0c149b],
.components-resume-failed-visible[b-l2hz0c149b],
.components-rejoining-animation[b-l2hz0c149b] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-l2hz0c149b],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-l2hz0c149b],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-l2hz0c149b],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-l2hz0c149b],
#components-reconnect-modal.components-reconnect-retrying[b-l2hz0c149b],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-l2hz0c149b],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-l2hz0c149b],
#components-reconnect-modal.components-reconnect-failed[b-l2hz0c149b],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-l2hz0c149b] {
    display: block;
}


#components-reconnect-modal[b-l2hz0c149b] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-l2hz0c149b 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-l2hz0c149b 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-l2hz0c149b 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-l2hz0c149b]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-l2hz0c149b 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-l2hz0c149b {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-l2hz0c149b {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-l2hz0c149b {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-l2hz0c149b] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-l2hz0c149b] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-l2hz0c149b] {
    border: 0;
    background-color: #1d2731;
    color: white;
    padding: 8px 24px;
    border-radius: 7px;
    font-weight: 700;
}

    #components-reconnect-modal button:hover[b-l2hz0c149b] {
        background-color: #2a3947;
    }

    #components-reconnect-modal button:active[b-l2hz0c149b] {
        background-color: #1d2731;
    }

.components-rejoining-animation[b-l2hz0c149b] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-l2hz0c149b] {
        position: absolute;
        border: 3px solid #e1863b;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-l2hz0c149b 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-l2hz0c149b] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-l2hz0c149b {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Documents.razor.rz.scp.css */
/* Dokumentové centrum. Tabulku, filtry, dlaždice a tlačítka dává app.css; tady je pět
   dlaždic místo čtyř, vysvětlení u zakázaného „Platné“ a tabulka jako karty na telefonu. */

/* Pět pohledů: Čeká na rozhodnutí, Platné, Archiv, V karanténě, Vše. Dlaždice kreslí
   DlazdiceFiltru bez vlastních stylů, proto ::deep. */
.dokumenty-dlazdice[b-i48s88qcqc] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.dokumenty-dlazdice[b-i48s88qcqc]  .document-kpi-button { min-width: 0; }
.dokumenty-dlazdice[b-i48s88qcqc]  .document-kpi-button > .kpi-text { min-width: 0; }
.dokumenty-dlazdice[b-i48s88qcqc]  .document-kpi-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Stáhnout s ikonou na jednom řádku — obecné pravidlo pro odkazy v buňce tabulky je skládá pod sebe. */
.bunka-soubor .document-download[b-i48s88qcqc] { flex-direction: row; }

/* Proč koncept nejde potvrdit — u zakázaného tlačítka, ne jen v title, který na dotyku nikdo neuvidí. */
.akce-duvod[b-i48s88qcqc] { display: block; max-width: 260px; margin-top: 4px; color: var(--text-muted); font-size: 10.5px; line-height: 1.4; }
.akce-platne:not(:disabled)[b-i48s88qcqc] { border-color: #bde5c8; color: #16763c; }

/* Celá slova: „anywhere“ z app.css dovolil tabulce zúžit sloupec pod šířku slova
   („Inženýrin|g“). Dlouhý název souboru se dál zalomí kdekoli. */
.document-table td[data-label][b-i48s88qcqc], .document-table td[data-label] .stacked-cell strong[b-i48s88qcqc],
.document-table td[data-label] .stacked-cell small[b-i48s88qcqc] { overflow-wrap: break-word; }

@media (max-width: 1180px) {
    .dokumenty-dlazdice[b-i48s88qcqc] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    /* Pět dlaždic po dvou s popisky, perex a tlačítko zabraly na telefonu 758 px a z prvního
       dokumentu bylo vidět 50 px. Dlaždice jsou tu řada čipů (nadpis a číslo, bez popisku
       a ikony) a perex ustoupí — co znamenají tři stavy, říká pravidlo pod tabulkou. */
    .dokumenty-perex[b-i48s88qcqc] { display: none; }
    .dokumenty-dlazdice[b-i48s88qcqc] { display: flex; flex-wrap: wrap; gap: 6px; }
    .dokumenty-dlazdice[b-i48s88qcqc]  .document-kpi-button { flex: 0 0 auto; min-height: 40px; padding: 6px 11px; gap: 6px; border-radius: 999px; }
    .dokumenty-dlazdice[b-i48s88qcqc]  .document-kpi-button > .kpi-text { display: flex; align-items: baseline; gap: 6px; }
    .dokumenty-dlazdice[b-i48s88qcqc]  .document-kpi-button small { white-space: nowrap; }
    .dokumenty-dlazdice[b-i48s88qcqc]  .document-kpi-button strong { margin: 0; font-size: 15px; }
    .dokumenty-dlazdice[b-i48s88qcqc]  .kpi-popis,
    .dokumenty-dlazdice[b-i48s88qcqc]  .document-icon { display: none; }

    /* Devět sloupců se na telefon nevejde a tabulka se posouvala do stran. Řádek je karta:
       název a zakázka přes celou šířku, drobné údaje po dvou s popiskem, soubor a akce dole. */
    .document-table thead[b-i48s88qcqc] { display: none; }
    .document-table[b-i48s88qcqc], .document-table tbody[b-i48s88qcqc] { display: block; }
    .document-table tr[b-i48s88qcqc] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; padding: 14px 16px; border-bottom: 1px solid #eef1f4; }
    .document-table tbody tr:last-child[b-i48s88qcqc] { border-bottom: 0; }
    .document-table td[b-i48s88qcqc] { display: block; min-width: 0; padding: 0; border: 0; overflow-wrap: anywhere; }
    .document-table td[data-label][b-i48s88qcqc]::before { content: attr(data-label); display: block; margin-bottom: 2px; color: #78828c; font-size: 9.5px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }
    .document-table .bunka-dokument[b-i48s88qcqc], .document-table .bunka-zakazka[b-i48s88qcqc], .document-table .bunka-soubor[b-i48s88qcqc], .document-table .table-empty[b-i48s88qcqc] { grid-column: 1 / -1; }
    .document-table .file-cell[b-i48s88qcqc] { min-width: 0; }
    .document-table .bunka-soubor[b-i48s88qcqc] { padding-top: 4px; }
    .akce-duvod[b-i48s88qcqc] { max-width: none; }
}
/* /Components/Pages/Invoices.razor.rz.scp.css */
/* Potvrzení úhrady konečné faktury přímo v řádku: den úhrady a dvě tlačítka. Zalamuje
   se, ať se v úzkém sloupci akcí ani na telefonu nic neschová za okraj tabulky. */
.uhrada-potvrzeni[b-1ykf5levm4] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; flex-basis: 100%; }
.uhrada-potvrzeni label[b-1ykf5levm4] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; color: var(--text-muted); font-size: 11.5px; font-weight: 600; }
/* Buňky tabulky lámou slova kdekoli; popisek by se v úzkém sloupci na telefonu rozpadl
   na písmena pod sebou. Raději ať pole skočí pod něj. */
.uhrada-potvrzeni label span[b-1ykf5levm4] { white-space: nowrap; overflow-wrap: normal; }
.uhrada-potvrzeni input[b-1ykf5levm4] { min-height: 32px; padding: 4px 9px; border: 1px solid var(--border); border-radius: 7px; background: #fff; color: var(--text); font: inherit; font-size: 12.5px; }
.uhrada-potvrzeni input[aria-invalid="true"][b-1ykf5levm4] { border-color: var(--danger); }
.uhrada-potvrzeni input:focus[b-1ykf5levm4] { outline: 2px solid rgba(225, 134, 59, .25); border-color: var(--accent); }
/* /Components/Pages/KartaKlienta.razor.rz.scp.css */
/* Karta klienta: hlášky, panely záložek a potvrzovací okna. Bloky a jejich obsah
   mají vlastní styly v Components/Clients. */
/* Prázdná živá oblast jen vypadne z rozvržení, ze stromu přístupnosti ne: s display: none
   by se objevila až s hláškou a čtečka by ji jako nově vloženou neohlásila. */
.karta-hlaseni:empty[b-xs8uabkb6f] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.karta-hlaseni .operation-message[b-xs8uabkb6f] { margin: 0 0 14px; }

[role=tabpanel]:focus[b-xs8uabkb6f] { outline: none; }
[role=tabpanel]:focus-visible[b-xs8uabkb6f] { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 14px; }
.zalozka-bloky[b-xs8uabkb6f] { display: flex; flex-direction: column; gap: 14px; }

.potvrzeni-text[b-xs8uabkb6f] { margin: 0; color: var(--text); font-size: 13.5px; line-height: 1.5; }
.citace[b-xs8uabkb6f] { margin: 0; padding: 10px 14px; border-left: 3px solid var(--accent-line); border-radius: 0 8px 8px 0; background: var(--surface-subtle); color: #4b555f; font-size: 13px; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; }
.pocet-znaku[b-xs8uabkb6f] { margin-top: -4px; color: var(--text-muted); font-size: 11.5px; text-align: right; font-variant-numeric: tabular-nums; }

/* Odebrání se nedá vrátit — tlačítko to říká barvou i slovem. */
.button.nebezpecne[b-xs8uabkb6f] { background: var(--danger); color: #fff; }
.button.nebezpecne:hover[b-xs8uabkb6f] { background: #8e1d16; color: #fff; }

/* Věta pod oříznutou osou: kde hledat starší historii. */
.rozsah-osy[b-xs8uabkb6f] { margin: 12px 0 0; color: var(--text-muted); font-size: 11.5px; }
/* /Components/Pages/Klienti.razor.rz.scp.css */
/* Seznam klientů: ukazatele nahoře, lišta filtrů a seznam v panelu. Tabulka, lišta
   i okno nového klienta jsou vlastní komponenty se svými soubory. */

/* --- Ukazatele ----------------------------------------------------------- */
/* Čtyři čísla z načtených klientů — nic se nedopočítává ani neodhaduje, trendy
   „oproti minulému měsíci“ tu nejsou, protože je data neznají. */
.ukazatele[b-74f8u37jmf] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.ukazatele article[b-74f8u37jmf] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--surface);
}
.ukazatele article > div[b-74f8u37jmf] { min-width: 0; display: flex; flex-direction: column; }
.ikona[b-74f8u37jmf] {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: var(--accent-tint);
    color: var(--accent-strong);
}
.ikona.ok[b-74f8u37jmf] { background: var(--ok-tint); color: var(--ok-dark); }
.ikona.info[b-74f8u37jmf] { background: #e8eefb; color: #2a4f9e; }
.ikona[b-74f8u37jmf]  .ico { width: 22px; height: 22px; }
.ukazatele small[b-74f8u37jmf] { color: var(--text-muted); font-size: 12.5px; font-weight: 650; }
.ukazatele strong[b-74f8u37jmf] { margin: 2px 0 1px; color: var(--ink); font-family: var(--font-display); font-size: 26px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.ukazatele span:not(.ikona)[b-74f8u37jmf] { color: var(--text-muted); font-size: 11.5px; line-height: 1.35; }

/* --- Seznam -------------------------------------------------------------- */
.seznam[b-74f8u37jmf] { overflow: hidden; }
.seznam-hlava[b-74f8u37jmf] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 16px;
    padding: 16px 20px 12px;
    border-bottom: 1px solid var(--border-soft);
}
.seznam-hlava h2[b-74f8u37jmf] { margin: 0; font-size: 16px; letter-spacing: -.3px; }
.pocet[b-74f8u37jmf] { margin: 0; color: var(--text-muted); font-size: 12.5px; font-weight: 600; }

/* Prázdný seznam: věta, proč nic nevidím, a cesta zpátky. */
.prazdne[b-74f8u37jmf] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    padding: 26px 20px;
}
.prazdne strong[b-74f8u37jmf] { flex: 1 1 100%; color: var(--ink); font-size: 14px; }
.prazdne span[b-74f8u37jmf] { flex: 1 1 260px; color: var(--text-muted); font-size: 12.5px; }

@media (max-width: 1080px) {
    .ukazatele[b-74f8u37jmf] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    /* Čtyři ukazatele pod sebou by zabraly celou první obrazovku; po dvou se vejdou. */
    .ukazatele[b-74f8u37jmf] { gap: 8px; margin-bottom: 14px; }
    .ukazatele article[b-74f8u37jmf] { gap: 10px; padding: 12px; }
    .ikona[b-74f8u37jmf] { width: 34px; height: 34px; border-radius: 10px; }
    .ikona[b-74f8u37jmf]  .ico { width: 18px; height: 18px; }
    .ukazatele strong[b-74f8u37jmf] { font-size: 21px; }
    .ukazatele small[b-74f8u37jmf] { font-size: 11.5px; }
    .seznam-hlava[b-74f8u37jmf] { padding: 14px 16px 10px; }
}
@media (max-width: 359px) {
    /* Na nejužším telefonu ikona ubere místo číslu i popisku. */
    .ikona[b-74f8u37jmf] { display: none; }
}
/* /Components/Pages/LeadFile.razor.rz.scp.css */
/* Karta obchodního případu: pod hlavičkou, pásem a údaji hlavní sloupec se záložkami
   a vpravo panel „Čeho se to týká“. Panel je v kódu dvakrát, aby pořadí Tabu vždy
   odpovídalo tomu, co je vidět: na užší obrazovce sbalený nad záložkami (kopie před
   hlavním sloupcem), na široké vpravo vedle nich (kopie za ním). Skrytá kopie má
   display: none, takže ji klávesnice ani čtečka nenajdou. */
.pripad-telo[b-dx44nhfero] { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 13px; }
.pripad-bok[b-dx44nhfero], .pripad-hlavni[b-dx44nhfero] { min-width: 0; }
.pripad-bok-siroky[b-dx44nhfero] { display: none; }

@media (min-width: 1240px) {
    .pripad-telo[b-dx44nhfero] { grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; }
    .pripad-bok-uzky[b-dx44nhfero] { display: none; }
    .pripad-bok-siroky[b-dx44nhfero] { display: block; }
}

.potvrzeni-text[b-dx44nhfero] { margin: 0; color: var(--text); font-size: 13.5px; line-height: 1.5; }

/* Okna karty mají jeden sloupec polí. Bez minmax(0, …) ho výběr modelu roztáhl na šířku
   nejdelší položky („A3P · Rodinný dům A3P (2 839 040 Kč)“) a okno Vyhráno se na
   telefonu posouvalo do strany. */
.details-editor[b-dx44nhfero] { grid-template-columns: minmax(0, 1fr); }
/* Okno Pozemek: šest polí nahoře, ostatní pod sbalitelnými „Podrobnostmi z prohlídky“.
   Tlačítko má tvar řádku přes celou šířku okna (jako „Klient a souvislosti“). Počet
   vyplněných stojí vpravo vedle názvu a na telefonu se zalomí pod něj; šipka zůstává
   vpravo na prvním řádku. */
.podrobnosti-pozemku[b-dx44nhfero] { display: grid; gap: 10px; min-width: 0; padding-top: 10px; border-top: 1px solid var(--border-soft); }
.podrobnosti-prepinac[b-dx44nhfero] {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface-subtle);
    color: var(--ink);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}
.podrobnosti-prepinac:hover[b-dx44nhfero] { border-color: var(--accent-soft); }
.podrobnosti-prepinac:focus-visible[b-dx44nhfero] { outline: 2px solid var(--accent); outline-offset: 2px; }
.podrobnosti-text[b-dx44nhfero] { flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 10px; }
.podrobnosti-nazev[b-dx44nhfero] { min-width: 0; }
.podrobnosti-pocet[b-dx44nhfero] { color: var(--text-muted); font-size: 12px; font-weight: 550; white-space: nowrap; }
.podrobnosti-sipka[b-dx44nhfero] { flex: 0 0 auto; color: var(--text-muted); }
.podrobnosti-pole[b-dx44nhfero] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; min-width: 0; }
.podrobnosti-pole[hidden][b-dx44nhfero] { display: none; }

/* Okno Vyhráno: co se převezme z pozemku případu. */
.prevzato-z-pozemku[b-dx44nhfero] { min-width: 0; padding: 10px 12px; border-radius: 9px; background: var(--surface-subtle); color: var(--text); font-size: 12.5px; line-height: 1.5; overflow-wrap: anywhere; }
.prevzato-z-pozemku p[b-dx44nhfero] { margin: 0; }
.prevzato-z-pozemku ul[b-dx44nhfero] { margin: 6px 0; padding-left: 18px; }
.prevzato-z-pozemku p:last-child[b-dx44nhfero] { color: var(--text-muted); font-size: 12px; }

/* „Doplnit podrobnosti z prohlídky“ hned pod zprávou o zapsané prohlídce (mimo živou oblast). */
.pripad-hlaseni-akce:not(:empty)[b-dx44nhfero] { margin: 0 0 12px; }
.hlaseni-akce[b-dx44nhfero] { display: inline-flex; width: fit-content; }

/* Zpětná záloha: o dokladu se rozhoduje výslovně (dvě volby bez výchozí hodnoty). */
.volba-dokladu[b-dx44nhfero] { display: grid; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.volba-dokladu legend[b-dx44nhfero] { margin-bottom: 4px; padding: 0; color: var(--text-muted); font-size: 12px; }
/* /Components/Pages/Leads.razor.rz.scp.css */
/* Obchodní nástěnka podle vzoru Raynet: ukazatele s ikonami, panel „Na co se zaměřit
   dnes“, sloupce fází s kompaktními kartami a filtry v jednom řádku. Izolované CSS
   stránky; karty, filtry, tabulka, panel a uzavřené případy jsou vlastní komponenty se
   svými soubory, sem patří rozvržení a to, co sdílí víc z nich (palety zdrojů a fází). */

/* Paleta štítků zdroje. Třídu přiděluje NastenkaFormat.ZdrojCss a čte ji karta
   (štítek), tabulka i filtr Zdroj (tečka), proto je tady jednou a přes ::deep. Odstíny
   ladí s grafitem a pískem z loga; zelená/červená zůstávají stavům, takže tu zelená je
   jen tlumená a červená chybí úplně. */
.nastenka[b-254a0j7a9g]  .zdroj-0 { --zdroj-bg: var(--accent-tint); --zdroj-fg: var(--accent-strong); }
.nastenka[b-254a0j7a9g]  .zdroj-1 { --zdroj-bg: #e8eefb; --zdroj-fg: #2a4f9e; }
.nastenka[b-254a0j7a9g]  .zdroj-2 { --zdroj-bg: #e7f4ec; --zdroj-fg: #24663f; }
.nastenka[b-254a0j7a9g]  .zdroj-3 { --zdroj-bg: #f3ebf5; --zdroj-fg: #6e3a79; }
.nastenka[b-254a0j7a9g]  .zdroj-4 { --zdroj-bg: #e3f2f1; --zdroj-fg: #146560; }
.nastenka[b-254a0j7a9g]  .zdroj-5 { --zdroj-bg: #e9edf1; --zdroj-fg: var(--ink-2); }
.nastenka[b-254a0j7a9g]  .zdroj-neznamy { --zdroj-bg: var(--surface-subtle); --zdroj-fg: var(--text-muted); }

/* Paleta fází: barva sílí s fází od písku k tmavé jantarové, Smlouva je zelená —
   stejná řeč jako pás fází na kartě případu. Čte ji hlavička sloupce, tečka ve filtru
   Fáze i štítek fáze v tabulce. */
.nastenka[b-254a0j7a9g]  .faze-1 { --faze: var(--accent-soft); }
.nastenka[b-254a0j7a9g]  .faze-2 { --faze: color-mix(in srgb, var(--accent-soft), var(--accent)); }
.nastenka[b-254a0j7a9g]  .faze-3 { --faze: var(--accent); }
.nastenka[b-254a0j7a9g]  .faze-4 { --faze: color-mix(in srgb, var(--accent), var(--accent-strong)); }
.nastenka[b-254a0j7a9g]  .faze-5 { --faze: var(--accent-strong); }
.nastenka[b-254a0j7a9g]  .faze-6 { --faze: var(--ok); }
.nastenka[b-254a0j7a9g]  .faze-1, .nastenka[b-254a0j7a9g]  .faze-2, .nastenka[b-254a0j7a9g]  .faze-3,
.nastenka[b-254a0j7a9g]  .faze-4, .nastenka[b-254a0j7a9g]  .faze-5, .nastenka[b-254a0j7a9g]  .faze-6 { --faze-tint: color-mix(in srgb, var(--faze) 13%, #fff); }

/* --- Rozvržení ----------------------------------------------------------- */
/* Úzký a střední displej: ukazatele, pod nimi panel „Na co se zaměřit“ a deska přes
   celou šířku. Široký: panel vpravo vedle desky. Ukazatele zůstávají přes celou šířku —
   vedle panelu by se do čtvrtiny zbylého místa nevešla ani hodnota nástěnky.
   Panel jde vedle desky až tam, kde se vedle něj vejde všech šest fází (1720 px):
   od 1360 px desku ořízl tak, že Čeká na banku a Smlouva — případy nejblíž penězům —
   byly vidět až po posunu, a to i na monitoru Full HD. */
.nastenka-rozvrh[b-254a0j7a9g] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "ukazatele" "zamereni" "deska";
    gap: 0 16px;
}
.nastenka-ukazatele[b-254a0j7a9g] { grid-area: ukazatele; }
.nastenka-rozvrh[b-254a0j7a9g]  .zamereni { grid-area: zamereni; margin-bottom: 14px; }
.nastenka-hlavni[b-254a0j7a9g] { grid-area: deska; min-width: 0; }

@media (min-width: 1720px) {
    .nastenka-rozvrh[b-254a0j7a9g] {
        grid-template-columns: minmax(0, 1fr) 292px;
        grid-template-areas: "ukazatele ukazatele" "deska zamereni";
    }
}

/* --- Ukazatele ------------------------------------------------------------ */
.nastenka-ukazatele[b-254a0j7a9g] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.nastenka-ukazatele article[b-254a0j7a9g] {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 14px 13px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--surface);
}
.ukazatel-ikona[b-254a0j7a9g] { flex: 0 0 auto; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; background: var(--accent-tint); color: var(--accent-strong); }
.ukazatel-ikona[b-254a0j7a9g]  .ico { width: 21px; height: 21px; }
.ukazatel-text[b-254a0j7a9g] { min-width: 0; display: grid; gap: 2px; }
.ukazatel-text small[b-254a0j7a9g] { color: var(--text-muted); font-size: 10px; font-weight: 800; letter-spacing: .8px; }
.ukazatel-text strong[b-254a0j7a9g] { margin: 3px 0 1px; color: var(--ink); font-family: var(--font-display); font-size: 21px; font-weight: 700; line-height: 1.15; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ukazatel-text strong.text-danger[b-254a0j7a9g] { color: var(--danger); }
.ukazatel-text > span[b-254a0j7a9g] { color: var(--text-muted); font-size: 11px; line-height: 1.35; }
.ukazatel-podil[b-254a0j7a9g] { margin-left: 8px; color: var(--text-muted); font-family: Inter, system-ui, sans-serif; font-size: 12px; font-weight: 600; }
.ukazatel-zmena[b-254a0j7a9g] { display: inline-block; margin-left: 8px; padding: 1px 7px; border-radius: 6px; background: var(--ok-tint); color: var(--ok-dark); font-family: Inter, system-ui, sans-serif; font-size: 10.5px; font-style: normal; font-weight: 700; line-height: 1.6; white-space: nowrap; vertical-align: 3px; }

@media (max-width: 1180px) {
    .nastenka-ukazatele[b-254a0j7a9g] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* --- Deska ---------------------------------------------------------------- */
/* Šest sloupců po 168 px se vejde od šířky okna 1440 px; na menším notebooku se deska
   posouvá ve svém kontejneru a stránka zůstává v klidu. */
.kanban-board[b-254a0j7a9g] {
    grid-auto-columns: minmax(168px, 1fr);
    gap: 10px;
    padding-bottom: 8px;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
}
/* Filtr fáze nechá jeden sloupec; přes celou šířku by karty byly nečitelně široké. */
.kanban-board.jeden-sloupec[b-254a0j7a9g] { grid-auto-columns: minmax(224px, 340px); }
.kanban-column[b-254a0j7a9g] { min-width: 0; display: flex; flex-direction: column; scroll-snap-align: start; }
.kanban-column.nedostupne[b-254a0j7a9g] { opacity: .45; }
.kanban-cards[b-254a0j7a9g] { flex: 1; min-height: 320px; display: flex; flex-direction: column; gap: 8px; padding: 8px; border-radius: 10px; background: #eef1f4; }

/* Hlavička sloupce: fáze, „N případů · %“, součet vpravo a tenký pruh v barvě fáze
   (délka = pravděpodobnost). Název je nadpis h2 kvůli osnově pro čtečku. */
.faze-hlava[b-254a0j7a9g] {
    display: grid;
    gap: 3px;
    padding: 10px 12px 10px;
    margin-bottom: 8px;
    border: 1px solid color-mix(in srgb, var(--faze) 30%, #fff);
    border-radius: 10px;
    background: var(--faze-tint);
    color: var(--ink);
}
.faze-hlava .faze-nazev[b-254a0j7a9g] { margin: 0; color: inherit; font-family: inherit; font-size: 11.5px; font-weight: 800; line-height: 1.3; letter-spacing: .6px; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.faze-cisla[b-254a0j7a9g] { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 8px; }
.faze-cisla small[b-254a0j7a9g] { color: var(--ink-2); font-size: 11.5px; font-weight: 550; white-space: nowrap; }
.faze-soucet[b-254a0j7a9g] { margin-left: auto; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.faze-pruh[b-254a0j7a9g] { display: block; height: 4px; margin-top: 4px; border-radius: 999px; background: rgba(29, 39, 47, .08); overflow: hidden; }
.faze-pruh > span[b-254a0j7a9g] { display: block; height: 100%; border-radius: inherit; background: var(--faze); }

/* Prázdný sloupec: obrázek, „Žádné případy“ a věta, co do fáze patří — prázdné místo
   jinak vypadá jako chyba načítání. */
.kanban-empty[b-254a0j7a9g] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 180px;
    padding: 18px 12px;
    border: 1px dashed #cfd5dc;
    border-radius: 10px;
    background: rgba(255, 255, 255, .55);
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
}
.kanban-empty strong[b-254a0j7a9g] { color: var(--ink-2); font-size: 13px; }
.prazdny-znak[b-254a0j7a9g] { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: #fff; color: var(--text-muted); }
.prazdny-znak[b-254a0j7a9g]  .nastenka-ikona { width: 24px; height: 24px; }
.kanban-empty .napoveda[b-254a0j7a9g] { margin-top: 2px; font-size: 11px; font-style: italic; }

/* „＋ Přidat případ“ jen pod sloupcem Nový — jinam se případ založit nedá. */
.pridat-pripad[b-254a0j7a9g] {
    flex: 0 0 auto;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px dashed #c3cad2;
    border-radius: 9px;
    background: rgba(255, 255, 255, .7);
    color: var(--ink-2);
    font-size: 12.5px;
    font-weight: 650;
}
.pridat-pripad:hover[b-254a0j7a9g] { border-color: var(--accent); background: #fff; color: var(--accent-strong); }

/* Prázdný výsledek filtrů: věta, proč nic nevidím, a cesta zpátky. */
.nastenka-prazdna[b-254a0j7a9g] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    padding: 22px 20px;
    margin-bottom: 14px;
    border: 1px dashed var(--border);
    border-radius: 12px;
    background: #fff;
}
.nastenka-prazdna strong[b-254a0j7a9g] { flex: 1 1 100%; font-size: 14px; }
.nastenka-prazdna span[b-254a0j7a9g] { flex: 1 1 260px; color: var(--text-muted); font-size: 12.5px; }

.nastenka-podpis .document-upload-actions[b-254a0j7a9g] { flex-wrap: wrap; justify-content: flex-end; }

@media (max-width: 680px) {
    /* Čtyři ukazatele pod sebou zabraly celou první obrazovku; po dvou se vejdou. */
    .nastenka-ukazatele[b-254a0j7a9g] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .nastenka-ukazatele article[b-254a0j7a9g] { flex-direction: column; gap: 8px; padding: 11px 12px; }
    .ukazatel-ikona[b-254a0j7a9g] { width: 32px; height: 32px; border-radius: 8px; }
    .ukazatel-ikona[b-254a0j7a9g]  .ico { width: 18px; height: 18px; }
    .ukazatel-text strong[b-254a0j7a9g] { font-size: 17px; }
    .ukazatel-zmena[b-254a0j7a9g], .ukazatel-podil[b-254a0j7a9g] { display: block; width: fit-content; margin: 3px 0 0; vertical-align: baseline; }

    /* Telefon: jeden sloupec na šířku a kousek dalšího, ať je vidět, že deska
       pokračuje. Posouvá se po celých sloupcích. */
    .kanban-board[b-254a0j7a9g] {
        grid-auto-columns: calc(100% - 44px);
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 0;
    }
    .kanban-board.jeden-sloupec[b-254a0j7a9g] { grid-auto-columns: 100%; }
    .kanban-cards[b-254a0j7a9g] { min-height: 180px; }
}

@media (pointer: coarse) {
    .pridat-pripad[b-254a0j7a9g] { min-height: 42px; }
}

/* Krok, který případ už má, nad poli okna „Dům a pozemek“: věta a zaškrtávátko pod sebou. */
.kvalifikace-krok[b-254a0j7a9g] { display: grid; gap: 8px; }
.kvalifikace-krok p[b-254a0j7a9g] { margin: 0; }
/* /Components/Pages/ModulePage.razor.rz.scp.css */
/* Výrobní deska (jen ke čtení) a seznam „Před odvozem“. Dráhy, karty a pruh čísel dává
   app.css; katalog a reporty v témže souboru tu nic nemají. */

/* Kolik z domů před odvozem má seznam hotový — drobně pod číslem v tmavém pruhu. */
.factory-kpis .kpi-pozn[b-ohb51h8snr] { margin-top: 3px; color: #a9b3bd; font-size: 10px; letter-spacing: 0; }
/* „Před odvozem“ v pruhu vede na seznam pod deskou (dřív číslo, které nešlo ťuknout). */
.factory-kpis .kpi-odkaz[b-ohb51h8snr] { display: flex; flex-direction: column; text-align: right; color: inherit; text-decoration: none; border-radius: 6px; }
.factory-kpis .kpi-odkaz:hover .kpi-pozn[b-ohb51h8snr] { color: #fff; text-decoration: underline; }
.factory-kpis .kpi-odkaz:focus-visible[b-ohb51h8snr] { outline: 2px solid var(--accent-soft); outline-offset: 3px; }
#pred-odvozem-nadpis:focus[b-ohb51h8snr] { outline: none; }

/* Seznam „Před odvozem“ stojí nad deskou. */
.pred-odvozem[b-ohb51h8snr] { margin-bottom: 13px; }
/* Hlavička dráhy: krok a pod ním, co pokrývá („základy, doprava modulů, kompletace na místě“). */
.production-lane header h3 .drah-popis[b-ohb51h8snr] { display: block; margin-top: 2px; color: var(--text-muted); font-size: 9.5px; font-weight: 600; line-height: 1.25; }

/* Věta pod deskou: kde se fáze mění, když přetahování na desce už není. */
.deska-pravidlo[b-ohb51h8snr] { display: flex; align-items: center; gap: 9px; margin: -2px 0 13px; color: var(--text-muted); font-size: 12px; }
.deska-pravidlo > span[b-ohb51h8snr] { width: 22px; height: 22px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--accent-tint); color: var(--accent-strong); font-size: 10px; font-weight: 800; }

.pred-odvozem-seznam[b-ohb51h8snr] { padding: 7px 16px 13px; }
.pred-odvozem-seznam > a[b-ohb51h8snr] { min-height: 56px; display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; gap: 9px 12px; align-items: center; border-bottom: 1px solid #eef1f4; color: inherit; text-decoration: none; }
.pred-odvozem-seznam > a:last-of-type[b-ohb51h8snr] { border-bottom: 0; }
.pred-odvozem-seznam > a:hover[b-ohb51h8snr] { border-radius: 7px; background: var(--surface-subtle); }
.pred-odvozem-seznam > a:focus-visible[b-ohb51h8snr] { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 7px; }
.pred-odvozem-seznam time[b-ohb51h8snr] { color: var(--accent-strong); font-size: 11.5px; font-weight: 800; font-variant-numeric: tabular-nums; }
.pred-odvozem-seznam time.prosly[b-ohb51h8snr] { color: var(--danger); }
.pred-odvozem-seznam p[b-ohb51h8snr] { display: flex; flex-direction: column; min-width: 0; margin: 0; }
.pred-odvozem-seznam strong[b-ohb51h8snr] { font-size: 11.5px; overflow-wrap: anywhere; }
.pred-odvozem-seznam small[b-ohb51h8snr] { margin-top: 3px; color: var(--danger); font-size: 10.5px; font-weight: 650; }
.pred-odvozem-seznam small.hotovo[b-ohb51h8snr] { color: var(--ok-dark); }

/* Prošlý termín odvozu musí být vidět z dálky: červený štítek místo stavu brány. */
.termin-prosel[b-ohb51h8snr] { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #fdeced; color: var(--danger); font-size: 10px; font-weight: 800; white-space: nowrap; }

@media (max-width: 680px) {
    /* Deska je jen ke čtení, a tak na telefonu nemusí držet dráhy vedle sebe (posouvaly se
       do strany a druhá půlka desky byla mimo obrazovku). Dráhy jdou pod sebe a prázdná
       zabere jen řádek. */
    .production-board[b-ohb51h8snr] { grid-template-columns: minmax(0, 1fr); overflow-x: visible; }
    .production-cards[b-ohb51h8snr] { min-height: 0; }
    .production-cards .lane-empty[b-ohb51h8snr] { margin: 12px 0; }
    /* Prázdná dráha je jen řádek s nulou — „Žádný dům v tomto kroku“ šestkrát pod sebou
       odsouval seznam i karty domů o obrazovku dolů. */
    .production-lane.prazdna > header[b-ohb51h8snr] { border-bottom: 0; }
    .production-lane.prazdna .production-cards[b-ohb51h8snr] { display: none; }

    /* Na telefonu datum a štítek nahoře, dům a co chybí pod nimi přes celou šířku. */
    .pred-odvozem-seznam > a[b-ohb51h8snr] { grid-template-columns: minmax(0, 1fr) auto; padding: 10px 0; }
    .pred-odvozem-seznam p[b-ohb51h8snr] { grid-column: 1 / -1; grid-row: 2; }
    .deska-pravidlo[b-ohb51h8snr] { align-items: flex-start; }
}
/* /Components/Pages/Planner.razor.rz.scp.css */
/* Plánovač. Kalendář, formulář nahoře i okna mají rozložení z app.css; tady jsou
   jen nápovědy u domu a odpovědné osoby a obrys prázdného povinného pole. */

/* Nápověda v okně dne (formulář nahoře ji má z .inline-create v app.css). */
.details-editor .field-hint[b-0dlly7ooyg] { color: var(--text-muted); font-size: 11px; font-weight: 500; line-height: 1.4; }

/* Formulář nahoře zarovnává pole ke spodní hraně; s nápovědou pod polem by
   vstupy v jedné řadě neseděly na stejné výšce. */
.planner-novy-ukol[b-0dlly7ooyg] { align-items: start; }
.planner-novy-ukol .field-hint[b-0dlly7ooyg] { line-height: 1.4; }

/* Co a kdo jsou povinné — po pokusu o uložení se prázdné pole orámuje. */
.planner-novy-ukol input[aria-invalid="true"][b-0dlly7ooyg] { border-color: var(--danger); }
/* /Components/Pages/ProjectDetail.razor.rz.scp.css */
/* Spis zakázky V2: obsah se záložkami vlevo, boční panel vpravo. Pod 1180 px by
   karty přehledu vedle panelu zbyly v úzkém sloupci — panel proto jde pod obsah. */
.spis-rozlozeni[b-osncviy5x3] { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 16px; }
.spis-obsah[b-osncviy5x3] { min-width: 0; }
.spis-bok[b-osncviy5x3] { display: flex; flex-direction: column; gap: 12px; min-width: 0; }

/* Panel záložky skládá karty pod sebe. Třída s display by jinak přebila atribut
   hidden a skryté záložky by stály na stránce pod sebou. */
.spis-karta-obsah[b-osncviy5x3] { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.spis-karta-obsah[hidden][b-osncviy5x3] { display: none; }
.spis-karta-obsah:focus[b-osncviy5x3] { outline: none; }
/* Starší karty spisu (brána, platby, strom) si nesly vlastní okraje; mezery teď
   drží panel záložky, jinak by se sčítaly. */
.spis-karta-obsah > section[b-osncviy5x3], .spis-karta-obsah > div > section[b-osncviy5x3] { margin-top: 0; margin-bottom: 0; }
#zadani-projektantovi:focus[b-osncviy5x3] { outline: none; }

/* Zadání stálo dřív samo na záložce a prázdné stavy měly kolem sebe velký
   vzduch. Nad stromem spisu jsou to jen řádky upozornění u levého okraje. */
#zadani-projektantovi .lane-empty[b-osncviy5x3] { margin: 14px 22px; font-size: 12px; text-align: left; }
#zadani-projektantovi section > .quiet-note[b-osncviy5x3] { margin: 0 22px 12px; font-size: 12px; }
#zadani-projektantovi section > .link-button[b-osncviy5x3] { margin: 0 22px 16px; }

/* Brána a milníky vedle bočního panelu: proudy se skládají podle šířky a výběr
   připravenosti spadne pod text proudu, místo aby přetekl z karty. */
.gate-streams[b-osncviy5x3] { grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); }
.gate-stream[b-osncviy5x3] { flex-wrap: wrap; min-width: 0; }
.gate-stream > div[b-osncviy5x3] { flex: 1 1 110px; min-width: 0; }
.milestone-row .milestone-actions[b-osncviy5x3] { flex-direction: row; }
.data-table .button-tertiary[b-osncviy5x3] { white-space: nowrap; }

/* Dvě karty vedle sebe; když se do řádku nevejdou, pod sebou. */
.prehled-dvojice[b-osncviy5x3] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 12px; }

.odebirana-poznamka[b-osncviy5x3] { margin: 0 20px 10px; padding: 10px 12px; border-left: 3px solid var(--accent-line); border-radius: 0 8px 8px 0; background: var(--surface-subtle); color: var(--text); font-size: 13px; line-height: 1.45; white-space: pre-line; overflow-wrap: anywhere; }

@media (max-width: 1180px) {
    .spis-rozlozeni[b-osncviy5x3] { grid-template-columns: minmax(0, 1fr); }
}

/* Prázdná živá oblast jen vypadne z rozvržení, ze stromu přístupnosti ne: s display: none
   by se objevila až s hláškou a čtečka by ji jako nově vloženou neohlásila. */
.spis-hlaseni:empty[b-osncviy5x3] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Další krok je hlavní doporučená akce spisu. Na šířce, kde boční panel padá pod obsah,
   by byl za všemi kartami přehledu (na telefonu sedm obrazovek dolů) — stojí proto
   nad záložkami a v panelu dole se nekreslí. Široká obrazovka ho má vpravo nahoře. */
.dalsi-krok-nahore[b-osncviy5x3] { display: none; }
@media (max-width: 1180px) {
    .dalsi-krok-nahore[b-osncviy5x3] { display: block; margin-bottom: 14px; }
    .dalsi-krok-v-boku[b-osncviy5x3] { display: none; }
}
/* Záhlaví servisního deníku: nový případ k domu a cesta do servisního centra vedle sebe. */
.hlava-akce[b-osncviy5x3] { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }

/* Hlavička složky stromu: zóna pro soubory a vedle ní „Potvrdit vše jako platné“. Tlačítko
   stojí mimo zónu — neviditelné pole pro soubory ji překrývá celou a klik by otevřel výběr
   souboru. Na telefonu spadne pod hlavičku přes celou šířku. */
.folder-hlava[b-osncviy5x3] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.folder-hlava > :first-child[b-osncviy5x3] { flex: 1 1 260px; min-width: 0; }
.potvrdit-slozku[b-osncviy5x3] { flex: 0 0 auto; }
/* Fokus po akci ve složce dostane její název (ne celý div složky). */
.folder-head strong:focus[b-osncviy5x3] { outline: none; }
.folder-head strong:focus-visible[b-osncviy5x3] { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; }
/* 99 Archiv: místo nahrávání věta, kde archivované dokumenty jsou. */
.archiv-poznamka[b-osncviy5x3] { flex: 1 1 100%; margin: 0 0 6px 22px; color: var(--text-muted); font-size: 11.5px; line-height: 1.45; }
/* Proč koncept nejde potvrdit jako platný — viditelně pod akcemi řádku, ne jen v bublině. */
.folder-doc .akce-duvod[b-osncviy5x3] { flex: 1 1 100%; margin: 0 0 2px; color: var(--text-muted); font-size: 10.5px; line-height: 1.4; }
/* Jednou nad stromem: co znamená potvrzení (na dotyku bublina tlačítka chybí). */
.strom-pravidlo[b-osncviy5x3] { margin: 0 22px 10px; color: var(--text-muted); font-size: 11.5px; line-height: 1.45; }
@media (max-width: 600px) {
    .potvrdit-slozku[b-osncviy5x3] { flex: 1 1 100%; min-height: 44px; }
}
/* Akce dokumentu (Platné, Smazat, Do archivu) se na dotyku musí dát trefit. */
@media (pointer: coarse) {
    .folder-doc .link-button[b-osncviy5x3], .potvrdit-slozku[b-osncviy5x3] { min-height: 44px; }
}
/* /Components/Pages/Projects.razor.rz.scp.css */
/* Seznam domů. Tabulku, filtry a tlačítka dává app.css; tady je jen štítek domu,
   který obchodem v CRM neprošel, a rozložení tří tlačítek na telefonu. */

/* Tři tlačítka vedle sebe se na telefonu zúžila na sloupce po dvou slovech a hlavní
   „Založit z obchodního případu“ se lámalo na tři řádky. Vedlejší jdou po dvou,
   hlavní dostane celý řádek. */
@media (max-width: 680px) {
    .heading-actions[b-bjcshhtyxv] { flex-wrap: wrap; }
    .heading-actions .button[b-bjcshhtyxv] { flex: 1 1 140px; }
    .heading-actions .button-primary[b-bjcshhtyxv] { flex-basis: 100%; }
}

/* Štítek pod číslem zakázky: tichý, ne varovný — dům bez obchodu je v pořádku, jen se
   u něj nehlídá „do projekce až po podpisu a záloze“. */
.bez-obchodu[b-bjcshhtyxv] {
    align-self: flex-start;
    margin-top: 5px;
    padding: 1px 7px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface-subtle);
    color: #5c6570;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
}
/* /Components/Pages/Ridici.razor.rz.scp.css */
/* Lišta hledání a filtrů nad seznamem řidičů. Popisek stojí u výběru, ne nad ním —
   lišta má být jeden řádek, ne formulář. */
.ridici-filtry[b-zxko0ym8ix] { flex-wrap: wrap; }
.ridici-filtry .table-search[b-zxko0ym8ix] { flex: 1 1 260px; }
.ridici-filtr[b-zxko0ym8ix] { display: flex; align-items: center; gap: 6px; color: var(--text-muted); font-size: 11.5px; font-weight: 600; }
.ridici-filtr select[b-zxko0ym8ix] { min-width: 0; }

/* Oprava školení je drobná akce u řádku, ne další tlačítko v liště karty. */
.ridic-oprava[b-zxko0ym8ix] { margin-left: 6px; font-size: 11px; }

/* Řidič z prokliku, kterého filtr vyřadil — odlišený, ať se nepočítá mezi vybrané. */
.ridic-z-odkazu[b-zxko0ym8ix] { outline: 1px dashed var(--text-muted); outline-offset: -1px; }

@media (max-width: 680px) {
    /* Na telefonu jde každý výběr přes celou šířku vedle svého popisku. */
    .ridici-filtry .table-search[b-zxko0ym8ix] { flex-basis: 100%; }
    .ridici-filtr[b-zxko0ym8ix] { flex: 1 1 100%; }
    .ridici-filtr select[b-zxko0ym8ix] { flex: 1; }
}
/* /Components/Pages/Sablony.razor.rz.scp.css */
/* Knihovna šablon podle dodaného návrhu: kategorie jsou trvale viditelné
   (žádná roletka) — na širokém displeji vlevo, na mobilu nad seznamem
   ve dvou sloupcích. Izolované CSS stránky. */
.library[b-h036cnsg7b] { overflow: hidden; }
.library-heading[b-h036cnsg7b] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 18px 20px; border-bottom: 1px solid var(--border); }
.library-heading h2[b-h036cnsg7b] { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 19px; font-weight: 600; }
.library-heading[b-h036cnsg7b]  .ico { width: 22px; height: 22px; color: var(--accent-strong); }
.checkbox-inline[b-h036cnsg7b] { display: flex; align-items: center; gap: 8px; color: var(--text-muted); font-size: 12.5px; }
.checkbox-inline input[b-h036cnsg7b] { width: 16px; height: 16px; accent-color: var(--accent-strong); }

.library-search[b-h036cnsg7b] { display: block; padding: 16px 20px; background: var(--surface-subtle); border-bottom: 1px solid var(--border); }
.library-search label[b-h036cnsg7b] { display: block; margin-bottom: 7px; color: var(--text-muted); font-size: 12px; }
.library-search input[b-h036cnsg7b] { width: 100%; min-width: 0; min-height: 46px; padding: 10px 14px; border: 1px solid var(--border); border-radius: 9px; background: #fff; color: var(--text); font: inherit; font-size: 15px; }
/* Scoped pravidlo přebíjelo globální ochranu proti iOS zoomu — pole zůstalo
   na 15 px a Safari při klepnutí přiblížilo celou stránku. */
@media (max-width: 680px), (pointer: coarse) {
    .library-search input[b-h036cnsg7b] { font-size: 16px; }
}
.library-search input[b-h036cnsg7b]::placeholder { color: var(--text-muted); opacity: 1; }
.library-search input:focus[b-h036cnsg7b] { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(225,134,59,.12); outline: none; }

.library-layout[b-h036cnsg7b] { display: grid; grid-template-columns: minmax(185px, 28%) minmax(0, 1fr); }
.library-nav[b-h036cnsg7b] { padding: 16px 12px; border-right: 1px solid var(--border); }
.library-nav-heading[b-h036cnsg7b] { margin: 0 8px 10px; color: var(--text-muted); font-size: 12px; font-weight: 500; }
.library-categories[b-h036cnsg7b] { display: grid; grid-template-columns: 1fr; gap: 6px; }
.library-category[b-h036cnsg7b] { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 46px; padding: 10px 11px; border: 1px solid transparent; border-radius: 9px; background: #fff; color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.library-category[b-h036cnsg7b]  .ico { width: 19px; height: 19px; flex: 0 0 19px; color: var(--text-muted); }
.library-category-name[b-h036cnsg7b] { min-width: 0; overflow-wrap: anywhere; }
.library-count[b-h036cnsg7b] { margin-left: auto; color: var(--text-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.library-category:hover[b-h036cnsg7b] { background: var(--accent-tint); }
.library-category[aria-pressed="true"][b-h036cnsg7b] { background: var(--accent-tint); border-color: var(--accent-line); color: var(--accent-strong); font-weight: 550; }
.library-category[aria-pressed="true"][b-h036cnsg7b]  .ico, .library-category[aria-pressed="true"] .library-count[b-h036cnsg7b] { color: var(--accent-strong); }
.library-category.all[b-h036cnsg7b] { margin-bottom: 6px; }

.library-documents[b-h036cnsg7b] { min-width: 0; padding: 19px 20px; }
.library-results-heading[b-h036cnsg7b] { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 5px 12px; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
.library-results-heading h3[b-h036cnsg7b] { margin: 0; font-size: 16px; font-weight: 600; }
.library-result-count[b-h036cnsg7b] { color: var(--text-muted); font-size: 12px; }
.library-empty[b-h036cnsg7b] { padding: 26px 0 10px; margin: 0; color: var(--text-muted); }
.library-file-list[b-h036cnsg7b] { padding: 0; margin: 0; list-style: none; }
.library-file[b-h036cnsg7b] { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; min-height: 74px; padding: 14px 0; border-bottom: 1px solid #eef1f4; }
.library-file:last-child[b-h036cnsg7b] { border-bottom: 0; }
.library-file.inactive[b-h036cnsg7b] { opacity: .55; }
.library-file-kind[b-h036cnsg7b] { display: grid; place-items: center; flex: 0 0 46px; height: 44px; border-radius: 7px; background: var(--surface-subtle); color: var(--accent-strong); font-size: 11px; font-weight: 600; }
.library-file-copy[b-h036cnsg7b] { flex: 1; min-width: 0; }
.library-file-name[b-h036cnsg7b] { display: block; font-size: 14px; font-weight: 550; overflow-wrap: anywhere; }
.library-file-meta[b-h036cnsg7b] { display: block; margin-top: 3px; color: var(--text-muted); font-size: 12px; }

@media (max-width: 720px) {
    /* Na úzkém displeji patří akce pod název, jinak se text láme do sloupečku. */
    .library-file[b-h036cnsg7b] { align-items: flex-start; gap: 10px 12px; padding: 12px 0; }
    .library-file-copy[b-h036cnsg7b] { flex: 1 1 100%; order: 1; }
    .library-file-kind[b-h036cnsg7b] { order: 0; }
    .library-file[b-h036cnsg7b]  .document-download, .library-file[b-h036cnsg7b]  .link-button,
    .library-file .lang-tag[b-h036cnsg7b], .library-file .doc-state[b-h036cnsg7b], .library-file .file-availability[b-h036cnsg7b] { order: 2; }
    .library-file[b-h036cnsg7b]  .document-download { margin-left: 58px; }

    .library-layout[b-h036cnsg7b] { grid-template-columns: minmax(0, 1fr); }
    .library-nav[b-h036cnsg7b] { padding: 14px 16px 16px; border-right: 0; border-bottom: 1px solid var(--border); }
    .library-nav-heading[b-h036cnsg7b] { margin: 0 0 9px; }
    .library-categories[b-h036cnsg7b] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .library-category[b-h036cnsg7b] { min-height: 50px; gap: 8px; padding: 10px; border-color: var(--border); }
    .library-category.all[b-h036cnsg7b] { grid-column: 1 / -1; margin-bottom: 2px; }
    .library-documents[b-h036cnsg7b] { padding: 16px; }
    .library-heading[b-h036cnsg7b], .library-search[b-h036cnsg7b] { padding: 14px 16px; }
}
/* /Components/Pages/Search.razor.rz.scp.css */
/* Číslo klienta ve výsledcích hledání — dlaždice jako kód domu u zakázek, jen širší,
   protože KL-00012 má osm znaků. */
.kl-kod[b-j8bvsicoy3] {
    min-width: 64px;
    height: 40px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    padding: 0 8px;
    border-radius: 8px;
    background: var(--ink);
    color: var(--accent-soft);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .3px;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* Zkrácená skupina výsledků řekne, kolik jich zbývá, a nabídne zbytek — žádné tiché ořezání. */
.search-more[b-j8bvsicoy3] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0; padding: 10px 20px 16px; border-top: 1px solid #eef1f4; color: var(--text-muted); font-size: 12.5px; }
.search-more .link-button[b-j8bvsicoy3] { font-size: 12.5px; }
.search-more a[b-j8bvsicoy3] { color: var(--accent-strong); font-weight: 650; text-decoration: none; }
.search-more a:hover[b-j8bvsicoy3] { text-decoration: underline; text-decoration-color: var(--accent-soft); }
/* /Components/Pages/Service.razor.rz.scp.css */
/* Obrazovka Servis. Rozložení fronty, řádku případu i formuláře je v app.css;
   tady je jen to, co přibylo: hláška u případu, pole dne vyřešení a nápověda
   u dne nahlášení. */

/* Hláška u případu sedí v řádku, ne s odstupem nadpisu stránky. */
.case-message[b-nh50k7cryc] { margin: 8px 0 0; padding: 8px 11px; font-size: 11.5px; }

/* Rozbalený formulář vyřešení a uzavření jde pod sebou: app.css staví přímé potomky
   řádku případu do řady (štítky, tlačítka) a poznámka, den vyřešení a tlačítka by se
   vedle sebe stlačily do tří úzkých sloupců. */
.case-main > .case-close-form[b-nh50k7cryc] { display: grid; align-items: stretch; max-width: 560px; }
.case-close-form .case-actions[b-nh50k7cryc] { margin-top: 2px; }

/* Datum a čas v rozbaleném formuláři vyřešení — stejný rámeček jako poznámka nad ním. */
.case-close-form input[b-nh50k7cryc] {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: #fff;
    color: var(--text);
    font: inherit;
    font-size: 11.5px;
}
.case-close-form input:focus[b-nh50k7cryc] { outline: 2px solid rgba(225, 134, 59, .25); border-color: var(--accent); }
.case-close-form input[aria-invalid="true"][b-nh50k7cryc] { border-color: var(--danger); }
.case-close-form .field-hint[b-nh50k7cryc] { color: var(--text-muted); font-size: 10.5px; font-weight: 500; }

/* Nadpis případu dostane fokus po zavření okna výjezdu — obrys jen pro klávesnici. */
.case-main h3:focus[b-nh50k7cryc] { outline: none; }
.case-main h3:focus-visible[b-nh50k7cryc] { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; }

/* Na telefonu se dlouhé jméno klienta nebo kategorie zalomí, ať řádek nepřeteče. */
.case-main[b-nh50k7cryc] { min-width: 0; overflow-wrap: anywhere; }

/* Dlaždice termínu jsou přepínače filtru fronty. Vzhled dlaždice zůstává z app.css,
   tlačítku se jen sundá výchozí vzhled prohlížeče; zapnutá dlaždice má rámeček akcentu. */
.servis-dlazdice[b-nh50k7cryc] { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; width: 100%; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.servis-dlazdice:hover:not(:disabled)[b-nh50k7cryc] { border-color: var(--accent); }
.servis-dlazdice[aria-pressed="true"][b-nh50k7cryc] { border-color: var(--accent); background: var(--accent-tint); box-shadow: inset 0 0 0 1px var(--accent); }
.servis-dlazdice:focus-visible[b-nh50k7cryc] { outline: 2px solid var(--accent); outline-offset: 2px; }
/* Odlišení od čísel vedle (V záruce, Digitální pasy), které nic nedělají: akcentový okraj
   zespodu a věta „Zobrazit ve frontě ›“. Na dotyku hover chybí, proto to nese text. */
.servis-dlazdice:not(:disabled)[b-nh50k7cryc] { border-bottom: 3px solid var(--accent-line, var(--accent)); }
.servis-dlazdice .dlazdice-filtr[b-nh50k7cryc] { margin-top: 6px; color: var(--accent-strong); font-size: 10.5px; font-style: normal; font-weight: 750; }
.servis-dlazdice:disabled[b-nh50k7cryc] { cursor: default; }
.servis-dlazdice:disabled .dlazdice-filtr[b-nh50k7cryc] { display: none; }

/* Priorita s větou o termínu SLA a rozbaleným polem domluveného termínu — jedna buňka
   formuláře. app.css staví přímé potomky formuláře typu div přes celou šířku (patří to
   úvodu), tady to neplatí. Buňka i popis závady vedle ní začínají nahoře: dole zarovnaný
   popis by s delší větou sjel pod úroveň priority. */
.service-create > .servis-priorita[b-nh50k7cryc] { grid-column: auto; display: grid; gap: 8px; justify-items: start; align-self: start; }
.servis-priorita > label[b-nh50k7cryc] { justify-self: stretch; }
.service-create > label.wide[b-nh50k7cryc] { align-self: start; }
.service-create .servis-sla-veta[b-nh50k7cryc] { margin: 0; color: var(--text); font-size: 12px; font-weight: 600; line-height: 1.45; }
.servis-sla-uprava[b-nh50k7cryc] { display: grid; gap: 7px; justify-items: start; width: 100%; max-width: 360px; }
.servis-sla-uprava label[b-nh50k7cryc] { display: grid; gap: 7px; justify-self: stretch; }

/* Stránkování pod panelem vad — odsazené jako nadpis panelu nad ním. */
.vady-strankovani[b-nh50k7cryc] { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 12px; padding: 0 22px 16px; }
.vady-strankovani p[b-nh50k7cryc] { margin: 0; color: var(--text-muted); font-size: 12px; }
.vady-strankovani p:focus[b-nh50k7cryc] { outline: none; }
.vady-strankovani p:focus-visible[b-nh50k7cryc] { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; }
/* Přepínač Moje / Všechny a vyřešené v hlavičce panelu vedle „Zapsat vadu“ (kreslí je
   tahle stránka, proto styly tady). */
.vady-prepinac[b-nh50k7cryc] { margin-top: 0; }
.vady-vyresene[aria-pressed="true"][b-nh50k7cryc] { border-color: var(--accent); background: var(--accent-tint); color: var(--text); }

@media (max-width: 900px) {
    /* Ve dvou sloupcích by vyšší buňka priority odsunula kategorii vedle — jde přes celý řádek. */
    .service-create > .servis-priorita[b-nh50k7cryc] { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
    /* Pět dlaždic přes celou šířku zabralo na telefonu kolem 580 px a první případ fronty
       začínal až po víc než obrazovce a půl. Čísla jdou po dvou, úvodní dlaždice přes řádek
       bez vysvětlující věty a všechny jsou nižší. */
    .service-summary[b-nh50k7cryc] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .service-summary > .service-focus[b-nh50k7cryc] { grid-column: 1 / -1; }
    .service-focus > p[b-nh50k7cryc] { display: none; }
    .service-focus[b-nh50k7cryc], .service-stat[b-nh50k7cryc] { padding: 11px 13px; }
    .service-focus .service-symbol[b-nh50k7cryc] { width: 32px; height: 32px; font-size: 14px; }
    .service-stat strong[b-nh50k7cryc] { margin: 4px 0 2px; font-size: 19px; }
}
/* /Components/Pages/VozidloDetail.razor.rz.scp.css */
/* Povinné ručení v okně lhůt má vlastní oddíl: nová zelená karta je pojistka, ne další
   datum vedle STK — a podle rámečku je vidět, co se zapíše jako samostatný záznam. */
.lhuty-ruceni[b-gywy1dgn47] { display: grid; gap: 10px; min-width: 0; margin: 6px 0 0; padding: 10px 14px 14px; border: 1px solid var(--border); border-radius: 10px; }
.lhuty-ruceni legend[b-gywy1dgn47] { padding: 0 6px; color: var(--text); font-size: 12.5px; font-weight: 700; }

/* Co kryje dnes. Bez toho by se zelená karta zapisovala naslepo — nikdo by nevěděl,
   jestli stará ještě platí, nebo auto už jezdí nepojištěné. */
.lhuty-ruceni-dnes[b-gywy1dgn47] { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 8px 10px; border-radius: 8px; background: var(--surface-subtle); color: var(--text); font-size: 12.5px; overflow-wrap: anywhere; }
.lhuty-ruceni-dnes span[b-gywy1dgn47] { color: var(--text-muted); font-size: 11.5px; }
.lhuty-ruceni-dnes.chybi strong[b-gywy1dgn47] { color: var(--danger); }

.lhuty-zelena-karta[b-gywy1dgn47] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }

/* Tlačítko opravy na konci řádku tabulky; nezalamuje se, ať nepřeteče do dvou řádků. */
.vozidlo-oprava[b-gywy1dgn47] { text-align: right; white-space: nowrap; }

/* Skrytý popisek sloupce je absolutně umístěný; bez kotvy v buňce by utekl z posuvné
   obálky tabulky a na telefonu roztáhl celou stránku do strany. */
.vozidlo-akce-sloupec[b-gywy1dgn47] { position: relative; }

@media (max-width: 620px) {
    /* Na telefonu by dvě data vedle sebe měla pole užší než datum, které v nich stojí. */
    .lhuty-zelena-karta[b-gywy1dgn47] { grid-template-columns: minmax(0, 1fr); }
    .lhuty-ruceni[b-gywy1dgn47] { padding: 8px 10px 12px; }
}
/* /Components/Projects/BranaSouhrn.razor.rz.scp.css */
/* Souhrn brány: pruh odškrtnutých položek seznamu, první chybějící a odkaz do seznamu. */
.pocet[b-22iqz2ao3c] { margin: 6px 0 10px; color: var(--text-muted); font-size: 12px; text-align: right; }
.pocet strong[b-22iqz2ao3c] { color: var(--ink); font-variant-numeric: tabular-nums; }
.chybi-nadpis[b-22iqz2ao3c] { margin: 0 0 4px; color: var(--text-muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.chybi[b-22iqz2ao3c] { display: flex; flex-direction: column; gap: 4px; margin: 0 0 12px; padding: 0; list-style: none; }
.chybi li[b-22iqz2ao3c] { position: relative; padding: 6px 10px 6px 24px; border: 1px solid var(--border-soft); border-radius: 8px; color: var(--ink); font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
/* Značka je v markupu s aria-hidden: generovaný obsah ::before čtečka čte jako „vykřičník“
   před každou chybějící položkou. */
.chybi li .znacka[b-22iqz2ao3c] { position: absolute; left: 8px; top: 6px; color: #9a5b00; font-weight: 800; }
.chybi li.dalsi[b-22iqz2ao3c] { border: 0; padding: 0 0 0 2px; color: var(--text-muted); }
/* /Components/Projects/DalsiKrok.razor.rz.scp.css */
/* Rozhodovací karta nahoře v bočním panelu: písková, v riziku a po zrušení červená. */
.dalsi-krok[b-wvu71xd9ae] { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border: 1px solid var(--accent-line); border-radius: 14px; background: var(--accent-tint); }
.dalsi-krok.riziko[b-wvu71xd9ae] { border-color: #f0d5cf; background: #fff6f3; }
.hlava[b-wvu71xd9ae] { display: flex; align-items: center; gap: 9px; }
.ikona[b-wvu71xd9ae] { flex: 0 0 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--accent-strong); color: #fff; font-size: 13px; font-weight: 800; }
.riziko .ikona[b-wvu71xd9ae] { background: var(--danger); }
.hlava small[b-wvu71xd9ae] { color: var(--accent-strong); font-size: 11px; font-weight: 750; letter-spacing: .4px; }
.riziko .hlava small[b-wvu71xd9ae] { color: var(--danger); }
.dalsi-krok h2[b-wvu71xd9ae] { margin: 2px 0 0; color: var(--ink); font-size: 15px; line-height: 1.3; overflow-wrap: anywhere; }
.dalsi-krok p[b-wvu71xd9ae] { margin: 0; color: var(--text); font-size: 12.5px; line-height: 1.45; }
.tlacitko[b-wvu71xd9ae] { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; margin-top: 8px; padding: 0 14px; border: 1px solid var(--ink); border-radius: 10px; background: var(--ink); color: #fff; font: inherit; font-size: 13px; font-weight: 650; text-decoration: none; cursor: pointer; }
.tlacitko:hover[b-wvu71xd9ae] { border-color: var(--ink-2); background: var(--ink-2); }
.tlacitko:focus-visible[b-wvu71xd9ae] { outline: 2px solid var(--accent); outline-offset: 2px; }
/* Nadpis bere fokus po zavření okna, jehož tlačítko s kartou zmizelo (zapsaná záloha). */
.dalsi-krok h2:focus[b-wvu71xd9ae] { outline: none; }
.dalsi-krok h2:focus-visible[b-wvu71xd9ae] { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
/* Dvě akce vedle sebe (harmonogram a oprava termínu); na úzké kartě se zalomí pod sebe. */
.tlacitka[b-wvu71xd9ae] { display: flex; flex-wrap: wrap; gap: 0 8px; }
.tlacitko.druhe[b-wvu71xd9ae] { border-color: var(--ink); background: #fff; color: var(--ink); }
.tlacitko.druhe:hover[b-wvu71xd9ae] { background: var(--accent-tint); }
/* /Components/Projects/ExpedicniBrana.razor.rz.scp.css */
/* Expediční seznam: skupiny pod sebou, položka = zaškrtávátko, pod ním drobné věty a akce.
   Cíle dotyku mají aspoň 44 px — seznam se odškrtává i v hale z telefonu. */
.expedicni-brana[b-nlss5qtv17] { padding: 0 0 4px; }
.expedicni-brana:focus[b-nlss5qtv17] { outline: none; }
.expedicni-brana:focus-visible[b-nlss5qtv17] { outline: 2px solid var(--accent); outline-offset: 2px; }
.hlava-vpravo[b-nlss5qtv17] { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.pridat[b-nlss5qtv17] { flex: 0 0 auto; }
.uvod[b-nlss5qtv17], .prazdne[b-nlss5qtv17] { margin: 0; padding: 0 22px 12px; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }

.skupina[b-nlss5qtv17] { margin: 0 22px; padding: 10px 0 6px; border-top: 1px solid var(--border-soft); }
.skupina h3[b-nlss5qtv17] { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 4px; color: var(--ink); font-size: 13px; }
.skupina h3 small[b-nlss5qtv17] { color: var(--text-muted); font-size: 11.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.skupina h3 small.cizi[b-nlss5qtv17] { font-weight: 500; }
.polozky[b-nlss5qtv17] { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.polozka[b-nlss5qtv17] { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 12px; padding: 4px 0; border-bottom: 1px dashed var(--border-soft); }
.polozka:last-child[b-nlss5qtv17] { border-bottom: 0; }

/* Celý řádek s popiskem je cíl kliknutí; samotné políčko by na telefonu nikdo netrefil. */
.zaskrtnuti[b-nlss5qtv17] { grid-column: 1; display: flex; align-items: center; gap: 12px; min-height: 44px; min-width: 0; color: var(--ink); font-size: 13px; font-weight: 600; cursor: pointer; }
.zaskrtnuti input[b-nlss5qtv17] { flex: 0 0 auto; width: 22px; height: 22px; margin: 0; accent-color: var(--ok-dark); cursor: pointer; }
.zaskrtnuti input:disabled[b-nlss5qtv17] { cursor: progress; }
.zaskrtnuti input:focus-visible[b-nlss5qtv17] { outline: 2px solid var(--accent); outline-offset: 3px; }
.zaskrtnuti .nazev[b-nlss5qtv17] { min-width: 0; overflow-wrap: anywhere; }
.hotovo .zaskrtnuti .nazev[b-nlss5qtv17] { color: var(--text); }
.zaskrtnuti.jen-cteni[b-nlss5qtv17] { cursor: default; }
.znacka[b-nlss5qtv17] { flex: 0 0 22px; height: 22px; display: grid; place-items: center; border: 2px solid #c9d0d7; border-radius: 6px; color: var(--ok-dark); font-size: 13px; font-weight: 800; }
.hotovo .znacka[b-nlss5qtv17] { border-color: #9fd6b1; background: #dff4e4; }

.popis[b-nlss5qtv17] { grid-column: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-width: 0; padding: 0 0 6px 34px; }
.popis small[b-nlss5qtv17] { color: var(--text-muted); font-size: 11.5px; line-height: 1.4; overflow-wrap: anywhere; }
.popis .nedostupny[b-nlss5qtv17] { color: var(--danger); }
/* Doklad v archivu už neplatí — položka ho dál ukazuje, ale s upozorněním. */
.popis .v-archivu[b-nlss5qtv17] { color: var(--danger); }
.popis .doklad[b-nlss5qtv17] { min-height: 30px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.popis .doklad .ico[b-nlss5qtv17] { width: 15px; height: 15px; flex: 0 0 auto; }

.akce[b-nlss5qtv17] { grid-column: 2; grid-row: 1 / span 2; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.akce .button[b-nlss5qtv17] { white-space: nowrap; }

.uvolneno[b-nlss5qtv17] { display: grid; gap: 4px; margin: 12px 22px 0; padding: 12px 14px; border: 1px solid var(--border); border-left: 3px solid var(--ok); border-radius: 8px; background: var(--ok-tint); }
.uvolneno:focus[b-nlss5qtv17] { outline: none; }
.uvolneno:focus-visible[b-nlss5qtv17] { outline: 2px solid var(--accent); outline-offset: 2px; }
.uvolneno.s-chybejicimi[b-nlss5qtv17] { border-left-color: var(--warning); background: #fdf6ea; }
.uvolneno strong[b-nlss5qtv17] { color: var(--ink); font-size: 13px; }
.uvolneno span[b-nlss5qtv17] { color: var(--text-muted); font-size: 11.5px; }
.uvolneno p[b-nlss5qtv17] { margin: 2px 0 0; font-size: 12.5px; line-height: 1.5; overflow-wrap: anywhere; }
.uvolneno .button[b-nlss5qtv17] { justify-self: start; margin-top: 4px; }

.pata[b-nlss5qtv17] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 22px 18px; padding-top: 14px; border-top: 1px solid var(--border); }
.expedice[b-nlss5qtv17] { display: grid; gap: 3px; min-width: 0; }
.expedice small[b-nlss5qtv17] { color: var(--text-muted); font-size: 9.5px; letter-spacing: .08em; }
.expedice small.text-danger[b-nlss5qtv17] { color: var(--danger); letter-spacing: 0; font-size: 11px; }
.expedice strong[b-nlss5qtv17] { font-size: 13px; }
/* Po zalomení pod termín expedice zůstane tlačítko vpravo, kde ho ruka čeká. */
.uvolnit[b-nlss5qtv17] { display: grid; justify-items: end; gap: 4px; max-width: 100%; margin-left: auto; }
.uvolnit small[b-nlss5qtv17] { color: var(--text-muted); font-size: 11.5px; text-align: right; }
.jen-cteni-veta[b-nlss5qtv17] { color: var(--text-muted); font-size: 12px; }

/* Telefon: akce pod položkou přes celou šířku, tlačítka na 44 px, pata pod sebou. */
@media (max-width: 600px) {
    .uvod[b-nlss5qtv17], .prazdne[b-nlss5qtv17] { padding: 0 16px 12px; }
    .skupina[b-nlss5qtv17] { margin: 0 16px; }
    .polozka[b-nlss5qtv17] { grid-template-columns: minmax(0, 1fr); }
    .popis[b-nlss5qtv17] { padding-left: 34px; }
    .akce[b-nlss5qtv17] { grid-column: 1; grid-row: auto; justify-content: flex-start; padding: 0 0 8px 34px; }
    .akce .button[b-nlss5qtv17] { min-height: 44px; flex: 1 1 auto; }
    .uvolneno[b-nlss5qtv17] { margin: 12px 16px 0; }
    .uvolneno .button[b-nlss5qtv17] { justify-self: stretch; }
    .pata[b-nlss5qtv17] { flex-direction: column; align-items: stretch; margin: 14px 16px 16px; }
    .uvolnit[b-nlss5qtv17] { justify-items: stretch; }
    .uvolnit small[b-nlss5qtv17] { text-align: left; }
    .hlava-vpravo[b-nlss5qtv17] { justify-content: flex-start; }
}
@media (pointer: coarse) {
    .akce .button[b-nlss5qtv17], .popis .doklad[b-nlss5qtv17] { min-height: 44px; }
}
/* /Components/Projects/GalerieNahled.razor.rz.scp.css */
/* Mřížka 2 × 2 náhledů; poslední dlaždice ztmavne a nese počet dalších fotek. */
.mrizka[b-z4cnh7vsem] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.fotka[b-z4cnh7vsem] { position: relative; display: block; padding: 0; overflow: hidden; border: 0; border-radius: 9px; background: var(--surface-subtle); cursor: zoom-in; aspect-ratio: 4 / 3; }
.fotka img[b-z4cnh7vsem] { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .18s ease; }
.fotka:hover img[b-z4cnh7vsem] { transform: scale(1.03); }
.fotka:focus-visible[b-z4cnh7vsem] { outline: 2px solid var(--accent); outline-offset: 2px; }
.vice[b-z4cnh7vsem] { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(23, 31, 38, .58); color: #fff; font-family: var(--font-display); font-size: 20px; font-weight: 700; }

@media (prefers-reduced-motion: reduce) {
    .fotka img[b-z4cnh7vsem] { transition: none; }
    .fotka:hover img[b-z4cnh7vsem] { transform: none; }
}
/* /Components/Projects/HarmonogramSouhrn.razor.rz.scp.css */
/* Řádek kroku: tečka se svislou spojnicí, název s termínem, pruh a procenta. */
.kroky[b-n2b0dt2ok8] { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.kroky li[b-n2b0dt2ok8] { position: relative; display: grid; grid-template-columns: 14px minmax(0, 1fr) minmax(48px, 80px) 50px; align-items: center; gap: 10px; min-height: 42px; }
.kroky li:not(:last-child)[b-n2b0dt2ok8]::before { content: ""; position: absolute; left: 6px; top: 27px; bottom: -15px; width: 2px; background: var(--border-soft); }
.tecka[b-n2b0dt2ok8] { position: relative; z-index: 1; width: 14px; height: 14px; border: 2px solid #c9d0d7; border-radius: 50%; background: #fff; }
.hotovo .tecka[b-n2b0dt2ok8] { border-color: var(--ok); background: var(--ok); }
.probiha .tecka[b-n2b0dt2ok8] { border-color: var(--accent); background: #fff; box-shadow: 0 0 0 3px var(--accent-tint); }
.blokovano .tecka[b-n2b0dt2ok8] { border-color: var(--danger); background: #fff0ee; }
.text[b-n2b0dt2ok8] { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.text strong[b-n2b0dt2ok8] { color: var(--ink); font-size: 12.5px; font-weight: 650; }
.text small[b-n2b0dt2ok8] { overflow: hidden; color: var(--text-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.blokovano .text small[b-n2b0dt2ok8], .text small.po-terminu[b-n2b0dt2ok8] { color: var(--danger); }
.text small.po-terminu[b-n2b0dt2ok8] { font-weight: 650; }
.procenta[b-n2b0dt2ok8] { color: var(--text-muted); font-size: 11px; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.probiha .procenta[b-n2b0dt2ok8] { color: var(--accent-strong); font-weight: 650; }
/* /Components/Projects/HarmonogramSpisu.razor.rz.scp.css */
/* Harmonogram domu: tabulka na širší obrazovce, lístky na telefonu. */
.harmonogram:focus[b-nn1qjkrm6l] { outline: none; }
.harmonogram:focus-visible[b-nn1qjkrm6l] { outline: 2px solid var(--accent); outline-offset: 2px; }
.hlava-vpravo[b-nn1qjkrm6l] { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.pridat[b-nn1qjkrm6l] { flex: 0 0 auto; }
.prazdne[b-nn1qjkrm6l] { margin: 0; padding: 18px 22px 22px; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }
.tabulka[b-nn1qjkrm6l] { width: 100%; overflow-x: auto; }

.milniky td[b-nn1qjkrm6l] { vertical-align: top; }
.milniky td strong[b-nn1qjkrm6l] { display: block; color: var(--ink); font-size: 12.5px; }
.milniky td small[b-nn1qjkrm6l] { display: block; margin-top: 2px; color: var(--text-muted); font-size: 11px; line-height: 1.4; }
.milniky .blokuje[b-nn1qjkrm6l] { padding: 4px 7px; border-radius: 6px; background: #fff4f3; color: var(--danger); }
.milniky .blokuje b[b-nn1qjkrm6l] { font-weight: 700; }
/* Řádky „den · kdo: čím doloženo“ — víc zápisů pod sebou, dlouhé č. j. se zalomí. */
.milniky .dolozeno[b-nn1qjkrm6l] { margin-top: 5px; padding: 5px 8px; border-left: 2px solid var(--accent-line); background: var(--surface-subtle); color: var(--text); white-space: pre-line; overflow-wrap: anywhere; }
.milniky .sloupec-nazev[b-nn1qjkrm6l] { width: 100%; min-width: 220px; }
/* Název milníku bere zbytek šířky; fáze má pevný sloupec, jinak by se lámala po písmenech. */
.milniky .sloupec-faze[b-nn1qjkrm6l] { width: 8rem; min-width: 7.5rem; overflow-wrap: normal; word-break: normal; }
.milniky .sloupec-termin[b-nn1qjkrm6l], .milniky .sloupec-dukazy[b-nn1qjkrm6l], .milniky .sloupec-stav[b-nn1qjkrm6l] { white-space: nowrap; }
.milniky .sloupec-termin.text-danger small[b-nn1qjkrm6l] { color: var(--danger); }
.milniky tr.waived .sloupec-nazev strong[b-nn1qjkrm6l] { text-decoration: line-through; text-decoration-color: var(--text-muted); }
.bez-dukazu[b-nn1qjkrm6l] { color: var(--text-muted); }
/* Akce pod názvem milníku — vedle bočního panelu se šestý sloupec nevešel. */
.akce[b-nn1qjkrm6l] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.akce .button[b-nn1qjkrm6l] { white-space: nowrap; }

/* Telefon: řádek jako lístek — název přes celou šířku, pod ním fáze, termín, důkazy
   a stav, tlačítka dole. Pět úzkých sloupců by název lámalo po slabikách. */
@media (max-width: 600px) {
    .tabulka[b-nn1qjkrm6l] { overflow-x: visible; }
    /* Záhlaví jen zmizí z obrazovky — čtečka ho u buněk dál potřebuje. */
    .milniky thead[b-nn1qjkrm6l] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .milniky[b-nn1qjkrm6l], .milniky tbody[b-nn1qjkrm6l] { display: block; }
    .milniky tr[b-nn1qjkrm6l] { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; padding: 12px 16px; border-bottom: 1px solid var(--border-soft); }
    .milniky tr:last-child[b-nn1qjkrm6l] { border-bottom: 0; }
    .milniky td[b-nn1qjkrm6l] { display: block; min-width: 0; max-width: none; padding: 0; border: 0; }
    .milniky .sloupec-faze[b-nn1qjkrm6l] { grid-column: 1; grid-row: 1; color: var(--text-muted); font-size: 11.5px; }
    .milniky .sloupec-stav[b-nn1qjkrm6l] { grid-column: 2; grid-row: 1; justify-self: end; }
    .milniky .sloupec-nazev[b-nn1qjkrm6l] { grid-column: 1 / -1; grid-row: 2; width: auto; min-width: 0; }
    .milniky .sloupec-termin[b-nn1qjkrm6l] { grid-column: 1; grid-row: 3; white-space: normal; }
    .milniky .sloupec-dukazy[b-nn1qjkrm6l] { grid-column: 2; grid-row: 3; justify-self: end; }
    /* Akce jsou v buňce názvu; na lístku pod termínem by se hledaly, tady stojí u názvu. */
    .akce .button[b-nn1qjkrm6l] { flex: 1 1 auto; }
    .hlava-vpravo[b-nn1qjkrm6l] { justify-content: flex-start; }
}
/* Popisek hodnoty jen na lístku (telefon), kde chybí záhlaví sloupců; čtečka má záhlaví. */
.mobil-popisek[b-nn1qjkrm6l] { display: none; }
@media (max-width: 600px) {
    .mobil-popisek[b-nn1qjkrm6l] { display: inline; color: var(--text-muted); }
}
/* /Components/Projects/HistorieSpisu.razor.rz.scp.css */
/* Deník a historie po dnech: datum jako mezititulek, pod ním záznamy s ikonou druhu. */
.hlava-vpravo[b-z3989mfixd] { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.dny[b-z3989mfixd] { display: flex; flex-direction: column; gap: 16px; padding: 14px 22px 4px; }
.den h3[b-z3989mfixd] { margin: 0 0 8px; color: var(--text-muted); font-family: inherit; font-size: 11px; font-weight: 800; letter-spacing: 1px; }
.den ol[b-z3989mfixd] { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.den li[b-z3989mfixd] { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border-soft); }
.den li:last-child[b-z3989mfixd] { border-bottom: 0; }
.den li > div[b-z3989mfixd] { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ikona[b-z3989mfixd] { flex: 0 0 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: var(--surface-subtle); color: var(--text-muted); }
.ikona[b-z3989mfixd]  .ico { width: 16px; height: 16px; }
.poznamka .ikona[b-z3989mfixd] { background: var(--accent-tint); color: var(--accent-strong); }
/* Deník (hovor, e-mail, schůzka) je to, co si lidé píšou — odliší se od stopy změn barvou. */
.komunikace .ikona[b-z3989mfixd] { background: #e8f1fb; color: #1f5f99; }
.komunikace.obchod .ikona[b-z3989mfixd] { background: #f1ecfa; color: #5b3d99; }
.den strong[b-z3989mfixd] { color: var(--ink); font-size: 13px; }
.den p[b-z3989mfixd] { margin: 0; color: var(--text); font-size: 12.5px; line-height: 1.45; white-space: pre-line; overflow-wrap: anywhere; }
.den small[b-z3989mfixd] { color: var(--text-muted); font-size: 11px; overflow-wrap: anywhere; }
.zapsano[b-z3989mfixd] { font-style: italic; }
.z-pripadu a[b-z3989mfixd] { color: var(--accent-strong); font-weight: 650; }
.rozsah[b-z3989mfixd] { margin: 0; padding: 4px 22px 18px; color: var(--text-muted); font-size: 11.5px; }

@media (max-width: 640px) {
    .dny[b-z3989mfixd] { padding: 12px 16px 4px; }
    .rozsah[b-z3989mfixd] { padding: 4px 16px 16px; }
    .hlava-vpravo[b-z3989mfixd] { justify-content: flex-start; }
}
/* /Components/Projects/HlaseniDokumentu.razor.rz.scp.css */
.hlaseni-dokumentu[b-lwrocitkuy] { margin: 12px 16px 0; }
/* Pod hlavičkou složky: odsazená jako dokumenty složky, ať je vidět, ke které patří. */
.hlaseni-dokumentu.ve-slozce[b-lwrocitkuy] { margin: 4px 0 6px 22px; }
/* Prázdná živá oblast jen vypadne z rozvržení, ze stromu přístupnosti ne: s display: none
   by se objevila až s hláškou a čtečka by ji jako nově vloženou neohlásila. */
.hlaseni-dokumentu:empty[b-lwrocitkuy] { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); }
/* /Components/Projects/KlicoveDokumenty.razor.rz.scp.css */
/* Dlaždice dokumentů: náhled nebo ikona druhu, pod ní název a datum. */
.dlazdice[b-eamyoxv7cl] { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(112px, 100%), 1fr)); gap: 10px; }
.dokument[b-eamyoxv7cl] { display: flex; flex-direction: column; gap: 7px; min-width: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.nahled[b-eamyoxv7cl] { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-subtle); color: #8a949e; transition: border-color .15s ease, box-shadow .15s ease; }
.nahled[b-eamyoxv7cl]  .ico { width: 26px; height: 26px; }
.nahled.s-fotkou[b-eamyoxv7cl] { background: #e9edf1; }
.nahled img[b-eamyoxv7cl] { display: block; width: 100%; height: 100%; object-fit: cover; }
.dokument:hover .nahled[b-eamyoxv7cl] { border-color: var(--accent); box-shadow: 0 8px 18px -12px rgba(23, 28, 35, .45); }
.dokument:focus-visible[b-eamyoxv7cl] { outline: none; }
.dokument:focus-visible .nahled[b-eamyoxv7cl] { outline: 2px solid var(--accent); outline-offset: 2px; }
.popis[b-eamyoxv7cl] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.popis strong[b-eamyoxv7cl] { overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.popis small[b-eamyoxv7cl] { display: flex; align-items: center; gap: 6px; color: var(--text-muted); font-size: 11px; }
.popis em[b-eamyoxv7cl] { padding: 1px 5px; border: 1px solid var(--accent-line); border-radius: 4px; color: var(--accent-strong); font-size: 9.5px; font-style: normal; font-weight: 700; letter-spacing: .3px; }
.nahrat .nahled[b-eamyoxv7cl] { border-style: dashed; background: #fff; color: var(--accent-strong); }
/* /Components/Projects/KontaktySpisu.razor.rz.scp.css */
/* Osoby zakázky: kolečko s iniciálami, jméno a role, u klienta tlačítka telefon a e-mail. */
.osoby[b-0iegx3smwg] { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.osoby li[b-0iegx3smwg] { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--border-soft); }
.osoby li:first-child[b-0iegx3smwg] { padding-top: 0; }
.osoby li:last-child[b-0iegx3smwg] { padding-bottom: 0; border-bottom: 0; }
.avatar[b-0iegx3smwg] { flex: 0 0 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #e9edf1; color: var(--ink-3); font-size: 12px; font-weight: 700; }
.avatar.klient[b-0iegx3smwg] { background: var(--accent-tint); color: var(--accent-strong); }
.kdo[b-0iegx3smwg] { display: flex; flex: 1; flex-direction: column; gap: 1px; min-width: 0; }
.kdo strong[b-0iegx3smwg] { overflow: hidden; color: var(--ink); font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
.kdo small[b-0iegx3smwg] { color: var(--text-muted); font-size: 11px; }
.tlacitka[b-0iegx3smwg] { display: flex; gap: 6px; }
.ikonove[b-0iegx3smwg] { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 9px; background: #fff; color: var(--ink-3); }
.ikonove:hover[b-0iegx3smwg] { border-color: var(--accent); background: var(--accent-tint); color: var(--accent-strong); }
.ikonove:focus-visible[b-0iegx3smwg] { outline: 2px solid var(--accent); outline-offset: 2px; }
.ikonove[b-0iegx3smwg]  .ico { width: 16px; height: 16px; }

@media (pointer: coarse) {
    .ikonove[b-0iegx3smwg] { width: 44px; height: 44px; }
}
.dalsi-osoby[b-0iegx3smwg] { display: inline-block; margin-top: 10px; }
/* /Components/Projects/NovyDum.razor.rz.scp.css */
/* Okno „Nový dům“. Mřížku o dvou sloupcích, pole a tlačítka bere z formuláře nového
   obchodního případu (details-editor nova-poptavka) — okna mají vypadat stejně. Tady je
   jen to, co má navíc: skupiny polí, přepínač klienta, výběr klienta a poznámky. */

.uvod[b-8gzyc3fpvi] { font-size: 12px; }
.nacitani[b-8gzyc3fpvi] { margin: 0; padding: 4px 22px 22px; font-size: 12.5px; }

/* Skupina polí (Klient, Dům, Pozemek, Smlouva) — vlastní mřížka o dvou sloupcích,
   na telefonu o jednom. */
.skupina[b-8gzyc3fpvi] { min-width: 0; margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.skupina + .skupina[b-8gzyc3fpvi] { margin-top: 8px; }
.skupina legend[b-8gzyc3fpvi] { margin-bottom: 6px; padding: 0; color: var(--ink); font-size: 12.5px; font-weight: 700; }
.skupina legend small[b-8gzyc3fpvi] { margin-left: 6px; color: var(--text-muted); font-size: 11px; font-weight: 500; }
.skupina > .wide[b-8gzyc3fpvi] { grid-column: 1 / -1; }
.nepovinne[b-8gzyc3fpvi] { margin-left: 6px; color: var(--text-muted); font-size: 11px; font-weight: 500; }
.field-hint[b-8gzyc3fpvi] { color: var(--text-muted); font-size: 11px; }

/* Existující / nový klient jako dvě tlačítka vedle sebe; přepínače samy jsou schované,
   ale zůstávají ovladatelné klávesnicí (šipky) a čtečka je čte jako skupinu. */
.rezim[b-8gzyc3fpvi] { display: flex; flex-wrap: wrap; gap: 6px; }
.rezim label[b-8gzyc3fpvi], .klient[b-8gzyc3fpvi] {
    position: relative;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #fff;
    color: var(--text);
    cursor: pointer;
}
.rezim label[b-8gzyc3fpvi] {
    min-height: 36px;
    flex: 1 1 130px;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
}
.rezim label:hover[b-8gzyc3fpvi], .klient:hover[b-8gzyc3fpvi] { border-color: var(--accent); }
.rezim label.vybrany[b-8gzyc3fpvi] { border-color: var(--ink); background: var(--ink); color: #fff; }
.rezim input[b-8gzyc3fpvi], .klient input[b-8gzyc3fpvi] { position: absolute; width: 1px; height: 1px; min-height: 0; margin: 0; padding: 0; border: 0; opacity: 0; }
.rezim label:has(input:focus-visible)[b-8gzyc3fpvi], .klient:has(input:focus-visible)[b-8gzyc3fpvi] { outline: 2px solid var(--accent); outline-offset: 2px; }
/* Vybraná volba nese i značku, ne jen barvu: ve vynucených barvách (Windows Kontrast)
   prohlížeč výplň i písmo přepíše a obě tlačítka by vypadala stejně. Značka je jen
   pro oko — čtečka stav čte z přepínače. */
.rezim label.vybrany[b-8gzyc3fpvi]::before { content: "✓" / ""; margin-right: 6px; }
@media (forced-colors: active) {
    .rezim label.vybrany[b-8gzyc3fpvi] { border-width: 3px; forced-color-adjust: none; background: Highlight; color: HighlightText; }
}

/* Nabídka klientů: karta s jménem a kontaktem, vybraná s tmavým okrajem a značkou. */
.klienti[b-8gzyc3fpvi] { display: flex; flex-direction: column; gap: 6px; }
.klient[b-8gzyc3fpvi] { flex-direction: row; align-items: center; gap: 10px; min-height: 44px; padding: 7px 12px; }
.klient[b-8gzyc3fpvi]::before { content: ""; flex: 0 0 auto; width: 14px; height: 14px; border: 1.5px solid var(--border); border-radius: 50%; background: #fff; }
.klient.vybrany[b-8gzyc3fpvi] { border-color: var(--ink); background: var(--accent-tint); }
.klient.vybrany[b-8gzyc3fpvi]::before { border: 4px solid var(--ink); }
.klient-popis[b-8gzyc3fpvi] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.klient-popis strong[b-8gzyc3fpvi] { color: var(--ink); font-size: 13px; overflow-wrap: anywhere; }
.klient-popis small[b-8gzyc3fpvi] { color: var(--text-muted); font-size: 11.5px; overflow-wrap: anywhere; }

.pocet[b-8gzyc3fpvi] { color: var(--text-muted); font-size: 11.5px; }
.pocet:empty[b-8gzyc3fpvi], .vybrany-klient:empty[b-8gzyc3fpvi] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.vybrany-klient[b-8gzyc3fpvi] { display: flex; flex-direction: column; gap: 6px; color: var(--text); font-size: 12.5px; line-height: 1.45; }
.varovani[b-8gzyc3fpvi], .poznamka[b-8gzyc3fpvi] { display: block; padding: 8px 11px; border-radius: 7px; font-size: 12px; font-weight: 600; }
.varovani[b-8gzyc3fpvi] { border: 1px solid #f2c4bf; background: #fff0ee; color: #8e1d16; }
.poznamka[b-8gzyc3fpvi] { border: 1px solid #f0d9bd; background: var(--accent-tint); color: #8a4b06; }
.bez-klienta[b-8gzyc3fpvi] { margin: 0; padding: 10px 13px; border: 1px solid #f2c4bf; border-radius: 7px; background: #fff0ee; color: #8e1d16; font-size: 12.5px; font-weight: 600; }

/* Pole s chybou: obrys dává app.css, rámeček ať je stejně červený. */
label[b-8gzyc3fpvi]  input.invalid, label[b-8gzyc3fpvi]  select.invalid { border-color: var(--danger); }

@media (max-width: 620px) {
    .skupina[b-8gzyc3fpvi] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Projects/OdkazySpisu.razor.rz.scp.css */
/* Seznam odkazů: ikona, text, u vnějších stránek šipka ven. */
.odkazy[b-2h5321hlm6] { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.odkazy a[b-2h5321hlm6], .odkazy button[b-2h5321hlm6] { width: 100%; min-height: 40px; display: flex; align-items: center; gap: 10px; padding: 6px 4px; border: 0; border-radius: 8px; background: none; color: var(--text); font: inherit; font-size: 12.5px; font-weight: 550; text-align: left; text-decoration: none; cursor: pointer; }
.odkazy a:hover[b-2h5321hlm6], .odkazy button:hover[b-2h5321hlm6] { background: var(--accent-tint); color: var(--accent-strong); }
.odkazy a:focus-visible[b-2h5321hlm6], .odkazy button:focus-visible[b-2h5321hlm6] { outline: 2px solid var(--accent); outline-offset: 0; }
.odkazy[b-2h5321hlm6]  .ico { width: 17px; height: 17px; color: var(--ink-3); }
.odkazy span:not(.visually-hidden)[b-2h5321hlm6] { flex: 1; min-width: 0; }
.odkazy[b-2h5321hlm6]  .ven { width: 13px; height: 13px; color: var(--text-muted); }
/* /Components/Projects/OknoDokumentu.razor.rz.scp.css */
/* Doptání u dokumentu: co se stane, výčet potvrzovaných a pole pro důvod. */
.povinne[b-xq5logsovz] { margin-left: 6px; color: var(--danger); font-size: 11px; font-weight: 600; }
.okno-dokumentu .quiet-note strong[b-xq5logsovz] { color: var(--ink); overflow-wrap: anywhere; }
.vycet[b-xq5logsovz] { display: grid; gap: 3px; margin: 0; padding: 8px 12px 8px 28px; border-left: 3px solid var(--accent-line); border-radius: 0 8px 8px 0; background: var(--surface-subtle); }
.vycet li[b-xq5logsovz] { color: var(--text); font-size: 12.5px; line-height: 1.4; overflow-wrap: anywhere; }
.vycet small[b-xq5logsovz] { color: var(--text-muted); font-size: 11px; }
.vycet .dalsi[b-xq5logsovz] { color: var(--text-muted); list-style: none; margin-left: -16px; }
/* /Components/Projects/OknoFaze.razor.rz.scp.css */
/* Co se se zvolenou fází stane navíc (brány, záloha, předání) — vidět dřív, než se klikne. */
.upozorneni-faze[b-nb0y0y1fu7] { margin: 0; padding: 8px 10px; border-left: 3px solid var(--accent); border-radius: 0 8px 8px 0; background: var(--accent-tint); color: var(--text); font-size: 12px; line-height: 1.45; }
.okno-faze select optgroup[b-nb0y0y1fu7] { font-weight: 700; }
/* Oblast upozornění stojí v okně pořád (živá oblast); prázdná nezabírá místo. Schovává se
   ořezem, ne display:none — to by ji vyřadilo ze stromu přístupnosti a výběrem fáze by se
   vložila nová oblast, kterou čtečky často neohlásí. */
.upozorneni-faze-oblast[b-nb0y0y1fu7] { display: grid; gap: 8px; }
.upozorneni-faze-oblast:empty[b-nb0y0y1fu7] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Tři tlačítka (Zrušit, Uvolnit k odvozu…, zamčený posun) se na telefonu nevešla do řádku
   a popisky se lámaly na dva řádky — jdou pod sebe přes celou šířku. */
@media (max-width: 480px) {
    .akce-pod-sebou[b-nb0y0y1fu7] { flex-direction: column; align-items: stretch; }
    .akce-pod-sebou .button[b-nb0y0y1fu7] { width: 100%; }
}
/* /Components/Projects/OknoMilniku.razor.rz.scp.css */
/* Co už u milníku je doložené — v okně jako kontext, ať se tentýž důkaz nezapíše dvakrát. */
.dosud-dolozeno[b-e0rfh2ul5q] { padding: 8px 10px; border-left: 3px solid var(--accent-line); border-radius: 0 8px 8px 0; background: var(--surface-subtle); }
.dosud-dolozeno small[b-e0rfh2ul5q] { display: block; margin-bottom: 3px; color: var(--text-muted); font-size: 10.5px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; }
.dosud-dolozeno p[b-e0rfh2ul5q] { max-height: 9.5em; margin: 0; overflow-y: auto; color: var(--text); font-size: 12px; line-height: 1.45; white-space: pre-line; overflow-wrap: anywhere; }
.milestone-block-reason[b-e0rfh2ul5q] { margin: 0 !important; }
/* /Components/Projects/OknoNovehoUkolu.razor.rz.scp.css */
/* Den a čas vedle sebe; na úzkém telefonu pod sebou, ať se pole data nemačká. */
.dvojice[b-1ggmkwa2xz] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 9rem); gap: 10px; }
.dvojice label[b-1ggmkwa2xz] { display: flex; flex-direction: column; gap: 4px; min-width: 0; color: var(--text-muted); font-size: 12px; }
.dvojice input[b-1ggmkwa2xz] { width: 100%; min-width: 0; }
.dvojice input[aria-invalid="true"][b-1ggmkwa2xz] { border-color: var(--danger); }

@media (max-width: 380px) {
    .dvojice[b-1ggmkwa2xz] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Projects/OknoPodpisu.razor.rz.scp.css */
/* Nepovinné pole se značí stejně jako povinné, jen bez důrazu (jako v okně Nový dům). */
.nepovinne[b-q4mk1gnhg0] { margin-left: 6px; color: var(--text-muted); font-size: 11px; font-weight: 500; }
/* /Components/Projects/OknoPolozkyBrany.razor.rz.scp.css */
/* Povinné a nepovinné pole se značí stejně jako v okně Nový dům a v okně prohry. */
.povinne[b-7twjhrwsyi] { margin-left: 6px; color: var(--danger); font-size: 11px; font-weight: 600; }
.nepovinne[b-7twjhrwsyi] { margin-left: 6px; color: var(--text-muted); font-size: 11px; font-weight: 500; }
/* Dlouhý název dokladu ve výběru nesmí okno roztáhnout přes telefon. */
.okno-polozky select[b-7twjhrwsyi] { width: 100%; min-width: 0; text-overflow: ellipsis; }
.okno-polozky .quiet-note strong[b-7twjhrwsyi] { color: var(--ink); overflow-wrap: anywhere; }
/* /Components/Projects/OknoUhrady.razor.rz.scp.css */
/* Částka nemusí přes celou šířku okna — číslo se v ní na široké obrazovce ztrácelo. */
.okno-uhrady input[type="number"][b-9yhreyctpv] { max-width: 16rem; }
.okno-uhrady .checkbox-label[b-9yhreyctpv] { margin-top: 2px; }
/* Zpětná úhrada: o dokladu se rozhoduje výslovně dvěma velkými volbami (jako souhlas na kartě klienta). */
.volba-dokladu[b-9yhreyctpv] { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; min-width: 0; }
.volba-dokladu legend[b-9yhreyctpv] { width: 100%; margin-bottom: 4px; padding: 0; color: var(--text-muted); font-size: 12px; }
.volba[b-9yhreyctpv] { flex: 1 1 220px; display: flex; flex-direction: row; align-items: center; gap: 8px; min-height: 40px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--text); font-size: 13px; line-height: 1.35; cursor: pointer; }
.volba:hover[b-9yhreyctpv] { border-color: var(--accent-line); background: var(--accent-tint); }
.volba.vybrana[b-9yhreyctpv] { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); font-weight: 650; }
.volba input[b-9yhreyctpv] { flex: 0 0 auto; width: 16px; height: 16px; min-height: 0; margin: 0; padding: 0; accent-color: var(--ink); }
.volba:has(input:focus-visible)[b-9yhreyctpv] { outline: 2px solid var(--accent); outline-offset: 2px; }
.volba-dokladu .field-hint[b-9yhreyctpv] { width: 100%; }
/* /Components/Projects/OknoUvolneniBrany.razor.rz.scp.css */
/* Výčet chybějících položek: krátký seznam nad polem pro důvod, dlouhé názvy se lámou. */
.povinne[b-3e6cfdasng] { margin-left: 6px; color: var(--danger); font-size: 11px; font-weight: 600; }
.vycet[b-3e6cfdasng] { display: grid; gap: 4px; margin: 0; padding: 8px 12px 8px 28px; border-left: 3px solid var(--warning); border-radius: 0 8px 8px 0; background: #fdf6ea; }
.vycet li[b-3e6cfdasng] { color: var(--text); font-size: 12.5px; line-height: 1.4; overflow-wrap: anywhere; }
.vycet strong[b-3e6cfdasng] { color: var(--ink); }
.vycet small[b-3e6cfdasng] { color: var(--text-muted); font-size: 11px; }
/* /Components/Projects/OknoZapisuDoDeniku.razor.rz.scp.css */
/* Den a čas události vedle sebe; na úzkém telefonu pod sebou, ať se pole data nemačká. */
.dvojice[b-hpwal3j53z] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 9rem); gap: 10px; }
.dvojice label[b-hpwal3j53z] { display: flex; flex-direction: column; gap: 4px; min-width: 0; color: var(--text-muted); font-size: 12px; }
.dvojice input[b-hpwal3j53z] { width: 100%; min-width: 0; }
.dvojice input[aria-invalid="true"][b-hpwal3j53z] { border-color: var(--danger); }

@media (max-width: 380px) {
    .dvojice[b-hpwal3j53z] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Projects/PosledniAktivity.razor.rz.scp.css */
/* Čtyři poslední záznamy: ikona druhu, akce, věta záznamu na dva řádky, kdy a kdo. */
.aktivity[b-lk5usobcw8] { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.aktivity li[b-lk5usobcw8] { display: flex; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--border-soft); }
.aktivity li:first-child[b-lk5usobcw8] { padding-top: 0; }
.aktivity li:last-child[b-lk5usobcw8] { padding-bottom: 0; border-bottom: 0; }
.ikona[b-lk5usobcw8] { flex: 0 0 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--surface-subtle); color: var(--text-muted); }
.ikona[b-lk5usobcw8]  .ico { width: 15px; height: 15px; }
.text[b-lk5usobcw8] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.text strong[b-lk5usobcw8] { color: var(--ink); font-size: 12.5px; font-weight: 650; }
.veta[b-lk5usobcw8] { display: -webkit-box; overflow: hidden; color: var(--text); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.text small[b-lk5usobcw8] { color: var(--text-muted); font-size: 11px; }
/* /Components/Projects/PostupZakazky.razor.rz.scp.css */
/* Postup zakázky pod hlavičkou: celkový pruh a šest kroků se spojnicí. */
.postup[b-ew58256cas] { padding-top: 14px; border-top: 1px solid var(--border-soft); }
.celkem[b-ew58256cas] { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; color: var(--text); font-size: 12px; font-weight: 600; }
.celkem strong[b-ew58256cas] { color: var(--ink); font-variant-numeric: tabular-nums; }
.pruh[b-ew58256cas] { height: 7px; overflow: hidden; border-radius: 4px; background: #e8ecf0; }
.pruh i[b-ew58256cas] { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent-strong), var(--accent), var(--accent-soft)); }
.pruh.zruseno i[b-ew58256cas] { background: #b8c0c8; }

.kroky[b-ew58256cas] { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.krok[b-ew58256cas] { position: relative; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
/* Spojnice k dalšímu kroku vede od kolečka; hotový úsek je plný a zelený. */
.krok:not(:last-child)[b-ew58256cas]::before { content: ""; position: absolute; top: 17px; left: 46px; right: -2px; border-top: 2px dashed var(--border); }
.krok.hotovo:not(:last-child)[b-ew58256cas]::before { border-top-style: solid; border-color: #b9e2c5; }

.znacka[b-ew58256cas] { position: relative; z-index: 1; width: 36px; height: 36px; display: grid; place-items: center; border: 1.5px solid var(--border); border-radius: 50%; background: #fff; color: var(--text-muted); }
.znacka[b-ew58256cas]  .ico { width: 18px; height: 18px; }
.hotovo .znacka[b-ew58256cas] { border-color: var(--ok); background: var(--ok); color: #fff; }
.probiha .znacka[b-ew58256cas] { border-color: var(--accent); background: var(--accent); color: #fff; box-shadow: 0 0 0 4px var(--accent-tint); }
.blokovano .znacka[b-ew58256cas] { border-color: var(--danger); background: #fff0ee; color: var(--danger); box-shadow: none; }

.text[b-ew58256cas] { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.nazev[b-ew58256cas] { overflow: hidden; color: var(--ink); font-size: 12.5px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.nazev b[b-ew58256cas] { margin-right: 2px; color: var(--text-muted); font-weight: 700; font-variant-numeric: tabular-nums; }
.stav[b-ew58256cas] { color: var(--text-muted); font-size: 11.5px; font-variant-numeric: tabular-nums; }
.probiha .stav[b-ew58256cas] { color: var(--accent-strong); font-weight: 650; }
.hotovo .stav[b-ew58256cas] { color: var(--ok-dark); }
.blokovano .stav[b-ew58256cas] { color: var(--danger); font-weight: 650; }
.skluz[b-ew58256cas] { color: var(--danger); font-size: 11px; font-weight: 650; font-variant-numeric: tabular-nums; }
.skluz .nezalomit[b-ew58256cas] { white-space: nowrap; }
.mini-pruh[b-ew58256cas] { display: block; max-width: 120px; height: 4px; margin-top: 2px; overflow: hidden; border-radius: 2px; background: #eef1f4; }
.mini-pruh i[b-ew58256cas] { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.hotovo .mini-pruh i[b-ew58256cas] { background: var(--ok); }
.blokovano .mini-pruh i[b-ew58256cas] { background: var(--danger); }

/* Telefon: kroky ve mřížce 3 × 2 bez spojnic, nic se neposouvá do strany. */
@media (max-width: 640px) {
    .kroky[b-ew58256cas] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 10px; }
    .krok:not(:last-child)[b-ew58256cas]::before { display: none; }
    .znacka[b-ew58256cas] { width: 32px; height: 32px; }
    .nazev[b-ew58256cas] { white-space: normal; }
}
/* /Components/Projects/PozemekKarta.razor.rz.scp.css */
/* Parcela a čtyři kontroly vedle sebe; v úzkém sloupci po dvou, na telefonu pod sebou. */
.parcela[b-qgzyso74d9] { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin: 0 0 12px; }
.parcela strong[b-qgzyso74d9] { color: var(--ink); font-size: 13.5px; }
.parcela span[b-qgzyso74d9] { color: var(--text-muted); font-size: 12px; overflow-wrap: anywhere; }
.kontroly[b-qgzyso74d9] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.kontroly li[b-qgzyso74d9] { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 9px 10px; border: 1px solid var(--border-soft); border-radius: 10px; }
.kontroly li > span:last-child[b-qgzyso74d9] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kontroly strong[b-qgzyso74d9] { color: var(--ink); font-size: 12px; }
.kontroly small[b-qgzyso74d9] { color: var(--text-muted); font-size: 11px; overflow-wrap: anywhere; }
.znacka[b-qgzyso74d9] { flex: 0 0 26px; height: 26px; display: grid; place-items: center; border-radius: 7px; background: var(--ok-tint); color: var(--ok-dark); font-size: 12px; font-weight: 800; }
.chybi .znacka[b-qgzyso74d9] { background: #fff0ee; color: var(--danger); }
.pozor .znacka[b-qgzyso74d9] { background: #fff5df; color: #a66d12; }
/* Kontrola, která se u stojícího domu nehodnotí — ani poplach, ani potvrzení. */
.nehodnoti .znacka[b-qgzyso74d9] { background: #f1f2f4; color: #5b6570; }
/* /Components/Projects/PoznamkySpisu.razor.rz.scp.css */
/* Poznámky jako lístky: text se zalomením řádků, pod ním kdo a kdy, u vlastní Odebrat. */
.poznamky[b-gawakxlurk] { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.poznamky li[b-gawakxlurk] { padding: 10px 12px; border-radius: 10px; background: var(--surface-subtle); }
.poznamky p[b-gawakxlurk] { margin: 0 0 6px; color: var(--text); font-size: 12.5px; line-height: 1.45; white-space: pre-line; overflow-wrap: anywhere; }
.pata[b-gawakxlurk] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 10px; }
.pata small[b-gawakxlurk] { color: var(--text-muted); font-size: 11px; }
.odebrat[b-gawakxlurk] { min-height: 28px; padding: 0 8px; border: 1px solid transparent; border-radius: 7px; background: none; color: var(--danger); font: inherit; font-size: 11.5px; font-weight: 650; cursor: pointer; }
.odebrat:hover[b-gawakxlurk] { border-color: #f2c4bf; background: #fff5f4; }
.odebrat:focus-visible[b-gawakxlurk], .vse:focus-visible[b-gawakxlurk] { outline: 2px solid var(--accent); outline-offset: 2px; }
.vse[b-gawakxlurk] { margin-top: 8px; padding: 4px 0; border: 0; background: none; color: var(--accent-strong); font: inherit; font-size: 12px; font-weight: 650; cursor: pointer; }

@media (pointer: coarse) {
    .odebrat[b-gawakxlurk] { min-height: 40px; }
}

/* Sekce dostane fokus jen jako kotva po zavřeném okně — obrys jen z klávesnice. */
.spis-karta:focus[b-gawakxlurk] { outline: none; }
.spis-karta:focus-visible[b-gawakxlurk] { outline: 2px solid var(--accent); outline-offset: 2px; }
/* /Components/Projects/PrehledKarty.razor.rz.scp.css */
/* Karty po dvou; čtyři vedle sebe až na široké obrazovce, kde se částka vejde na
   řádek k popisku. Tři a jedna pod nimi by nechaly půl řádku prázdného.
   Na telefonu pod sebou. */
.prehled-karty[b-pg3fiwd2pz] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 1640px) {
    .prehled-karty[b-pg3fiwd2pz] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .prehled-karty[b-pg3fiwd2pz] { grid-template-columns: minmax(0, 1fr); }
}

.radky[b-pg3fiwd2pz] { display: flex; flex-direction: column; gap: 8px; margin: 0 0 14px; }
.radky > div[b-pg3fiwd2pz] { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-width: 0; }
.radky dt[b-pg3fiwd2pz] { flex: 0 0 auto; color: var(--text-muted); font-size: 12px; }
.radky dd[b-pg3fiwd2pz] { min-width: 0; margin: 0; color: var(--text); font-size: 12.5px; text-align: right; overflow-wrap: anywhere; }
.radky dd strong[b-pg3fiwd2pz] { color: var(--ink); font-weight: 700; }
.radky dd small[b-pg3fiwd2pz] { margin-left: 3px; color: var(--text-muted); font-size: 11px; }
.radky a[b-pg3fiwd2pz] { color: var(--accent-strong); font-weight: 600; text-decoration-color: var(--accent-soft); }
.cisla dd[b-pg3fiwd2pz] { font-variant-numeric: tabular-nums; white-space: nowrap; }
/* Dvě tlačítka karty úkolů vedle sebe, dole v kartě jako jediné tlačítko ostatních karet. */
.spis-tlacitka[b-pg3fiwd2pz] { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.spis-tlacitka > .spis-tlacitko[b-pg3fiwd2pz] { flex: 1 1 8rem; margin-top: 0; }
/* Fakturováno s pruhem: částka v řádku, pruh pod ní přes celou šířku karty. */
.radky > .s-pruhem[b-pg3fiwd2pz] { flex-wrap: wrap; row-gap: 5px; }
.radky > .s-pruhem > .pruh[b-pg3fiwd2pz] { flex: 0 0 100%; text-align: left; }
/* Podpis smlouvy se doplní rovnou z řádku, pod textem „zatím nepodepsaná“. */
.radky .zapsat-podpis[b-pg3fiwd2pz] { display: block; margin: 2px 0 0 auto; font-size: 12px; }
/* /Components/Projects/SpisHlavicka.razor.rz.scp.css */
/* Hlavička spisu: vlevo dům a klient, uprostřed tři klíčové údaje, vpravo akce,
   pod tím riziko a postup stavby. Pásek vlevo je značka spisu jako dřív. */
.spis-hlavicka[b-ppbs03pkou] { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 20px 22px 18px; margin-bottom: 14px; overflow: hidden; }
.spis-hlavicka[b-ppbs03pkou]::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--accent); }

/* Akce vpravo nahoře, klíčové údaje pod nimi — vedle sebe by jméno zakázky zbylo
   v úzkém sloupci a lámalo se po slovech. */
.horni[b-ppbs03pkou] { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "identita akce" "identita udaje"; align-items: start; gap: 14px 24px; }
.identita[b-ppbs03pkou] { grid-area: identita; display: flex; align-items: center; gap: 16px; min-width: 0; }
.dlazdice[b-ppbs03pkou] { flex: 0 0 auto; width: 64px; height: 64px; display: grid; place-items: center; overflow: hidden; border-radius: 12px; background: var(--ink); color: var(--accent-soft); font-family: var(--font-display); font-size: 17px; font-weight: 700; }
.dlazdice.s-fotkou[b-ppbs03pkou] { background: var(--surface-subtle); }
.dlazdice img[b-ppbs03pkou] { display: block; width: 100%; height: 100%; object-fit: cover; }
.titul[b-ppbs03pkou] { min-width: 0; }
.kod-radek[b-ppbs03pkou] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.kod[b-ppbs03pkou] { color: var(--accent-strong); font-size: 11px; font-weight: 800; letter-spacing: 1.2px; }
.titul h1[b-ppbs03pkou] { margin: 4px 0 3px; color: var(--ink); font-size: clamp(22px, 2.3vw, 28px); line-height: 1.15; letter-spacing: -.6px; overflow-wrap: anywhere; }
.podtitul[b-ppbs03pkou] { display: flex; flex-wrap: wrap; gap: 0 6px; margin: 0; color: var(--text-muted); font-size: 13px; }
.podtitul a[b-ppbs03pkou] { color: var(--text); font-weight: 600; text-decoration-color: var(--accent-soft); }
.podtitul a:hover[b-ppbs03pkou] { color: var(--accent-strong); }
.za-teckou[b-ppbs03pkou]::before { content: "·"; content: "·" / ""; margin-right: 6px; color: #b3bbc4; }
/* Řádek „Vznikla z obchodního případu“ — zalomení a nezlomitelné číslo řeší app.css. */
.puvod-zakazky[b-ppbs03pkou] { margin: 5px 0 0; font-size: 12.5px; }
/* Fáze a den vstupu do ní, vedle dvě drobné akce; na telefonu se akce zalomí pod text. */
.faze-od[b-ppbs03pkou] { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; margin: 4px 0 0; color: var(--text-muted); font-size: 12.5px; }
.faze-od > span[b-ppbs03pkou] { color: var(--text); font-weight: 600; }
.faze-od .spis-odkaz[b-ppbs03pkou] { font-size: 12px; }

.udaje[b-ppbs03pkou] { grid-area: udaje; justify-self: end; align-self: end; display: flex; margin: 0; }
.udaje > div[b-ppbs03pkou] { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 0 18px; border-left: 1px solid var(--border); }
.udaje dt[b-ppbs03pkou] { color: var(--text-muted); font-size: 11px; font-weight: 600; white-space: nowrap; }
.udaje dd[b-ppbs03pkou] { display: flex; align-items: center; gap: 9px; margin: 0; }
.sloupec[b-ppbs03pkou] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.udaje strong[b-ppbs03pkou] { color: var(--ink); font-family: var(--font-display); font-size: 16.5px; line-height: 1.2; font-variant-numeric: tabular-nums; white-space: nowrap; }
.udaje small[b-ppbs03pkou] { color: var(--text-muted); font-size: 11.5px; white-space: nowrap; }
.udaje small.po-terminu[b-ppbs03pkou] { color: var(--danger); font-weight: 650; }
.avatar[b-ppbs03pkou] { flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: #fff; font-size: 12px; font-weight: 700; }

.akce[b-ppbs03pkou] { grid-area: akce; justify-self: end; align-self: start; display: flex; align-items: center; gap: 8px; }
.akce .button[b-ppbs03pkou] { min-height: 40px; padding: 0 14px; font-size: 13px; white-space: nowrap; }
.akce .upravit[b-ppbs03pkou]  .ico { width: 16px; height: 16px; }
.hlavni[b-ppbs03pkou] { border-color: var(--ink); background: var(--ink); color: #fff; }
.hlavni:hover[b-ppbs03pkou] { border-color: var(--ink-2); background: var(--ink-2); color: #fff; }

.riziko[b-ppbs03pkou] { display: flex; align-items: center; gap: 8px; margin: 0; padding: 9px 12px; border-radius: 8px; background: #fdeeec; color: #8a2c22; font-size: 12.5px; }
/* Zrušení je nevratné — řádek o něm má barvu chyby, ne jen upozornění. */
.riziko.zruseno[b-ppbs03pkou] { color: var(--danger); }
.riziko span[b-ppbs03pkou] { flex: 0 0 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: var(--danger); color: #fff; font-size: 11px; font-weight: 700; }

/* Užší obrazovka: údaje pod jméno přes celou šířku, akce zůstanou vpravo nahoře. */
@media (max-width: 1100px) {
    .horni[b-ppbs03pkou] { grid-template-areas: "identita akce" "udaje udaje"; }
    .udaje[b-ppbs03pkou] { justify-self: start; }
    .udaje > div:first-child[b-ppbs03pkou] { padding-left: 0; border-left: 0; }
}

/* Telefon: vše pod sebou, údaje jako řádky s popiskem vlevo, akce přes celou šířku. */
@media (max-width: 640px) {
    .spis-hlavicka[b-ppbs03pkou] { padding: 16px 16px 16px 18px; }
    .horni[b-ppbs03pkou] { grid-template-columns: minmax(0, 1fr); grid-template-areas: "identita" "udaje" "akce"; gap: 14px; }
    .identita[b-ppbs03pkou] { align-items: flex-start; gap: 12px; }
    .dlazdice[b-ppbs03pkou] { width: 52px; height: 52px; font-size: 15px; }
    .udaje[b-ppbs03pkou] { justify-self: stretch; flex-direction: column; }
    .akce[b-ppbs03pkou] { justify-self: stretch; }
    .udaje > div[b-ppbs03pkou], .udaje > div:first-child[b-ppbs03pkou] { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-left: 0; border-top: 1px solid var(--border-soft); }
    .udaje dd[b-ppbs03pkou] { justify-content: flex-end; text-align: right; }
    .udaje .sloupec[b-ppbs03pkou] { align-items: flex-end; }
    .avatar[b-ppbs03pkou] { display: none; }
    .udaje strong[b-ppbs03pkou] { font-size: 15px; white-space: normal; }
    .akce[b-ppbs03pkou] { flex-wrap: wrap; }
    .akce .hlavni[b-ppbs03pkou] { flex: 1 1 100%; order: 3; }
    .akce .upravit[b-ppbs03pkou] { flex: 1; }
}
/* /Components/Projects/SpisIkona.razor.rz.scp.css */
/* Ikona dědí barvu i velikost z rodiče (.ico v app.css); tady jen jistota, že se
   v řádku nesmrskne vedle dlouhého textu. */
.spis-ikona[b-ys7p8ijedg] { flex-shrink: 0; overflow: visible; }
/* /Components/Projects/SpisZalozky.razor.rz.scp.css */
/* Lišta záložek nad obsahem i bočním panelem. Devět záložek se do užšího okna
   nevejde — lišta se zalomí, aby žádná nezůstala schovaná za okrajem.
   Na telefonu mřížka 3 × 3. */
.zalozky[b-bhpbtzi3ao] { display: flex; flex-wrap: wrap; margin-bottom: 14px; border-bottom: 1px solid var(--border); }
.zalozky button[b-bhpbtzi3ao] { position: relative; flex: 0 0 auto; min-height: 44px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; border: 0; border-bottom: 3px solid transparent; background: none; color: var(--text-muted); font: inherit; font-size: 13px; font-weight: 650; white-space: nowrap; cursor: pointer; }
.zalozky button:hover[b-bhpbtzi3ao] { color: var(--ink); }
.zalozky button.vybrana[b-bhpbtzi3ao] { border-bottom-color: var(--accent); color: var(--ink); }
.zalozky button:focus-visible[b-bhpbtzi3ao] { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: 8px 8px 0 0; }
.pocet[b-bhpbtzi3ao] { min-width: 20px; padding: 2px 6px; border-radius: 999px; background: var(--surface-subtle); color: var(--text-muted); font-size: 11px; font-variant-numeric: tabular-nums; text-align: center; }
.vybrana .pocet[b-bhpbtzi3ao] { background: var(--accent-tint); color: var(--accent-strong); }

@media (max-width: 640px) {
    .zalozky[b-bhpbtzi3ao] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; overflow: visible; border-bottom: 0; }
    .zalozky button[b-bhpbtzi3ao] { min-width: 0; justify-content: center; flex-wrap: wrap; gap: 3px 5px; padding: 7px 6px; border: 1px solid var(--border); border-radius: 10px; background: #fff; font-size: 12px; white-space: normal; text-align: center; line-height: 1.2; }
    .zalozky button.vybrana[b-bhpbtzi3ao] { border-color: var(--ink); background: var(--ink); color: #fff; }
    .zalozky button.vybrana .pocet[b-bhpbtzi3ao] { background: rgba(255, 255, 255, .16); color: #fff; }
}
/* /Components/Projects/UkolySpisu.razor.rz.scp.css */
/* Řádky úkolů kreslí sdílené .task-row; tady jen sbalené zrušené a hotové úkoly. */
/* Sekce dostane fokus po odškrtnutí posledního úkolu; obrys jen z klávesnice, jako u ostatních kotev. */
.ukoly:focus[b-ddpuhh2mox] { outline: none; }
.ukoly:focus-visible[b-ddpuhh2mox] { outline: 2px solid var(--accent); outline-offset: 2px; }
.hlava-vpravo[b-ddpuhh2mox] { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.cancelled-tasks[b-ddpuhh2mox] { margin: 0 20px 14px; border-top: 1px solid var(--border-soft); }
.cancelled-tasks summary[b-ddpuhh2mox] { padding: 12px 0 6px; color: var(--text-muted); font-size: 12px; font-weight: 650; cursor: pointer; }
.cancelled-tasks summary:hover[b-ddpuhh2mox] { color: var(--accent-strong); }
.cancelled-tasks .task-list[b-ddpuhh2mox] { padding: 0; }

@media (max-width: 640px) {
    .cancelled-tasks[b-ddpuhh2mox] { margin: 0 16px 12px; }
}
/* /Components/Projects/UpozorneniPredani.razor.rz.scp.css */
/* Upozornění k plánovanému předání: písková poznámka pod polem, ne červená chyba —
   termín je platný, jen neobvyklý. Prázdná oblast vypadne z rozvržení, ze stromu
   přístupnosti ne (jinak by ji čtečka při objevení textu nemusela ohlásit). */
.upozorneni-predani:empty[b-it0evzl969] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.upozorneni-predani[b-it0evzl969] { display: block; margin-top: 4px; }
.text[b-it0evzl969] {
    display: block;
    padding: 7px 10px;
    border: 1px solid #f0d9bd;
    border-radius: 7px;
    background: var(--accent-tint);
    color: #8a4b06;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
/* /Components/Projects/VadySouhrn.razor.rz.scp.css */
/* Tabulka otevřených vad; na telefonu bez vedlejších sloupců, ať se nemusí posouvat. */
.vady td strong[b-48xl1h1jov] { display: block; color: var(--ink); font-size: 12.5px; }
.vady td small[b-48xl1h1jov] { display: block; margin-top: 2px; color: var(--text-muted); font-size: 11px; }
.stav[b-48xl1h1jov] { display: inline-flex; align-items: center; gap: 6px; font-weight: 650; white-space: nowrap; }
.stav i[b-48xl1h1jov] { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.stav-reported[b-48xl1h1jov] { color: var(--danger); }
/* --warning má na bílé jen 4 : 1, na drobné písmo málo; tmavší oranžová jako u „čeká“ jinde. */
.stav-inprogress[b-48xl1h1jov] { color: #8a5a0b; }
.zavaznost[b-48xl1h1jov] { display: inline-flex; padding: 3px 8px; border-radius: 999px; background: var(--surface-subtle); color: #5c6570; font-size: 11px; font-weight: 650; white-space: nowrap; }
.zavaznost-high[b-48xl1h1jov] { background: #fdf1e0; color: #96601a; }
.zavaznost-critical[b-48xl1h1jov] { background: #fdeced; color: var(--danger); }
.dalsi[b-48xl1h1jov] { margin: 10px 0 0; color: var(--text-muted); font-size: 12px; }

/* Telefon: řádek tabulky jako lístek — název přes celou šířku, pod ním stav,
   závažnost a termín. Čtyři úzké sloupce lámaly název po slabikách. */
@media (max-width: 640px) {
    /* Záhlaví jen zmizí z obrazovky — čtečka ho u buněk dál potřebuje. */
    .vady thead[b-48xl1h1jov] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .vedlejsi[b-48xl1h1jov] { display: none; }
    .vady[b-48xl1h1jov], .vady tbody[b-48xl1h1jov] { display: block; }
    .vady tr[b-48xl1h1jov] { display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 6px 10px; padding: 10px 0; border-bottom: 1px solid var(--border-soft); }
    .vady tr:last-child[b-48xl1h1jov] { border-bottom: 0; }
    .vady td[b-48xl1h1jov] { display: block; padding: 0; border: 0; }
    .vady td.vedlejsi[b-48xl1h1jov] { display: none; }
    .vady .sloupec-nazev[b-48xl1h1jov] { grid-column: 1 / -1; }
    .vady .sloupec-termin[b-48xl1h1jov] { justify-self: end; white-space: nowrap; }
}
/* /Components/Sales/CasovaOsa.razor.rz.scp.css */
/* Časová osa: řádek = kdy · ikona · co · akce. */
.osa[b-9t9pjtswyq] { padding: 4px 0 10px; }
.osa-hlava[b-9t9pjtswyq] { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px 8px; }
.osa-hlava h2[b-9t9pjtswyq] { margin: 0; }
.historie-hlava[b-9t9pjtswyq] { margin-top: 8px; padding-top: 18px; border-top: 1px solid var(--border-soft); }

/* Upozornění, ne poplach: žlutý pruh místo vyskakovacího okna. */
.bez-kroku[b-9t9pjtswyq] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 4px 20px 10px; padding: 12px 16px; border: 1px solid #f1d9a6; border-radius: 10px; background: #fff8e6; }
.bez-kroku div[b-9t9pjtswyq] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bez-kroku strong[b-9t9pjtswyq] { color: #7a4d00; font-size: 13.5px; }
.bez-kroku small[b-9t9pjtswyq] { color: #80632a; font-size: 12px; line-height: 1.45; }

.polozky[b-9t9pjtswyq] { margin: 0; padding: 0 20px; list-style: none; }
.polozka[b-9t9pjtswyq] { display: grid; grid-template-columns: 132px 30px minmax(0, 1fr) auto; align-items: start; gap: 4px 12px; padding: 12px 0; border-bottom: 1px solid var(--border-soft); }
.polozka:last-child[b-9t9pjtswyq] { border-bottom: 0; }

.kdy[b-9t9pjtswyq] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kdy strong[b-9t9pjtswyq] { color: var(--ink); font-size: 12.5px; white-space: nowrap; }
.kdy small[b-9t9pjtswyq] { color: var(--text-muted); font-size: 11.5px; }
.kdy small.po-terminu[b-9t9pjtswyq] { color: var(--danger); font-weight: 700; }

.ikona[b-9t9pjtswyq] { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--surface-subtle); color: var(--ink); }
.ikona[b-9t9pjtswyq]  .ico { width: 16px; height: 16px; }

.co[b-9t9pjtswyq] { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.co strong[b-9t9pjtswyq] { font-size: 13.5px; overflow-wrap: anywhere; }
.co p[b-9t9pjtswyq] { margin: 0; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.co .doplnek[b-9t9pjtswyq] { color: var(--text-muted); }
.co small[b-9t9pjtswyq] { color: var(--text-muted); font-size: 11.5px; }
.na-kartu[b-9t9pjtswyq] { align-self: flex-start; margin-top: 3px; padding: 0; border: 0; background: none; color: var(--accent-strong); font: inherit; font-size: 12px; font-weight: 650; cursor: pointer; }
.na-kartu:hover[b-9t9pjtswyq] { text-decoration: underline; }

.akce[b-9t9pjtswyq] { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }

.polozka.po-terminu[b-9t9pjtswyq] { box-shadow: inset 3px 0 0 var(--danger); padding-left: 10px; margin-left: -10px; }
.polozka.po-terminu .ikona[b-9t9pjtswyq] { background: #fdeceb; color: var(--danger); }
.polozka.faze .ikona[b-9t9pjtswyq] { background: var(--accent-tint); color: var(--accent-strong); }
/* Dopočítané termíny z karet: připomínka, ne úkol. */
.polozka.seda .kdy strong[b-9t9pjtswyq], .polozka.seda .co strong[b-9t9pjtswyq] { color: #59636e; font-weight: 600; }
.polozka.seda .ikona[b-9t9pjtswyq] { border: 1px dashed var(--border); background: none; color: var(--text-muted); }

.prazdno[b-9t9pjtswyq] { margin: 0; padding: 6px 20px 14px; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }

@media (max-width: 760px) {
    .osa-hlava[b-9t9pjtswyq] { padding: 14px 14px 8px; }
    .bez-kroku[b-9t9pjtswyq] { margin: 4px 14px 10px; }
    .polozky[b-9t9pjtswyq] { padding: 0 14px; }
    .prazdno[b-9t9pjtswyq] { padding: 6px 14px 14px; }
    .polozka[b-9t9pjtswyq] { grid-template-columns: 30px minmax(0, 1fr); grid-template-areas: "ikona kdy" "ikona co" ". akce"; }
    .ikona[b-9t9pjtswyq] { grid-area: ikona; }
    .kdy[b-9t9pjtswyq] { grid-area: kdy; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 0 8px; }
    .co[b-9t9pjtswyq] { grid-area: co; }
    .akce[b-9t9pjtswyq] { grid-area: akce; justify-content: flex-start; margin-top: 4px; }
    .polozka.po-terminu[b-9t9pjtswyq] { padding-left: 8px; margin-left: -8px; }
}
/* /Components/Sales/CehoSeTyka.razor.rz.scp.css */
/* Boční panel „Čeho se to týká“. Na užší obrazovce, kde stojí nad záložkami,
   je sbalený pod tlačítkem „Klient a souvislosti“ (třída sbalitelny). Kterou kopii
   panelu stránka ukáže, rozhoduje šířka okna v LeadFile.razor.css. */
.souvislosti[b-dl6rupqxi1] { padding: 0; }
.obsah[b-dl6rupqxi1] { display: flex; flex-direction: column; padding: 16px 18px 8px; }
.nadpis[b-dl6rupqxi1] { margin: 0 0 6px; }

.blok[b-dl6rupqxi1] { display: flex; flex-direction: column; gap: 3px; padding: 11px 0; border-bottom: 1px solid var(--border-soft); font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.blok:last-child[b-dl6rupqxi1] { border-bottom: 0; }
.blok-hlava[b-dl6rupqxi1] { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 22px; }
.blok h3[b-dl6rupqxi1] { margin: 0; color: var(--text-muted); font-family: inherit; font-size: 10px; font-weight: 800; letter-spacing: 1.2px; }
.blok strong[b-dl6rupqxi1] { color: var(--ink); font-size: 13.5px; }
.blok small[b-dl6rupqxi1] { color: var(--text-muted); font-size: 12px; }
.blok a[b-dl6rupqxi1] { color: var(--accent-strong); font-weight: 600; text-decoration: none; }
.blok a:hover[b-dl6rupqxi1] { text-decoration: underline; }
.blok .prazdne[b-dl6rupqxi1] { color: var(--text-muted); }
.blok .po-terminu[b-dl6rupqxi1] { color: var(--danger); font-weight: 650; }
.blok .karta-klienta[b-dl6rupqxi1] { margin-top: 3px; font-size: 12.5px; font-weight: 650; }
.blok ul[b-dl6rupqxi1] { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
.radek[b-dl6rupqxi1] { display: flex; align-items: center; justify-content: space-between; gap: 10px; }

.odkaz[b-dl6rupqxi1] { align-self: flex-start; padding: 0; border: 0; background: none; color: var(--accent-strong); font: inherit; font-size: 12.5px; font-weight: 650; cursor: pointer; }
.odkaz:hover[b-dl6rupqxi1] { text-decoration: underline; }

.sbalit-nadpis[b-dl6rupqxi1] { margin: 0; font: inherit; }
.sbalit[b-dl6rupqxi1] { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 18px; border: 0; border-radius: 14px; background: none; color: var(--ink); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.sbalit:focus-visible[b-dl6rupqxi1] { outline: 2px solid var(--accent); outline-offset: -2px; }
.sbalitelny .obsah[b-dl6rupqxi1] { display: none; padding-top: 0; }
.sbalitelny .obsah.otevreno[b-dl6rupqxi1] { display: flex; }
/* /Components/Sales/KartaDumANabidka.razor.rz.scp.css */
.panel + .panel[b-wqgxdo7p6d] { margin-top: 13px; }
.rozpocet[b-wqgxdo7p6d] { display: inline-flex; align-items: center; gap: 6px; }

/* Historie nabídek pod kartou — tišší než platná nabídka nad ní. */
.predchozi[b-wqgxdo7p6d] { margin: 0 20px 18px; padding-top: 12px; border-top: 1px solid var(--border-soft); }
.predchozi h3[b-wqgxdo7p6d] { margin: 0 0 8px; color: var(--text-muted); font-family: inherit; font-size: 10.5px; font-weight: 800; letter-spacing: 1.2px; }
.predchozi ul[b-wqgxdo7p6d] { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.predchozi li[b-wqgxdo7p6d] { color: var(--text); font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.predchozi strong[b-wqgxdo7p6d] { font-weight: 650; }
.predchozi small[b-wqgxdo7p6d] { color: var(--text-muted); font-size: 12px; }
/* /Components/Sales/KartaFinancovani.razor.rz.scp.css */
/* Krok, který teprve přijde: tlumeně a s přerušovaným okrajem, aby se nepletl
   s hotovým (zelený) ani s tím, na který se čeká (písek). */
.contract-step.budouci[b-fq9fk2uva8] { border-style: dashed; background: var(--surface-subtle); }
.contract-step.budouci strong[b-fq9fk2uva8] { color: var(--text-muted); }
/* /Components/Sales/KartaPozemek.razor.rz.scp.css */
/* Záložka Pozemek: hlavní fakta nahoře, pod nadpisem jen vyplněné podrobnosti z prohlídky.
   Seznam faktů, poznámky a pruh prohlídky mají společné styly v app.css; tady je jen to,
   co přibylo s rozdělením na hlavní fakta a podrobnosti. */
.podrobnosti-nadpis[b-t5k9dmvspg] {
    margin: 2px 20px 8px;
    padding-top: 12px;
    border-top: 1px solid var(--border-soft);
    color: var(--text-muted);
    font-family: inherit;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.podrobnosti-prazdne[b-t5k9dmvspg] { margin: 0 20px 14px; font-size: 12px; }
.card-note[b-t5k9dmvspg] { margin-left: 20px; margin-right: 20px; }
.card-note:last-of-type[b-t5k9dmvspg] { margin-bottom: 14px; }

/* Pruh prohlídky nese dvě akce: zápis prohlídky a „Doplnit podrobnosti z prohlídky“.
   Obecné pravidlo pruhu dělá z každého vnořeného bloku sloupec, který se roztáhne —
   skupina tlačítek ale má stát vpravo vedle sebe. */
.survey-strip .prohlidka-akce[b-t5k9dmvspg] {
    flex: 0 1 auto;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px 10px;
}

/* Na telefonu by se text pruhu vedle dvou tlačítek zúžil na pár písmen v řádku. Tlačítka
   proto jdou pod text a zalomí se. */
@media (max-width: 640px) {
    .survey-strip[b-t5k9dmvspg] { flex-wrap: wrap; }
    .survey-strip .prohlidka-akce[b-t5k9dmvspg] { flex: 1 1 100%; justify-content: flex-start; }
}
/* /Components/Sales/NabidkaAkci.razor.rz.scp.css */
/* Rozbalovací nabídka akcí karty obchodního případu. Vzhled spouštěče volí rodič
   třídou (tmavy = hlavní akce v grafitu, obrys = vedlejší, symbol = „⋯“). */
.nabidka[b-8f0dv4sz2a] { position: relative; display: inline-flex; }

.spoustec[b-8f0dv4sz2a] { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 16px; border: 1px solid var(--border); border-radius: 10px; background: #fff; color: var(--text); font: inherit; font-size: 13px; font-weight: 650; white-space: nowrap; cursor: pointer; }
.spoustec:hover[b-8f0dv4sz2a] { border-color: var(--accent); }
.spoustec:focus-visible[b-8f0dv4sz2a] { outline: 2px solid var(--accent); outline-offset: 2px; }
.spoustec.tmavy[b-8f0dv4sz2a] { border-color: var(--ink); background: var(--ink); color: #fff; }
.spoustec.tmavy:hover[b-8f0dv4sz2a] { border-color: var(--ink-2); background: var(--ink-2); }
.spoustec.symbol[b-8f0dv4sz2a] { width: 40px; padding: 0; font-size: 18px; letter-spacing: 1px; }
.spoustec.maly[b-8f0dv4sz2a] { min-height: 32px; padding: 0 12px; border-radius: 8px; font-size: 12.5px; }

/* Plocha pod otevřenou nabídkou: klik kamkoli vedle ji zavře. */
.zavrit[b-8f0dv4sz2a] { position: fixed; inset: 0; z-index: 40; }

.seznam[b-8f0dv4sz2a] { position: absolute; top: calc(100% + 6px); right: 0; z-index: 41; min-width: 232px; max-width: min(320px, calc(100vw - 32px)); display: flex; flex-direction: column; padding: 6px; border: 1px solid var(--border); border-radius: 12px; background: #fff; box-shadow: 0 18px 40px -18px rgba(29, 39, 49, .45); }
.seznam button[b-8f0dv4sz2a] { min-height: 38px; padding: 8px 12px; border: 0; border-radius: 8px; background: none; color: var(--text); font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.seznam button:hover[b-8f0dv4sz2a] { background: var(--accent-tint); color: var(--ink); }
/* Fokus nesmí stát jen na pískovém podbarvení — to má proti bílé kontrast 1,07 : 1 a na
   klávesnici by nebylo vidět, na které položce člověk je. Obrys jako zbytek aplikace. */
.seznam button:focus-visible[b-8f0dv4sz2a] { background: var(--accent-tint); color: var(--ink); outline: 2px solid var(--accent); outline-offset: -2px; }
.seznam button.nebezpecna[b-8f0dv4sz2a] { color: var(--danger); }
.seznam button.nebezpecna:hover[b-8f0dv4sz2a] { background: #fff0ee; }

.nabidka.vlevo .seznam[b-8f0dv4sz2a] { right: auto; left: 0; }
/* Na telefonu přes celou šířku — spouštěč i nabídka pod ním. */
.nabidka.plna[b-8f0dv4sz2a] { display: flex; }
.nabidka.plna .spoustec[b-8f0dv4sz2a] { width: 100%; }
.nabidka.plna .seznam[b-8f0dv4sz2a] { right: 0; left: 0; max-width: none; }
@media (max-width: 640px) {
    .nabidka.plna-na-telefonu[b-8f0dv4sz2a] { display: flex; }
    .nabidka.plna-na-telefonu .spoustec[b-8f0dv4sz2a] { width: 100%; }
    .nabidka.plna-na-telefonu .seznam[b-8f0dv4sz2a] { right: 0; left: 0; max-width: none; }
}

@media (pointer: coarse) {
    .seznam button[b-8f0dv4sz2a] { min-height: 44px; }
}
/* /Components/Sales/NastenkaFiltry.razor.rz.scp.css */
/* Lišta nástěnky: čipy filtrů vlevo, řazení vpravo. Na úzké obrazovce se obojí
   zalomí, nic se neposouvá do strany. Lišta leží nad clonou rozbalené nabídky,
   takže druhý čip jde stisknout rovnou, bez kliknutí „naprázdno“. */
.nastenka-nastroje[b-etvlss1zhs] {
    position: relative;
    z-index: 26;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 18px;
    margin: 2px 0 14px;
}
.filtry[b-etvlss1zhs] { position: relative; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }

.cip[b-etvlss1zhs] {
    min-height: 32px;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 13px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text);
    font-size: 12.5px;
    font-weight: 550;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cip:hover[b-etvlss1zhs] { border-color: var(--accent); color: var(--accent-strong); }
.cip .sipka[b-etvlss1zhs] { color: var(--text-muted); font-size: 10px; }
/* Zapnutý filtr je tmavý jako logo — na první pohled je vidět, že deska je zúžená. */
.cip.aktivni[b-etvlss1zhs] { border-color: var(--ink); background: var(--ink); color: #fff; }
.cip.aktivni .sipka[b-etvlss1zhs] { color: var(--accent-soft); }
.cip.varovani[b-etvlss1zhs] { border-color: color-mix(in srgb, var(--danger) 35%, #fff); color: var(--danger); }
.cip.varovani:hover[b-etvlss1zhs] { border-color: var(--danger); }
.cip.varovani.aktivni[b-etvlss1zhs] { border-color: var(--danger); background: var(--danger); color: #fff; }

.cip-obal[b-etvlss1zhs] { position: relative; min-width: 0; max-width: 100%; display: inline-flex; }
.cip-obal.ma-hodnotu .cip[b-etvlss1zhs] { padding-right: 9px; border-radius: 999px 0 0 999px; }
.cip-zrusit[b-etvlss1zhs] {
    flex: 0 0 auto;
    min-width: 30px;
    padding: 0 10px 0 7px;
    border: 1px solid var(--ink);
    border-left-color: rgba(255, 255, 255, .25);
    border-radius: 0 999px 999px 0;
    background: var(--ink);
    color: #fff;
    font-size: 15px;
    line-height: 1;
}
.cip-zrusit:hover[b-etvlss1zhs] { background: var(--ink-3); }

.cip-menu[b-etvlss1zhs] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 2;
    width: max-content;
    min-width: 210px;
    max-width: min(320px, calc(100vw - 32px));
    max-height: 340px;
    overflow-y: auto;
    display: grid;
    gap: 2px;
    padding: 6px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--surface);
    box-shadow: 0 14px 34px rgba(29, 39, 47, .16);
}
.cip-volba[b-etvlss1zhs] {
    min-height: 36px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--text);
    font-size: 13px;
    text-align: left;
}
.cip-volba:hover[b-etvlss1zhs] { background: var(--surface-subtle); }
.cip-volba[aria-pressed="true"][b-etvlss1zhs] { background: var(--accent-tint); color: var(--accent-strong); font-weight: 650; }
.cip-prazdne[b-etvlss1zhs] { margin: 6px 10px; color: var(--text-muted); font-size: 12px; }

.rozsah[b-etvlss1zhs] { gap: 8px; padding: 10px; }
.rozsah-pole[b-etvlss1zhs] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.rozsah-pole label[b-etvlss1zhs] { display: grid; gap: 4px; color: var(--text-muted); font-size: 11.5px; font-weight: 650; }
.rozsah-pole input[b-etvlss1zhs] { min-width: 0; min-height: 34px; padding: 4px 8px; border: 1px solid var(--border); border-radius: 7px; background: #fff; color: var(--text); font: inherit; font-size: 13px; }
.rozsah-pole input:focus[b-etvlss1zhs] { border-color: var(--accent); outline: 2px solid rgba(225, 134, 59, .25); }
.rozsah-predvolby[b-etvlss1zhs] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; padding-top: 6px; border-top: 1px solid var(--border-soft); }

.zdroj-tecka[b-etvlss1zhs] { flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; background: var(--zdroj-fg, var(--text-muted)); box-shadow: 0 0 0 2px var(--zdroj-bg, var(--surface-subtle)); }
.cip.aktivni .zdroj-tecka[b-etvlss1zhs] { box-shadow: 0 0 0 2px rgba(255, 255, 255, .35); }

.zrusit-filtry[b-etvlss1zhs] {
    min-height: 32px;
    padding: 0 8px;
    border: 0;
    background: transparent;
    color: var(--accent-strong);
    font-size: 12.5px;
    font-weight: 650;
    text-decoration: underline;
    text-decoration-color: var(--accent-soft);
    text-underline-offset: 3px;
}
.zrusit-filtry:hover[b-etvlss1zhs] { text-decoration-color: var(--accent-strong); }

/* Barvu tečky fáze přiděluje třída faze-1 … faze-6 (paleta v Leads.razor.css). */
.faze-tecka[b-etvlss1zhs] { flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; background: var(--faze, var(--accent)); }
.cip.aktivni .faze-tecka[b-etvlss1zhs] { box-shadow: 0 0 0 2px rgba(255, 255, 255, .35); }

.nastroje-vpravo[b-etvlss1zhs] { flex: 0 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }

/* Přepínač Kanban | Tabulka: dvě tlačítka v jednom rámečku, zapnuté v grafitu jako čip filtru. */
.pohled[b-etvlss1zhs] { display: inline-flex; padding: 3px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.pohled button[b-etvlss1zhs] {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 12px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--text-muted);
    font-size: 12.5px;
    font-weight: 650;
}
.pohled button:hover[b-etvlss1zhs] { color: var(--accent-strong); }
.pohled button.aktivni[b-etvlss1zhs] { background: var(--ink); color: #fff; }
.pohled[b-etvlss1zhs]  .nastenka-ikona { width: 15px; height: 15px; }

.razeni[b-etvlss1zhs] { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; color: var(--text-muted); font-size: 12.5px; white-space: nowrap; }
.razeni select[b-etvlss1zhs] { min-height: 32px; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--text); font: inherit; font-size: 12.5px; font-weight: 600; }
.razeni select:focus[b-etvlss1zhs] { border-color: var(--accent); outline: 2px solid rgba(225, 134, 59, .25); }

/* Clona pod lištou: klik vedle nabídku zavře. */
.cip-clona[b-etvlss1zhs] { position: fixed; inset: 0; z-index: 25; background: transparent; }

@media (max-width: 680px) {
    /* Nabídka se na telefonu roztáhne přes celou šířku lišty pod čipy — u čipu na
       pravém kraji by jinak vyjela mimo obrazovku. */
    .cip-obal[b-etvlss1zhs] { position: static; }
    .cip-menu[b-etvlss1zhs] { right: 0; width: auto; max-width: none; }
    .nastroje-vpravo[b-etvlss1zhs] { width: 100%; }
    .razeni[b-etvlss1zhs] { flex: 1 1 100%; }
    .razeni select[b-etvlss1zhs] { flex: 1; min-width: 0; }
    .pohled[b-etvlss1zhs] { flex: 1 1 100%; }
    .pohled button[b-etvlss1zhs] { flex: 1 1 0; justify-content: center; }
}
@media (max-width: 680px), (pointer: coarse) {
    /* Pod 16 px Safari při klepnutí přiblíží celou stránku. */
    .razeni select[b-etvlss1zhs], .rozsah-pole input[b-etvlss1zhs] { font-size: 16px; }
    .cip[b-etvlss1zhs], .cip-zrusit[b-etvlss1zhs], .zrusit-filtry[b-etvlss1zhs] { min-height: 38px; }
    .pohled button[b-etvlss1zhs] { min-height: 36px; }
}
/* /Components/Sales/NastenkaKarta.razor.rz.scp.css */
/* Karta obchodního případu na nástěnce. Řádky, které jdou přečíst za chůze: kdo,
   co, za kolik, kdy další krok, kdo vede a jak dlouho to stojí, a štítky. */
.nastenka-karta[b-vt0txonn3d] {
    position: relative;
    display: grid;
    gap: 7px;
    padding: 11px 11px 11px 12px;
    margin: 0;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--surface);
    box-shadow: 0 1px 2px rgba(29, 39, 47, .05);
    font-size: 12px;
}
.nastenka-karta:hover[b-vt0txonn3d] { border-color: var(--accent-line); box-shadow: 0 3px 10px rgba(29, 39, 47, .08); }
/* Zvýrazněný případ: pískové podbarvení — obchodník ho hlídá a má ho vidět z dálky. */
.nastenka-karta.zvyrazneny[b-vt0txonn3d] { border-color: var(--accent-soft); background: var(--accent-tint); }
/* Štítek webového konfigurátoru má stejné pískové pozadí jako zvýrazněná karta a splýval
   s ní do volného textu; na zvýrazněné kartě proto dostane bílý podklad a obrys. */
.nastenka-karta.zvyrazneny .zdroj-tag[b-vt0txonn3d] { background: #fff; box-shadow: inset 0 0 0 1px var(--accent-line); }

/* Jméno klienta je to, podle čeho se deska čte. Ikony v rohu mu dřív ubraly šířku na všech
   řádcích (na 1440 px zbylo 78 px a jméno se lámalo do čtyř řádků); teď stojí v rohu karty
   a plovoucí výplň jim drží místo jen na prvním řádku. Nejvýš dva řádky, lámání po slovech. */
.karta-hlava h3[b-vt0txonn3d] {
    display: -webkit-box;
    margin: 3px 0 0;
    overflow: hidden;
    font-size: 13.5px;
    font-weight: 650;
    line-height: 1.3;
    overflow-wrap: break-word;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}
.misto-znacek[b-vt0txonn3d] { float: right; width: 50px; height: 1.3em; }
.misto-znacek.jedna[b-vt0txonn3d] { width: 24px; }
.karta-hlava h3 a[b-vt0txonn3d] { color: var(--text); text-decoration: none; }
.karta-hlava h3 a:hover[b-vt0txonn3d] { color: var(--accent-strong); text-decoration: underline; text-decoration-color: var(--accent-soft); }
/* Nadpis ořezává přetečení, a tak by uřízl i obrys fokusu odkazu — obrys proto dostane karta. */
.karta-hlava h3 a:focus-visible[b-vt0txonn3d] { outline: none; }
.nastenka-karta:has(.karta-hlava h3 a:focus-visible)[b-vt0txonn3d] { outline: 2px solid var(--accent); outline-offset: 2px; }
.karta-znacky[b-vt0txonn3d] { position: absolute; top: 8px; right: 7px; display: flex; align-items: center; gap: 0; }

/* Hvězdička je přepínač zvýraznění; vypnutá jen tlumeně, aby na každé kartě
   nekřičela, zapnutá v jantarové. */
.hvezda[b-vt0txonn3d] {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    /* Vypnutá hvězdička je ovládací prvek a musí být vidět (kontrast aspoň 3 : 1);
       tlumená je jen tím, že nemá výplň. */
    color: var(--text-muted);
}
.hvezda svg[b-vt0txonn3d] { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
button.hvezda:hover[b-vt0txonn3d] { background: var(--accent-tint); color: var(--accent); }
.hvezda[aria-pressed="true"][b-vt0txonn3d], span.hvezda[b-vt0txonn3d] { color: var(--accent); }
.hvezda[aria-pressed="true"] svg[b-vt0txonn3d], span.hvezda svg[b-vt0txonn3d] { fill: currentColor; }

/* „⋯“ je komponenta NabidkaAkci — její prvky mají vlastní izolaci, proto ::deep. */
.karta-znacky[b-vt0txonn3d]  .karta-tecky {
    width: 28px;
    min-height: 28px;
    padding: 0;
    border-color: transparent;
    border-radius: 7px;
    background: transparent;
    color: var(--text-muted);
    font-size: 17px;
    letter-spacing: 1px;
}
.karta-znacky[b-vt0txonn3d]  .karta-tecky:hover,
.karta-znacky[b-vt0txonn3d]  .karta-tecky[aria-expanded="true"] { border-color: var(--border); background: #fff; color: var(--text); }
/* Nabídka se otevírá doleva pod „⋯“; užší než výchozí, ať ve sloupci nepřesahuje kartu. */
.karta-znacky[b-vt0txonn3d]  .seznam { min-width: 196px; }

.karta-nazev[b-vt0txonn3d] { margin: 0; color: var(--text-muted); font-size: 11.5px; line-height: 1.4; overflow-wrap: anywhere; }
.karta-kod[b-vt0txonn3d] { color: var(--ink-2); font-weight: 650; font-variant-numeric: tabular-nums; }
.karta-poznamka[b-vt0txonn3d] { display: inline-block; margin-left: 4px; padding: 0 6px; border-radius: 999px; background: var(--surface-subtle); color: var(--text-muted); font-size: 10px; font-weight: 650; }

/* Hodnota je na kartě to nejvýraznější hned po jménu — podle ní se na poradě třídí. */
.karta-cena[b-vt0txonn3d] { color: var(--ink); font-family: var(--font-display); font-size: 17px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; letter-spacing: -.2px; overflow-wrap: anywhere; }
.karta-cena.odhad[b-vt0txonn3d] { color: var(--text-muted); font-size: 14px; font-weight: 600; }

.karta-krok[b-vt0txonn3d] { min-width: 0; display: flex; align-items: center; gap: 6px; margin: 0; color: var(--text-muted); font-size: 11.5px; white-space: nowrap; }
.karta-krok[b-vt0txonn3d]  .nastenka-ikona { width: 15px; height: 15px; }
.karta-krok.po-terminu[b-vt0txonn3d] { color: var(--danger); font-weight: 650; }

.karta-pata[b-vt0txonn3d] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; margin: 0; color: var(--text-muted); font-size: 11px; }
.karta-vlastnik[b-vt0txonn3d] { min-width: 0; flex: 1 1 auto; display: inline-flex; align-items: center; gap: 6px; }
.karta-vlastnik .jmeno[b-vt0txonn3d] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kolecko[b-vt0txonn3d] { flex: 0 0 auto; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--accent-soft); font-size: 9px; font-weight: 800; letter-spacing: .2px; }
.karta-dny[b-vt0txonn3d] { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.karta-dny[b-vt0txonn3d]  .ico { width: 13px; height: 13px; }
/* Od měsíce ve fázi: obchod spíš stojí. */
.karta-dny.dlouho[b-vt0txonn3d] { color: var(--warning); font-weight: 650; }

/* Štítky odvozené z dat. Barvy drží význam celé aplikace: červená = potíž,
   zelená = připravené, modrá = banka, písková = značka a priorita. */
.karta-stitky[b-vt0txonn3d] { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none; }
.karta-stitky li[b-vt0txonn3d] { display: flex; min-width: 0; max-width: 100%; }
.stitek[b-vt0txonn3d], .zdroj-tag[b-vt0txonn3d] {
    min-width: 0;
    max-width: 100%;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 10.5px;
    font-weight: 650;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.stitek.priorita[b-vt0txonn3d] { background: var(--accent-soft); color: var(--ink); }
.stitek.bez-aktivity[b-vt0txonn3d] { background: #fdeced; color: var(--danger); }
.stitek.pozemek[b-vt0txonn3d] { background: var(--ok-tint); color: var(--ok-dark); }
.stitek.hypoteka[b-vt0txonn3d] { background: #e8eefb; color: #2a4f9e; }
.zdroj-tag[b-vt0txonn3d] { background: var(--zdroj-bg, var(--surface-subtle)); color: var(--zdroj-fg, var(--text-muted)); }

.karta-akce[b-vt0txonn3d] { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 2px; }
.karta-akce .link-button[b-vt0txonn3d] { min-height: 30px; padding: 0 8px; font-size: 11.5px; }
/* „Posunout fázi ▾“ je hlavní akce karty — obrys přes celou šířku jako ve vzoru. */
.karta-posunout[b-vt0txonn3d] {
    flex: 1 1 120px;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 10px;
    border: 1px solid var(--accent-soft);
    border-radius: 8px;
    background: #fff;
    color: var(--accent-strong);
    font: inherit;
    font-size: 12px;
    font-weight: 650;
    white-space: nowrap;
}
.karta-posunout:hover[b-vt0txonn3d] { border-color: var(--accent); background: var(--accent-tint); }
/* Podepsaná smlouva: zakázka je jediný krok dál, a tak plné tlačítko. Je to odkaz do okna
   Vyhráno v detailu případu, proto vlastní zarovnání a bez podtržení. */
.karta-vyhra[b-vt0txonn3d] {
    flex: 1 1 100%;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    text-align: center;
    text-decoration: none;
    border: 1px solid var(--accent-soft);
    border-radius: 8px;
    background: var(--accent-soft);
    color: var(--ink);
    font: inherit;
    font-size: 12px;
    font-weight: 700;
}
.karta-vyhra:hover[b-vt0txonn3d] { border-color: var(--accent); background: var(--accent); color: #fff; text-decoration: none; }
.karta-posunout:focus-visible[b-vt0txonn3d], .karta-vyhra:focus-visible[b-vt0txonn3d] { outline: 2px solid var(--accent); outline-offset: 2px; }

.karta-posun[b-vt0txonn3d] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; width: 100%; }
.karta-posun select[b-vt0txonn3d] { flex: 1 1 130px; min-width: 0; min-height: 30px; padding: 4px 8px; border: 1px solid var(--border); border-radius: 7px; background: #fff; color: var(--text); font: inherit; font-size: 12px; }

/* Přetahování: tažnou kartu prozradí kurzor, taženou průhlednost. */
.nastenka-karta.draggable[b-vt0txonn3d] { cursor: grab; }
.nastenka-karta.draggable:active[b-vt0txonn3d] { cursor: grabbing; }
.nastenka-karta.is-dragged[b-vt0txonn3d] { opacity: .4; }

/* Na telefonu by výběr fáze vedle „Posunout“ a „Zpět“ ukázal jen „Čeká na ban“ —
   a na dotyku je to jediná cesta k posunu. Výběr proto dostane celý řádek. */
@media (max-width: 680px), (pointer: coarse) {
    .karta-posun select[b-vt0txonn3d] { flex-basis: 100%; }
}

@media (pointer: coarse) {
    /* Prst potřebuje větší terč než myš. */
    .hvezda[b-vt0txonn3d] { width: 38px; height: 38px; }
    .karta-znacky[b-vt0txonn3d] { top: 3px; right: 3px; }
    .misto-znacek[b-vt0txonn3d] { width: 70px; }
    .misto-znacek.jedna[b-vt0txonn3d] { width: 32px; }
    .karta-znacky[b-vt0txonn3d]  .karta-tecky { width: 38px; min-height: 38px; }
    .karta-akce .link-button[b-vt0txonn3d], .karta-posunout[b-vt0txonn3d], .karta-vyhra[b-vt0txonn3d] { min-height: 40px; }
    .karta-posun select[b-vt0txonn3d] { min-height: 40px; font-size: 16px; }
}
/* /Components/Sales/NastenkaPrehled.razor.rz.scp.css */
/* Prognóza a důvody proher: dvě karty vedle sebe, na užším displeji pod sebou. */
.prehled-obchodu[b-87jpai0ib5] { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: start; gap: 14px; margin: 18px 0 14px; }
.prehled-karta[b-87jpai0ib5] { min-width: 0; padding: 16px 20px 18px; }

.prehled-hlava[b-87jpai0ib5] { display: grid; gap: 3px; margin-bottom: 12px; }
.prehled-hlava h2[b-87jpai0ib5] { margin: 0; font-size: 17px; letter-spacing: -.35px; }
.prehled-hlava p[b-87jpai0ib5] { margin: 2px 0 0; color: var(--text-muted); font-size: 12px; line-height: 1.45; }

/* Tabulka prognózy. Čísla zarovnaná vpravo a se stejně širokými číslicemi, aby se
   sloupce daly číst shora dolů; řádek bez případů ustoupí, prošlý odhad se ozve. */
.prehled-obal[b-87jpai0ib5] { overflow-x: auto; }
.prognoza[b-87jpai0ib5] { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.prognoza th[b-87jpai0ib5], .prognoza td[b-87jpai0ib5] { padding: 7px 8px; border-bottom: 1px solid var(--border-soft); text-align: left; white-space: nowrap; }
.prognoza th:first-child[b-87jpai0ib5], .prognoza td:first-child[b-87jpai0ib5] { padding-left: 0; }
.prognoza th:last-child[b-87jpai0ib5], .prognoza td:last-child[b-87jpai0ib5] { padding-right: 0; }
.prognoza thead th[b-87jpai0ib5] { color: var(--text-muted); font-size: 10.5px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.prognoza tbody th[b-87jpai0ib5] { color: var(--text); font-weight: 600; }
.prognoza .cislo[b-87jpai0ib5] { text-align: right; font-variant-numeric: tabular-nums; }
.prognoza tr.prazdny th[b-87jpai0ib5], .prognoza tr.prazdny td[b-87jpai0ib5] { color: var(--text-muted); font-weight: 500; }
.prognoza tr.mimo th[b-87jpai0ib5] { color: var(--text-muted); font-style: italic; font-weight: 500; }
.prognoza tr.prosly th[b-87jpai0ib5] { color: var(--danger); }
.prognoza tfoot th[b-87jpai0ib5], .prognoza tfoot td[b-87jpai0ib5] { border-bottom: 0; border-top: 1px solid var(--border); color: var(--ink); font-weight: 700; }
.prognoza .kratka[b-87jpai0ib5] { display: none; }

/* Důvody proher: jedna řada = název a čísla, pod nimi tenký pruh podílu. Jedna barva
   pro všechny kategorie (jsou to hodnoty jedné řady, ne různé věci); „Neuvedeno“
   ustoupí do šedé — je to zbytek po starých datech, ne důvod. */
.prohry[b-87jpai0ib5] { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.prohry li[b-87jpai0ib5] { display: grid; gap: 5px; min-width: 0; }
.prohra-popis[b-87jpai0ib5] { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 12.5px; }
.prohra-nazev[b-87jpai0ib5] { min-width: 0; color: var(--text); overflow-wrap: anywhere; }
.prohra-hodnota[b-87jpai0ib5] { flex: 0 0 auto; color: var(--ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.prohra-pruh[b-87jpai0ib5] { display: block; height: 8px; }
.prohra-pruh span[b-87jpai0ib5] { display: block; height: 100%; min-width: 2px; border-radius: 0 4px 4px 0; background: var(--accent); }
.prohry li.neuvedeno .prohra-nazev[b-87jpai0ib5] { color: var(--text-muted); }
.prohry li.neuvedeno .prohra-pruh span[b-87jpai0ib5] { background: color-mix(in srgb, var(--text-muted) 55%, var(--surface)); }
.prehled-pozn[b-87jpai0ib5] { margin: 12px 0 0; color: var(--text-muted); font-size: 11.5px; line-height: 1.45; }

@media (max-width: 900px) {
    .prehled-obchodu[b-87jpai0ib5] { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 640px) {
    .prehled-obchodu[b-87jpai0ib5] { gap: 10px; margin-top: 14px; }
    .prehled-karta[b-87jpai0ib5] { padding: 14px; }
    .prognoza th[b-87jpai0ib5], .prognoza td[b-87jpai0ib5] { padding: 7px 5px; }
    .prognoza[b-87jpai0ib5] { font-size: 12px; }
    /* Celá částka zůstane čtečce, oko dostane zkrácenou — jinak by tabulka přetekla. */
    .prognoza .plna[b-87jpai0ib5] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .prognoza .kratka[b-87jpai0ib5] { display: inline; }
}
/* /Components/Sales/NastenkaTabulka.razor.rz.scp.css */
/* Pohled „Tabulka“. Posouvá se ve vlastním rámečku, aby široká tabulka na telefonu
   neroztáhla celou stránku do strany. */
.tabulka-obal[b-zykvqz87gc] { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; margin-bottom: 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.tabulka-obal:focus-visible[b-zykvqz87gc] { outline: 2px solid var(--accent); outline-offset: 2px; }

.nastenka-tabulka[b-zykvqz87gc] { width: 100%; min-width: 1080px; border-collapse: collapse; font-size: 12.5px; }
.nastenka-tabulka th[b-zykvqz87gc] {
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
    background: var(--surface-subtle);
    color: var(--text-muted);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .5px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}
.nastenka-tabulka th abbr[b-zykvqz87gc] { text-decoration: none; cursor: help; }
/* Sloupec, podle kterého se řadí, je vidět i bez čtečky. */
.nastenka-tabulka th[aria-sort][b-zykvqz87gc] { color: var(--ink); }
.nastenka-tabulka th[aria-sort="descending"][b-zykvqz87gc]::after { content: " ↓"; color: var(--accent-strong); }
.nastenka-tabulka th[aria-sort="ascending"][b-zykvqz87gc]::after { content: " ↑"; color: var(--accent-strong); }

.nastenka-tabulka td[b-zykvqz87gc] { padding: 10px 12px; border-bottom: 1px solid var(--border-soft); color: var(--text); vertical-align: middle; white-space: nowrap; }
.nastenka-tabulka tbody tr:last-child td[b-zykvqz87gc] { border-bottom: 0; }
/* Celý řádek je odkaz na kartu případu: odkaz na jménu klienta se roztáhne přes řádek. */
.nastenka-tabulka tbody tr[b-zykvqz87gc] { position: relative; }
.nastenka-tabulka tbody tr:hover td[b-zykvqz87gc] { background: var(--accent-tint); }
.nastenka-tabulka tbody tr.zvyrazneny td[b-zykvqz87gc] { background: color-mix(in srgb, var(--accent-tint) 60%, #fff); }
.radek-odkaz[b-zykvqz87gc] { color: var(--text); font-weight: 650; text-decoration: none; }
.radek-odkaz[b-zykvqz87gc]::after { content: ""; position: absolute; inset: 0; }
.radek-odkaz:hover[b-zykvqz87gc] { color: var(--accent-strong); text-decoration: underline; text-decoration-color: var(--accent-soft); }
.radek-odkaz:focus-visible[b-zykvqz87gc] { outline: none; }
.nastenka-tabulka tbody tr:has(.radek-odkaz:focus-visible)[b-zykvqz87gc] { outline: 2px solid var(--accent); outline-offset: -2px; }

.kod[b-zykvqz87gc] { color: var(--ink-2); font-weight: 650; font-variant-numeric: tabular-nums; }
.klient[b-zykvqz87gc] { max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.priorita[b-zykvqz87gc] { margin-left: 5px; color: var(--accent); }
.nazev[b-zykvqz87gc] { max-width: 220px; overflow: hidden; text-overflow: ellipsis; color: var(--text-muted); }
.cislo[b-zykvqz87gc] { text-align: right; font-variant-numeric: tabular-nums; }
/* Záhlaví číselného sloupce nad čísly — obecné th zarovnané vlevo by mělo přednost. */
.nastenka-tabulka th.cislo[b-zykvqz87gc] { text-align: right; }
/* Druhý řádek buňky: předmět kroku, zdroj ceny. Dlouhý text se zkrátí, celý je v DOM pro čtečku. */
.podrobnost[b-zykvqz87gc] { display: block; max-width: 240px; margin-top: 2px; overflow: hidden; color: var(--text-muted); font-size: 11px; font-weight: 500; text-overflow: ellipsis; }
.cislo .podrobnost[b-zykvqz87gc] { margin-left: auto; }
.cena[b-zykvqz87gc] { font-weight: 700; }
.cena.odhad[b-zykvqz87gc] { color: var(--text-muted); font-weight: 600; }

.faze-stitek[b-zykvqz87gc] { display: inline-flex; align-items: center; gap: 6px; padding: 2px 9px 2px 7px; border-radius: 999px; background: var(--faze-tint, var(--surface-subtle)); color: var(--ink); font-size: 11.5px; font-weight: 650; }
.faze-stitek[b-zykvqz87gc]::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--faze, var(--accent)); }

.kolecko[b-zykvqz87gc] { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 7px; border-radius: 50%; background: var(--ink); color: var(--accent-soft); font-size: 9px; font-weight: 800; vertical-align: middle; }

.krok[b-zykvqz87gc] { color: var(--text-muted); }
.krok[b-zykvqz87gc]  .nastenka-ikona { display: inline-block; width: 14px; height: 14px; margin-right: 5px; vertical-align: -2px; }
.po-terminu[b-zykvqz87gc] { color: var(--danger); font-weight: 650; }
.bez-aktivity[b-zykvqz87gc] { display: inline-block; padding: 1px 8px; border-radius: 6px; background: #fdeced; color: var(--danger); font-size: 11px; font-weight: 650; }

.zdroj-tag[b-zykvqz87gc] { display: inline-block; max-width: 160px; padding: 2px 8px; border-radius: 6px; background: var(--zdroj-bg, var(--surface-subtle)); color: var(--zdroj-fg, var(--text-muted)); font-size: 11px; font-weight: 650; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }

.tabulka-prazdna[b-zykvqz87gc] { padding: 22px 20px; margin: 0 0 14px; border: 1px dashed var(--border); border-radius: 12px; background: #fff; color: var(--text-muted); font-size: 13px; }

/* Užší obrazovka: vedlejší sloupce (název, procento, zdroj) se schovají, ať se při 1440 px
   vejde všechno, podle čeho se řadí a rozhoduje. Procento je vidět z fáze, zdroj ve filtru. */
@media (max-width: 1499px) {
    .nastenka-tabulka[b-zykvqz87gc] { min-width: 860px; }
    .nastenka-tabulka .vedlejsi[b-zykvqz87gc] { display: none; }
}
/* /Components/Sales/NastenkaUzavrene.razor.rz.scp.css */
/* Vyhrané, odložené a prohrané pod deskou: hlavička se záložkami, pod ní řádky
   s obrázkem modelu, údaji a akcemi. Na úzkém displeji se řádek skládá pod sebe. */
.uzavrene[b-mcvt95muwg] { margin-top: 4px; }

.uzavrene-hlava[b-mcvt95muwg] { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; padding: 16px 20px; border-bottom: 1px solid var(--border-soft); }
.uzavrene-znak[b-mcvt95muwg] { flex: 0 0 auto; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; background: var(--accent-tint); color: var(--accent-strong); }
.uzavrene-znak[b-mcvt95muwg]  .nastenka-ikona { width: 20px; height: 20px; }
.uzavrene-titul[b-mcvt95muwg] { min-width: 0; }
.uzavrene-titul h2[b-mcvt95muwg] { margin: 3px 0 0; font-size: 17px; letter-spacing: -.35px; }

.uzavrene-zalozky[b-mcvt95muwg] { display: flex; flex-wrap: wrap; gap: 6px; }
.uzavrene-zalozky button[b-mcvt95muwg] {
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text);
    font-size: 12.5px;
    font-weight: 650;
    white-space: nowrap;
}
.uzavrene-zalozky button:hover[b-mcvt95muwg] { border-color: var(--accent); color: var(--accent-strong); }
.uzavrene-zalozky button.vybrana[b-mcvt95muwg] { border-color: var(--ink); background: var(--ink); color: #fff; }

.uzavrene-vse[b-mcvt95muwg] { margin-left: auto; min-height: 34px; padding: 0 4px; border: 0; background: transparent; color: var(--accent-strong); font-size: 12.5px; font-weight: 650; white-space: nowrap; }
.uzavrene-vse:hover[b-mcvt95muwg] { text-decoration: underline; text-decoration-color: var(--accent-soft); text-underline-offset: 3px; }

.uzavrene-seznam[b-mcvt95muwg] { display: grid; gap: 8px; padding: 12px 20px 18px; }
.uzavrene-seznam[hidden][b-mcvt95muwg] { display: none; }
.uzavrene-prazdne[b-mcvt95muwg] { margin: 4px 0; color: var(--text-muted); font-size: 12.5px; }

.uzavreny[b-mcvt95muwg] {
    display: grid;
    grid-template-columns: 88px minmax(180px, 1.4fr) minmax(0, 2.2fr) auto;
    align-items: center;
    gap: 12px 18px;
    padding: 10px 12px;
    border: 1px solid var(--border-soft);
    border-radius: 12px;
    background: var(--surface);
    cursor: pointer;
}
.uzavreny:hover[b-mcvt95muwg] { border-color: var(--accent-line); }

.uzavreny-model[b-mcvt95muwg] { width: 88px; height: 62px; overflow: hidden; border-radius: 8px; background: var(--ink); }
.uzavreny-model img[b-mcvt95muwg] { width: 100%; height: 100%; display: block; object-fit: cover; }
.model-dlazdice[b-mcvt95muwg] { width: 100%; height: 100%; display: grid; place-items: center; padding: 0 6px; color: var(--accent-soft); font-size: 13px; font-weight: 800; letter-spacing: .3px; text-align: center; overflow-wrap: anywhere; }
.model-dlazdice[b-mcvt95muwg]  .ico { width: 26px; height: 26px; }

.uzavreny-kdo[b-mcvt95muwg] { min-width: 0; display: grid; gap: 3px; }
.uzavreny-kdo h3[b-mcvt95muwg] { margin: 0; font-size: 14px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.uzavreny-kod[b-mcvt95muwg] { color: var(--text-muted); font-weight: 600; }
/* Nadpis se láme kdekoli (dlouhé názvy firem), číslo OP ale ne — „OP-“ na konci
   řádku a „26005“ na dalším se nedá přečíst ani vyhledat očima. */
.uzavreny-kod .kod[b-mcvt95muwg] { white-space: nowrap; }
.uzavreny-kdo small[b-mcvt95muwg] { color: var(--text-muted); font-size: 11.5px; overflow-wrap: anywhere; }
.uzavreny-stitky[b-mcvt95muwg] { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 2px; }
.model-stitek[b-mcvt95muwg] { display: inline-flex; padding: 3px 8px; border-radius: 5px; background: #f1eefb; color: #5b47a8; font-size: 9.5px; font-weight: 700; }

.uzavreny-udaje[b-mcvt95muwg] { min-width: 0; display: grid; grid-template-columns: minmax(110px, auto) minmax(100px, auto) minmax(0, 1fr); gap: 6px 18px; margin: 0; }
/* Odložený s dnem „ozvat se“: ten zabere třetí sloupec a důvod jde na vlastní řádek
   přes celou šířku — ve čtvrtém sloupci by se volný text zúžil na pár písmen. */
.uzavreny-udaje.s-ozvanim .uzavreny-vysledek[b-mcvt95muwg] { grid-column: 1 / -1; }
.uzavreny-udaje > div[b-mcvt95muwg] { min-width: 0; }
.uzavreny-udaje dt[b-mcvt95muwg] { color: var(--text-muted); font-size: 10.5px; font-weight: 650; }
.uzavreny-udaje dd[b-mcvt95muwg] { margin: 3px 0 0; color: var(--text); font-size: 12.5px; overflow-wrap: anywhere; }
.uzavreny-udaje dd small[b-mcvt95muwg] { display: block; margin-top: 2px; color: var(--text-muted); font-size: 11px; }
.uzavreny-udaje .hodnota[b-mcvt95muwg] { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.prevedeno[b-mcvt95muwg] { color: var(--ok-dark); font-weight: 650; }
.fajfka[b-mcvt95muwg] { display: inline-grid; place-items: center; width: 16px; height: 16px; margin-right: 6px; border-radius: 50%; background: var(--ok); color: #fff; font-size: 10px; vertical-align: -2px; }

.closed-akce[b-mcvt95muwg] { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 8px; }
.closed-akce .link-button[b-mcvt95muwg] { flex: 0 0 auto; }
.closed-akce .link-button.hlavni[b-mcvt95muwg] { border-color: var(--accent-soft); }

/* Užší notebook: údaje pod jménem, akce pod nimi vpravo. */
@media (max-width: 1180px) {
    .uzavreny[b-mcvt95muwg] { grid-template-columns: 88px minmax(0, 1fr); }
    .uzavreny-udaje[b-mcvt95muwg], .closed-akce[b-mcvt95muwg] { grid-column: 2; }
    .closed-akce[b-mcvt95muwg] { justify-content: flex-start; }
}

@media (max-width: 680px) {
    .uzavrene-hlava[b-mcvt95muwg] { padding: 14px; }
    .uzavrene-vse[b-mcvt95muwg] { margin-left: 0; }
    .uzavrene-seznam[b-mcvt95muwg] { padding: 10px 12px 14px; }
    .uzavreny[b-mcvt95muwg] { grid-template-columns: 64px minmax(0, 1fr); gap: 10px 12px; padding: 10px; }
    .uzavreny-model[b-mcvt95muwg] { width: 64px; height: 48px; }
    .uzavreny-udaje[b-mcvt95muwg] { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .uzavreny-vysledek[b-mcvt95muwg] { grid-column: 1 / -1; }
    .closed-akce[b-mcvt95muwg] { grid-column: 1 / -1; }
    .closed-akce .link-button[b-mcvt95muwg] { flex: 1 1 auto; }
}

@media (pointer: coarse) {
    .uzavrene-zalozky button[b-mcvt95muwg] { min-height: 40px; }
    .closed-akce .link-button[b-mcvt95muwg] { min-height: 40px; }
}
/* /Components/Sales/NastenkaZamereni.razor.rz.scp.css */
/* Panel „Na co se zaměřit dnes“. Na širokém displeji stojí vpravo vedle desky (umístění
   řídí Leads.razor.css), na užším pod ukazateli s řádky vedle sebe, na telefonu sbalený. */
.zamereni[b-wbjx9swf8a] { min-width: 0; align-self: start; padding: 16px 16px 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }

.zamereni-hlava[b-wbjx9swf8a] { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.zamereni-znak[b-wbjx9swf8a] { flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--accent-tint); color: var(--accent-strong); }
.zamereni-znak[b-wbjx9swf8a]  .ico { width: 19px; height: 19px; }
.zamereni-hlava h2[b-wbjx9swf8a] { flex: 1 1 auto; min-width: 0; margin: 0; font-size: 16px; line-height: 1.25; letter-spacing: -.3px; }

/* Přepínač je jen pro telefon; na širším displeji je panel otevřený vždy a tlačítko,
   které nic nedělá, by čtečce sliboval rozbalení. */
.zamereni-prepinac[b-wbjx9swf8a] { display: none; }

.zamereni-zalozky[b-wbjx9swf8a] { display: flex; gap: 3px; padding: 3px; margin-bottom: 10px; border-radius: 10px; background: var(--surface-subtle); }
.zamereni-zalozky button[b-wbjx9swf8a] {
    flex: 1 1 auto;
    min-height: 32px;
    padding: 0 8px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 650;
    white-space: nowrap;
}
.zamereni-zalozky button:hover[b-wbjx9swf8a] { color: var(--accent-strong); }
.zamereni-zalozky button.vybrana[b-wbjx9swf8a] { background: var(--ink); color: #fff; }

.zamereni-seznam[b-wbjx9swf8a] { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.zamereni-polozka[b-wbjx9swf8a] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 8px 10px 10px;
    border: 1px solid var(--border-soft);
    border-radius: 10px;
    background: #fff;
    color: var(--text);
    text-decoration: none;
}
.zamereni-polozka:hover[b-wbjx9swf8a] { border-color: var(--accent-line); background: var(--accent-tint); }

.zamereni-ikona[b-wbjx9swf8a] { flex: 0 0 auto; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--accent-tint); color: var(--accent-strong); }
.zamereni-ikona[b-wbjx9swf8a]  .nastenka-ikona { width: 16px; height: 16px; }
.po-terminu .zamereni-ikona[b-wbjx9swf8a], .bez-aktivity .zamereni-ikona[b-wbjx9swf8a] { background: #fdeced; color: var(--danger); }

.zamereni-text[b-wbjx9swf8a] { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.zamereni-text strong[b-wbjx9swf8a] { font-size: 12.5px; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zamereni-text small[b-wbjx9swf8a] { color: var(--text-muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zamereni-stitek[b-wbjx9swf8a] { justify-self: start; margin-top: 3px; padding: 1px 7px; border-radius: 6px; background: var(--accent-tint); color: var(--accent-strong); font-size: 10.5px; font-weight: 650; line-height: 1.6; }
.po-terminu .zamereni-stitek[b-wbjx9swf8a], .bez-aktivity .zamereni-stitek[b-wbjx9swf8a] { background: #fdeced; color: var(--danger); }
.zamereni-polozka:hover .zamereni-stitek[b-wbjx9swf8a] { background: #fff; }

.kolecko[b-wbjx9swf8a] { flex: 0 0 auto; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: var(--accent-soft); font-size: 9.5px; font-weight: 800; letter-spacing: .2px; }
.zamereni-polozka[b-wbjx9swf8a]  .zamereni-sipka { width: 16px; height: 16px; color: var(--text-muted); }

.zamereni-prazdne[b-wbjx9swf8a] { margin: 4px 2px 2px; color: var(--text-muted); font-size: 12.5px; line-height: 1.5; }
.zamereni-vse[b-wbjx9swf8a] { width: 100%; margin-top: 8px; }

/* Pod širokým displejem (1720 px, viz Leads.razor.css) stojí panel přes celou šířku
   pod ukazateli — řádky vedle sebe, ať neodsune desku o celou obrazovku. auto-fit:
   tři položky se roztáhnou přes celou šířku, místo aby nechaly prázdnou čtvrtou stopu
   a zkracovaly jména klientů trojtečkou. */
@media (max-width: 1719.98px) {
    .zamereni-seznam[b-wbjx9swf8a] { grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); }
    .zamereni-zalozky[b-wbjx9swf8a] { max-width: 420px; }
}

@media (max-width: 680px) {
    .zamereni[b-wbjx9swf8a] { padding: 8px 12px; }
    .zamereni-hlava[b-wbjx9swf8a] { margin-bottom: 0; }
    .zamereni.rozbaleny .zamereni-hlava[b-wbjx9swf8a] { margin-bottom: 10px; }
    .jen-siroke[b-wbjx9swf8a] { display: none; }
    .zamereni-prepinac[b-wbjx9swf8a] {
        width: 100%;
        min-height: 40px;
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 0;
        border: 0;
        background: transparent;
        color: inherit;
        font: inherit;
        text-align: left;
    }
    .zamereni-prepinac .pocet[b-wbjx9swf8a] { color: var(--text-muted); font-weight: 600; }
    .zamereni-prepinac .sipka[b-wbjx9swf8a] { margin-left: auto; color: var(--text-muted); font-size: 12px; transition: transform .15s ease; }
    .zamereni.rozbaleny .zamereni-prepinac .sipka[b-wbjx9swf8a] { transform: rotate(180deg); }
    .zamereni:not(.rozbaleny) .zamereni-obsah[b-wbjx9swf8a] { display: none; }
    .zamereni-zalozky[b-wbjx9swf8a] { max-width: none; }
}

@media (pointer: coarse) {
    .zamereni-zalozky button[b-wbjx9swf8a] { min-height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
    .zamereni-prepinac .sipka[b-wbjx9swf8a] { transition: none; }
}
/* /Components/Sales/OknoOdlozeni.razor.rz.scp.css */
/* Povinnost slovy, ne jen barvou — stejně jako v okně prohry. */
.povinne[b-zpkibqfwh9] { margin-left: 6px; color: var(--danger); font-size: 11px; font-weight: 600; }

/* Rychlá volba dne: tři malé přepínače pod kalendářem; vybraný nese i aria-pressed. */
.odlozeni-volby[b-zpkibqfwh9] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: -4px; }
.odlozeni-volby button[b-zpkibqfwh9] { min-height: 32px; padding: 4px 12px; border: 1px solid var(--border); border-radius: 999px; background: #fff; color: var(--text); font: inherit; font-size: 12.5px; cursor: pointer; }
.odlozeni-volby button:hover[b-zpkibqfwh9] { border-color: var(--accent-line); background: var(--accent-tint); }
.odlozeni-volby button.vybrana[b-zpkibqfwh9] { border-color: var(--ink); background: var(--ink); color: #fff; }
.odlozeni-volby button:focus-visible[b-zpkibqfwh9] { outline: 2px solid var(--accent); outline-offset: 1px; }

/* Den, na který rychlá volba vyjde — slabší než popisek, ať tlačítko čte „Za měsíc“ první. */
.odlozeni-volby .volba-den[b-zpkibqfwh9] { color: var(--text-muted); }
.odlozeni-volby button.vybrana .volba-den[b-zpkibqfwh9] { color: rgba(255, 255, 255, .78); }

/* Co odložení zruší: stejná poznámka jako úvod, jen s termínem, který zmizí z plánovače. */
.odlozeni-zrusi[b-zpkibqfwh9] { margin-top: -6px; }
.odlozeni-zrusi p[b-zpkibqfwh9] { margin: 0; }
.odlozeni-zrusi ul[b-zpkibqfwh9] { margin: 4px 0 0; padding-left: 18px; }
.odlozeni-zrusi li[b-zpkibqfwh9] { overflow-wrap: anywhere; }
/* /Components/Sales/OknoProhry.razor.rz.scp.css */
/* Sedm kategorií prohry jako přepínače — vybraná musí být poznat i bez barvy. */
.kategorie[b-9fg1dzmwn4] { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; border: 0; }
.kategorie legend[b-9fg1dzmwn4] { margin-bottom: 6px; padding: 0; color: var(--text); font-size: 13px; font-weight: 650; }
/* Povinnost slovy, ne jen hvězdičkou nebo barvou — stejně u kategorie i u poznámky „Jiného důvodu“. */
.povinne[b-9fg1dzmwn4] { margin-left: 6px; color: var(--danger); font-size: 11px; font-weight: 600; }
.volba[b-9fg1dzmwn4] { display: flex; flex-direction: row; align-items: center; gap: 10px; min-height: 40px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 9px; background: #fff; color: var(--text); font-size: 13px; cursor: pointer; }
.volba:hover[b-9fg1dzmwn4] { border-color: var(--accent-line); background: var(--accent-tint); }
.volba.vybrana[b-9fg1dzmwn4] { border-color: var(--danger); background: #fff6f5; font-weight: 650; }
/* Fokus na přepínači je malý a do první volby ho Tab dá i bez výběru — celá volba
   proto dostane obrys, ať je vidět, kde uživatel klávesnice stojí. */
.volba:has(input:focus-visible)[b-9fg1dzmwn4] { outline: 2px solid var(--accent); outline-offset: 2px; }
/* Obecné pravidlo polí v okně by z přepínače udělalo 36px vysoké políčko. */
.volba input[b-9fg1dzmwn4] { flex: 0 0 auto; width: 17px; height: 17px; min-height: 0; margin: 0; padding: 0; accent-color: var(--danger); }
.button.zapsat-prohru[b-9fg1dzmwn4] { background: var(--danger); color: #fff; }
.button.zapsat-prohru:hover[b-9fg1dzmwn4] { background: #8e1d16; color: #fff; }
/* /Components/Sales/PasFazi.razor.rz.scp.css */
/* Pás fází: šest šipek stejné šířky a vpravo tlačítka uzavření. */
.pas[b-3u2r75rasy] { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-bottom: 12px; }

/* Obal zakulatí vnější rohy první a poslední šipky; šipky samy tvar dostanou ořezem.
   Šipky potřebují kolem 760 px, aby se „Čeká na banku“ vešlo na jeden řádek; na užší
   ploše proto tlačítka uzavření spadnou pod pás, místo aby šipky zúžila. */
.sipky[b-3u2r75rasy] { flex: 1 1 760px; min-width: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; margin: 0; padding: 0; border-radius: 10px; overflow: hidden; list-style: none; }
.sipka[b-3u2r75rasy] { min-width: 0; }
.sipka > button[b-3u2r75rasy], .sipka > span[b-3u2r75rasy] { width: 100%; min-height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 6px 16px 6px 24px; border: 0; background: #eceff2; color: #59636e; font: inherit; text-align: center; clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 50%, calc(100% - 13px) 100%, 0 100%, 13px 50%); }
.sipka:first-child > button[b-3u2r75rasy], .sipka:first-child > span[b-3u2r75rasy] { padding-left: 14px; clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 50%, calc(100% - 13px) 100%, 0 100%); }
/* Název se smí zalomit vždy. Výpustka „Čeká na b…“ nešla přečíst a hranice podle šířky
   okna netrefila šířku pásu — ten je užší i na notebooku kolem 1 024–1 110 px. */
.sipka strong[b-3u2r75rasy] { max-width: 100%; font-size: 12.5px; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; text-wrap: balance; }
.sipka small[b-3u2r75rasy] { min-height: 15px; display: flex; flex-wrap: wrap; justify-content: center; gap: 0 4px; font-size: 11px; line-height: 1.35; }
.sipka small > span + span[b-3u2r75rasy]::before { content: "· "; }

.sipka.hotova > *[b-3u2r75rasy] { background: var(--ink); color: #fff; }
.sipka.aktualni > *[b-3u2r75rasy] { background: var(--accent-soft); color: var(--ink); }
.sipka.aktualni strong[b-3u2r75rasy] { letter-spacing: .05em; text-transform: uppercase; }
.sipka.aktualni small[b-3u2r75rasy] { font-weight: 700; }
/* Případ stojí ve fázi měsíc — počet dní se musí ozvat, ne splynout s pískem. */
.sipka .dny.dlouho[b-3u2r75rasy] { padding: 0 6px; border-radius: 999px; background: #fff; color: var(--warning); }
.sipka .dny.dlouho[b-3u2r75rasy]::before { content: none; }
.sipka .banka[b-3u2r75rasy] { font-weight: 650; }

/* Kam se dá kliknout: světlý písek; kam ne: zašedlé s tooltipem proč. */
.sipka.budouci.mozna > button[b-3u2r75rasy] { background: var(--accent-tint); color: var(--ink); }
.sipka.mozna > button[b-3u2r75rasy] { cursor: pointer; }
.sipka.mozna > button:hover[b-3u2r75rasy] { background: var(--accent-line); }
.sipka.hotova.mozna > button:hover[b-3u2r75rasy] { background: var(--ink-2); }
.sipka.mozna > button:focus-visible[b-3u2r75rasy] { outline: none; box-shadow: inset 0 -3px 0 var(--accent); }
.sipka.mozna > button:focus-visible strong[b-3u2r75rasy] { text-decoration: underline; }
/* Nedostupná šipka nese název fáze a pás má ukázat celou cestu případu — text proto
   zůstává čitelný (kontrast nad 4,5 : 1); nedostupnost říká šedé pozadí místo písku
   a kurzor, ne vybledlé písmo. */
.sipka.budouci.nedostupna > span[b-3u2r75rasy] { color: #5f6973; cursor: not-allowed; }
.sipka.hotova.nedostupna > span[b-3u2r75rasy] { cursor: not-allowed; }

.uzavreni[b-3u2r75rasy] { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin-left: auto; }
.uzavreni .button[b-3u2r75rasy] { min-height: 44px; }
.button.zelene[b-3u2r75rasy] { border-color: var(--ok); background: var(--ok); color: #fff; }
.button.zelene:hover[b-3u2r75rasy] { border-color: var(--ok-dark); background: var(--ok-dark); color: #fff; }
.button.zelene:disabled[b-3u2r75rasy] { border-color: #c9d6cd; background: #e3ebe5; color: #59665d; opacity: 1; }
.button.zelene.vypnute[b-3u2r75rasy], .button.zelene.vypnute:hover[b-3u2r75rasy] { border-color: #c9d6cd; background: #e3ebe5; color: #59665d; cursor: not-allowed; }
/* Proč Vyhráno nejde — viditelně, protože tooltip se na dotyku neukáže. */
.proc-ne[b-3u2r75rasy] { flex: 1 1 100%; margin: 0; color: var(--text-muted); font-size: 12px; text-align: right; }
.proc-ne .odkaz[b-3u2r75rasy] { margin-left: 6px; padding: 0; border: 0; background: none; color: var(--accent-strong); font: inherit; font-weight: 650; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.button.cervene[b-3u2r75rasy] { border-color: #efc1bc; color: var(--danger); }
.button.cervene:hover[b-3u2r75rasy] { border-color: var(--danger); background: #fff0ee; color: var(--danger); }

/* Kompaktní pás pro telefon — na širší obrazovce schovaný. */
.kompaktni[b-3u2r75rasy] { display: none; }
.kompaktni-hlava[b-3u2r75rasy] { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.kompaktni-hlava p[b-3u2r75rasy] { margin: 0; color: var(--text-muted); font-size: 13px; }
.kompaktni-hlava strong[b-3u2r75rasy] { color: var(--ink); }
.kompaktni-hlava .dlouho[b-3u2r75rasy] { color: var(--warning); font-weight: 700; }
.ukazatel[b-3u2r75rasy] { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; margin-top: 8px; }
.ukazatel span[b-3u2r75rasy] { height: 6px; border-radius: 3px; background: #e3e7eb; }
.ukazatel .hotova[b-3u2r75rasy] { background: var(--ink); }
.ukazatel .aktualni[b-3u2r75rasy] { background: var(--accent); }

/* Uzavřený případ: místo šipek pruh s tím, jak skončil. */
.pruh[b-3u2r75rasy] { flex: 1 1 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 13px 18px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-subtle); }
.pruh p[b-3u2r75rasy] { min-width: 0; margin: 0; font-size: 13.5px; line-height: 1.5; overflow-wrap: anywhere; }
.pruh strong[b-3u2r75rasy] { font-size: 14.5px; }
.pruh.vyhrano[b-3u2r75rasy] { border-color: #bde5c8; background: var(--ok-tint); color: var(--ok-dark); }
.pruh.prohrano[b-3u2r75rasy] { border-color: #f2c4bf; background: #fff0ee; color: #8e1d16; }
.pruh.odlozeno[b-3u2r75rasy] { color: var(--text); }

/* Na tabletu se šipky zúží: menší odsazení a písmo, ať se název vejde. */
@media (max-width: 1000px) {
    .sipka > button[b-3u2r75rasy], .sipka > span[b-3u2r75rasy] { padding: 6px 10px 6px 20px; }
    .sipka:first-child > button[b-3u2r75rasy], .sipka:first-child > span[b-3u2r75rasy] { padding-left: 10px; }
    .sipka strong[b-3u2r75rasy] { font-size: 12px; }
}

@media (max-width: 640px) {
    .sipky[b-3u2r75rasy] { display: none; }
    .kompaktni[b-3u2r75rasy] { flex: 1 1 100%; display: block; padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
    .uzavreni[b-3u2r75rasy] { width: 100%; }
    .uzavreni > *[b-3u2r75rasy] { flex: 1 1 auto; }
    .proc-ne[b-3u2r75rasy] { flex-basis: 100%; text-align: left; }
    .pruh .button[b-3u2r75rasy] { width: 100%; }
}
/* /Components/Sales/PripadHlavicka.razor.rz.scp.css */
/* Hlavička obchodního případu: vlevo kdo a co, vpravo cena, pravděpodobnost a akce. */
.hlavicka[b-4hf3wbnq2e] { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "titul ukazatele akce"; align-items: center; gap: 16px 28px; margin-bottom: 18px; }
.titul[b-4hf3wbnq2e] { grid-area: titul; min-width: 0; }
/* Nadpisek je tu jen štítek, ne výzva — šedě, ať netáhne oko od jména klienta. */
.titul .section-kicker[b-4hf3wbnq2e] { color: var(--text-muted); }
.jmeno[b-4hf3wbnq2e] { display: flex; align-items: center; gap: 8px; min-width: 0; }
.jmeno h1[b-4hf3wbnq2e] { margin: 6px 0 4px; color: var(--ink); font-size: clamp(26px, 3vw, 34px); line-height: 1.12; letter-spacing: -1px; overflow-wrap: anywhere; }
.podtitul[b-4hf3wbnq2e] { margin: 0; color: var(--text-muted); font-size: 14px; }

/* Vypnutá hvězdička je ovládací prvek — musí mít kontrast aspoň 3 : 1 (dřív asi 1,7 : 1). */
.hvezda[b-4hf3wbnq2e] { flex: 0 0 auto; display: inline-grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 9px; background: none; color: var(--text-muted); font-size: 23px; line-height: 1; cursor: pointer; }
button.hvezda:hover[b-4hf3wbnq2e] { background: var(--accent-tint); color: var(--accent); }
.hvezda.zapnuta[b-4hf3wbnq2e] { color: var(--accent); }
button.hvezda:focus-visible[b-4hf3wbnq2e] { outline: 2px solid var(--accent); outline-offset: 2px; }

.ukazatele[b-4hf3wbnq2e] { grid-area: ukazatele; display: flex; align-items: center; gap: 26px; min-width: 0; }
.cena[b-4hf3wbnq2e] { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
.cena small[b-4hf3wbnq2e], .pravdepodobnost small[b-4hf3wbnq2e] { color: var(--text-muted); font-size: 10px; font-weight: 800; letter-spacing: 1.2px; }
.cena strong[b-4hf3wbnq2e] { color: var(--ink); font-family: var(--font-display); font-size: 25px; line-height: 1.15; letter-spacing: -.5px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.zdroj[b-4hf3wbnq2e] { color: var(--text-muted); font-size: 12px; }
.zdroj.propadla[b-4hf3wbnq2e] { color: var(--danger); font-weight: 650; }
.odkaz[b-4hf3wbnq2e] { padding: 0; border: 0; background: none; color: var(--accent-strong); font: inherit; font-size: 12.5px; font-weight: 650; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }

.pravdepodobnost[b-4hf3wbnq2e] { display: flex; align-items: center; gap: 10px; }
.pravdepodobnost div[b-4hf3wbnq2e] { display: flex; flex-direction: column; gap: 2px; }
.pravdepodobnost div span[b-4hf3wbnq2e] { color: var(--text-muted); font-size: 12px; white-space: nowrap; }
/* Kroužek: výseč podle pravděpodobnosti, uprostřed číslo. */
.krouzek[b-4hf3wbnq2e] { position: relative; flex: 0 0 auto; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: conic-gradient(var(--ink) calc(var(--podil, 0) * 1%), var(--accent-line) 0); }
.krouzek[b-4hf3wbnq2e]::before { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: #fff; }
.krouzek span[b-4hf3wbnq2e] { position: relative; color: var(--ink); font-size: 13px; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.krouzek.vyhrano[b-4hf3wbnq2e] { background: conic-gradient(var(--ok) calc(var(--podil, 0) * 1%), var(--ok-tint) 0); }
.krouzek.mimo[b-4hf3wbnq2e] { background: var(--border-soft); }
.krouzek.mimo span[b-4hf3wbnq2e] { color: var(--text-muted); }

.akce[b-4hf3wbnq2e] { grid-area: akce; display: flex; align-items: center; gap: 8px; }

@media (max-width: 1100px) {
    .hlavicka[b-4hf3wbnq2e] { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "titul akce" "ukazatele ukazatele"; }
    .ukazatele[b-4hf3wbnq2e] { justify-content: flex-start; }
    .cena[b-4hf3wbnq2e] { align-items: flex-start; text-align: left; }
}

/* Telefon: „⋯“ vpravo nahoře, cena s kroužkem vedle sebe, „+ Přidat“ přes celou šířku. */
@media (max-width: 640px) {
    .hlavicka[b-4hf3wbnq2e] { grid-template-areas: "titul vice" "ukazatele ukazatele" "pridat pridat"; gap: 12px; align-items: start; }
    .jmeno h1[b-4hf3wbnq2e] { font-size: 25px; letter-spacing: -.6px; }
    .akce[b-4hf3wbnq2e] { display: contents; }
    .akce[b-4hf3wbnq2e]  .vice { grid-area: vice; }
    .akce[b-4hf3wbnq2e]  .pridat { grid-area: pridat; }
    .ukazatele[b-4hf3wbnq2e] { justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
    .cena strong[b-4hf3wbnq2e] { font-size: 21px; }
    .krouzek[b-4hf3wbnq2e] { width: 52px; height: 52px; }
}
/* /Components/Sales/TlacitkoTuzka.razor.rz.scp.css */
.tuzka[b-oalf9d742b] { flex: 0 0 auto; display: inline-grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 1px solid transparent; border-radius: 7px; background: none; color: var(--accent-strong); font-size: 14px; line-height: 1; cursor: pointer; }
.tuzka:hover[b-oalf9d742b] { border-color: var(--accent-line); background: var(--accent-tint); }
.tuzka:focus-visible[b-oalf9d742b] { outline: 2px solid var(--accent); outline-offset: 1px; }

@media (pointer: coarse) {
    .tuzka[b-oalf9d742b] { width: 36px; height: 36px; }
}
/* /Components/Sales/UdajePripadu.razor.rz.scp.css */
/* Údaje oddělené tečkou; na telefonu pod sebou. Tečka stojí před každým údajem
   a vnitřní řádek je posunutý o její šířku doleva: u údaje, který začíná řádek,
   tak tečka zmizí za okrajem, místo aby visela na začátku zalomeného řádku
   (22 px = tečka 17 px + mezera 5 px). */
/* overflow: hidden schovává úvodní tečky; svislý okraj nechává místo pro obrys fokusu
   tužky, jinak by z něj byly vidět jen dvě svislé čárky. */
.udaje[b-a7xgc5l05z] { margin: 0 0 14px; padding-block: 4px; overflow: hidden; color: var(--text-muted); font-size: 13px; }
.udaje p[b-a7xgc5l05z] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 0 0 0 -22px; }
.udaje span[b-a7xgc5l05z] { display: inline-flex; align-items: center; gap: 5px; }
.udaje span[b-a7xgc5l05z]::before { content: "·"; flex: 0 0 17px; color: #b4bcc5; text-align: center; }
.udaje strong[b-a7xgc5l05z] { color: var(--text); font-weight: 650; }
.udaje strong.po-terminu[b-a7xgc5l05z] { color: var(--danger); }
.udaje strong.nezadan[b-a7xgc5l05z] { color: var(--text-muted); font-weight: 500; font-style: italic; }

@media (max-width: 640px) {
    .udaje[b-a7xgc5l05z] { padding: 10px 14px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
    .udaje p[b-a7xgc5l05z] { flex-direction: column; align-items: flex-start; gap: 4px; margin: 0; }
    .udaje span[b-a7xgc5l05z]::before { content: none; }
}
/* /Components/Sales/ZalozkyPripadu.razor.rz.scp.css */
/* Záložky nad hlavním sloupcem; na telefonu mřížka 2 × 2. */
.zalozky[b-k48s2erctr] { display: flex; gap: 2px; margin-bottom: 13px; border-bottom: 1px solid var(--border); overflow-x: auto; scrollbar-width: none; }
.zalozky button[b-k48s2erctr] { position: relative; flex: 0 0 auto; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 0 16px; border: 0; border-bottom: 3px solid transparent; background: none; color: var(--text-muted); font: inherit; font-size: 13.5px; font-weight: 650; white-space: nowrap; cursor: pointer; }
.zalozky button:hover[b-k48s2erctr] { color: var(--ink); }
.zalozky button.vybrana[b-k48s2erctr] { border-bottom-color: var(--ink); color: var(--ink); }
.zalozky button:focus-visible[b-k48s2erctr] { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: 8px 8px 0 0; }

.odznak[b-k48s2erctr] { padding: 2px 8px; border-radius: 999px; background: var(--danger); color: #fff; font-size: 11px; font-weight: 700; }
.hotovo[b-k48s2erctr] { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--ok); color: #fff; font-size: 11px; font-weight: 800; }
.pocet[b-k48s2erctr] { padding: 2px 7px; border-radius: 999px; background: var(--surface-subtle); color: var(--text-muted); font-size: 11.5px; font-variant-numeric: tabular-nums; }
.vybrana .pocet[b-k48s2erctr] { background: var(--accent-tint); color: var(--ink); }

@media (max-width: 640px) {
    .zalozky[b-k48s2erctr] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; border-bottom: 0; overflow: visible; }
    .zalozky button[b-k48s2erctr] { min-width: 0; justify-content: center; flex-wrap: wrap; gap: 4px 6px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 10px; background: #fff; white-space: normal; text-align: center; line-height: 1.25; }
    .zalozky button.vybrana[b-k48s2erctr] { border-color: var(--ink); background: var(--ink); color: #fff; }
    .zalozky button.vybrana .pocet[b-k48s2erctr] { background: rgba(255, 255, 255, .16); color: #fff; }
}
/* /Components/Service/FiltrFronty.razor.rz.scp.css */
/* Lišta filtrů servisní fronty. Vzhled lišty, hledání a výběrů je z app.css (filter-bar,
   table-search) jako u seznamu domů; tady je jen to, co přibylo. Filtrů je víc, než se
   vejde do řádku panelu fronty, proto se lišta zalamuje i na desktopu. Popisek stojí
   u výběru, ne nad ním — lišta má být řádek nástrojů, ne formulář. */
.servis-filtry[b-4hx7gjim11] { flex-wrap: wrap; row-gap: 8px; }
.servis-filtry .table-search[b-4hx7gjim11] { flex: 1 1 260px; }
/* min-width: 0 u popisku i výběru: výběr je jinak široký jako nejdelší volba („FL-26018 ·
   Jméno klienta“) a na telefonu by lištu vytlačil za okraj. */
.servis-filtr[b-4hx7gjim11] { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--text-muted); font-size: 11.5px; font-weight: 600; }
.servis-filtr select[b-4hx7gjim11] { min-width: 0; max-width: 220px; }

/* Filtry za hledáním: na širší obrazovce obal nehraje roli a jeho prvky stojí přímo v liště;
   tlačítko „Filtry“ je jen pro telefon. */
.servis-filtry-vice[b-4hx7gjim11] { display: contents; }
.servis-filtry-prepinac[b-4hx7gjim11] { display: none; }

@media (max-width: 680px) {
    /* Na telefonu stojí hledání a vedle něj „Filtry (n)“; dům, technik, priorita, termín
       a uzavřené jsou sbalené, dokud je technik nerozbalí. Rozbalené jdou každý přes celou
       šířku vedle svého popisku. */
    .servis-filtry .table-search[b-4hx7gjim11] { flex: 1 1 0; min-width: 0; }
    .servis-filtry-prepinac[b-4hx7gjim11] { display: inline-flex; flex: 0 0 auto; min-height: 38px; }
    .servis-filtry-prepinac[aria-expanded="true"][b-4hx7gjim11] { border-color: var(--accent); background: var(--accent-tint); }
    .servis-filtry-vice:not(.rozbaleno)[b-4hx7gjim11] { display: none; }
    .servis-filtry-vice.rozbaleno[b-4hx7gjim11] { display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 100%; }
    .servis-filtr[b-4hx7gjim11] { flex: 1 1 100%; }
    .servis-filtr span[b-4hx7gjim11] { flex: 0 0 72px; }
    .servis-filtr select[b-4hx7gjim11] { flex: 1 1 0; width: 0; max-width: none; }
    .servis-filtry-vice .button[b-4hx7gjim11] { flex: 1 1 100%; }
}
/* /Components/Service/OknoVyjezdu.razor.rz.scp.css */
/* Okno výjezdu. Pole, tlačítka i hlášky bere z details-editor jako ostatní okna
   (app.css); tady je jen věta o domluveném výjezdu, ke kterému se zápis vztahuje. */
.okno-vyjezdu-pozn[b-uhc2x6c7kb] {
    margin: 0;
    padding: 8px 10px;
    border-radius: 7px;
    background: var(--accent-tint);
    color: var(--text);
    font-size: 12px;
    line-height: 1.45;
}

/* Datum a čas se na úzkém telefonu nesmí roztáhnout přes okraj okna. */
.okno-vyjezdu input[type="datetime-local"][b-uhc2x6c7kb] { width: 100%; min-width: 0; }

/* Živá oblast věty o domluveném výjezdu stojí v okně pořád; prázdná se schová ořezem,
   ne display:none — to by ji vyřadilo ze stromu přístupnosti. */
.okno-vyjezdu-spojeni:empty[b-uhc2x6c7kb] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* /Components/Service/VyjezdyPripadu.razor.rz.scp.css */
/* Výjezdy servisního případu ve frontě. Písmo drží měřítko řádku případu
   (poznámky a popis jsou kolem 10,5 px), aby historie nepřerostla případ samotný. */
.vyjezdy[b-0ib10qdmjb] { margin-top: 8px; padding: 7px 9px 8px; border: 1px solid var(--border-soft); border-radius: 7px; background: #fbfcfd; }
/* Bez výjezdu je to jen řádek s tlačítkem — rámeček kolem prázdna by u každého případu zabral místo. */
.vyjezdy.prazdne[b-0ib10qdmjb] { padding: 0; border: 0; background: none; }

.vyjezdy-hlava[b-0ib10qdmjb] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.vyjezdy-nadpis[b-0ib10qdmjb] { color: var(--text-muted); font-size: 9.5px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.vyjezdy-pocet[b-0ib10qdmjb] { color: var(--text-muted); font-size: 10.5px; }
.vyjezdy-hlava .link-button[b-0ib10qdmjb] { margin-left: auto; font-size: 11px; }

.vyjezdy-seznam[b-0ib10qdmjb] { display: grid; gap: 6px; margin: 7px 0 0; padding: 0; list-style: none; }
.vyjezd[b-0ib10qdmjb] { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 8px; align-items: start; padding-top: 6px; border-top: 1px solid #eef1f4; }
.vyjezd:first-child[b-0ib10qdmjb] { padding-top: 0; border-top: 0; }

.vyjezd-stav[b-0ib10qdmjb] { justify-self: start; padding: 2px 7px; border-radius: 999px; background: #eef1f4; color: #55606b; font-size: 9.5px; font-weight: 750; white-space: nowrap; }
.stav-done .vyjezd-stav[b-0ib10qdmjb] { background: #e6f4ea; color: #16763c; }
.stav-planned .vyjezd-stav[b-0ib10qdmjb] { background: var(--accent-tint); color: var(--accent-strong); }
/* Drobné písmo potřebuje kontrast aspoň 4,5:1 — #5b6570 na #f1f2f4 vychází asi 5,1:1. */
.stav-cancelled .vyjezd-stav[b-0ib10qdmjb] { background: #f1f2f4; color: #5b6570; }

.vyjezd-obsah[b-0ib10qdmjb] { min-width: 0; }
.vyjezd-kdy[b-0ib10qdmjb] { display: flex; flex-wrap: wrap; gap: 2px 8px; margin: 0; font-size: 10.5px; }
.vyjezd-kdy strong[b-0ib10qdmjb] { color: var(--text); font-size: 11px; }
.vyjezd-kdy span[b-0ib10qdmjb] { color: var(--text-muted); }
.vyjezd-kdy .vyjezd-prosly[b-0ib10qdmjb] { color: var(--danger); font-weight: 650; }
/* Poznámka technika je volný text — zalomí se i dlouhé slovo, ať telefon nedostane vodorovný posuv. */
.vyjezd-poznamka[b-0ib10qdmjb] { margin: 3px 0 0; color: var(--text); font-size: 10.5px; line-height: 1.45; white-space: pre-line; overflow-wrap: anywhere; }
.vyjezd-zapsano[b-0ib10qdmjb] { display: block; margin-top: 3px; color: var(--text-muted); font-size: 9.5px; }
.stav-cancelled .vyjezd-kdy strong[b-0ib10qdmjb], .stav-cancelled .vyjezd-poznamka[b-0ib10qdmjb] { color: var(--text-muted); }

.vyjezdy-dalsi[b-0ib10qdmjb] { margin-top: 6px; font-size: 11px; }

@media (max-width: 620px) {
    /* Na telefonu stojí stav nad textem — vedle by ukrojil polovinu šířky poznámky. */
    .vyjezd[b-0ib10qdmjb] { grid-template-columns: minmax(0, 1fr); gap: 3px; }
    .vyjezdy-hlava .link-button[b-0ib10qdmjb] { margin-left: 0; }
}
/* /Components/Shared/StitekStavuDokumentu.razor.rz.scp.css */
/* Koncept a Platné barví app.css (state-draft, state-approved). Archiv je tichý a šedý:
   dokument je dohledatelný, ale už neplatí — nesmí vypadat jako platný ani jako chyba. */
.state-archived[b-ymip99assh] { background: #eff2f4; color: #5c6570; }
