/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-89sipv5ett] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-89sipv5ett] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Pages/Groups/GroupDetail.razor.rz.scp.css */
.gd-crumbs[b-z3dx3lx3w2] {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    font-size: 0.95rem;
    color: var(--rh-text-muted);
}

.gd-crumbs a[b-z3dx3lx3w2] {
    color: var(--rh-primary);
    text-decoration: none;
}

.gd-crumbs a:hover[b-z3dx3lx3w2] { text-decoration: underline; text-underline-offset: 3px; }

.gd-head[b-z3dx3lx3w2] {
    margin-top: 16px;
}

.gd-head-main[b-z3dx3lx3w2] {
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: 0;
}

.gd-title[b-z3dx3lx3w2] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 16px;
}

.gd-admin[b-z3dx3lx3w2] {
    padding: 4px 12px;
    border-radius: 999px;
    background: var(--rh-warning-subtle);
    color: var(--rh-warning-text);
    font-family: var(--rh-font-sans);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0;
    white-space: nowrap;
}

.gd-admin-sm[b-z3dx3lx3w2] {
    margin-left: 6px;
    padding: 2px 9px;
    font-size: 0.74rem;
}

.gd-more[b-z3dx3lx3w2] {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rh-border-strong);
    border-radius: 10px;
    background: var(--rh-surface);
    color: var(--rh-text);
    cursor: pointer;
}

.gd-more:hover[b-z3dx3lx3w2] { border-color: var(--rh-primary); }
.gd-more:focus-visible[b-z3dx3lx3w2] { outline: 2px solid var(--rh-primary); outline-offset: 2px; }

/* ── Două coloane: cărți + panou lateral ── */
.gd-layout[b-z3dx3lx3w2] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 40px;
    align-items: start;
}

.gd-books-head[b-z3dx3lx3w2] {
    display: flex;
    align-items: center;
    gap: 12px 16px;
    flex-wrap: wrap;
}

.gd-section-title[b-z3dx3lx3w2],
.gd-card-title[b-z3dx3lx3w2] {
    margin: 0;
    font-family: var(--rh-font-display);
    font-weight: 800;
    line-height: 1.2;
}

.gd-section-title[b-z3dx3lx3w2] {
    margin-right: auto;
    font-size: 1.9rem;
}

.gd-search[b-z3dx3lx3w2] {
    flex: 0 1 300px;
}

.gd-pill[b-z3dx3lx3w2] {
    height: 44px;
}

.gd-divider[b-z3dx3lx3w2] {
    margin: 20px 0 28px;
}

.gd-side[b-z3dx3lx3w2] {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* ── Codul de invitație ── */
.gd-invite[b-z3dx3lx3w2] {
    padding: 22px 24px;
    border-radius: 18px;
    background: #0F4A45;
    color: #F6F2EA;
}

.gd-invite-label[b-z3dx3lx3w2] {
    font-size: 0.95rem;
    opacity: 0.85;
}

.gd-invite-row[b-z3dx3lx3w2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 10px 0 12px;
}

.gd-invite-code[b-z3dx3lx3w2] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 1.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    background: none;
    color: inherit;
    user-select: all;
}

.gd-invite-copy[b-z3dx3lx3w2] {
    height: 42px;
    padding: 0 16px;
    border: none;
    border-radius: 10px;
    background: #F6F2EA;
    color: #0F4A45;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.gd-invite-copy:hover[b-z3dx3lx3w2] { background: #fff; }
.gd-invite-copy:focus-visible[b-z3dx3lx3w2] { outline: 2px solid #E6B84A; outline-offset: 2px; }

.gd-invite-text[b-z3dx3lx3w2] {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.5;
    opacity: 0.85;
}

.gd-invite-renew[b-z3dx3lx3w2] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 14px;
    padding: 6px 0;
    border: none;
    background: none;
    color: inherit;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(246, 242, 234, 0.45);
    text-underline-offset: 4px;
    cursor: pointer;
}

.gd-invite-renew:hover[b-z3dx3lx3w2] { text-decoration-color: currentColor; }
.gd-invite-renew:focus-visible[b-z3dx3lx3w2] { outline: 2px solid #E6B84A; outline-offset: 2px; border-radius: 4px; }
.gd-invite-renew:disabled[b-z3dx3lx3w2] { opacity: 0.6; cursor: default; }

/* ── Carduri laterale ── */
.gd-card[b-z3dx3lx3w2] {
    padding: 24px;
    border: 1px solid var(--rh-border);
    border-radius: 18px;
    background: var(--rh-surface);
}

.gd-card-head[b-z3dx3lx3w2] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.gd-card-title[b-z3dx3lx3w2] {
    font-size: 1.45rem;
}

.gd-card-meta[b-z3dx3lx3w2] {
    font-size: 0.85rem;
    color: var(--rh-text-muted);
}

.gd-members[b-z3dx3lx3w2],
.gd-activity[b-z3dx3lx3w2] {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
}

.gd-member[b-z3dx3lx3w2] {
    border-bottom: 1px solid var(--rh-border);
}

.gd-member:last-child[b-z3dx3lx3w2] { border-bottom: none; }

/* Tot rândul deschide profilul; iese puțin în lateral ca fundalul de hover să respire */
.gd-member-row[b-z3dx3lx3w2] {
    width: calc(100% + 16px);
    margin: 0 -8px;
    padding: 10px 6px 10px 8px;
}

.gd-member-text[b-z3dx3lx3w2] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.gd-member-name[b-z3dx3lx3w2] {
    font-weight: 600;
    color: var(--rh-text);
    overflow-wrap: anywhere;
}

.gd-member-meta[b-z3dx3lx3w2] {
    font-size: 0.85rem;
    color: var(--rh-text-muted);
}

.gd-member-count[b-z3dx3lx3w2] {
    flex-shrink: 0;
    min-width: 24px;
    text-align: right;
    color: var(--rh-text-muted);
}

.gd-activity li[b-z3dx3lx3w2] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 14px 0;
    border-bottom: 1px solid var(--rh-border);
}

.gd-act-text[b-z3dx3lx3w2] {
    font-size: 0.98rem;
    line-height: 1.45;
    color: var(--rh-text);
}

.gd-act-text[b-z3dx3lx3w2]  .rh-person-inline { color: var(--rh-text); }

.gd-act-time[b-z3dx3lx3w2] {
    font-size: 0.82rem;
    color: var(--rh-text-muted);
}

.gd-empty[b-z3dx3lx3w2] {
    margin: 12px 0 0;
    color: var(--rh-text-muted);
}

.gd-link[b-z3dx3lx3w2] {
    margin-top: 14px;
    padding: 4px 0;
    border: none;
    background: none;
    font: inherit;
    font-weight: 600;
    color: var(--rh-primary);
    cursor: pointer;
}

.gd-link:hover[b-z3dx3lx3w2] { text-decoration: underline; text-underline-offset: 3px; }

/* ── Responsive ── */
@media (max-width: 1099.98px) {
    .gd-layout[b-z3dx3lx3w2] { grid-template-columns: 1fr; }
    .gd-side[b-z3dx3lx3w2] {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        order: -1;
    }
}

@media (max-width: 599.98px) {
    .gd-head-main[b-z3dx3lx3w2] { gap: 16px; }
    .gd-head-main[b-z3dx3lx3w2]  .it-root { --it-size: 60px !important; }
    .gd-search[b-z3dx3lx3w2] { flex-basis: 100%; }
    .gd-section-title[b-z3dx3lx3w2] { font-size: 1.6rem; }
    .gd-invite-code[b-z3dx3lx3w2] { font-size: 1.35rem; }
}
/* /Components/Pages/Groups/MyGroups.razor.rz.scp.css */
.cm-grid[b-aj7iug7ayt] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr));
    gap: 24px;
}

.cm-card[b-aj7iug7ayt] {
    display: flex;
    flex-direction: column;
    padding: 28px;
    border: 1px solid var(--rh-border);
    border-radius: 20px;
    background: var(--rh-surface);
}

.cm-card-head[b-aj7iug7ayt] {
    display: flex;
    align-items: center;
    gap: 18px;
}

.cm-card-title[b-aj7iug7ayt] {
    min-width: 0;
}

.cm-card-name[b-aj7iug7ayt] {
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 12px;
    font-family: var(--rh-font-display);
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1.15;
}

.cm-card-name a[b-aj7iug7ayt] {
    color: var(--rh-text);
    text-decoration: none;
}

.cm-card-name a:hover[b-aj7iug7ayt] { text-decoration: underline; text-underline-offset: 4px; }
.cm-card-name a:focus-visible[b-aj7iug7ayt] { outline: 2px solid var(--rh-primary); outline-offset: 3px; border-radius: 4px; }

.cm-admin[b-aj7iug7ayt] {
    padding: 3px 12px;
    border-radius: 999px;
    background: var(--rh-warning-subtle);
    color: var(--rh-warning-text);
    font-family: var(--rh-font-sans);
    font-size: 0.8rem;
    font-weight: 600;
}

.cm-card-stats[b-aj7iug7ayt] {
    margin-top: 4px;
    font-size: 0.95rem;
    color: var(--rh-text-muted);
}

