/* /Components/Layout/AuthLayout.razor.rz.scp.css */
/* Auth shell — full page, centered, no sidebar */
.auth-shell[b-k9mbts7fms] {
    position: relative;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(150deg, var(--c-primary-light) 0%, #F8FAFC 50%);
    padding: max(1.5rem, env(safe-area-inset-top)) 1rem max(1.5rem, env(safe-area-inset-bottom));
    gap: 0;
}

[data-theme$="-dark"] .auth-shell[b-k9mbts7fms] {
    background: linear-gradient(150deg, var(--c-primary-light) 0%, #0F172A 55%);
}

/* Własne zdjęcie w tle: zdjęcie + przyciemnienie, żeby karta i nazwa były czytelne */
.auth-shell-photo[b-k9mbts7fms] {
    background: #0F172A var(--auth-bg) center / cover no-repeat;
}

.auth-shell-photo[b-k9mbts7fms]::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(15, 23, 42, .30) 0%, rgba(15, 23, 42, .70) 100%);
    pointer-events: none;
}

.auth-shell > *[b-k9mbts7fms] {
    position: relative;
}

/* Bez własnego zdjęcia: delikatny wzór z hantli i talerzy — od razu widać, że to aplikacja trenerska. */
.auth-shell:not(.auth-shell-photo)[b-k9mbts7fms] { overflow: hidden; }
.auth-shell:not(.auth-shell-photo)[b-k9mbts7fms]::before {
    content: "";
    position: absolute;
    inset: -30%;
    pointer-events: none;
    background-color: var(--c-primary);
    opacity: .05;
    -webkit-mask: var(--pt-pattern-gym) 0 0 / 132px 132px repeat;
    mask: var(--pt-pattern-gym) 0 0 / 132px 132px repeat;
    transform: rotate(-18deg);
}

.auth-brand[b-k9mbts7fms] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.auth-logo[b-k9mbts7fms] {
    height: 52px;
    width: auto;
    max-width: 160px;
    object-fit: contain;
}

.auth-icon[b-k9mbts7fms] {
    font-size: 2.5rem;
    color: var(--c-primary);
    line-height: 1;
}

.auth-company[b-k9mbts7fms] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--c-primary);
    letter-spacing: -0.01em;
}

.auth-shell-photo .auth-company[b-k9mbts7fms],
.auth-shell-photo .auth-icon[b-k9mbts7fms] {
    color: #fff;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
}

.auth-shell-photo .auth-logo[b-k9mbts7fms] {
    background: rgba(255, 255, 255, .92);
    border-radius: 12px;
    padding: 6px 10px;
    box-sizing: content-box;
}

.auth-card-wrap[b-k9mbts7fms] {
    width: 100%;
    max-width: 420px;
}

.auth-footer[b-k9mbts7fms] {
    margin-top: 2rem;
    font-size: 0.75rem;
    color: #9CA3AF;
}

.auth-shell-photo .auth-footer[b-k9mbts7fms] {
    color: rgba(255, 255, 255, .75);
}

/* Tekst pod kartą (np. „Nie masz konta?”) na zdjęciu */
.auth-shell-photo .auth-card-wrap[b-k9mbts7fms]  .auth-below-card {
    color: rgba(255, 255, 255, .85);
}

.auth-shell-photo .auth-card-wrap[b-k9mbts7fms]  .auth-below-card a {
    color: #fff;
    font-weight: 600;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Layout styles moved to wwwroot/app.css */
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* NavMenu styles moved to wwwroot/app.css */
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
/* Okno Blazora nigdy się nie pokazuje — połączenie wznawia się po cichu. */
#components-reconnect-modal[b-swxpwczw2m] {
    display: none !important;
}

/* Cienki pasek u góry, gdy łączenie trwa dłużej niż chwilę. */
#pt-reconnect-bar[b-swxpwczw2m] {
    position: fixed;
    inset: 0 0 auto 0;
    height: 3px;
    z-index: 2000;
    pointer-events: none;
    opacity: 0;
    transition: opacity .3s ease;
    background-image: linear-gradient(90deg, transparent, var(--c-primary, var(--accent, #7c3aed)), transparent);
    background-size: 40% 100%;
    background-repeat: no-repeat;
}

#pt-reconnect-bar.on[b-swxpwczw2m] {
    opacity: 1;
    animation: pt-reconnect-slide-b-swxpwczw2m 1.1s linear infinite;
}

@keyframes pt-reconnect-slide-b-swxpwczw2m {
    from { background-position: -40% 0; }
    to { background-position: 140% 0; }
}

/* Dyskretna informacja tylko wtedy, gdy internetu naprawdę nie ma. */
#pt-offline-pill[b-swxpwczw2m] {
    position: fixed;
    left: 50%;
    bottom: calc(84px + env(safe-area-inset-bottom, 0px));
    z-index: 2000;
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .95rem;
    border-radius: 99px;
    background: #1f2937;
    color: #fff;
    font-size: .85rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 16px);
    transition: opacity .3s ease, transform .3s ease;
}

#pt-offline-pill.on[b-swxpwczw2m] {
    opacity: 1;
    transform: translate(-50%, 0);
}

@media (prefers-reduced-motion: reduce) {
    #pt-reconnect-bar.on[b-swxpwczw2m] { animation: none; background-size: 100% 100%; opacity: .6; }
    #pt-offline-pill[b-swxpwczw2m] { transition: none; }
}
/* /Components/Pages/Clients/ClientProfile.razor.rz.scp.css */
/* Client paginator (prev/next navigation pill) */
.client-paginator[b-emofuyvm7b] {
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color, #e5e7eb);
    border-radius: 999px;
    padding: 3px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    user-select: none;
}

