h1:focus { outline: none; }
.row-actions {
    display: inline-flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}
.attendance-overview-table .num-cell {
    text-align: right;
    white-space: nowrap;
}
.attendance-overview-table thead th.num-cell {
    text-align: right;
}
.attendance-overview-card .attendance-overview-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.4rem;
    margin-top: 0.55rem;
}
.attendance-overview-card .attendance-overview-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 0.55rem 0.4rem;
    background: rgba(15, 23, 42, 0.04);
    border-radius: 12px;
}
.attendance-overview-card .attendance-overview-stat small {
    color: #475569;
    font-size: 0.78rem;
}
.member-context-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
    margin-top: 0.65rem;
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.10);
    color: #1e3a8a;
    font-size: 0.92rem;
    border: 1px solid rgba(37, 99, 235, 0.22);
}
.member-context-pill__label {
    color: #1e3a8a;
    opacity: 0.8;
    font-weight: 500;
}
.member-context-pill__email {
    color: #475569;
    font-size: 0.85rem;
}
.is-flash-highlight {
    animation: ac-flash-highlight 1.7s ease-out 1;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.55), 0 12px 28px rgba(37, 99, 235, 0.18);
    border-radius: 12px;
    transition: box-shadow .3s ease;
}
@keyframes ac-flash-highlight {
    0%   { background-color: rgba(37, 99, 235, 0.18); }
    35%  { background-color: rgba(37, 99, 235, 0.10); }
    100% { background-color: transparent; }
}
.message-info {
    background: #eff6ff;
    color: #1e3a8a;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    padding: 0.85rem 1rem;
    margin: 0.85rem 0;
}
.valid.modified:not([type=checkbox]) { outline: 1px solid #26b050; }
.invalid { outline: 1px solid #e50000; }
.validation-message { color: #e50000; }
.blazor-error-boundary { background: #b32121; padding: 1rem 1rem 1rem 3.7rem; color: white; }
.blazor-error-boundary::after { content: "An error has occurred." }
.darker-border-checkbox.form-check-input { border-color: #929292; }
.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder { color: var(--bs-secondary-color); text-align: end; }
.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder { text-align: start; }
body { font-family: "Segoe UI", Arial, sans-serif; background: linear-gradient(180deg, #eef2ff 0%, #f8fafc 18%, #f3f4f6 100%); color: #111827; }
h1 { margin-top: 0; margin-bottom: 1rem; font-size: 2.2rem; line-height: 1.1; }
h3 { margin-top: 0; }
.form-control { width: 100%; min-height: 40px; padding: 0.6rem 0.75rem; border: 1px solid #d1d5db; border-radius: 12px; box-sizing: border-box; font: inherit; background: white; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.form-control:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.12); transform: translateY(-1px); }
.btn { display: inline-block; border: none; border-radius: 12px; padding: 0.72rem 1rem; font: inherit; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, opacity .18s ease; }
.btn:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(15,23,42,.08); }
.btn:disabled { opacity: .6; cursor: not-allowed; box-shadow: none; transform: none; }
.btn-primary { background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); color: white; }
.btn-primary:hover { background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%); }
.btn-secondary { background: white; color: #1f2937; border: 1px solid #d1d5db; }
.btn-secondary:hover { background: #f8fafc; }
.btn-danger { background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%); color: white; }
.btn-danger:hover { background: linear-gradient(135deg, #b91c1c 0%, #7f1d1d 100%); }
.message-error, .message-success { border-radius: 14px; padding: 0.85rem 1rem; margin-bottom: 1rem; box-shadow: 0 8px 22px rgba(15,23,42,.05); }
.message-error { color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; }
.message-success { color: #166534; background: #f0fdf4; border: 1px solid #bbf7d0; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { text-align: left; padding: 0.78rem 0.65rem; border-bottom: 1px solid #e5e7eb; vertical-align: top; }
.data-table th { color: #374151; font-weight: 700; background: #f8fafc; }
.data-table tbody tr { transition: background-color .16s ease, transform .16s ease; }
.data-table tbody tr:hover { background: #f9fafb; }
.compact-table th, .compact-table td { font-size: .92rem; padding: .55rem .5rem; }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(240px, 1fr)); gap: 1rem; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 1rem; }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(180px, 1fr)); gap: 1rem; }
@media (max-width: 1100px) { .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr; } }
.badge { display: inline-block; padding: 0.35rem 0.65rem; border-radius: 999px; font-size: 0.82rem; font-weight: 600; }
.badge-blue { background: #dbeafe; color: #1d4ed8; }
.badge-green { background: #dcfce7; color: #15803d; }
.badge-red { background: #fee2e2; color: #b91c1c; }
.badge-yellow { background: #fef3c7; color: #b45309; }
.badge-gray { background: #e5e7eb; color: #374151; }
.page-hero { display:flex; justify-content:space-between; gap:1.5rem; align-items:flex-end; margin-bottom:1.5rem; padding:1.35rem 1.5rem; border-radius:24px; background: radial-gradient(circle at top left, rgba(37,99,235,.12), transparent 45%), linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.82)); border: 1px solid rgba(148,163,184,.18); box-shadow: 0 18px 45px rgba(15,23,42,.08); }
.page-subtitle { margin:0; color:#475569; max-width:780px; line-height:1.55; }
.eyebrow { display:inline-block; margin-bottom:.55rem; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; color:#2563eb; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
.quick-access-grid { gap: 1rem; }
.quick-link-card { text-align:left; border:1px solid #e5e7eb; background: linear-gradient(180deg,#ffffff,#f8fafc); border-radius:18px; padding:1rem 1.1rem; cursor:pointer; box-shadow:0 8px 24px rgba(15,23,42,.05); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.quick-link-card:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(15,23,42,.08); border-color:#bfdbfe; }
.quick-link-card strong { display:block; margin-bottom:.35rem; }
.quick-link-card span { color:#64748b; }
.dashboard-stack { margin-bottom:1.25rem; }
.dashboard-context-grid { display:grid; gap:.5rem; }

.message-warning { color: #9a6700; background: #fffbeb; border: 1px solid #fde68a; border-radius: 14px; padding: 0.85rem 1rem; margin-bottom: 1rem; box-shadow: 0 8px 22px rgba(15,23,42,.05); }
.danger-page-shell { display:flex; flex-direction:column; gap:1rem; padding:clamp(1rem,2vw,2rem); }
.danger-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; border:1px solid #fecaca; border-radius:24px; padding:1.4rem; background:linear-gradient(180deg,#fff7f7,#fff); box-shadow:0 18px 45px rgba(127,29,29,.08); }
.danger-hero h1 { margin:.2rem 0 .7rem; color:#7f1d1d; }
.danger-hero p { max-width:900px; color:#4b5563; line-height:1.6; margin:0; }
.danger-confirm-card { border:1px solid #fecaca; border-radius:22px; padding:1.25rem; background:#fff; }
.danger-confirm-card h2 { margin-top:0; color:#111827; }
.danger-input-block { display:flex; flex-direction:column; gap:.45rem; margin:1rem 0; }
.danger-input-block small { color:#64748b; }
.danger-main-action { width:100%; min-height:56px; font-weight:800; }
@media (max-width: 760px) { .danger-hero { flex-direction:column; } .danger-hero .btn { width:100%; min-height:52px; } }
.initialization-card-grid { display:grid; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap:1rem; margin-bottom:1.25rem; }
.initialization-card { height:100%; }
.initialization-meta-row { display:flex; justify-content:space-between; gap:.75rem; align-items:center; margin-bottom:.85rem; flex-wrap:wrap; }
.initialization-scope { color:#64748b; font-size:.9rem; font-weight:600; }
.initialization-description { margin:0 0 1rem 0; color:#475569; line-height:1.55; }
.initialization-progress-row { display:flex; align-items:baseline; gap:.4rem; margin-bottom:1rem; color:#475569; }
.initialization-progress-row strong { font-size:1.5rem; color:#0f172a; }
.initialization-actions { margin-top:auto; display:flex; flex-wrap:wrap; gap:.75rem; }
.initialization-list { display:flex; flex-direction:column; gap:.85rem; }
.initialization-list-row { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1rem 1.1rem; border-radius:18px; background:linear-gradient(180deg,#ffffff,#f8fafc); border:1px solid rgba(148,163,184,.18); box-shadow:0 10px 28px rgba(15,23,42,.05); }
.initialization-list-description { margin-top:.3rem; color:#64748b; }
.initialization-list-actions { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; justify-content:flex-end; }
@media (max-width: 1100px) { .initialization-card-grid { grid-template-columns:1fr; } .initialization-list-row { flex-direction:column; align-items:flex-start; } .initialization-list-actions { justify-content:flex-start; } }
.print-page-shell { max-width: 980px; margin: 0 auto; padding: 1rem; }
.print-toolbar { display:flex; gap:.75rem; justify-content:flex-end; margin-bottom:1rem; }
.receipt-print-card, .report-print-card { background:#fff; border-radius:20px; border:1px solid #e5e7eb; box-shadow: 0 18px 45px rgba(15,23,42,.08); padding:1.5rem; }
.receipt-header { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:1.25rem; border-bottom:1px solid #e5e7eb; padding-bottom:1rem; }
.receipt-number { color:#475569; font-weight:600; }
.receipt-amount { font-size:2rem; font-weight:800; color:#1d4ed8; white-space:nowrap; }
.receipt-grid, .report-print-stats { display:grid; grid-template-columns: repeat(2, minmax(240px, 1fr)); gap:.9rem 1.2rem; margin-bottom:1rem; }
.receipt-grid div, .report-print-stats div { display:flex; flex-direction:column; gap:.2rem; padding:.8rem .9rem; border-radius:14px; background:#f8fafc; }
.receipt-purpose { border-radius:16px; background:#f8fafc; padding:1rem; margin-bottom:1rem; }
.receipt-purpose p { margin:.5rem 0 0 0; white-space:pre-wrap; }
.receipt-footer { display:flex; justify-content:space-between; gap:1rem; color:#64748b; font-size:.92rem; border-top:1px solid #e5e7eb; padding-top:1rem; }
.animate-in { animation: fadeSlideIn .45s ease both; }
.delay-1 { animation-delay: .05s; }
.delay-2 { animation-delay: .12s; }
.delay-3 { animation-delay: .18s; }
@keyframes fadeSlideIn { from { opacity:0; transform: translateY(10px); } to { opacity:1; transform: translateY(0); } }
@media (max-width: 900px) { .page-hero, .receipt-header, .receipt-footer { flex-direction:column; align-items:flex-start; } .receipt-grid, .report-print-stats { grid-template-columns:1fr; } }
@media print { body { background:#fff !important; } .no-print, .sidebar, #blazor-error-ui { display:none !important; } .main-content { padding:0 !important; } .page-hero { display:none !important; } .receipt-print-card, .report-print-card { box-shadow:none; border:none; padding:0; } }
.field-help-text { margin-top:.35rem; color:#64748b; font-size:.9rem; }

#blazor-error-ui { display:none; position:fixed; bottom:1rem; left:50%; transform:translateX(-50%); background:#fff1f2; color:#991b1b; border:1px solid #fecdd3; padding:.85rem 1rem; border-radius:14px; box-shadow:0 16px 35px rgba(15,23,42,.12); z-index:5000; }
#blazor-error-ui .dismiss { cursor:pointer; margin-left:.5rem; }
.member-lookup-field { position:relative; }
.lookup-suggestions { position:absolute; z-index:60; left:0; right:0; margin-top:.35rem; background:#fff; border:1px solid #d1d5db; border-radius:14px; box-shadow:0 14px 30px rgba(15,23,42,.12); max-height:280px; overflow:auto; padding:.35rem; }
.lookup-suggestion-item { width:100%; text-align:left; border:none; background:transparent; border-radius:10px; padding:.7rem .75rem; cursor:pointer; display:flex; flex-direction:column; gap:.1rem; }
.lookup-suggestion-item:hover { background:#f8fafc; }
.lookup-suggestion-item span { color:#64748b; font-size:.9rem; }
.inline-checkbox-label { display:flex; align-items:center; gap:.6rem; font-weight:600; }


.section-intro { display:flex; flex-direction:column; gap:.28rem; margin-bottom:1rem; color:#475569; }
.section-intro strong { color:#111827; }
.section-actions { margin-top:1rem; display:flex; gap:.75rem; flex-wrap:wrap; }
.filter-shell { padding:1rem; border-radius:18px; background: linear-gradient(180deg, #f8fafc, #ffffff); border:1px solid #e5e7eb; box-shadow: inset 0 1px 0 rgba(255,255,255,.55); }
.empty-state-block { display:flex; flex-direction:column; gap:.35rem; padding:1rem 1.1rem; border-radius:18px; background:#f8fafc; border:1px dashed #cbd5e1; color:#475569; }
.modern-table { border-spacing:0; overflow:hidden; border-radius:18px; }
.modern-table th:first-child { border-top-left-radius:16px; }
.modern-table th:last-child { border-top-right-radius:16px; }
.record-title { font-weight:700; color:#0f172a; }
.record-subtitle { color:#64748b; font-size:.92rem; }
.inline-action-link { color:#1d4ed8; text-decoration:none; font-weight:600; }
.inline-action-link:hover { text-decoration:underline; }
.record-grid { display:grid; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap:1rem; }
.record-list-card { display:flex; flex-direction:column; gap:.8rem; padding:1rem 1.05rem; border-radius:20px; background:linear-gradient(180deg,#ffffff,#f8fafc); border:1px solid rgba(148,163,184,.18); box-shadow:0 10px 28px rgba(15,23,42,.06); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.record-list-card:hover { transform:translateY(-2px); box-shadow:0 18px 36px rgba(15,23,42,.08); border-color:#bfdbfe; }
.clickable-card { cursor:pointer; touch-action:pan-y; user-select:none; }
.clickable-card:focus-visible,
.selectable-row:focus-visible { outline:3px solid rgba(37,99,235,.35); outline-offset:3px; }
.clickable-card:active { transform:translateY(0); box-shadow:0 8px 20px rgba(15,23,42,.08); }
.selectable-row { cursor:pointer; touch-action:pan-y; }
.data-table tbody tr.selectable-row:hover { background:#eef6ff; }
.data-table tbody tr.selectable-row:active { background:#e0efff; }
.attendance-matrix-shell { overflow-x:auto; border:1px solid #e5e7eb; border-radius:14px; background:white; }
.attendance-matrix-table { min-width:820px; }
.attendance-matrix-table thead th { position:sticky; top:0; z-index:2; }
.attendance-matrix-table th:first-child,
.attendance-matrix-table .sticky-member-cell { position:sticky; left:0; z-index:3; background:#fff; box-shadow:8px 0 16px rgba(15,23,42,.05); }
.record-card-top { display:flex; justify-content:space-between; gap:.75rem; align-items:center; }
.record-meta-stack { display:flex; flex-direction:column; gap:.45rem; color:#475569; }
.record-card-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:auto; }
.detail-grid { display:grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap:1rem; }
.detail-pill { display:flex; flex-direction:column; gap:.25rem; padding:1rem; border-radius:18px; background:linear-gradient(180deg,#ffffff,#f8fafc); border:1px solid #e5e7eb; }
.detail-pill strong { color:#475569; font-size:.88rem; }
.detail-pill span { color:#111827; font-weight:600; }
.detail-pill-wide { grid-column:1 / -1; }
.event-list-card .record-title, .document-card .record-title { font-size:1.08rem; }
.hero-actions .btn { white-space:nowrap; }
@media (max-width: 1100px) { .record-grid, .detail-grid { grid-template-columns:1fr; } }

.sidebar-link,
.sidebar-link:link,
.sidebar-link:visited,
.sidebar-link:hover,
.sidebar-link:focus,
.sidebar-link:active {
    text-decoration: none !important;
}

/* Global link reset scoped to sidebar — backup pentru ::deep */
.sidebar-shell a,
.sidebar-shell a:link,
.sidebar-shell a:visited,
.sidebar-shell a:hover,
.sidebar-shell a:active {
    text-decoration: none;
    color: inherit;
}


.responsive-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.table-scroll-hint {
    display: none;
}

@media (max-width: 900px) {
    body {
        background: linear-gradient(180deg, #eef2ff 0%, #f8fafc 14%, #f3f4f6 100%);
    }

    h1 {
        font-size: 1.8rem;
        line-height: 1.08;
        margin-bottom: 0.85rem;
    }

    .form-control {
        min-height: 44px;
        font-size: 16px;
        padding: 0.72rem 0.85rem;
    }

    .btn {
        min-height: 44px;
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .page-hero {
        gap: 1rem;
        padding: 1.05rem 1rem;
        border-radius: 20px;
        margin-bottom: 1rem;
    }

    .page-subtitle {
        font-size: 0.95rem;
    }

    .hero-actions,
    .section-actions,
    .record-card-actions,
    .initialization-actions,
    .initialization-list-actions,
    .responsive-inline-actions {
        width: 100%;
        align-items: stretch;
    }

    .hero-actions > *,
    .section-actions > *,
    .record-card-actions > *,
    .initialization-actions > *,
    .initialization-list-actions > *,
    .responsive-inline-actions > * {
        flex: 1 1 100%;
    }

    .quick-link-card,
    .record-list-card,
    .empty-state-block,
    .filter-shell,
    .detail-pill,
    .initialization-list-row,
    .receipt-print-card,
    .report-print-card {
        border-radius: 16px;
    }

    .data-table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        padding-bottom: 0.2rem;
    }

    .data-table th,
    .data-table td {
        white-space: nowrap;
        padding: 0.72rem 0.6rem;
    }

    .table-scroll-hint {
        display: block;
        margin-bottom: 0.65rem;
        color: #64748b;
        font-size: 0.86rem;
    }

    .receipt-amount {
        font-size: 1.65rem;
    }

    .record-card-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .lookup-suggestions {
        max-height: 220px;
    }
}


.desktop-table-view {
    display: block;
}

.mobile-record-list {
    display: none;
}

.responsive-record-card {
    min-width: 0;
}

.responsive-record-card--selected {
    border-color: #93c5fd;
    box-shadow: 0 18px 36px rgba(37, 99, 235, 0.12);
    background: linear-gradient(180deg, #ffffff, #eff6ff);
}

.record-inline-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.record-meta-pair {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.record-meta-pair strong {
    color: #475569;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.operations-status-shell,
.operations-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap: 1rem;
}

.operations-status-shell {
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    margin-bottom: 1rem;
}

.operations-status-card,
.operations-action-card,
.reports-period-chip {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 1rem 1.05rem;
    border-radius: 20px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.operations-status-card strong,
.operations-action-card strong,
.reports-period-chip strong {
    color: #111827;
}

.operations-status-card--action {
    justify-content: space-between;
}

.operations-action-card p {
    margin: 0;
    color: #475569;
}

.reports-period-shell {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-bottom: 1rem;
}

.reports-period-chip {
    min-width: 220px;
    flex: 1 1 220px;
}

.reports-period-chip span {
    color: #475569;
}

@media (max-width: 900px) {
    .desktop-table-view {
        display: none;
    }

    .mobile-record-list {
        display: grid;
        gap: 0.85rem;
    }

    .record-inline-badges {
        align-items: flex-start;
    }

    .operations-status-shell,
    .operations-action-grid {
        grid-template-columns: 1fr;
    }

    .operations-status-card,
    .operations-action-card,
    .reports-period-chip {
        border-radius: 16px;
        padding: 0.95rem 1rem;
    }
}


.page-card__subtitle {
    margin: 0.4rem 0 0;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #475569;
}

/* ---------- Surface / stats / table polish ---------- */
.hero-panel {
    display:flex;
    justify-content:space-between;
    gap:1.5rem;
    align-items:flex-end;
    margin-bottom:1.5rem;
    padding:1.35rem 1.5rem;
    border-radius:24px;
    background: radial-gradient(circle at top left, rgba(37,99,235,.12), transparent 45%), linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.82));
    border: 1px solid rgba(148,163,184,.18);
    box-shadow: 0 18px 45px rgba(15,23,42,.08);
}

.soft-animate {
    animation: fadeSlideIn .45s ease both;
}

.surface-grid {
    margin-bottom: 1.5rem;
}

.hero-kicker {
    margin: 0 0 .35rem 0;
    color: #334155;
    font-size: 1.02rem;
    font-weight: 600;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 1rem;
}

.stat-card {
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    border: 1px solid rgba(148,163,184,.18);
    border-radius: 20px;
    padding: 1rem 1.1rem;
    box-shadow: 0 10px 28px rgba(15,23,42,.05);
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.stat-label {
    font-size: 0.9rem;
    color: #6b7280;
}

.stat-value {
    font-size: 1.7rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
}

.stat-help {
    font-size: 0.86rem;
    color: #64748b;
}

.table-shell {
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}

.table-responsive {
    overflow-x: auto;
}

.muted-text {
    color: #64748b;
    font-size: .92rem;
}

.compact-list {
    margin: 0;
    padding-left: 1rem;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    color: #475569;
}

.segmented-control {
    display: inline-flex;
    gap: .5rem;
    padding: .35rem;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    flex-wrap: wrap;
}

.segmented-control .btn {
    min-width: 0;
    box-shadow: none;
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    padding: 1rem;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    border: 1px solid rgba(148,163,184,.18);
}

.record-grid--single {
    grid-template-columns: 1fr;
}

@media (max-width: 1200px) {
    .stats-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
}

@media (max-width: 900px) {
    .hero-panel {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        padding: 1.05rem 1rem;
        border-radius: 20px;
        margin-bottom: 1rem;
    }

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .segmented-control {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
    }

    .segmented-control .btn {
        width: 100%;
    }
}