.cm-card-activity[b-aj7iug7ayt] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--rh-border);
}

.cm-avatars[b-aj7iug7ayt] {
    display: flex;
    flex-shrink: 0;
}

.cm-avatars[b-aj7iug7ayt]  .cm-avatar,
.cm-avatar-more[b-aj7iug7ayt] {
    margin-left: -8px;
    box-shadow: 0 0 0 3px var(--rh-surface);
}

.cm-avatars[b-aj7iug7ayt]  .cm-avatar:first-child {
    margin-left: 0;
}

.cm-avatar-more[b-aj7iug7ayt] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rh-surface-sunken);
    color: var(--rh-text-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.cm-last[b-aj7iug7ayt] {
    margin: 0;
    min-width: 0;
    font-size: 0.92rem;
    line-height: 1.45;
    color: var(--rh-text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cm-last[b-aj7iug7ayt]  .rh-person-inline { color: var(--rh-text); }

.cm-card-actions[b-aj7iug7ayt] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 22px;
}

/* Cod nou de invitație: buton-iconiță, ca să nu rupă rândul pe telefon */
.cm-renew[b-aj7iug7ayt] {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rh-border-strong);
    border-radius: 10px;
    background: var(--rh-surface);
    color: var(--rh-text);
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}

.cm-renew:hover[b-aj7iug7ayt] { border-color: var(--rh-primary); background: var(--rh-primary-subtle); }
.cm-renew:focus-visible[b-aj7iug7ayt] { outline: 2px solid var(--rh-primary); outline-offset: 2px; }
.cm-renew:disabled[b-aj7iug7ayt] { opacity: 0.5; cursor: default; }

/* Card punctat „Creează un grup nou” */
.cm-add[b-aj7iug7ayt] {
    min-height: 280px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 28px;
    border: 2px dashed var(--rh-border-strong);
    border-radius: 20px;
    background: transparent;
    font: inherit;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}

.cm-add:hover[b-aj7iug7ayt] {
    border-color: var(--rh-primary);
    background: color-mix(in srgb, var(--rh-primary-subtle) 45%, transparent);
}

.cm-add:focus-visible[b-aj7iug7ayt] { outline: 2px solid var(--rh-primary); outline-offset: 3px; }

.cm-add-icon[b-aj7iug7ayt] {
    width: 64px;
    height: 64px;
    margin-bottom: 6px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rh-primary-subtle);
    color: var(--rh-on-primary-subtle);
    font-size: 1.9rem;
    font-weight: 300;
}

.cm-add-title[b-aj7iug7ayt] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--rh-on-primary-subtle);
}

.cm-add-text[b-aj7iug7ayt] {
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--rh-text-muted);
}

@media (max-width: 599.98px) {
    .cm-card[b-aj7iug7ayt] { padding: 20px; }
    .cm-card-name[b-aj7iug7ayt] { font-size: 1.45rem; }
    .cm-card-actions[b-aj7iug7ayt]  .mud-button-root { flex: 1; }
    .cm-add[b-aj7iug7ayt] { min-height: 0; }
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════
   Acasă — împrumuturi active + carduri laterale + adăugate recent.
   Componentele copil (BookCover, MudButton, MudIcon) se ating prin ::deep.
   ═══════════════════════════════════════════════════════════════════════ */

.hm-eyebrow[b-osqdy8jpk2] {
    margin-bottom: 6px;
    color: var(--rh-text-muted);
    font-size: 1rem;
}

.hm-head[b-osqdy8jpk2] {
    align-items: center;
}

/* Salut + cel mai urgent lucru de azi, pe un singur rând */
.hm-status[b-osqdy8jpk2] {
    margin: 0;
    font-family: var(--rh-font-display);
    font-size: clamp(1.5rem, 2.6vw, 2.1rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--rh-text);
}

.hm-layout[b-osqdy8jpk2] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
    align-items: start;
}

.hm-main[b-osqdy8jpk2] {
    min-width: 0;
}

.hm-section[b-osqdy8jpk2] {
    margin-bottom: 40px;
}

.hm-section-head[b-osqdy8jpk2] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.hm-section-title[b-osqdy8jpk2] {
    margin: 0;
    font-family: var(--rh-font-display);
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.15;
}

.hm-section-sub[b-osqdy8jpk2] {
    margin: 6px 0 0;
    color: var(--rh-text-muted);
}

.hm-see-all[b-osqdy8jpk2] {
    color: var(--rh-primary);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.hm-see-all:hover[b-osqdy8jpk2] {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ── Împrumuturi active: coloane pe stare ────────────────────────────── */
.hm-board[b-osqdy8jpk2] {
    display: grid;
    /* Coloane cu lățime plafonată, ca să nu se întindă pe ecrane mari */
    grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 340px));
    gap: 20px;
    align-items: start;
}

.hm-col[b-osqdy8jpk2] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 16px 18px 20px;
    border-radius: 20px;
    background: var(--rh-surface-sunken);
}

.hm-col-head[b-osqdy8jpk2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 4px 4px 0;
}

.hm-col-title[b-osqdy8jpk2] {
    margin: 0;
    font-size: 0.86rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--rh-text-muted);
}

.hm-col-count[b-osqdy8jpk2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #fff;
}

.hm-tone-info[b-osqdy8jpk2]    { background: var(--rh-info); }
.hm-tone-accent[b-osqdy8jpk2]  { background: var(--rh-accent); }
.hm-tone-primary[b-osqdy8jpk2] { background: var(--rh-primary-dark); }
.hm-tone-alert[b-osqdy8jpk2]   { background: var(--rh-error); }

/* Cardul unui împrumut */
.hm-lc[b-osqdy8jpk2] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 18px;
    border: 1px solid var(--rh-border);
    border-radius: 14px;
    background: var(--rh-surface);
    box-shadow: var(--rh-shadow-sm);
}

.hm-lc.is-late[b-osqdy8jpk2] {
    border-color: color-mix(in srgb, var(--rh-error) 30%, var(--rh-border));
    background: color-mix(in srgb, var(--rh-error-subtle) 50%, var(--rh-surface));
}

.hm-lc-book[b-osqdy8jpk2] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.hm-lc[b-osqdy8jpk2]  .hm-lc-cover {
    width: 60px;
    flex-shrink: 0;
}

.hm-lc-info[b-osqdy8jpk2] {
    flex: 1;
    min-width: 0;
}

.hm-lc-title[b-osqdy8jpk2] {
    font-family: var(--rh-font-display);
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--rh-text);
}

.hm-lc-author[b-osqdy8jpk2],
.hm-lc-who[b-osqdy8jpk2] {
    margin-top: 3px;
    font-size: 0.9rem;
    color: var(--rh-text-muted);
}

.hm-lc-who[b-osqdy8jpk2] {
    color: var(--rh-text);
}

.hm-lc-status[b-osqdy8jpk2] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 10px;
    flex-wrap: wrap;
}

.hm-lc-state[b-osqdy8jpk2] {
    font-weight: 600;
}

.hm-lc-aside[b-osqdy8jpk2] {
    font-size: 0.86rem;
    color: var(--rh-text-muted);
    white-space: nowrap;
}

.hm-text-info[b-osqdy8jpk2]    { color: var(--rh-info); }
.hm-text-accent[b-osqdy8jpk2]  { color: var(--rh-accent); }
.hm-text-primary[b-osqdy8jpk2] { color: var(--rh-primary); }
.hm-text-alert[b-osqdy8jpk2]   { color: var(--rh-error); }
.hm-text-muted[b-osqdy8jpk2]   { color: var(--rh-text-muted); }

.hm-lc-track[b-osqdy8jpk2] {
    height: 4px;
    margin-top: -4px;
    border-radius: 2px;
    background: var(--rh-border);
    overflow: hidden;
}

.hm-lc-fill[b-osqdy8jpk2] {
    height: 100%;
    border-radius: 2px;
    background: var(--rh-primary);
}

.hm-lc-fill.is-late[b-osqdy8jpk2] {
    background: var(--rh-error);
}

.hm-lc-actions[b-osqdy8jpk2] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 2px;
}

.hm-lc-actions[b-osqdy8jpk2]  .mud-button-root {
    flex: 1 1 auto;
    width: auto;
    height: 44px;
    border-radius: 10px;
    white-space: nowrap;
}