.client-paginator-btn[b-emofuyvm7b] {
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: var(--bs-secondary-color, #6c757d);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, transform .15s ease;
    padding: 0;
    line-height: 1;
}

    .client-paginator-btn:hover:not(:disabled)[b-emofuyvm7b] {
        background: var(--c-primary-light, #f1f5f9);
        color: var(--c-primary, #0284c7);
    }

    .client-paginator-btn:active:not(:disabled)[b-emofuyvm7b] {
        transform: scale(0.92);
    }

    .client-paginator-btn:disabled[b-emofuyvm7b] {
        opacity: 0.25;
        cursor: not-allowed;
    }

    .client-paginator-btn i[b-emofuyvm7b] {
        font-size: 0.95rem;
    }

.client-paginator-counter[b-emofuyvm7b] {
    font-size: 0.78rem;
    padding: 0 10px;
    min-width: 52px;
    text-align: center;
    letter-spacing: 0.02em;
}

    .client-paginator-counter .pc-current[b-emofuyvm7b] {
        font-weight: 600;
        color: var(--bs-body-color, #111827);
    }

    .client-paginator-counter .pc-sep[b-emofuyvm7b],
    .client-paginator-counter .pc-total[b-emofuyvm7b] {
        color: var(--bs-secondary-color, #9ca3af);
    }

/* ── Panel klienta ── */
.cp-hero[b-emofuyvm7b] {
    position: relative; overflow: hidden; isolation: isolate;
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1.1rem; align-items: start;
    padding: 1.25rem 1.35rem; margin-bottom: 1rem; border-radius: 18px;
    border: 1px solid var(--bs-border-color); background: var(--bs-body-bg);
}
.cp-hero[b-emofuyvm7b]::after {
    content: ""; position: absolute; z-index: -1; right: -14px; bottom: -30px; width: 170px; height: 170px;
    background: var(--c-primary); opacity: .05; transform: rotate(-35deg);
    -webkit-mask: var(--pt-ico-dumbbell) center / contain no-repeat; mask: var(--pt-ico-dumbbell) center / contain no-repeat;
    pointer-events: none;
}
.cp-avatar[b-emofuyvm7b] {
    width: 72px; height: 72px; border-radius: 50%; overflow: hidden; flex-shrink: 0;
    display: grid; place-items: center; background: var(--c-primary); color: #fff; font-weight: 800; font-size: 1.4rem;
    box-shadow: 0 0 0 4px var(--c-primary-light);
}
.cp-avatar img[b-emofuyvm7b] { width: 100%; height: 100%; object-fit: cover; }
.cp-name[b-emofuyvm7b] { font-weight: 800; margin: 0 0 .4rem; letter-spacing: -.01em; overflow-wrap: anywhere; }
.cp-chips[b-emofuyvm7b] { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .55rem; }
.cp-chip[b-emofuyvm7b] {
    display: inline-flex; align-items: center; gap: .3rem; padding: .18rem .6rem; border-radius: 99px;
    font-size: .74rem; font-weight: 600; background: var(--bs-tertiary-bg); color: var(--bs-secondary-color);
}
.cp-chip.ok[b-emofuyvm7b] { background: color-mix(in srgb, var(--c-success) 14%, transparent); color: var(--c-success); }
.cp-chip.ok .bi-circle-fill[b-emofuyvm7b] { font-size: .45rem; }
.cp-chip.warn[b-emofuyvm7b] { background: var(--c-warning-bg); color: var(--c-warning); }
.cp-chip.muted[b-emofuyvm7b] { opacity: .85; }
.cp-goal[b-emofuyvm7b] { display: flex; gap: .45rem; font-size: .88rem; margin-bottom: .45rem; max-width: 70ch; }
.cp-goal .bi[b-emofuyvm7b] { color: var(--c-primary); margin-top: .1rem; }
.cp-contact[b-emofuyvm7b] { display: flex; flex-wrap: wrap; gap: .35rem 1rem; font-size: .84rem; }
.cp-contact a[b-emofuyvm7b] { display: inline-flex; align-items: center; gap: .35rem; color: var(--bs-secondary-color); text-decoration: none; overflow-wrap: anywhere; }
.cp-contact a:hover[b-emofuyvm7b] { color: var(--c-primary); }
.cp-actions[b-emofuyvm7b] { display: flex; flex-direction: column; gap: .45rem; min-width: 150px; }
.cp-dot[b-emofuyvm7b] {
    position: absolute; top: -7px; right: -7px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px;
    background: var(--c-danger); color: #fff; font-size: .68rem; font-weight: 700; display: grid; place-items: center;
}

.cp-kpis .ad-kpi[b-emofuyvm7b] { width: 100%; text-align: left; font: inherit; cursor: pointer; min-width: 0; }
.cp-kpi-date[b-emofuyvm7b] { font-size: 1.25rem; text-transform: capitalize; }

.cp-tabs[b-emofuyvm7b] {
    display: flex; gap: .35rem; overflow-x: auto; scrollbar-width: none; margin: 0 0 1rem; padding: .3rem;
    border-radius: 14px; background: var(--bs-tertiary-bg);
}
.cp-tabs[b-emofuyvm7b]::-webkit-scrollbar { display: none; }
.cp-tab[b-emofuyvm7b] {
    flex-shrink: 0; display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .85rem; border: 0; border-radius: 10px;
    background: transparent; color: var(--bs-secondary-color); font-size: .86rem; font-weight: 600; white-space: nowrap;
    transition: background .15s, color .15s;
}
.cp-tab:hover[b-emofuyvm7b] { color: var(--bs-body-color); }
.cp-tab.active[b-emofuyvm7b] { background: var(--bs-body-bg); color: var(--c-primary); box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.cp-tab:focus-visible[b-emofuyvm7b] { outline: 2px solid var(--c-primary); outline-offset: 1px; }
.cp-tab-count[b-emofuyvm7b] {
    min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; font-size: .68rem; display: grid; place-items: center;
    background: var(--c-primary); color: #fff;
}

.cp-grid[b-emofuyvm7b] { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1rem; align-items: start; }
.cp-col[b-emofuyvm7b] { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.cp-card[b-emofuyvm7b] { padding: 1.1rem 1.2rem; border-radius: 16px; border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); min-width: 0; }
.cp-col > .cp-card[b-emofuyvm7b], .cp-grid + .cp-card[b-emofuyvm7b] { margin: 0; }
.cp-card + .cp-card[b-emofuyvm7b] { margin-top: 1rem; }
.cp-col > .cp-card + .cp-card[b-emofuyvm7b] { margin-top: 0; }
.cp-card-title[b-emofuyvm7b] { display: flex; align-items: center; gap: .5rem; font-weight: 700; margin-bottom: .85rem; }
.cp-card-title > .bi[b-emofuyvm7b] { color: var(--c-primary); }
.cp-card-head[b-emofuyvm7b] { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .85rem; flex-wrap: wrap; }

.cp-allgood[b-emofuyvm7b] { display: flex; align-items: center; gap: .6rem; padding: .75rem .9rem; border-radius: 12px; font-size: .88rem;
    background: color-mix(in srgb, var(--c-success) 10%, transparent); }
.cp-allgood .bi[b-emofuyvm7b] { font-size: 1.3rem; color: var(--c-success); }
.cp-att-list[b-emofuyvm7b] { display: flex; flex-direction: column; margin: 0 -.35rem; }
.cp-att[b-emofuyvm7b] {
    display: flex; align-items: center; gap: .65rem; width: 100%; padding: .65rem .75rem; margin: 0; text-align: left;
    border: 0; border-left: 3px solid transparent; border-radius: 10px; background: transparent; color: inherit; text-decoration: none; font-size: .87rem;
}
.cp-att:hover[b-emofuyvm7b] { background: var(--bs-tertiary-bg); color: inherit; }
.cp-att > .bi:first-child[b-emofuyvm7b] { font-size: 1.05rem; flex-shrink: 0; }
.cp-att > span[b-emofuyvm7b] { flex: 1; min-width: 0; }
.cp-att.danger[b-emofuyvm7b] { border-left-color: var(--c-danger); } .cp-att.danger > .bi:first-child[b-emofuyvm7b] { color: var(--c-danger); }
.cp-att.warn[b-emofuyvm7b] { border-left-color: var(--c-warning); } .cp-att.warn > .bi:first-child[b-emofuyvm7b] { color: var(--c-warning); }
.cp-att.info[b-emofuyvm7b] { border-left-color: var(--c-info); } .cp-att.info > .bi:first-child[b-emofuyvm7b] { color: var(--c-info); }
.cp-go[b-emofuyvm7b] { opacity: .4; font-size: .75rem; flex-shrink: 0; margin-left: auto; }

.cp-feed[b-emofuyvm7b] { list-style: none; margin: 0; padding: 0; position: relative; }
.cp-feed[b-emofuyvm7b]::before { content: ""; position: absolute; left: 15px; top: 8px; bottom: 8px; width: 2px; background: var(--bs-border-color); }
.cp-feed li[b-emofuyvm7b] { position: relative; display: flex; gap: .7rem; align-items: flex-start; padding: .45rem 0; }
.cp-feed-ic[b-emofuyvm7b] {
    position: relative; width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0; display: grid; place-items: center; font-size: .9rem;
    background: var(--bs-body-bg); border: 2px solid var(--bs-border-color); color: var(--bs-secondary-color);
}
.cp-feed-ic.ok[b-emofuyvm7b] { border-color: var(--c-success); color: var(--c-success); }
.cp-feed-ic.danger[b-emofuyvm7b] { border-color: var(--c-danger); color: var(--c-danger); }
.cp-feed-ic.warn[b-emofuyvm7b] { border-color: var(--c-warning); color: var(--c-warning); }
.cp-feed-ic.info[b-emofuyvm7b] { border-color: var(--c-info); color: var(--c-info); }
.cp-feed-ic.violet[b-emofuyvm7b] { border-color: #7c3aed; color: #7c3aed; }
.cp-feed-body[b-emofuyvm7b] { flex: 1; min-width: 0; padding-top: .2rem; }
.cp-feed-title[b-emofuyvm7b] { display: block; padding: 0; border: 0; background: none; color: inherit; font-weight: 600; font-size: .88rem; text-align: left; }
button.cp-feed-title:hover[b-emofuyvm7b] { color: var(--c-primary); }
.cp-feed-body small[b-emofuyvm7b] { display: block; color: var(--bs-secondary-color); font-size: .78rem; overflow-wrap: anywhere; }
.cp-feed.has-more[b-emofuyvm7b]::before { bottom: 0; background: linear-gradient(var(--bs-border-color) 70%, transparent); }
.cp-feed.has-more li:last-child[b-emofuyvm7b] { -webkit-mask: linear-gradient(#000 40%, rgba(0,0,0,.35)); mask: linear-gradient(#000 40%, rgba(0,0,0,.35)); }
.cp-feed-more[b-emofuyvm7b] {
    display: flex; align-items: center; gap: .7rem; width: 100%; margin-top: .25rem; padding: .35rem 0; border: 0; background: none;
    color: var(--c-primary); font-weight: 600; font-size: .86rem; text-align: left;
}
.cp-feed-more-ic[b-emofuyvm7b] {
    width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0; display: grid; place-items: center;
    background: var(--c-primary); color: #fff; box-shadow: 0 4px 12px -4px var(--c-primary);
    animation: cp-nudge-b-emofuyvm7b 1.8s ease-in-out infinite;
}
.cp-feed-more:hover .cp-feed-more-ic[b-emofuyvm7b] { animation: none; transform: translateY(2px); }
.cp-feed-more b[b-emofuyvm7b] { font-weight: 600; opacity: .7; }
@keyframes cp-nudge-b-emofuyvm7b { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(3px); } }
.cp-feed time[b-emofuyvm7b] { font-size: .74rem; color: var(--bs-secondary-color); white-space: nowrap; padding-top: .3rem; }

.cp-srow[b-emofuyvm7b] { display: flex; align-items: center; gap: .75rem; padding: .6rem 0; border-bottom: 1px solid var(--bs-border-color); }
.cp-srow:last-of-type[b-emofuyvm7b] { border-bottom: 0; }
.cp-sdate[b-emofuyvm7b] {
    width: 46px; flex-shrink: 0; text-align: center; padding: .3rem 0; border-radius: 10px;
    background: var(--c-primary-light); color: var(--c-primary); line-height: 1.05;
}
.cp-sdate b[b-emofuyvm7b] { display: block; font-size: 1.05rem; }
.cp-sdate small[b-emofuyvm7b] { font-size: .66rem; text-transform: uppercase; letter-spacing: .04em; }
.cp-sdate.past[b-emofuyvm7b] { background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); }
.cp-sbody[b-emofuyvm7b] { flex: 1; min-width: 0; }
.cp-stitle[b-emofuyvm7b] { font-weight: 600; font-size: .9rem; }
.cp-sbody small[b-emofuyvm7b] { display: block; color: var(--bs-secondary-color); font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-sstatus[b-emofuyvm7b] { display: flex; flex-direction: column; align-items: flex-end; gap: .2rem; flex-shrink: 0; }

.cp-note-new[b-emofuyvm7b] { display: flex; flex-direction: column; gap: .4rem; margin-bottom: .75rem; }
.cp-note-new .btn[b-emofuyvm7b] { align-self: flex-end; }
.cp-note[b-emofuyvm7b] { padding: .6rem .75rem; border-radius: 10px; background: var(--bs-tertiary-bg); margin-bottom: .5rem; }
.cp-note-meta[b-emofuyvm7b] { display: flex; justify-content: space-between; gap: .5rem; font-size: .74rem; color: var(--bs-secondary-color); margin-bottom: .2rem; }
.cp-note-text[b-emofuyvm7b] { font-size: .86rem; white-space: pre-wrap; overflow-wrap: anywhere; }

.cp-facts[b-emofuyvm7b] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.cp-facts > div[b-emofuyvm7b] { display: flex; flex-direction: column; gap: .1rem; padding: .8rem .95rem; border-radius: 14px; border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); min-width: 0; }
.cp-facts small[b-emofuyvm7b] { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--bs-secondary-color); }
.cp-facts b[b-emofuyvm7b] { font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.cp-facts span[b-emofuyvm7b] { font-size: .75rem; color: var(--bs-secondary-color); }

.cp-weeks[b-emofuyvm7b] { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: .35rem; height: 150px; align-items: end; }
.cp-week[b-emofuyvm7b] { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: .25rem; min-width: 0; }
.cp-week-n[b-emofuyvm7b] { font-size: .72rem; font-weight: 700; font-variant-numeric: tabular-nums; min-height: 1em; }
.cp-week-bar[b-emofuyvm7b] { width: 100%; max-width: 30px; border-radius: 6px 6px 3px 3px; background: linear-gradient(180deg, var(--c-primary), color-mix(in srgb, var(--c-primary) 65%, transparent)); flex-shrink: 0; }
.cp-week-bar.zero[b-emofuyvm7b] { background: var(--bs-border-color); }
.cp-week-lab[b-emofuyvm7b] { font-size: .62rem; color: var(--bs-secondary-color); white-space: nowrap; }

.cp-plan[b-emofuyvm7b] { display: flex; align-items: center; gap: .7rem; padding: .6rem .5rem; margin: 0 -.5rem; border-radius: 10px; color: inherit; text-decoration: none; }
.cp-plan:hover[b-emofuyvm7b] { background: var(--bs-tertiary-bg); color: inherit; }
.cp-plan small[b-emofuyvm7b] { color: var(--bs-secondary-color); font-size: .76rem; }
.cp-plan-ic[b-emofuyvm7b] { width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0; display: grid; place-items: center; background: color-mix(in srgb, #7c3aed 14%, transparent); color: #7c3aed; }
.cp-pr[b-emofuyvm7b] { display: flex; justify-content: space-between; gap: .75rem; padding: .45rem 0; border-bottom: 1px dashed var(--bs-border-color); font-size: .86rem; }
.cp-pr:last-child[b-emofuyvm7b] { border-bottom: 0; }
.cp-pr b[b-emofuyvm7b] { white-space: nowrap; font-variant-numeric: tabular-nums; }
.cp-pr small[b-emofuyvm7b] { color: var(--bs-secondary-color); font-weight: 500; }
.cp-insight[b-emofuyvm7b] { display: flex; gap: .5rem; font-size: .84rem; padding: .35rem 0; }
.cp-insight.danger .bi[b-emofuyvm7b] { color: var(--c-danger); } .cp-insight.warning .bi[b-emofuyvm7b] { color: var(--c-warning); }
.cp-insight.positive .bi[b-emofuyvm7b] { color: var(--c-success); } .cp-insight.info .bi[b-emofuyvm7b] { color: var(--c-info); }

.cp-pkg[b-emofuyvm7b] { padding: .85rem 1rem; border-radius: 12px; border: 1px solid var(--bs-border-color); margin-bottom: .6rem; }
.cp-pkg.inactive[b-emofuyvm7b] { opacity: .7; }
.cp-dl[b-emofuyvm7b] { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .45rem 1rem; margin: 0; font-size: .87rem; }
.cp-dl dt[b-emofuyvm7b] { color: var(--bs-secondary-color); font-weight: 500; }
.cp-dl dd[b-emofuyvm7b] { margin: 0; overflow-wrap: anywhere; }
.cp-switch[b-emofuyvm7b] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-bottom: 1px solid var(--bs-border-color); }
.cp-switch:last-child[b-emofuyvm7b] { border-bottom: 0; }
.cp-switch b[b-emofuyvm7b] { display: block; font-size: .88rem; }
.cp-switch small[b-emofuyvm7b] { display: block; color: var(--bs-secondary-color); font-size: .77rem; }

@media (max-width: 991.98px) {
    .cp-grid[b-emofuyvm7b] { grid-template-columns: minmax(0, 1fr); }
    /* Na telefonie: najpierw to, co pilne i najbliższe, potem historia i notatki. */
    .cp-overview .cp-col[b-emofuyvm7b] { display: contents; }
    .cp-overview .cp-o1[b-emofuyvm7b] { order: 1; } .cp-overview .cp-o2[b-emofuyvm7b] { order: 2; }
    .cp-overview .cp-o3[b-emofuyvm7b] { order: 3; } .cp-overview .cp-o4[b-emofuyvm7b] { order: 4; }
    .cp-facts[b-emofuyvm7b] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cp-hero[b-emofuyvm7b] { grid-template-columns: auto minmax(0, 1fr); }
    .cp-actions[b-emofuyvm7b] { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; min-width: 0; }
    .cp-actions > *[b-emofuyvm7b] { flex: 1 1 auto; }
}
@media (max-width: 575.98px) {
    .cp-hero[b-emofuyvm7b] { padding: 1rem; gap: .8rem; }
    .cp-avatar[b-emofuyvm7b] { width: 56px; height: 56px; font-size: 1.1rem; }
    .cp-card[b-emofuyvm7b] { padding: 1rem; }
    .cp-weeks[b-emofuyvm7b] { height: 120px; gap: .2rem; }
    .cp-week-lab[b-emofuyvm7b] { font-size: .55rem; }
    .cp-week:nth-child(odd) .cp-week-lab[b-emofuyvm7b] { visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) { .cp-tab[b-emofuyvm7b] { transition: none; } .cp-feed-more-ic[b-emofuyvm7b] { animation: none; } }

/* Podgląd „Twój miesiąc” dla trenera */
.cp-recap-preview[b-emofuyvm7b] { padding: .8rem 1.1rem; border-radius: 16px; border: 1px dashed var(--bs-border-color); background: var(--bs-body-bg); margin-bottom: 1rem; }
.cp-recap-preview summary[b-emofuyvm7b] { cursor: pointer; font-weight: 600; font-size: .9rem; color: var(--c-primary); }
/* /Components/Pages/Public/Book.razor.rz.scp.css */
/* Public booking page — clean, mobile-first landing for new clients */

.book-page[b-zfql6b40z4] {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding: 0.5rem;
}

.book-card[b-zfql6b40z4] {
    background: var(--c-surface, #fff);
    border-radius: 16px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06), 0 2px 6px rgba(0, 0, 0, 0.04);
    padding: 2rem 1.75rem;
    margin-bottom: 1rem;
    animation: fadeUp-b-zfql6b40z4 .35s ease-out;
}

@keyframes fadeUp-b-zfql6b40z4 {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}

.book-icon-soft[b-zfql6b40z4] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin: 0 auto 1.25rem;
    background: var(--c-primary-light, #e0f2fe);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.25rem;
}

    .book-icon-soft.success[b-zfql6b40z4] {
        background: #dcfce7;
    }

.book-h[b-zfql6b40z4] {
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    margin: 0 0 0.5rem;
    color: var(--c-text, #111827);
}

.book-lead[b-zfql6b40z4] {
    color: var(--c-text-muted, #6b7280);
    text-align: center;
    margin: 0 0 1.5rem;
    line-height: 1.55;
}

.book-back[b-zfql6b40z4] {
    background: transparent;
    border: none;
    color: var(--c-text-muted, #6b7280);
    font-size: 0.85rem;
    padding: 0;
    margin-bottom: 0.75rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

    .book-back:hover[b-zfql6b40z4] {
        color: var(--c-primary, #0284c7);
    }

/* Offer tiles */
.offer-grid[b-zfql6b40z4] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.offer-tile[b-zfql6b40z4] {
    background: var(--c-surface-2, #f9fafb);
    border-radius: 12px;
    padding: 0.9rem 1rem;
    text-align: center;
}

.offer-label[b-zfql6b40z4] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--c-text-muted, #6b7280);
    margin-bottom: 0.25rem;
}

.offer-value[b-zfql6b40z4] {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--c-text, #111827);
}

.offer-unit[b-zfql6b40z4] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--c-text-muted, #6b7280);
}

.offer-old[b-zfql6b40z4] {
    text-decoration: line-through;
    color: var(--c-text-muted, #9ca3af);
    font-size: 1rem;
    font-weight: 400;
    margin-right: 0.4rem;
}

.offer-desc[b-zfql6b40z4] {
    background: var(--c-primary-light, #f0f9ff);
    border-radius: 10px;
    padding: 0.85rem 1rem;
    color: var(--c-text, #111827);
    font-size: 0.92rem;
    line-height: 1.55;
    margin-bottom: 1.25rem;
    white-space: pre-wrap;
}

/* Buttons */
.book-btn[b-zfql6b40z4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.85rem 1.5rem;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 500;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: background-color .15s, transform .1s, opacity .15s;
}

    .book-btn:active[b-zfql6b40z4] {
        transform: scale(0.98);
    }

    .book-btn:disabled[b-zfql6b40z4] {
        opacity: 0.6;
        cursor: not-allowed;
    }

.book-btn-primary[b-zfql6b40z4] {
    background: var(--c-primary, #0284c7);
    color: var(--c-primary-text, #fff);
}

    .book-btn-primary:hover:not(:disabled)[b-zfql6b40z4] {
        background: var(--c-primary-hover, #0369a1);
        color: var(--c-primary-text, #fff);
    }

.book-btn-ghost[b-zfql6b40z4] {
    background: transparent;
    color: var(--c-text-muted, #6b7280);
    border: 1px solid var(--c-border, #e5e7eb);
}

    .book-btn-ghost:hover[b-zfql6b40z4] {
        background: var(--c-surface-2, #f9fafb);
        color: var(--c-text, #111827);
    }

/* Slot picker */
.day-list[b-zfql6b40z4] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.day-block[b-zfql6b40z4] {
    background: var(--c-surface-2, #f9fafb);
    border-radius: 10px;
    padding: 0.85rem 0.95rem;
}

.day-header[b-zfql6b40z4] {
    font-weight: 600;
    color: var(--c-text, #111827);
    margin-bottom: 0.6rem;
    font-size: 0.92rem;
}

.slot-grid[b-zfql6b40z4] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
    gap: 0.4rem;
}

.slot-btn[b-zfql6b40z4] {
    background: var(--c-surface, #fff);
    border: 1px solid var(--c-border, #e5e7eb);
    color: var(--c-text, #111827);
    padding: 0.55rem 0.5rem;
    border-radius: 8px;
    font-size: 0.88rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color .12s, border-color .12s, color .12s, transform .1s;
}

    .slot-btn:hover:not(.slot-selected)[b-zfql6b40z4] {
        background: var(--c-primary-light, #e0f2fe);
        border-color: var(--c-primary, #0284c7);
        color: var(--c-primary, #0284c7);
    }

    .slot-btn:active[b-zfql6b40z4] {
        transform: scale(0.96);
    }

.slot-selected[b-zfql6b40z4] {
    background: var(--c-primary, #0284c7);
    border-color: var(--c-primary, #0284c7);
    color: var(--c-primary-text, #fff);
}

/* Form */
.form-stack[b-zfql6b40z4] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.form-row[b-zfql6b40z4] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.form-field label[b-zfql6b40z4] {
    display: block;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--c-text, #374151);
    margin-bottom: 0.35rem;
}

.form-hint[b-zfql6b40z4] {
    font-size: 0.75rem;
    color: var(--c-text-muted, #9ca3af);
    margin-top: 0.25rem;
}

.form-field .form-control[b-zfql6b40z4] {
    padding: 0.6rem 0.85rem;
    font-size: 0.95rem;
    border-radius: 8px;
}

.form-check[b-zfql6b40z4] {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    cursor: pointer;
}

.form-check-label[b-zfql6b40z4] {
    font-size: 0.88rem;
    color: var(--c-text, #374151);
    line-height: 1.4;
}

.form-check-input[b-zfql6b40z4] {
    margin-top: 0.2rem;
    flex-shrink: 0;
}

/* Confirmation */
.confirm-box[b-zfql6b40z4] {
    background: var(--c-surface-2, #f9fafb);
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin: 1.25rem 0;
    text-align: left;
}

.confirm-row[b-zfql6b40z4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 0;
}

    .confirm-row:not(:last-child)[b-zfql6b40z4] {
        border-bottom: 1px solid var(--c-border, #f3f4f6);
    }

    .confirm-row span[b-zfql6b40z4] {
        color: var(--c-text-muted, #6b7280);
        font-size: 0.9rem;
    }

    .confirm-row strong[b-zfql6b40z4] {
        color: var(--c-text, #111827);
    }

/* ---- Dark mode ---- */
:global([data-theme$="-dark"]) .book-card[b-zfql6b40z4] {
    background: var(--bs-body-bg, #1e1e1e);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25), 0 2px 6px rgba(0, 0, 0, 0.15);
}
:global([data-theme$="-dark"]) .book-icon-soft.success[b-zfql6b40z4] {
    background: rgba(34, 197, 94, .15);
}
:global([data-theme$="-dark"]) .offer-tile[b-zfql6b40z4] {
    background: var(--bs-secondary-bg, #2a2a2a);
}
:global([data-theme$="-dark"]) .offer-desc[b-zfql6b40z4] {
    background: rgba(2, 132, 199, .1);
}
:global([data-theme$="-dark"]) .day-block[b-zfql6b40z4] {
    background: var(--bs-secondary-bg, #2a2a2a);
}
:global([data-theme$="-dark"]) .slot-btn[b-zfql6b40z4] {
    background: var(--bs-body-bg, #1e1e1e);
    border-color: var(--bs-border-color, #3d3d3d);
    color: var(--bs-body-color, #e5e7eb);
}
:global([data-theme$="-dark"]) .slot-btn:hover:not(.slot-selected)[b-zfql6b40z4] {
    background: rgba(2, 132, 199, .15);
}
:global([data-theme$="-dark"]) .confirm-box[b-zfql6b40z4] {
    background: var(--bs-secondary-bg, #2a2a2a);
}
:global([data-theme$="-dark"]) .confirm-row:not(:last-child)[b-zfql6b40z4] {
    border-bottom-color: var(--bs-border-color, #3d3d3d);
}
:global([data-theme$="-dark"]) .book-btn-ghost[b-zfql6b40z4] {
    border-color: var(--bs-border-color, #3d3d3d);
    color: var(--bs-body-color, #e5e7eb);
}
:global([data-theme$="-dark"]) .book-btn-ghost:hover[b-zfql6b40z4] {
    background: var(--bs-secondary-bg, #2a2a2a);
}

/* Mobile breakpoint */
@media (max-width: 480px) {
    .book-card[b-zfql6b40z4] {
        padding: 1.5rem 1.25rem;
        border-radius: 12px;
    }

    .book-h[b-zfql6b40z4] {
        font-size: 1.3rem;
    }

    .offer-value[b-zfql6b40z4] {
        font-size: 1.2rem;
    }

    .form-row[b-zfql6b40z4] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Shared/AssistantTodayCard.razor.rz.scp.css */
.atc[b-uwaa1x0r1v] { border: 1px solid var(--bs-border-color); border-radius: 1rem; padding: .9rem 1.1rem; margin-bottom: 1rem;
    background: linear-gradient(120deg, var(--c-primary-light), var(--bs-body-bg) 55%); }
.atc-head[b-uwaa1x0r1v] { display: flex; align-items: center; gap: .8rem; }
.atc-mascot[b-uwaa1x0r1v] { width: 56px; height: 56px; flex-shrink: 0; display: grid; place-items: center; }
.atc-mascot[b-uwaa1x0r1v]  .hm-live { width: 56px; height: 56px; }
.atc-title[b-uwaa1x0r1v] { font-weight: 800; font-size: 1rem; }
.atc-sub[b-uwaa1x0r1v] { font-size: .8rem; color: var(--bs-secondary-color); }
.atc-list[b-uwaa1x0r1v] { list-style: none; margin: .8rem 0 0; padding: .7rem 0 0; border-top: 1px dashed var(--bs-border-color); display: flex; flex-direction: column; gap: .45rem; }
.atc-item[b-uwaa1x0r1v] { display: flex; align-items: center; gap: .6rem; font-size: .88rem; }
.atc-item > .bi[b-uwaa1x0r1v] { flex-shrink: 0; font-size: .95rem; }
.atc-item.mood-remind > .bi[b-uwaa1x0r1v] { color: var(--c-danger, #DC2626); }
.atc-item.mood-celebrate > .bi[b-uwaa1x0r1v] { color: #F59E0B; }
.atc-item.mood-think > .bi[b-uwaa1x0r1v] { color: var(--c-warning, #D97706); }
.atc-item.mood-happy > .bi[b-uwaa1x0r1v], .atc-item.mood-hello > .bi[b-uwaa1x0r1v] { color: var(--c-success, #16A34A); }
.atc-text[b-uwaa1x0r1v] { flex: 1; min-width: 0; }
.atc-act[b-uwaa1x0r1v] { flex-shrink: 0; white-space: nowrap; }
.atc-more[b-uwaa1x0r1v] { margin-top: .3rem; }
.atc.is-folded[b-uwaa1x0r1v] { padding: .55rem 1rem; }
.atc.is-folded .atc-mascot[b-uwaa1x0r1v], .atc.is-folded .atc-mascot[b-uwaa1x0r1v]  .hm-live { width: 36px; height: 36px; }
@media (max-width: 575.98px) { .atc-item[b-uwaa1x0r1v] { flex-wrap: wrap; } .atc-act[b-uwaa1x0r1v] { margin-left: 1.55rem; } }
/* /Components/Shared/ClientRecapCard.razor.rz.scp.css */
.rcp-card[b-scg3csbi8w] { border-radius: 1.25rem; overflow: hidden; margin-bottom: 1rem; background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color); box-shadow: 0 10px 30px -18px rgba(15, 23, 42, .35); }
.rcp-hero[b-scg3csbi8w] { padding: 1.1rem 1.2rem .9rem; color: #fff;
    background: radial-gradient(120% 140% at 100% 0%, rgba(255,255,255,.22), transparent 55%), var(--c-primary); }
.rcp-kicker[b-scg3csbi8w] { font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .85; display: flex; gap: .4rem; align-items: center; }
.rcp-title[b-scg3csbi8w] { margin: .25rem 0 0; font-size: 1.45rem; font-weight: 800; color: #fff; text-transform: none; }
.rcp-text[b-scg3csbi8w] { margin: 0; padding: 1rem 1.2rem 0; font-size: .95rem; line-height: 1.55; }
.rcp-tiles[b-scg3csbi8w] { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: .5rem; padding: .9rem 1.2rem 0; }
.rcp-tile[b-scg3csbi8w] { background: var(--bs-tertiary-bg); border-radius: .9rem; padding: .7rem .5rem; text-align: center; display: flex; flex-direction: column; align-items: center; gap: .1rem; }
.rcp-tile .bi[b-scg3csbi8w] { color: var(--c-primary); font-size: 1rem; }
.rcp-tile b[b-scg3csbi8w] { font-size: 1.4rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.rcp-tile span[b-scg3csbi8w] { font-size: .72rem; color: var(--bs-secondary-color); }
.rcp-highlights[b-scg3csbi8w] { list-style: none; margin: 0; padding: .8rem 1.2rem 1.1rem; display: flex; flex-direction: column; gap: .35rem; font-size: .85rem; }
.rcp-highlights .bi[b-scg3csbi8w] { color: #F59E0B; margin-right: .45rem; font-size: .75rem; }
.rcp-card > :last-child:not(.rcp-highlights)[b-scg3csbi8w] { padding-bottom: 1.1rem; }
.rcp-hero[b-scg3csbi8w] { position: relative; }
.rcp-close[b-scg3csbi8w] { position: absolute; top: .65rem; right: .65rem; width: 32px; height: 32px; border-radius: 50%; border: 0; display: grid; place-items: center;
    background: rgba(255,255,255,.18); color: #fff; font-size: .85rem; transition: background .15s; }
.rcp-close:hover[b-scg3csbi8w], .rcp-close:focus-visible[b-scg3csbi8w] { background: rgba(255,255,255,.32); }
.rcp-close:focus-visible[b-scg3csbi8w] { outline: 2px solid #fff; outline-offset: 2px; }
.rcp-hero[b-scg3csbi8w] { padding-right: 3.2rem; }
/* /Components/Shared/ClientSnapshotCard.razor.rz.scp.css */
.cs-card[b-lj2035topm] { border: 1px solid var(--bs-border-color); border-radius: 1rem; padding: 1rem 1.1rem; margin-bottom: 1rem;
    background: linear-gradient(135deg, var(--c-primary-light), var(--bs-body-bg) 65%); }
.cs-head[b-lj2035topm] { display: flex; gap: .75rem; align-items: flex-start; }
.cs-head img[b-lj2035topm] { flex-shrink: 0; }
.cs-title[b-lj2035topm] { font-weight: 800; font-size: 1rem; display: flex; align-items: center; gap: .3rem; }
.cs-text[b-lj2035topm] { margin: .2rem 0 0; font-size: .93rem; line-height: 1.5; max-width: 75ch; }
.cs-points[b-lj2035topm] { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .8rem; }
.cs-point[b-lj2035topm] { display: inline-flex; align-items: baseline; gap: .35rem; font-size: .8rem; padding: .3rem .65rem; border-radius: 999px;
    background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); }
.cs-point .bi[b-lj2035topm] { font-size: .75rem; }
.cs-point.good .bi[b-lj2035topm] { color: var(--c-success, #16A34A); }
.cs-point.bad .bi[b-lj2035topm] { color: var(--c-danger, #DC2626); }
.cs-point.info .bi[b-lj2035topm] { color: var(--c-primary); }
.cs-advice[b-lj2035topm] { display: flex; gap: .5rem; align-items: baseline; margin-top: .75rem; padding: .6rem .8rem; border-radius: .75rem;
    background: var(--bs-body-bg); border: 1px dashed var(--c-primary); font-size: .87rem; font-weight: 600; }
.cs-advice .bi[b-lj2035topm] { color: var(--c-warning, #D97706); flex-shrink: 0; }
.cs-card.is-folded[b-lj2035topm] { padding: .6rem 1rem; }
.cs-card.is-folded .cs-head img[b-lj2035topm] { width: 28px; height: 28px; }
.cs-card.is-folded .cs-head > .flex-grow-1[b-lj2035topm] { min-width: 0; }
.cs-card.is-folded .cs-text[b-lj2035topm] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: none; font-size: .85rem; color: var(--bs-secondary-color); }
/* /Components/Shared/ErrorScreen.razor.rz.scp.css */
/* Reusable friendly error screen.
   Mirrors the /db-error endpoint visual language so all error pages feel
   like the same family — warm, calm, never alarming. */

.es-page[b-9tdis8bzw4] {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.es-card[b-9tdis8bzw4] {
    background: var(--bs-body-bg, #fff);
    max-width: 540px;
    width: 100%;
    border-radius: 16px;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.06), 0 2px 6px rgba(0, 0, 0, 0.04);
    padding: 2.5rem 2rem;
    text-align: center;
    animation: es-fadeUp-b-9tdis8bzw4 .35s ease-out;
}

@keyframes es-fadeUp-b-9tdis8bzw4 {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}

/* Badge — round, gradient, big emoji */
.es-badge[b-9tdis8bzw4] {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    margin: 0 auto 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.25rem;
}

    .es-badge.tone-warm[b-9tdis8bzw4] {
        background: linear-gradient(135deg, #fde68a 0%, #fbbf24 100%);
        box-shadow: 0 4px 14px rgba(251, 191, 36, 0.32);
    }

    .es-badge.tone-cold[b-9tdis8bzw4] {
        background: linear-gradient(135deg, #bae6fd 0%, #38bdf8 100%);
        box-shadow: 0 4px 14px rgba(56, 189, 248, 0.30);
    }

    .es-badge.tone-danger[b-9tdis8bzw4] {
        background: linear-gradient(135deg, #fecaca 0%, #f87171 100%);
        box-shadow: 0 4px 14px rgba(248, 113, 113, 0.30);
    }

    .es-badge.tone-neutral[b-9tdis8bzw4] {
        background: linear-gradient(135deg, #e2e8f0 0%, #94a3b8 100%);
        box-shadow: 0 4px 14px rgba(148, 163, 184, 0.30);
    }

.es-h[b-9tdis8bzw4] {
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0 0 0.75rem;
    color: var(--bs-body-color, #111827);
}

.es-lead[b-9tdis8bzw4] {
    color: var(--bs-secondary-color, #4b5563);
    font-size: 1rem;
    margin: 0 0 1.5rem;
    line-height: 1.55;
}

.es-body[b-9tdis8bzw4] {
    text-align: left;
    background: var(--bs-tertiary-bg, #f9fafb);
    border-radius: 12px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    color: var(--bs-secondary-color, #4b5563);
    font-size: 0.92rem;
}

    .es-body strong[b-9tdis8bzw4] {
        display: block;
        margin-bottom: 0.4rem;
        color: var(--bs-body-color, #374151);
        font-weight: 600;
    }

    .es-body ul[b-9tdis8bzw4] {
        margin: 0;
        padding-left: 1.2rem;
    }

    .es-body li[b-9tdis8bzw4] {
        margin: 0.3rem 0;
    }

    .es-body p[b-9tdis8bzw4] {
        margin: 0;
    }

/* Action buttons */
.es-actions[b-9tdis8bzw4] {
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

[b-9tdis8bzw4] .es-btn {
    background: var(--c-primary, #0284c7);
    color: var(--c-primary-text, #fff);
    border: none;
    padding: 0.7rem 1.5rem;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: background-color .15s, transform .1s;
}

    [b-9tdis8bzw4] .es-btn:hover {
        background: var(--c-primary-hover, #0369a1);
        color: var(--c-primary-text, #fff);
    }

    [b-9tdis8bzw4] .es-btn:active {
        transform: scale(0.97);
    }

    [b-9tdis8bzw4] .es-btn-ghost {
        background: transparent;
        color: var(--bs-secondary-color, #6b7280);
        border: 1px solid var(--bs-border-color, #e5e7eb);
    }

        [b-9tdis8bzw4] .es-btn-ghost:hover {
            background: var(--bs-tertiary-bg, #f9fafb);
            color: var(--bs-body-color, #111827);
        }

/* Admin section — collapsible, dim until expanded */
.es-admin[b-9tdis8bzw4] {
    margin-top: 1.75rem;
    padding-top: 1rem;
    border-top: 1px solid var(--bs-border-color, #f3f4f6);
}

    .es-admin summary[b-9tdis8bzw4] {
        cursor: pointer;
        color: var(--bs-secondary-color, #9ca3af);
        font-size: 0.8rem;
        user-select: none;
        list-style: none;
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        transition: color .15s;
    }

        .es-admin summary:hover[b-9tdis8bzw4] {
            color: var(--bs-body-color, #6b7280);
        }

        .es-admin summary[b-9tdis8bzw4]::-webkit-details-marker {
            display: none;
        }

        .es-admin summary[b-9tdis8bzw4]::before {
            content: '▸';
            transition: transform .15s;
            display: inline-block;
            font-size: 0.7rem;
        }

    .es-admin[open] summary[b-9tdis8bzw4]::before {
        transform: rotate(90deg);
    }

    .es-admin[open] summary[b-9tdis8bzw4] {
        color: var(--bs-body-color, #4b5563);
        margin-bottom: 1rem;
    }

.es-tech[b-9tdis8bzw4] {
    background: var(--bs-tertiary-bg, #f9fafb);
    border-radius: 10px;
    padding: 1rem;
    font-size: 0.82rem;
    text-align: left;
}

[b-9tdis8bzw4] .tech-row {
    margin-bottom: 0.85rem;
}

    [b-9tdis8bzw4] .tech-row:last-child {
        margin-bottom: 0;
    }

[b-9tdis8bzw4] .tech-label {
    color: var(--bs-secondary-color, #6b7280);
    font-weight: 500;
    margin-bottom: 0.2rem;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

[b-9tdis8bzw4] .tech-value {
    color: var(--bs-body-color, #111827);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    word-break: break-word;
}