.hm-link[b-osqdy8jpk2] {
    color: var(--rh-primary);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.hm-link:hover[b-osqdy8jpk2] {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ── Carduri laterale ────────────────────────────────────────────────── */
.hm-side[b-osqdy8jpk2] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.hm-promo[b-osqdy8jpk2] {
    padding: 24px;
    border: 1px solid var(--rh-border);
    border-radius: 16px;
    background: var(--rh-surface);
}

.hm-promo[b-osqdy8jpk2]  .hm-promo-icon {
    color: var(--rh-accent);
}

.hm-promo-title[b-osqdy8jpk2] {
    margin: 12px 0 8px;
    font-family: var(--rh-font-display);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.2;
}

.hm-promo-text[b-osqdy8jpk2] {
    margin: 0 0 18px;
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--rh-text-muted);
}

.hm-promo-dark[b-osqdy8jpk2] {
    border-color: transparent;
    background: #0F4A45;
    color: #F6F2EA;
}

.hm-promo-dark[b-osqdy8jpk2]  .hm-promo-icon {
    color: #E6B84A;
}

.hm-promo-dark .hm-promo-text[b-osqdy8jpk2] {
    color: rgba(246, 242, 234, 0.8);
}

.hm-promo-btn[b-osqdy8jpk2] {
    height: 42px;
    padding: 0 18px;
    border: none;
    border-radius: 10px;
    background: #F6F2EA;
    color: #0F4A45;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.hm-promo-btn:hover[b-osqdy8jpk2] {
    background: #fff;
}

.hm-promo-btn:focus-visible[b-osqdy8jpk2] {
    outline: 2px solid #E6B84A;
    outline-offset: 2px;
}

/* ── Adăugate recent ─────────────────────────────────────────────────── */
.hm-recent-head[b-osqdy8jpk2] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.hm-recent-tools[b-osqdy8jpk2] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.hm-recent-pills[b-osqdy8jpk2]  .rh-pill,
.hm-recent-pills .rh-pill[b-osqdy8jpk2] {
    height: 38px;
    padding: 0 16px;
    font-size: 0.9rem;
}

/* ── Onboarding (utilizatori noi) ────────────────────────────────────── */
.ob-layout[b-osqdy8jpk2] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 40px;
    align-items: start;
    margin-bottom: 40px;
}

.ob-main[b-osqdy8jpk2] {
    min-width: 0;
}

.ob-sub[b-osqdy8jpk2] {
    margin: 14px 0 0;
    font-size: 1.1rem;
    color: var(--rh-text-muted);
}

.ob-progress[b-osqdy8jpk2] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 32px 0 24px;
}

.ob-progress-track[b-osqdy8jpk2] {
    flex: 0 1 220px;
    height: 6px;
    border-radius: 3px;
    background: var(--rh-border);
    overflow: hidden;
}

.ob-progress-fill[b-osqdy8jpk2] {
    height: 100%;
    border-radius: 3px;
    background: var(--rh-primary);
    transition: width 0.3s ease;
}

.ob-progress-text[b-osqdy8jpk2] {
    font-size: 0.92rem;
    color: var(--rh-text-muted);
}

.ob-steps[b-osqdy8jpk2] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ob-step[b-osqdy8jpk2] {
    display: flex;
    gap: 18px;
    padding: 22px 24px;
    border: 1px solid var(--rh-border);
    border-radius: var(--rh-radius-lg);
    background: var(--rh-surface);
}

.ob-step.is-current[b-osqdy8jpk2] {
    border: 2px solid var(--rh-primary);
    padding: 21px 23px;
}

.ob-step-num[b-osqdy8jpk2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border: 2px solid var(--rh-text-muted);
    border-radius: 50%;
    font-weight: 600;
    color: var(--rh-text);
}

.is-current .ob-step-num[b-osqdy8jpk2] {
    border-color: var(--rh-primary);
    background: var(--rh-primary);
    color: #fff;
}

.is-done .ob-step-num[b-osqdy8jpk2] {
    border-color: var(--rh-success);
    background: var(--rh-success-subtle);
    color: var(--rh-success);
}

.ob-step-body[b-osqdy8jpk2] {
    flex: 1;
    min-width: 0;
}

.ob-step-title[b-osqdy8jpk2] {
    margin: 2px 0 6px;
    font-family: var(--rh-font-display);
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.2;
}

.is-done .ob-step-title[b-osqdy8jpk2] {
    color: var(--rh-text-muted);
}

.ob-step-text[b-osqdy8jpk2] {
    max-width: 62ch;
    margin: 0;
    line-height: 1.55;
    color: var(--rh-text-muted);
}

.ob-step-actions[b-osqdy8jpk2] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.ob-step-locked[b-osqdy8jpk2] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    font-size: 0.92rem;
    color: var(--rh-text-muted);
}

/* Panoul „Cum funcționează" */
.ob-side[b-osqdy8jpk2] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ob-how[b-osqdy8jpk2] {
    padding: 28px 28px 0;
    border-radius: 20px;
    background: #0F4A45;
    color: #F6F2EA;
    overflow: hidden;
}

.ob-how-title[b-osqdy8jpk2] {
    margin: 0 0 20px;
    font-family: var(--rh-font-display);
    font-size: 1.75rem;
    font-weight: 800;
}

.ob-how-list[b-osqdy8jpk2] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ob-how-item[b-osqdy8jpk2] {
    display: flex;
    gap: 14px;
}

.ob-how-num[b-osqdy8jpk2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    margin-top: 2px;
    border-radius: 50%;
    background: rgba(246, 242, 234, 0.1);
    color: #E6B84A;
    font-size: 0.85rem;
    font-weight: 700;
}

.ob-how-item-title[b-osqdy8jpk2] {
    font-weight: 700;
    font-size: 1.02rem;
}

.ob-how-item-text[b-osqdy8jpk2] {
    margin-top: 2px;
    font-size: 0.9rem;
    color: rgba(246, 242, 234, 0.8);
}

.ob-shelf[b-osqdy8jpk2] {
    display: flex;
    align-items: flex-end;
    gap: 5px;
    height: 110px;
    margin: 32px -28px 0;
    padding: 0 28px;
    border-bottom: 8px solid #0A3632;
}

.ob-spine[b-osqdy8jpk2] {
    width: 18px;
    border-radius: 2px 2px 0 0;
}

.ob-invite[b-osqdy8jpk2] {
    display: flex;
    gap: 14px;
    padding: 20px 24px;
    border: 1px solid var(--rh-border);
    border-radius: var(--rh-radius-lg);
    background: var(--rh-surface);
}

.ob-invite[b-osqdy8jpk2]  .ob-invite-icon {
    flex-shrink: 0;
    color: var(--rh-accent);
}

.ob-invite p[b-osqdy8jpk2] {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--rh-text-muted);
}

.ob-invite strong[b-osqdy8jpk2] {
    color: var(--rh-text);
}

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width: 1099.98px) {
    .hm-layout[b-osqdy8jpk2] {
        grid-template-columns: 1fr;
    }
    .hm-side[b-osqdy8jpk2] {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        margin-bottom: 36px;
    }
    .ob-layout[b-osqdy8jpk2] {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (max-width: 719.98px) {
    .hm-section-title[b-osqdy8jpk2] { font-size: 1.5rem; }
    .ob-step[b-osqdy8jpk2] { padding: 18px 16px; gap: 14px; }
    .ob-step.is-current[b-osqdy8jpk2] { padding: 17px 15px; }
    .ob-step-title[b-osqdy8jpk2] { font-size: 1.3rem; }
}
/* /Components/Pages/Requests/MyRequests.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════
   Împrumuturi — tab-uri, cereri noi, împrumuturi în desfășurare, istoric.
   Componentele copil (BookCover, MudButton, MudIcon) se ating prin ::deep.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Antet + tab-uri segmentate ───────────────────────────────────────── */
.lr-head[b-bmt5fo6ne6] {
    align-items: center;
}

.lr-tabs[b-bmt5fo6ne6] {
    display: inline-flex;
    gap: 4px;
    padding: 5px;
    border-radius: 14px;
    background: var(--rh-surface-sunken);
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
}

.lr-tab[b-bmt5fo6ne6] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 46px;
    padding: 0 20px;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: var(--rh-text-muted);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 500;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.lr-tab:hover[b-bmt5fo6ne6] {
    color: var(--rh-text);
}

.lr-tab.active[b-bmt5fo6ne6] {
    background: var(--rh-surface);
    color: var(--rh-text);
    box-shadow: var(--rh-shadow-sm);
}

.lr-tab:focus-visible[b-bmt5fo6ne6] {
    outline: 2px solid var(--rh-primary);
    outline-offset: 1px;
}

.lr-tab-badge[b-bmt5fo6ne6] {
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 700;
    background: var(--rh-border);
    color: var(--rh-text);
}

.lr-tab-badge-accent[b-bmt5fo6ne6] {
    background: var(--rh-accent);
    color: #fff;
}

/* ── Secțiuni ─────────────────────────────────────────────────────────── */
.lr-section[b-bmt5fo6ne6] {
    margin-bottom: 44px;
}

.lr-section-head[b-bmt5fo6ne6] {
    display: flex;
    align-items: baseline;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.lr-section-title[b-bmt5fo6ne6] {
    margin: 0;
    font-family: var(--rh-font-display);
    font-size: 1.9rem;
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;   /* mockup-ul rupea „În desfășurare” pe două rânduri */
}

.lr-section-meta[b-bmt5fo6ne6] {
    color: var(--rh-text-muted);
    font-size: 1rem;
}

/* Titlu + autor, comune cardurilor */
.lr-book-title[b-bmt5fo6ne6] {
    margin: 0;
    font-family: var(--rh-font-display);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--rh-text);
}

.lr-book-author[b-bmt5fo6ne6] {
    margin-top: 4px;
    color: var(--rh-text-muted);
    font-size: 0.95rem;
}

.lr-book-author strong[b-bmt5fo6ne6],
.lr-book-author[b-bmt5fo6ne6]  strong {
    color: var(--rh-text);
    font-weight: 600;
}

.lr-book-dates[b-bmt5fo6ne6] {
    margin-top: 6px;
    color: var(--rh-text-muted);
    font-size: 0.92rem;
}

/* ── Card „cerere nouă” ───────────────────────────────────────────────── */
.lr-request-grid[b-bmt5fo6ne6] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 440px), 1fr));
    gap: 28px;
}

.lr-req[b-bmt5fo6ne6] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 28px;
    border: 1px solid var(--rh-border);
    border-radius: 18px;
    background: var(--rh-surface);
}

.lr-req-top[b-bmt5fo6ne6] {
    display: flex;
    gap: 22px;
    align-items: flex-start;
}

.lr-req[b-bmt5fo6ne6]  .lr-req-cover {
    width: 88px;
}

.lr-req-info[b-bmt5fo6ne6] {
    min-width: 0;
    flex: 1;
}

.lr-person[b-bmt5fo6ne6] {
    /* rh-person-row: tot rândul deschide profilul; iese puțin în lateral pentru hover */
    gap: 12px;
    width: calc(100% + 16px);
    margin: 10px -8px 0;
    padding: 6px 4px 6px 8px;
    font-size: 0.98rem;
}

.lr-avatar[b-bmt5fo6ne6] {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rh-primary-subtle);
    color: var(--rh-on-primary-subtle);
    font-weight: 700;
    font-size: 0.92rem;
}

.lr-person-text[b-bmt5fo6ne6] {
    display: block;
    flex: 1;
    min-width: 0;
}

.lr-person-line[b-bmt5fo6ne6] {
    display: block;
}

.lr-person-name[b-bmt5fo6ne6] {
    font-weight: 600;
    color: var(--rh-text);
}

.lr-person-meta[b-bmt5fo6ne6] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 10px;
    margin-top: 2px;
    font-size: 0.86rem;
    color: var(--rh-text-muted);
}

.lr-star[b-bmt5fo6ne6] {
    color: var(--bc-star-color);
}

.lr-band[b-bmt5fo6ne6] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 12px;
    background: var(--rh-surface-sunken);
    color: var(--rh-text-muted);
    font-size: 0.98rem;
}

.lr-band strong[b-bmt5fo6ne6] {
    color: var(--rh-text);
    font-weight: 600;
}

.lr-message[b-bmt5fo6ne6] {
    margin: -6px 0 0;
    padding: 0 4px 0 16px;
    border-left: 3px solid var(--rh-border-strong);
    color: var(--rh-text);
    font-style: italic;
    overflow-wrap: anywhere;
}

.lr-req-actions[b-bmt5fo6ne6] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.lr-link[b-bmt5fo6ne6] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 4px;
    border: none;
    background: none;
    font: inherit;
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--rh-primary);
    cursor: pointer;
}

.lr-link:hover[b-bmt5fo6ne6] {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.lr-link:focus-visible[b-bmt5fo6ne6] {
    outline: 2px solid var(--rh-primary);
    outline-offset: 2px;
    border-radius: 4px;
}

.lr-link-danger[b-bmt5fo6ne6] {
    color: var(--rh-error);
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 3px;
    align-self: center;
}

/* ── Rând „în desfășurare” ────────────────────────────────────────────── */
.lr-loan-list[b-bmt5fo6ne6] {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.lr-loan[b-bmt5fo6ne6] {
    display: grid;
    grid-template-columns: minmax(220px, 1.1fr) minmax(0, 2fr) minmax(200px, 0.9fr);
    gap: 28px 40px;
    align-items: center;
    padding: 28px 32px;
    border: 1px solid var(--rh-border);
    border-radius: 18px;
    background: var(--rh-surface);
}

.lr-loan-alert[b-bmt5fo6ne6] {
    border-color: color-mix(in srgb, var(--rh-error) 30%, var(--rh-border));
}

.lr-loan-book[b-bmt5fo6ne6] {
    display: flex;
    align-items: center;
    gap: 22px;
    min-width: 0;
}

.lr-loan[b-bmt5fo6ne6]  .lr-loan-cover {
    width: 64px;
}

.lr-loan-info[b-bmt5fo6ne6] {
    min-width: 0;
}

.lr-loan-actions[b-bmt5fo6ne6] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
}

/* ── Pașii (stepper orizontal) ────────────────────────────────────────── */
.lr-steps[b-bmt5fo6ne6] {
    display: flex;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

.lr-step[b-bmt5fo6ne6] {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
}

.lr-step:last-child[b-bmt5fo6ne6] {
    flex: 0 0 auto;
}

/* linia spre pasul următor */
.lr-step:not(:last-child)[b-bmt5fo6ne6]::after {
    content: "";
    position: absolute;
    top: 15px;
    left: 32px;
    right: 0;
    height: 2px;
    background: var(--rh-border);
}

.lr-step-done:not(:last-child)[b-bmt5fo6ne6]::after {
    background: var(--rh-primary-dark);
}

.lr-dot[b-bmt5fo6ne6] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--rh-border-strong);
    background: var(--rh-surface);
    color: #fff;
    position: relative;
    z-index: 1;
}

.lr-dot[b-bmt5fo6ne6]  .mud-icon-root {
    font-size: 18px;
}

.lr-step-done .lr-dot[b-bmt5fo6ne6] {
    border-color: var(--rh-primary-dark);
    background: var(--rh-primary-dark);
}

.lr-step-current .lr-dot[b-bmt5fo6ne6] {
    border-color: var(--rh-primary);
}

.lr-step-current .lr-dot[b-bmt5fo6ne6]::after {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--rh-primary);
}

.lr-step-current.lr-tone-alert .lr-dot[b-bmt5fo6ne6] { border-color: var(--rh-error); }
.lr-step-current.lr-tone-alert .lr-dot[b-bmt5fo6ne6]::after { background: var(--rh-error); }

.lr-step-label[b-bmt5fo6ne6] {
    font-size: 0.92rem;
    color: var(--rh-text-muted);
    line-height: 1.25;
}

.lr-step-current .lr-step-label[b-bmt5fo6ne6] {
    color: var(--rh-primary);
    font-weight: 600;
}

.lr-step-current.lr-tone-alert .lr-step-label[b-bmt5fo6ne6] {
    color: var(--rh-error);
}

html[data-theme="dark"] .lr-step-done .lr-dot[b-bmt5fo6ne6] {
    border-color: var(--rh-primary);
    background: var(--rh-primary);
    color: #10201D;
}

html[data-theme="dark"] .lr-step-done:not(:last-child)[b-bmt5fo6ne6]::after {
    background: var(--rh-primary);
}

/* ── Caseta de stare de sub pași ──────────────────────────────────────── */
.lr-status[b-bmt5fo6ne6] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 0.98rem;
    line-height: 1.5;
}

.lr-status[b-bmt5fo6ne6]  .mud-icon-root {
    margin-top: 2px;
    flex-shrink: 0;
}

.lr-status strong[b-bmt5fo6ne6] {
    font-weight: 700;
}

.lr-status-alert[b-bmt5fo6ne6] {
    background: var(--rh-error-subtle);
    color: var(--rh-error);
}

.lr-status-alert strong[b-bmt5fo6ne6] {
    color: var(--rh-error);
}

.lr-status-yours[b-bmt5fo6ne6] {
    background: var(--rh-primary-subtle);
    color: var(--rh-on-primary-subtle);
}

.lr-status-waiting[b-bmt5fo6ne6] {
    background: var(--rh-surface-sunken);
    color: var(--rh-text);
}

.lr-status-waiting[b-bmt5fo6ne6]  .mud-icon-root {
    color: var(--rh-text-muted);
}

/* ── Istoric ──────────────────────────────────────────────────────────── */
.lr-history-toolbar[b-bmt5fo6ne6]  .lr-status-filter {
    flex: 0 1 200px;
    margin: 0;
}

.lr-history[b-bmt5fo6ne6] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lr-history-row[b-bmt5fo6ne6] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 16px;
    padding: 12px 18px 12px 12px;
    border: 1px solid var(--rh-border);
    border-radius: 12px;
    background: var(--rh-surface);
}

.lr-history-row[b-bmt5fo6ne6]  .lr-history-cover {
    width: 44px;
}

.lr-history-title[b-bmt5fo6ne6] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lr-history-meta[b-bmt5fo6ne6] {
    font-size: 0.86rem;
    color: var(--rh-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lr-history-meta[b-bmt5fo6ne6]  strong,
.lr-history-meta strong[b-bmt5fo6ne6] {
    color: var(--rh-text);
    font-weight: 600;
}

.lr-chip[b-bmt5fo6ne6] {
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
    background: var(--rh-surface-sunken);
    color: var(--rh-text-muted);
}

.lr-chip-returned[b-bmt5fo6ne6]  { background: var(--rh-success-subtle); color: var(--rh-success-text); }
.lr-chip-rejected[b-bmt5fo6ne6]  { background: var(--rh-error-subtle);   color: var(--rh-error); }
.lr-chip-cancelled[b-bmt5fo6ne6] { background: var(--rh-surface-sunken); color: var(--rh-text-muted); }

.lr-history-action[b-bmt5fo6ne6] {
    min-width: 110px;
    display: flex;
    justify-content: flex-end;
}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 1199.98px) {
    .lr-loan[b-bmt5fo6ne6] {
        grid-template-columns: minmax(0, 1fr) minmax(200px, 260px);
    }
    .lr-loan-progress[b-bmt5fo6ne6] {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

@media (max-width: 719.98px) {
    .lr-loan[b-bmt5fo6ne6] {
        grid-template-columns: 1fr;
        padding: 20px;
        gap: 20px;
    }
    .lr-loan-progress[b-bmt5fo6ne6] { grid-row: auto; }
    .lr-req[b-bmt5fo6ne6] { padding: 20px; }
    .lr-req[b-bmt5fo6ne6]  .lr-req-cover { width: 64px; }
    .lr-req-top[b-bmt5fo6ne6] { gap: 16px; }
    .lr-req-actions[b-bmt5fo6ne6]  .mud-button-root { flex: 1; }
    .lr-section-title[b-bmt5fo6ne6] { font-size: 1.6rem; }
    /* Pașii: punctele centrate deasupra etichetelor, toate de aceeași lățime */
    .lr-step[b-bmt5fo6ne6], .lr-step:last-child[b-bmt5fo6ne6] { flex: 1; align-items: center; text-align: center; gap: 6px; }
    .lr-step-label[b-bmt5fo6ne6] { font-size: 0.72rem; }
    .lr-dot[b-bmt5fo6ne6] { width: 26px; height: 26px; }
    .lr-step:not(:last-child)[b-bmt5fo6ne6]::after { top: 12px; left: calc(50% + 13px); right: calc(-50% + 13px); }
    .lr-step-current .lr-dot[b-bmt5fo6ne6]::after { width: 10px; height: 10px; }
    /* Tab-urile: trei coloane egale, textul poate trece pe al doilea rând */
    .lr-tabs[b-bmt5fo6ne6] { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; }
    .lr-tab[b-bmt5fo6ne6] { justify-content: center; height: auto; min-height: 46px; padding: 6px 8px;
              white-space: normal; text-align: center; line-height: 1.2; font-size: 0.86rem;
              flex-wrap: wrap; gap: 4px 6px; }
    .lr-tab-badge[b-bmt5fo6ne6] { min-width: 20px; height: 20px; font-size: 0.72rem; }
    .lr-history-row[b-bmt5fo6ne6] { grid-template-columns: auto minmax(0, 1fr) auto; }
    .lr-history-action[b-bmt5fo6ne6] { grid-column: 2 / -1; justify-content: flex-start; min-width: 0; }
    .lr-history-action:empty[b-bmt5fo6ne6] { display: none; }
}
/* /Components/Shared/BookCard.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════
   BookCard — coperta ca o carte pe raft, text dedesubt, fără chenar de card.
   Variabilele de culoare sunt definite în app.css (:root / dark).
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Card ─────────────────────────────────────────────────────────────── */
.bc-card[b-u28agaeey7] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
    border-radius: var(--bc-card-radius);
}

.bc-card.bc-clickable[b-u28agaeey7] {
    cursor: pointer;
}

.bc-card.bc-clickable:focus-visible[b-u28agaeey7] {
    outline: 2px solid var(--bc-focus-ring);
    outline-offset: 4px;
}

/* ── Copertă ──────────────────────────────────────────────────────────── */
.bc-cover[b-u28agaeey7] {
    position: relative;
    width: 100%;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    flex-shrink: 0;
    border-radius: 4px 8px 8px 4px;
    background: var(--bc-cover-bg);
    box-shadow:
        0 1px 2px rgba(31, 38, 35, 0.10),
        0 6px 16px -6px rgba(31, 38, 35, 0.22);
    transition: box-shadow 0.2s, transform 0.2s;
}

.bc-card.bc-clickable:hover .bc-cover[b-u28agaeey7],
.bc-card.bc-clickable:focus-within .bc-cover[b-u28agaeey7] {
    transform: translateY(-3px);
    box-shadow:
        0 2px 4px rgba(31, 38, 35, 0.10),
        0 14px 28px -10px rgba(31, 38, 35, 0.35);
}

.bc-cover-img[b-u28agaeey7] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Pozele reale primesc un cotor discret, ca placeholder-ele colorate */
.bc-cover-photo[b-u28agaeey7]::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5%;
    background: linear-gradient(90deg, rgba(0,0,0,0.22), rgba(0,0,0,0.04) 70%, rgba(255,255,255,0.08));
    pointer-events: none;
    z-index: 1;
}

/* ── Banda de stare pe copertă ────────────────────────────────────────── */
.bc-status[b-u28agaeey7] {
    position: absolute;
    left: 6%;
    right: 6%;
    bottom: 5%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 7px 11px 8px;
    border-radius: 8px;
    background: rgba(31, 38, 35, 0.92);
    /* contur fin, ca banda să se vadă și pe coperțile închise (antracit, teal) */
    box-shadow: inset 0 0 0 1px rgba(246, 242, 234, 0.14);
    color: #F6F2EA;
    pointer-events: none;
    backdrop-filter: blur(2px);
}

.bc-status-title[b-u28agaeey7] {
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.25;
}

.bc-status-detail[b-u28agaeey7] {
    font-size: 0.74rem;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0.92;
}

.bc-status-handover .bc-status-title[b-u28agaeey7] { color: #F2A283; }  /* terracotta deschis — e rândul tău */
.bc-status-loaned   .bc-status-title[b-u28agaeey7] { color: #F0CE7E; }  /* muștar deschis */
.bc-status-muted    .bc-status-title[b-u28agaeey7] { color: #CFC6B6; }

/* ── Corp ─────────────────────────────────────────────────────────────── */
.bc-body[b-u28agaeey7] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.bc-title-row[b-u28agaeey7] {
    display: flex;
    align-items: flex-start;
    gap: 4px;
}

.bc-title[b-u28agaeey7] {
    flex: 1;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--bc-title-color);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.bc-title-row[b-u28agaeey7]  .mud-tooltip-root {
    flex: 1;
    min-width: 0;
}

/* Meniu 3 puncte: aliniat la primul rând al titlului */
.bc-menu[b-u28agaeey7] {
    flex-shrink: 0;
    margin-top: -6px;
    margin-right: -8px;
}

.bc-author[b-u28agaeey7] {
    font-size: 0.9rem;
    color: var(--bc-author-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Chip stare lectură ───────────────────────────────────────────────── */
.bc-rs-chip[b-u28agaeey7] {
    display: inline-block;
    align-self: flex-start;
    width: fit-content;
    margin-top: 4px;
    font-size: var(--bc-chip-size);
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 20px;
    white-space: nowrap;
}

.bc-rs-inprogress[b-u28agaeey7] { background: var(--bc-rs-reading-bg);   color: var(--bc-rs-reading-text); }
.bc-rs-finished[b-u28agaeey7]   { background: var(--bc-rs-finished-bg);  color: var(--bc-rs-finished-text); }
.bc-rs-abandoned[b-u28agaeey7]  { background: var(--bc-rs-abandoned-bg); color: var(--bc-rs-abandoned-text); }

/* ── Meta (grupurile cărților mele) ───────────────────────────────────── */
.bc-meta[b-u28agaeey7] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: var(--bc-meta-size);
    color: var(--bc-meta-color);
    overflow: hidden;
}

.bc-groups[b-u28agaeey7] {
    margin-top: 2px;
}

/* ── Subsol: proprietar + acțiune ─────────────────────────────────────── */
.bc-foot[b-u28agaeey7] {
    margin-top: auto;
    padding-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bc-owner[b-u28agaeey7] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    font-size: 0.84rem;
    color: var(--bc-meta-color);
}

.bc-owner[b-u28agaeey7]  .mud-tooltip-root {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.bc-owner-avatar[b-u28agaeey7] {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rh-primary-subtle);
    color: var(--rh-on-primary-subtle);
    font-size: 0.7rem;
    font-weight: 700;
}

.bc-owner-text[b-u28agaeey7] {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bc-owner-link[b-u28agaeey7] {
    font-weight: 600;
    color: var(--bc-title-color);
    cursor: pointer;
    text-decoration: underline;
    /* vizibil și fără hover (mobil): se vede că numele se poate apăsa */
    text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
    text-underline-offset: 3px;
    transition: text-decoration-color 0.15s;
}

.bc-owner-link:hover[b-u28agaeey7],
.bc-owner-link:focus-visible[b-u28agaeey7] {
    text-decoration-color: currentColor;
    outline: none;
}

.bc-owner-star[b-u28agaeey7] {
    color: var(--bc-star-color);
    font-size: 0.78rem;
}

/* ── Buton „Cere împrumut” ────────────────────────────────────────────── */
.bc-foot[b-u28agaeey7]  .bc-borrow-btn {
    height: 44px;
    border-radius: 10px;
    border-color: var(--rh-border-strong);
    background: var(--rh-surface);
    color: var(--rh-text);
    font-weight: 600;
}

.bc-foot[b-u28agaeey7]  .bc-borrow-btn:hover {
    border-color: var(--rh-primary);
    background: var(--rh-primary-subtle);
}

.bc-foot[b-u28agaeey7]  .bc-borrow-btn.mud-button-disabled {
    background: transparent;
    border-color: var(--rh-border);
}

/* Cartea mea într-o listă comună: text simplu în locul butonului */
.bc-own[b-u28agaeey7] {
    height: 44px;
    display: flex;
    align-items: center;
    font-size: 0.9rem;
    color: var(--rh-text-muted);
}

/* ── „Cerere trimisă · Anulează” ─────────────────────────────────────── */
.bc-sent[b-u28agaeey7] {
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0 12px;
    border-radius: 10px;
    background: var(--rh-primary-subtle);
    color: var(--rh-on-primary-subtle);
    cursor: default;
}

.bc-sent-label[b-u28agaeey7] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.15;
}

.bc-sent-label[b-u28agaeey7]  .mud-icon-root {
    font-size: 16px;
}

.bc-sent-cancel[b-u28agaeey7] {
    background: none;
    border: none;
    padding: 4px 2px;
    font: inherit;
    font-size: 0.84rem;
    color: var(--rh-text-muted);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    flex-shrink: 0;
}

.bc-sent-cancel:hover[b-u28agaeey7] {
    color: var(--rh-error);
}

.bc-sent-cancel:focus-visible[b-u28agaeey7] {
    outline: 2px solid var(--rh-primary);
    outline-offset: 2px;
    border-radius: 4px;
}

/* ═══ Varianta „rând” (vederea listă) ═══════════════════════════════════ */
.bc-card.bc-row[b-u28agaeey7] {
    flex-direction: row;
    align-items: center;
    gap: 16px;
    height: auto;
    padding: 12px 16px 12px 12px;
    background: var(--bc-card-bg);
    border: 1px solid var(--bc-card-border);
    border-radius: 12px;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.bc-card.bc-row.bc-clickable:hover[b-u28agaeey7],
.bc-card.bc-row.bc-clickable:focus-within[b-u28agaeey7] {
    border-color: var(--rh-border-strong);
    box-shadow: var(--rh-shadow-sm);
}

.bc-row .bc-cover[b-u28agaeey7] {
    width: 52px;
    border-radius: 3px 5px 5px 3px;
}

.bc-card.bc-row.bc-clickable:hover .bc-cover[b-u28agaeey7],
.bc-card.bc-row.bc-clickable:focus-within .bc-cover[b-u28agaeey7] {
    transform: none;
}

.bc-row .bc-body[b-u28agaeey7] {
    gap: 2px;
}

.bc-row .bc-title[b-u28agaeey7] {
    -webkit-line-clamp: 1;
}

.bc-row .bc-rs-chip[b-u28agaeey7] {
    margin-top: 2px;
}

.bc-row-status[b-u28agaeey7] {
    font-size: 0.84rem;
    color: var(--bc-meta-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bc-row-status-title[b-u28agaeey7] {
    font-weight: 600;
}

.bc-row-status.bc-status-handover .bc-row-status-title[b-u28agaeey7] { color: var(--rh-accent); }
.bc-row-status.bc-status-loaned   .bc-row-status-title[b-u28agaeey7] { color: var(--rh-warning-text); }

@media (prefers-reduced-motion: reduce) {
    .bc-cover[b-u28agaeey7],
    .bc-card.bc-clickable:hover .bc-cover[b-u28agaeey7] {
        transition: none;
        transform: none;
    }
}
/* /Components/Shared/BookCover.razor.rz.scp.css */
.bcv-root[b-0yoovlu42i] {
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    aspect-ratio: 2 / 3;
    border-radius: 3px 6px 6px 3px;
    background: var(--bc-cover-bg);
    box-shadow: 0 1px 2px rgba(31, 38, 35, 0.10), 0 4px 10px -4px rgba(31, 38, 35, 0.20);
}

.bcv-img[b-0yoovlu42i] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* /Components/Shared/BookCoverPlaceholder.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════
   BookCoverPlaceholder — coperta de rezervă, comună tuturor ecranelor.
   Culorile vin din variabilele setate de clasele .rh-cover-N (app.css).
   Dimensiunile se scalează după lățimea slotului (container queries), ca
   aceeași componentă să arate corect și la 36px, și la 280px.
   ═══════════════════════════════════════════════════════════════════════ */

.bcp-root[b-0zzeerhd2r] {
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
    overflow: hidden;
    background: var(--rh-cover-face);
    container-type: inline-size;
}

.bcp-spine[b-0zzeerhd2r] {
    width: max(3px, 5cqw);
    flex-shrink: 0;
    height: 100%;
    background: var(--rh-cover-spine);
}

.bcp-face[b-0zzeerhd2r] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9cqw;
    padding: 10cqw 10cqw;
}

.bcp-initial[b-0zzeerhd2r] {
    font-family: var(--rh-font-display);
    font-size: 40cqw;
    font-weight: 800;
    line-height: 0.95;
    color: var(--rh-cover-ink);
}

.bcp-rule[b-0zzeerhd2r] {
    width: 18cqw;
    height: max(1px, 0.8cqw);
    background: var(--rh-cover-ink);
    opacity: 0.45;
}
/* /Components/Shared/BookDetailDialog.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════
   BookDetailDialog — antetul cărții vine din stilurile comune .rh-dlg-*
   (app.css); aici sunt doar cardul proprietarului și formularul de cerere.
   ═══════════════════════════════════════════════════════════════════════ */

.bd-isbn[b-0ng9q87gts] {
    font-variant-numeric: tabular-nums;
}

.bd-desc[b-0ng9q87gts] {
    margin: 24px 0 0;
    font-size: 1rem;
    line-height: 1.55;
    color: var(--rh-text);
}

/* ── Proprietarul ── */
.bd-owner[b-0ng9q87gts] {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 32px;
    padding: 18px 24px 18px 18px;
    border-radius: 16px;
    background: var(--rh-surface-sunken);
}

.bd-owner:hover[b-0ng9q87gts] {
    background: color-mix(in srgb, var(--rh-text) 6%, var(--rh-surface-sunken));
}

.bd-owner-avatar[b-0ng9q87gts] {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rh-primary-dark);
    color: #F6F2EA;
    font-weight: 700;
    font-size: 1.05rem;
}

.bd-owner-text[b-0ng9q87gts] {
    display: block;
    flex: 1;
    min-width: 0;
}

.bd-owner-name[b-0ng9q87gts] {
    display: block;
    font-size: 1.08rem;
    font-weight: 600;
    color: var(--rh-text);
    overflow-wrap: anywhere;
}

.bd-owner-star[b-0ng9q87gts] {
    margin-left: 6px;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--bc-star-color);
}

.bd-owner-role[b-0ng9q87gts] {
    display: block;
    margin-top: 2px;
    font-size: 0.92rem;
    color: var(--rh-text-muted);
    overflow-wrap: anywhere;
}

html[data-theme="dark"] .bd-owner-avatar[b-0ng9q87gts] {
    background: var(--rh-primary);
    color: #10201D;
}

/* ── Formularul de cerere ── */
.bd-form[b-0ng9q87gts] {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--rh-border);
}

.bd-form-title[b-0ng9q87gts] {
    margin: 0 0 16px;
    font-family: var(--rh-font-display);
    font-size: 1.35rem;
    font-weight: 800;
}

/* Cele două date stau alăturate cât încap; pe telefon trec una sub alta. */
.bd-dates[b-0ng9q87gts] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}

@media (max-width: 599.98px) {
    .bd-owner[b-0ng9q87gts] {
        padding: 14px 12px 14px 16px;
        gap: 14px;
    }
}
/* /Components/Shared/BookFormDialog.razor.rz.scp.css */
.bf-top[b-9l620x0wvw] {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 32px 40px;
    align-items: start;
}

/* ── Copertă ── */
.bf-cover[b-9l620x0wvw] {
    position: relative;
    aspect-ratio: 2 / 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 20px;
    border: 2px dashed var(--rh-border-strong);
    border-radius: 12px;
    background: color-mix(in srgb, var(--rh-primary-subtle) 70%, var(--rh-surface));
    text-align: center;
    overflow: hidden;
}

.bf-cover-filled[b-9l620x0wvw] {
    padding: 0;
    border-style: solid;
    border-width: 1px;
    border-color: var(--rh-border);
    background: var(--bc-cover-bg);
}

.bf-cover-img[b-9l620x0wvw] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.bf-cover[b-9l620x0wvw]  .bf-cover-icon {
    font-size: 36px;
    color: var(--rh-on-primary-subtle);
}

.bf-cover-text[b-9l620x0wvw] {
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--rh-text-muted);
}

.bf-cover-tools[b-9l620x0wvw] {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    gap: 6px;
}

.bf-cover-tool[b-9l620x0wvw] {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 8px;
    background: rgba(31, 38, 35, 0.75);
    color: #fff;
    cursor: pointer;
}

.bf-cover-tool:hover[b-9l620x0wvw] { background: rgba(31, 38, 35, 0.92); }
.bf-cover-tool:focus-visible[b-9l620x0wvw] { outline: 2px solid #fff; outline-offset: 1px; }

.bf-cover-btns[b-9l620x0wvw] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 14px;
}

.bf-btn[b-9l620x0wvw] {
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rh-border-strong);
    border-radius: 10px;
    background: var(--rh-surface);
    color: var(--rh-text);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}

.bf-btn:hover[b-9l620x0wvw] { border-color: var(--rh-primary); background: var(--rh-primary-subtle); }
.bf-btn:focus-within[b-9l620x0wvw], .bf-btn:focus-visible[b-9l620x0wvw] { outline: 2px solid var(--rh-primary); outline-offset: 2px; }
.bf-btn-disabled[b-9l620x0wvw], .bf-btn:disabled[b-9l620x0wvw] { opacity: 0.5; pointer-events: none; }

.bf-error[b-9l620x0wvw] {
    margin: 8px 0 0;
    font-size: 0.85rem;
    color: var(--rh-error);
}

/* ── Câmpuri ── */
.bf-fields[b-9l620x0wvw] {
    min-width: 0;
    padding-top: 0;
}

.bf-row[b-9l620x0wvw] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 16px;
}

@media (max-width: 599.98px) {
    .bf-top[b-9l620x0wvw] {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .bf-cover-col[b-9l620x0wvw] {
        display: grid;
        grid-template-columns: 110px 1fr;
        grid-template-rows: auto 1fr;
        column-gap: 16px;
    }
    .bf-cover-col > .rh-field-label[b-9l620x0wvw] { grid-column: 1 / -1; }
    .bf-cover[b-9l620x0wvw] { padding: 10px; gap: 8px; }
    .bf-cover-text[b-9l620x0wvw] { font-size: 0.72rem; }
    .bf-cover-btns[b-9l620x0wvw] { grid-template-columns: 1fr; margin-top: 0; align-content: start; }
}

/* ── Pasul 1: cod de bare / ISBN ── */
.bf-scan[b-9l620x0wvw] {
    padding: 24px;
    border-radius: 16px;
    background: var(--rh-surface-sunken);
}

.bf-scan-btn[b-9l620x0wvw] {
    width: 100%;
    min-height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 10px 20px;
    border: none;
    border-radius: 12px;
    background: var(--rh-primary);
    color: #fff;
    font: inherit;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.bf-scan-btn:hover[b-9l620x0wvw] { background: var(--rh-primary-dark); }
.bf-scan-btn:focus-visible[b-9l620x0wvw] { outline: 2px solid var(--rh-primary); outline-offset: 3px; }
.bf-scan-btn:disabled[b-9l620x0wvw] { opacity: 0.6; pointer-events: none; }

.bf-or[b-9l620x0wvw] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 18px 0 14px;
    font-size: 0.92rem;
    color: var(--rh-text-muted);
}

.bf-or[b-9l620x0wvw]::before, .bf-or[b-9l620x0wvw]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--rh-border-strong);
}

.bf-isbn-row[b-9l620x0wvw] {
    display: flex;
    gap: 10px;
}

.bf-isbn-row .rh-input[b-9l620x0wvw] { flex: 1; min-width: 0; }

.bf-isbn-go[b-9l620x0wvw] {
    height: 52px;
    min-width: 92px;
    gap: 8px;
    padding: 0 18px;
}

.bf-isbn-go[b-9l620x0wvw]  .bf-spin { width: 16px; height: 16px; }

.bf-isbn-hint[b-9l620x0wvw] {
    margin: 10px 0 0;
    font-size: 0.88rem;
    line-height: 1.45;
    color: var(--rh-text-muted);
}

.bf-manual-toggle[b-9l620x0wvw] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 20px;
    padding: 18px 20px;
    border: 1px solid var(--rh-border-strong);
    border-radius: 12px;
    background: var(--rh-surface);
    color: var(--rh-text);
    font: inherit;
    font-size: 1rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
}

.bf-manual-toggle:hover[b-9l620x0wvw] { border-color: var(--rh-primary); }
.bf-manual-toggle:focus-visible[b-9l620x0wvw] { outline: 2px solid var(--rh-primary); outline-offset: 2px; }
.bf-manual-link[b-9l620x0wvw] { color: var(--rh-primary); font-weight: 600; }
.bf-manual-open[b-9l620x0wvw] { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }

.bf-manual-body[b-9l620x0wvw] {
    padding: 24px 20px 4px;
    border: 1px solid var(--rh-border-strong);
    border-top: none;
    border-radius: 0 0 12px 12px;
}

.bf-manual-body .rh-dlg-section:last-child[b-9l620x0wvw] { margin-bottom: 20px; }

/* ── Pasul 2: banner rezultat ── */
.bf-banner[b-9l620x0wvw] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    padding: 16px 20px;
    border-radius: 14px;
    font-size: 1rem;
    line-height: 1.45;
}

.bf-banner-ok[b-9l620x0wvw]   { background: var(--rh-primary-subtle); color: var(--rh-on-primary-subtle); }
.bf-banner-miss[b-9l620x0wvw] { background: var(--rh-warning-subtle); color: var(--rh-warning-text); }
.bf-banner-text[b-9l620x0wvw] { flex: 1; min-width: 0; }
.bf-banner-text strong[b-9l620x0wvw] { font-weight: 700; }

.bf-banner-action[b-9l620x0wvw] {
    flex-shrink: 0;
    padding: 6px 4px;
    border: none;
    background: none;
    color: var(--rh-primary);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.bf-banner-action:hover[b-9l620x0wvw] { text-decoration: underline; text-underline-offset: 3px; }
.bf-banner-action:focus-visible[b-9l620x0wvw] { outline: 2px solid var(--rh-primary); outline-offset: 2px; border-radius: 4px; }

/* Eticheta „completat automat”: ce trebuie verificat */
.bf-auto[b-9l620x0wvw] {
    display: inline-block;
    margin-left: 10px;
    padding: 2px 10px;
    border-radius: 999px;
    background: var(--rh-primary-subtle);
    color: var(--rh-on-primary-subtle);
    font-size: 0.78rem;
    font-weight: 600;
    vertical-align: 1px;
}

.bf-barcode-icon[b-9l620x0wvw] { flex-shrink: 0; }
.bf-next-label[b-9l620x0wvw] { margin-left: 8px; }

/* ── Scaner ── */
.bf-scanner[b-9l620x0wvw] {
    position: relative;
    background: #000;
}

.bf-scanner-video[b-9l620x0wvw] {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* Ghidajul: banda din mijloc, aceeași pe care o citește ZXing */
.bf-scanner-guide[b-9l620x0wvw] {
    position: absolute;
    left: 10%;
    right: 10%;
    top: 30%;
    bottom: 30%;
    border: 3px solid rgba(255, 255, 255, 0.9);
    border-radius: 12px;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.35);
    pointer-events: none;
}

.bf-scanner-error[b-9l620x0wvw] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    color: #fff;
    text-align: center;
    line-height: 1.5;
}

.bf-scanner-hint[b-9l620x0wvw] {
    margin: 0;
    padding: 14px 18px 18px;
    font-size: 0.95rem;
    line-height: 1.45;
    color: var(--rh-text-muted);
    text-align: center;
}

@media (max-width: 599.98px) {
    .bf-scan[b-9l620x0wvw] { padding: 18px; }
    .bf-manual-body[b-9l620x0wvw] { padding: 20px 14px 4px; }
    .bf-banner[b-9l620x0wvw] { flex-wrap: wrap; padding: 14px 16px; }
    .bf-banner-action[b-9l620x0wvw] { margin-left: 30px; }
    .bf-scanner-video[b-9l620x0wvw] { aspect-ratio: 3 / 4; }
    .bf-scanner-guide[b-9l620x0wvw] { top: 38%; bottom: 38%; left: 6%; right: 6%; }
}
/* /Components/Shared/BookGroupVisibilityDialog.razor.rz.scp.css */
.vis-subtitle[b-w2w5i3i8o8] {
    margin: 0 0 24px;
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--rh-text-muted);
}

.vis-tools[b-w2w5i3i8o8] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.vis-search[b-w2w5i3i8o8] {
    flex: 1 1 240px;
    max-width: none;
}

.vis-seg[b-w2w5i3i8o8] {
    flex: 0 1 auto;
}

.vis-summary[b-w2w5i3i8o8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin: 24px 0 8px;
    color: var(--rh-text-muted);
}

.vis-bulk[b-w2w5i3i8o8] {
    display: flex;
    gap: 24px;
}

.vis-link[b-w2w5i3i8o8] {
    padding: 4px 0;
    border: none;
    background: none;
    font: inherit;
    font-weight: 600;
    color: var(--rh-primary);
    cursor: pointer;
}

.vis-link:hover:not(:disabled)[b-w2w5i3i8o8] { text-decoration: underline; text-underline-offset: 3px; }
.vis-link:disabled[b-w2w5i3i8o8] { opacity: 0.4; cursor: default; }
.vis-link:focus-visible[b-w2w5i3i8o8] { outline: 2px solid var(--rh-primary); outline-offset: 2px; border-radius: 4px; }

.vis-list[b-w2w5i3i8o8] {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: min(52vh, 560px);
    overflow-y: auto;
}

.vis-row[b-w2w5i3i8o8] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 4px;
    border-bottom: 1px solid var(--rh-border);
}

.vis-row:last-child[b-w2w5i3i8o8] { border-bottom: none; }

.vis-row[b-w2w5i3i8o8]  .vis-cover {
    width: 34px;
}

.vis-text[b-w2w5i3i8o8] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    cursor: pointer;
}

.vis-title[b-w2w5i3i8o8] {
    font-weight: 600;
    color: var(--rh-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vis-author[b-w2w5i3i8o8] {
    font-size: 0.9rem;
    color: var(--rh-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vis-toggle[b-w2w5i3i8o8] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

/* Comutator nativ (checkbox role="switch"), desenat */
.vis-switch[b-w2w5i3i8o8] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    width: 48px;
    height: 26px;
    margin: 0;
    border-radius: 13px;
    background: var(--rh-text-muted);
    opacity: 0.75;
    cursor: pointer;
    transition: background 0.15s, opacity 0.15s;
}

.vis-switch[b-w2w5i3i8o8]::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    transition: transform 0.15s;
}

.vis-switch:checked[b-w2w5i3i8o8] {
    background: var(--rh-primary);
    opacity: 1;
}

.vis-switch:checked[b-w2w5i3i8o8]::after {
    transform: translateX(22px);
}

.vis-switch:focus-visible[b-w2w5i3i8o8] {
    outline: 2px solid var(--rh-primary);
    outline-offset: 3px;
}

.vis-switch:disabled[b-w2w5i3i8o8] {
    cursor: progress;
    opacity: 0.5;
}

.vis-state[b-w2w5i3i8o8] {
    width: 72px;
    font-size: 0.92rem;
    color: var(--rh-text-muted);
}

.vis-state-on[b-w2w5i3i8o8] {
    font-weight: 600;
    color: var(--rh-primary);
}

.vis-saved[b-w2w5i3i8o8] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.vis-empty[b-w2w5i3i8o8] {
    color: var(--rh-text-muted);
}

@media (max-width: 599.98px) {
    .vis-seg[b-w2w5i3i8o8] { flex-basis: 100%; grid-template-columns: repeat(3, 1fr); grid-auto-flow: column; }
    .vis-state[b-w2w5i3i8o8] { display: none; }
    .vis-bulk[b-w2w5i3i8o8] { gap: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .vis-switch[b-w2w5i3i8o8], .vis-switch[b-w2w5i3i8o8]::after { transition: none; }
}
/* /Components/Shared/GroupVisibilityChips.razor.rz.scp.css */
.gvc-list[b-7ssq73ddri] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gvc-chip[b-7ssq73ddri] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    padding: 0 20px;
    border: 1px solid var(--rh-border-strong);
    border-radius: 999px;
    background: var(--rh-surface);
    color: var(--rh-text);
    font: inherit;
    font-size: 0.98rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.gvc-chip:hover[b-7ssq73ddri] {
    border-color: var(--rh-primary);
}

.gvc-on[b-7ssq73ddri] {
    padding-left: 16px;
    border-color: var(--rh-primary-dark);
    background: var(--rh-primary-dark);
    color: #F6F2EA;
}

.gvc-on:hover[b-7ssq73ddri] {
    border-color: var(--rh-primary-dark);
}

.gvc-chip:focus-visible[b-7ssq73ddri] {
    outline: 2px solid var(--rh-primary);
    outline-offset: 2px;
}

.gvc-hint[b-7ssq73ddri] {
    margin: 12px 0 0;
    font-size: 0.92rem;
    color: var(--rh-text-muted);
}

/* Scoped CSS pune atributul doar pe .gvc-on, deci selectorul pe <html> funcționează */
html[data-theme="dark"] .gvc-on[b-7ssq73ddri] {
    border-color: var(--rh-primary);
    background: var(--rh-primary);
    color: #10201D;
}
/* /Components/Shared/InitialTile.razor.rz.scp.css */
.it-root[b-9nbl8f89yc] {
    width: var(--it-size);
    height: var(--it-size);
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: calc(var(--it-size) * 0.22);
    background: var(--rh-cover-face);
    color: var(--rh-cover-ink);
    font-family: var(--rh-font-display);
    font-size: calc(var(--it-size) * 0.46);
    font-weight: 800;
    line-height: 1;
    user-select: none;
}

.it-round[b-9nbl8f89yc] {
    border-radius: 50%;
    font-family: var(--rh-font-sans);
    font-size: calc(var(--it-size) * 0.36);
    font-weight: 700;
}
/* /Components/Shared/JoinGroupDialog.razor.rz.scp.css */
.jg-subtitle[b-vdiua7xhwb] {
    margin: 0 0 28px;
    font-size: 1.05rem;
    color: var(--rh-text-muted);
}

/* Căsuțele sunt desenate; câmpul real stă peste ele, transparent */
.jg-code[b-vdiua7xhwb] {
    position: relative;
    display: inline-grid;
    grid-template-columns: repeat(8, 44px);
    gap: 8px;
}

.jg-input[b-vdiua7xhwb] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    border: none;
    font-size: 16px;           /* peste 16px iOS nu mai face zoom la focus */
    color: transparent;
    caret-color: transparent;
    cursor: text;
    z-index: 1;
}

.jg-box[b-vdiua7xhwb] {
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rh-border-strong);
    border-radius: 10px;
    background: var(--rh-surface);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--rh-text);
}

/* Căsuța următoare e evidențiată doar cât câmpul are focus */
.jg-input:focus ~ .jg-box-active[b-vdiua7xhwb] {
    border: 2px solid var(--rh-primary);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--rh-primary) 14%, transparent);
}

.jg-hint[b-vdiua7xhwb],
.jg-error[b-vdiua7xhwb] {
    margin: 12px 0 0;
    font-size: 0.95rem;
    color: var(--rh-text-muted);
}

.jg-error[b-vdiua7xhwb] {
    color: var(--rh-error);
}

.jg-create[b-vdiua7xhwb] {
    margin-right: auto;
    padding: 8px 2px;
    border: none;
    background: none;
    font: inherit;
    font-size: 0.98rem;
    font-weight: 600;
    color: var(--rh-primary);
    cursor: pointer;
}

.jg-create:hover[b-vdiua7xhwb] { text-decoration: underline; text-underline-offset: 3px; }
.jg-create:focus-visible[b-vdiua7xhwb] { outline: 2px solid var(--rh-primary); outline-offset: 2px; border-radius: 4px; }

@media (max-width: 599.98px) {
    .jg-code[b-vdiua7xhwb] { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 5px; width: 100%; }
    .jg-box[b-vdiua7xhwb] { height: 48px; font-size: 1.15rem; }
    .jg-create[b-vdiua7xhwb] { width: 100%; text-align: left; }
}
/* /Components/Shared/ShareBooksDialog.razor.rz.scp.css */
.sb-text[b-tlr7o0e0a7] {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.55;
    color: var(--rh-text);
}

.sb-count[b-tlr7o0e0a7] {
    margin: 16px 0 0;
    font-weight: 600;
    color: var(--rh-text);
}

.sb-hint[b-tlr7o0e0a7] {
    margin: 16px 0 0;
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--rh-text-muted);
}
/* /Components/Shared/UserBadge.razor.rz.scp.css */
.ub-root[b-bdsjjkz427] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.ub-img[b-bdsjjkz427] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ub-text[b-bdsjjkz427] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ub-line[b-bdsjjkz427] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}

.ub-name[b-bdsjjkz427] {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--rh-text);
    overflow-wrap: anywhere;
}

.ub-dense .ub-name[b-bdsjjkz427] {
    font-size: 0.82rem;
}

.ub-star[b-bdsjjkz427] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #F59E0B;
    white-space: nowrap;
}

.ub-count[b-bdsjjkz427] {
    color: var(--rh-text-muted);
    font-weight: 500;
}

.ub-role[b-bdsjjkz427] {
    font-size: 0.72rem;
    color: var(--rh-text-muted);
}

/* Discriminatorul e o notă de subsol, nu o informaţie de contact: rămâne discret. */
.ub-disc[b-bdsjjkz427] {
    font-size: 0.72rem;
    color: var(--rh-text-muted);
    overflow-wrap: anywhere;
}

.ub-clickable[b-bdsjjkz427] {
    cursor: pointer;
    border-radius: 8px;
    margin: -2px -4px;
    padding: 2px 4px;
    transition: background 0.15s;
}

.ub-clickable:hover[b-bdsjjkz427],
.ub-clickable:focus-visible[b-bdsjjkz427] {
    background: var(--mud-palette-action-hover);
    outline: none;
}

.ub-clickable:focus-visible[b-bdsjjkz427] {
    box-shadow: 0 0 0 2px var(--rh-primary);
}

.ub-clickable .ub-name[b-bdsjjkz427] {
    text-decoration: underline;
    text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
    text-underline-offset: 3px;
    transition: text-decoration-color 0.15s;
}

.ub-clickable:hover .ub-name[b-bdsjjkz427] {
    text-decoration-color: currentColor;
}
