:root {
    --bg: #edf0ea;
    --bg-soft: #e0e5db;
    --surface: rgba(254, 252, 249, 0.82);
    --surface-strong: #fefcf9;
    --stroke: rgba(38, 59, 59, 0.13);
    --text: #1c2f2f;
    --text-muted: rgba(38, 59, 59, 0.66);
    --brand: #263b3b;
    --brand-strong: #1a2a2a;
    --brand-soft: #658e8b;
    --accent: #658e8b;
    --accent-soft: #c7b9b6;
    --ink: #3f3239;
    --shadow: 0 24px 60px rgba(38, 59, 59, 0.14);
    --radius-xl: 32px;
    --radius-lg: 24px;
    --radius-md: 18px;
    --font-display: "Clash Display", "Panchang", "Arial Black", sans-serif;
    --font-body: "Lato", "Segoe UI", sans-serif;
}

/* Responsive workspace system 2026-06-28 */
[hidden],
[data-install-trigger][hidden],
.login-install-card[hidden],
.install-cta[hidden] {
    display: none !important;
}

.member-menu-toggle {
    display: none;
}

.panel-shell-nav {
    display: none;
}

.panel-view,
.panel-view > *,
.admin-shell,
.admin-sections,
.member-main,
.member-main__content {
    min-width: 0;
    max-width: 100%;
}

.admin-shell--pro {
    gap: 0.85rem;
}

.admin-shell--pro .panel-view.is-active {
    width: 100%;
}

.admin-shell--pro .dashboard-card,
.admin-shell--pro .token-card {
    overflow: hidden;
}

.admin-form-grid,
.admin-users-toolbar,
.admin-review-form,
.admin-actions-cell,
.admin-slot-toolbar,
.admin-request-card,
.admin-template-card,
.admin-slot-item {
    min-width: 0;
}

.admin-form-grid {
    gap: 0.72rem 0.8rem;
}

.admin-form-grid label,
.admin-users-toolbar label,
.admin-review-form label {
    min-width: 0;
    gap: 0.32rem;
}

.admin-form-grid label > span,
.admin-users-toolbar label > span,
.admin-review-form label > span {
    font-size: 0.8rem;
    font-weight: 750;
}

.admin-form-grid input,
.admin-form-grid select,
.admin-form-grid textarea,
.admin-users-toolbar input,
.admin-users-toolbar select,
.admin-review-form input,
.admin-review-form select,
.admin-review-form textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 2.7rem;
    padding: 0.65rem 0.78rem;
    border-radius: 0.82rem;
    font-size: 0.9rem;
}

.admin-form-grid textarea,
.admin-review-form textarea {
    min-height: 4.8rem;
    resize: vertical;
}

.admin-form-callout {
    padding: 0.78rem 0.86rem;
    border-radius: 0.9rem;
}

.admin-form-callout strong,
.admin-form-callout span,
.admin-request-card *,
.admin-template-card *,
.admin-slot-item * {
    overflow-wrap: anywhere;
}

.admin-request-card__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-actions-cell {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
}

.admin-actions-cell > *,
.admin-actions-cell .button,
.admin-user-reset-form--compact input {
    width: 100%;
    min-width: 0;
}

.admin-user-reset-form--compact {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.4rem;
}

.admin-table--pro td,
.admin-table--pro th {
    vertical-align: top;
}

.admin-table--pro td small {
    line-height: 1.35;
}

@media (max-width: 1080px) {
    .member-sidebar__nav {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .admin-hero-panel--identity {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    body.is-member-session,
    html {
        max-width: 100%;
        overflow-x: hidden;
    }

    .app-frame--member {
        width: 100%;
        padding: max(0.55rem, env(safe-area-inset-top)) 0.55rem max(0.7rem, env(safe-area-inset-bottom));
    }

    .member-app-shell {
        gap: 0.62rem;
    }

    .member-sidebar {
        position: relative !important;
        z-index: 40;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 0.55rem;
        padding: 0.62rem 0.68rem;
        border-radius: 1.05rem;
        overflow: visible;
    }

    .member-sidebar__brand {
        min-width: 0;
    }

    .member-sidebar__brand .brand__mark {
        width: 2.45rem;
        height: 2.45rem;
        border-radius: 0.78rem;
    }

    .member-sidebar__brand .brand__copy {
        min-width: 0;
    }

    .member-sidebar__brand .brand__copy strong {
        font-size: 1rem;
    }

    .member-sidebar__brand .brand__copy small {
        display: block;
        max-width: 12rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 0.72rem;
    }

    .member-menu-toggle {
        appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        min-height: 2.45rem;
        padding: 0.55rem 0.7rem;
        border: 1px solid rgba(255,255,255,0.18);
        border-radius: 0.78rem;
        background: rgba(255,255,255,0.12);
        color: #fff;
        font: inherit;
        font-size: 0.78rem;
        font-weight: 750;
    }

    .member-menu-toggle__icon {
        display: grid;
        gap: 0.18rem;
    }

    .member-menu-toggle__icon i {
        width: 0.92rem;
        height: 2px;
        border-radius: 99px;
        background: currentColor;
        transition: transform .18s ease, opacity .18s ease;
    }

    .member-menu-toggle.is-open .member-menu-toggle__icon i:nth-child(1) {
        transform: translateY(4px) rotate(45deg);
    }

    .member-menu-toggle.is-open .member-menu-toggle__icon i:nth-child(2) {
        opacity: 0;
    }

    .member-menu-toggle.is-open .member-menu-toggle__icon i:nth-child(3) {
        transform: translateY(-4px) rotate(-45deg);
    }

    .member-sidebar__nav {
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        top: calc(100% + 0.42rem);
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.38rem;
        padding: 0.55rem;
        border: 1px solid rgba(255,255,255,0.2);
        border-radius: 1rem;
        background: #1f3534;
        box-shadow: 0 18px 36px rgba(21, 43, 42, 0.28);
    }

    .member-sidebar__nav.is-open {
        display: grid;
    }

    .member-sidebar__nav a {
        min-height: 2.5rem;
        padding: 0.62rem 0.7rem;
        border-radius: 0.72rem;
        font-size: 0.82rem;
    }

    .member-sidebar__footer {
        display: flex;
    }

    .member-topbar-shell {
        min-width: 0;
        padding: 0.58rem 0.65rem;
        border-radius: 1rem;
    }

    .member-topbar-shell__intro {
        display: none !important;
    }

    .member-topbar-shell__actions {
        width: 100%;
        min-width: 0;
    }

    .member-date-chip {
        min-width: 0;
        min-height: 2.35rem;
        padding: 0.55rem 0.65rem;
        font-size: 0.76rem;
        white-space: normal;
        line-height: 1.2;
    }

    .member-topbar-shell__logout {
        flex: 0 0 auto;
        min-height: 2.35rem;
        padding: 0.55rem 0.7rem;
        font-size: 0.78rem;
    }

    .member-main__content {
        width: 100%;
        min-width: 0;
        overflow-x: clip;
    }

    .panel-shell-nav {
        display: none !important;
    }

    .dashboard-card,
    .token-card,
    .admin-shell--pro .dashboard-card,
    .admin-shell--pro .token-card {
        padding: 0.8rem;
        border-radius: 1rem;
    }

    .dashboard-card__head,
    .admin-section-headside,
    .admin-slot-toolbar,
    .admin-request-card__top,
    .admin-template-card__head,
    .admin-slot-item__head {
        align-items: stretch;
        flex-direction: column;
        gap: 0.52rem;
    }

    .admin-hero-copy h1 {
        max-width: 100%;
        font-size: clamp(1.5rem, 7vw, 1.95rem);
        line-height: 1.02;
    }

    .admin-hero-copy p {
        font-size: 0.83rem;
        line-height: 1.45;
    }

    .admin-hero-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.45rem;
    }

    .admin-hero-actions .button:last-child {
        display: none;
    }

    .admin-hero-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.4rem;
        padding: 0.42rem;
    }

    .admin-hero-panel--identity {
        grid-column: 1 / -1;
    }

    .admin-hero-panel {
        min-width: 0;
        padding: 0.58rem;
    }

    .admin-hero-panel strong {
        font-size: 1rem;
    }

    .admin-hero-panel small,
    .admin-hero-panel span {
        font-size: 0.7rem;
    }

    .form-grid--double,
    .admin-form-grid,
    .admin-review-form__row,
    .admin-users-toolbar,
    .admin-request-card__stats,
    .admin-report-kpi-grid,
    .admin-export-toolbar {
        grid-template-columns: 1fr !important;
    }

    .admin-form-grid {
        gap: 0.62rem;
    }

    .admin-form-grid input,
    .admin-form-grid select,
    .admin-form-grid textarea,
    .admin-users-toolbar input,
    .admin-users-toolbar select,
    .admin-review-form input,
    .admin-review-form textarea {
        min-height: 2.6rem;
        font-size: 16px;
    }

    .form-actions,
    .admin-review-form__actions,
    .admin-users-toolbar__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.45rem;
    }

    .form-actions .button,
    .admin-review-form__actions .button,
    .admin-users-toolbar__actions .button {
        width: 100%;
    }

    .admin-users-card .admin-summary-pills {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-table-shell {
        width: 100%;
        overflow: visible !important;
    }

    .admin-table--pro,
    .admin-table--users,
    .admin-table--report,
    .admin-table--journal,
    .admin-table--review,
    .admin-table--token {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .admin-table--pro thead {
        display: none !important;
    }

    .admin-table--pro tbody {
        display: grid !important;
        gap: 0.62rem;
    }

    .admin-table--pro tr {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem 0.7rem;
        width: 100%;
        padding: 0.75rem;
        border: 1px solid rgba(38,59,59,.1) !important;
        border-radius: 0.92rem;
        background: rgba(255,255,255,.82) !important;
    }

    .admin-table--pro td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        overflow-wrap: anywhere;
    }

    .admin-table--pro td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 0.18rem;
        color: var(--text-muted);
        font-size: 0.65rem;
        font-weight: 800;
        letter-spacing: 0.07em;
        text-transform: uppercase;
    }

    .admin-table--pro td:first-child,
    .admin-table--pro td[data-label="Acciones"],
    .admin-table--pro td[data-label="Detalle"],
    .admin-table--pro td[data-label="Seguimiento"] {
        grid-column: 1 / -1;
    }

    .admin-table--pro td strong {
        font-size: 0.86rem;
        line-height: 1.25;
    }

    .admin-table--pro td small {
        font-size: 0.73rem;
    }

    .admin-actions-cell {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-user-reset-form--compact {
        grid-template-columns: 1fr;
    }

    .admin-pagination {
        gap: 0.4rem;
        font-size: 0.78rem;
    }
}

@media (max-width: 420px) {
    .member-sidebar__brand .brand__copy small {
        display: none;
    }

    .member-menu-toggle {
        padding-inline: 0.58rem;
    }

    .admin-table--pro tr,
    .admin-hero-strip {
        grid-template-columns: 1fr !important;
    }

    .admin-hero-panel--identity {
        grid-column: auto;
    }
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-height: 100vh;
    font-family: var(--font-body);
    color: var(--text);
    background:
        radial-gradient(circle at top left, rgba(101, 142, 139, 0.55), transparent 34%),
        radial-gradient(circle at 90% 20%, rgba(101, 142, 139, 0.24), transparent 20%),
        linear-gradient(180deg, #f7f3ea 0%, #efebe0 48%, #e7e1d4 100%);
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select {
    font: inherit;
}

.page-aura {
    position: fixed;
    z-index: 0;
    width: 18rem;
    height: 18rem;
    border-radius: 999px;
    filter: blur(24px);
    opacity: 0.35;
    pointer-events: none;
}

.page-aura--left {
    top: 5rem;
    left: -6rem;
    background: rgba(101, 142, 139, 0.55);
}

.page-aura--right {
    top: 18rem;
    right: -6rem;
    background: rgba(101, 142, 139, 0.28);
}

.app-frame {
    position: relative;
    z-index: 1;
    width: min(100%, 1160px);
    margin: 0 auto;
    padding: 1.25rem 1rem 5rem;
}

.topbar,
.hero-actions,
.panel-card__heading,
.dashboard-card__head,
.token-card {
    display: flex;
    align-items: center;
}

.topbar {
    justify-content: space-between;
    gap: 1rem;
    padding: 0.4rem 0 1.25rem;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
}

.brand__mark {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-soft) 100%);
    color: white;
    font-family: var(--font-display);
    font-size: 1.3rem;
    box-shadow: var(--shadow);
}

.brand__copy {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.brand__copy strong {
    font-family: var(--font-display);
    font-weight: 600;
    letter-spacing: 0.02em;
}

.brand__copy small,
.hero-copy,
.feature-card p,
.panel-card p,
.auth-copy p,
.token-card p,
.card-note,
.floating-note span,
.hero-metrics span,
.phone-grid small,
.detail-list dt,
.agenda-list small {
    color: var(--text-muted);
}

.topnav {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem;
    border: 1px solid var(--stroke);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(20px);
}

.topnav a {
    padding: 0.7rem 1rem;
    border-radius: 999px;
    color: var(--text-muted);
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.topnav a:hover,
.topnav a.is-active,
.bottom-nav a.is-active {
    background: var(--brand);
    color: white;
    transform: translateY(-1px);
}

.hero-card,
.feature-card,
.panel-card,
.phone-card,
.auth-card,
.auth-copy,
.token-card,
.dashboard-card {
    border: 1px solid var(--stroke);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    backdrop-filter: blur(22px);
}

.hero-card {
    position: relative;
    overflow: hidden;
    padding: 2rem;
    border-radius: var(--radius-xl);
    background:
        radial-gradient(circle at top right, rgba(101, 142, 139, 0.18), transparent 28%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(244, 241, 232, 0.7));
}

.hero-card::after {
    content: "";
    position: absolute;
    right: -2rem;
    bottom: -4rem;
    width: 14rem;
    height: 14rem;
    border-radius: 40% 60% 50% 50%;
    background: linear-gradient(135deg, rgba(101, 142, 139, 0.18), rgba(38, 59, 59, 0.18));
    transform: rotate(-18deg);
}

.eyebrow,
.pill,
.status-badge,
.chip {
    display: inline-flex;
    border-radius: 999px;
    font-weight: 700;
}

.eyebrow {
    margin-bottom: 0.9rem;
    padding: 0.45rem 0.85rem;
    background: rgba(38, 59, 59, 0.08);
    color: var(--brand);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.72rem;
}

.eyebrow--dark {
    background: rgba(38, 59, 59, 0.08);
    color: var(--ink);
}

h1,
h2 {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 600;
    line-height: 0.94;
    letter-spacing: -0.03em;
}

h1 {
    max-width: 12ch;
    font-size: clamp(2.4rem, 6vw, 4.8rem);
}

h2 {
    font-size: clamp(1.7rem, 4vw, 2.5rem);
}

.hero-copy,
.feature-card p,
.panel-card p,
.auth-copy p,
.token-card p,
.card-note {
    max-width: 64ch;
    font-size: 1rem;
    line-height: 1.65;
}

.hero-actions {
    gap: 0.75rem;
    margin: 1.4rem 0 1.6rem;
    flex-wrap: wrap;
}

.button,
.chip {
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.85rem 1.15rem;
    border: 1px solid transparent;
    border-radius: 1rem;
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.button:hover,
.chip:hover {
    transform: translateY(-2px);
}

.button--primary {
    background: linear-gradient(135deg, var(--brand) 0%, #344f4f 100%);
    color: white;
    box-shadow: 0 16px 30px rgba(38, 59, 59, 0.18);
}

.button--secondary,
.button--ghost {
    border-color: rgba(38, 59, 59, 0.14);
    background: rgba(255, 255, 255, 0.52);
    color: var(--brand);
}

.button--danger {
    border-color: rgba(164, 48, 54, 0.18);
    background: linear-gradient(135deg, #a43036 0%, #8d2329 100%);
    color: #fff;
    box-shadow: 0 16px 30px rgba(141, 35, 41, 0.2);
}

.hero-metrics,
.stack-grid,
.split-panel,
.dashboard-grid,
.form-grid--double,
.auth-shell,
.phone-grid,
.dashboard-stack {
    display: grid;
}

.hero-metrics,
.stack-grid {
    gap: 1rem;
}

.hero-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1.6rem;
}

.hero-metrics article,
.agenda-list div,
.detail-list div,
.phone-grid > div {
    padding: 1rem;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(38, 59, 59, 0.08);
}

.hero-metrics strong,
.feature-card__head strong,
.dashboard-card__head strong,
.phone-grid strong,
.detail-list dd,
.agenda-list strong {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 1rem;
}

.stack-grid {
    margin-top: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.feature-card,
.panel-card,
.phone-card,
.auth-card,
.auth-copy,
.dashboard-card,
.token-card {
    padding: 1.4rem;
    background: var(--surface);
}

.feature-card--highlight {
    background: linear-gradient(145deg, rgba(38, 59, 59, 0.96), rgba(33, 88, 49, 0.92));
    color: white;
}

.feature-card--highlight p,
.feature-card--highlight .stat-band small {
    color: rgba(255, 255, 255, 0.72);
}

.feature-card__head {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.pill {
    align-self: flex-start;
    padding: 0.45rem 0.7rem;
    background: rgba(101, 142, 139, 0.14);
    color: var(--accent);
    font-size: 0.78rem;
}

.pill--soft {
    background: rgba(101, 142, 139, 0.16);
    color: var(--ink);
}

.pill--dark {
    background: rgba(38, 59, 59, 0.1);
    color: var(--ink);
}

.check-list,
.timeline-list,
.detail-list,
.agenda-list,
.form-grid {
    display: grid;
    gap: 0.8rem;
    padding: 0;
    margin: 1rem 0 0;
}

.check-list,
.timeline-list {
    list-style: none;
}

.check-list li,
.timeline-list li {
    position: relative;
    padding-left: 1.4rem;
    line-height: 1.55;
}

.check-list li::before,
.timeline-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.5rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: var(--accent);
}

.stat-band {
    margin-top: 1.2rem;
    padding: 1rem;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.12);
}

.stat-band span,
.stat-band small,
.floating-note strong,
.floating-note span {
    display: block;
}

.stat-band strong,
.token-pill strong,
.phone-balance strong {
    display: block;
    font-family: var(--font-display);
    line-height: 1;
}

.stat-band strong {
    margin: 0.2rem 0;
    font-size: 2.2rem;
}

.scan-preview,
.qr-stage {
    display: grid;
    place-items: center;
    border-radius: var(--radius-md);
}

.scan-preview {
    position: relative;
    min-height: 13rem;
    margin-top: 1rem;
    background:
        linear-gradient(135deg, rgba(101, 142, 139, 0.18), rgba(38, 59, 59, 0.08)),
        var(--surface-strong);
    overflow: hidden;
}

.scan-preview__qr,
.qr-stage__pattern {
    width: 9.5rem;
    aspect-ratio: 1;
    border-radius: 1rem;
    background:
        linear-gradient(90deg, #17302f 14%, transparent 14% 28%, #17302f 28% 42%, transparent 42% 56%, #17302f 56% 70%, transparent 70% 84%, #17302f 84%),
        linear-gradient(#17302f 14%, transparent 14% 28%, #17302f 28% 42%, transparent 42% 56%, #17302f 56% 70%, transparent 70% 84%, #17302f 84%),
        #fefcf7;
    background-size: 100% 16%, 16% 100%, auto;
    box-shadow: inset 0 0 0 0.55rem #fefcf7, 0 16px 32px rgba(38, 59, 59, 0.1);
}

.scan-preview__beam {
    position: absolute;
    left: 14%;
    right: 14%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(101, 142, 139, 0.18), var(--accent), rgba(101, 142, 139, 0.18), transparent);
    animation: scan 2.4s ease-in-out infinite;
}

@keyframes scan {
    0%,
    100% {
        transform: translateY(-54px);
    }

    50% {
        transform: translateY(54px);
    }
}

.split-panel {
    margin-top: 1rem;
    gap: 1rem;
    grid-template-columns: 1.15fr 0.85fr;
}

.panel-card__heading,
.dashboard-card__head,
.token-card {
    justify-content: space-between;
    gap: 1rem;
}

.mini-link {
    color: var(--brand);
    font-weight: 700;
}

.mini-chart {
    display: flex;
    align-items: end;
    gap: 0.6rem;
    height: 11rem;
    padding: 1rem 0 0;
}

.mini-chart span {
    flex: 1;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(180deg, var(--brand-soft), var(--brand));
}

.phone-card {
    overflow: hidden;
    padding: 1rem;
    background:
        radial-gradient(circle at top right, rgba(101, 142, 139, 0.22), transparent 28%),
        linear-gradient(160deg, rgba(38, 59, 59, 0.96), rgba(38, 59, 59, 0.92));
}

.phone-card__screen {
    min-height: 100%;
    padding: 1rem;
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, rgba(244, 241, 232, 0.96), rgba(255, 255, 255, 0.92));
}

.phone-status,
.phone-balance {
    display: grid;
}

.phone-status {
    grid-template-columns: repeat(2, auto);
    justify-content: space-between;
}

.phone-balance {
    gap: 0.3rem;
    margin: 1rem 0;
    padding: 1.2rem;
    border-radius: 1.4rem;
    background: linear-gradient(135deg, var(--brand), #344f4f);
    color: white;
}

.phone-balance strong {
    font-size: 2.6rem;
}

.phone-balance span,
.phone-balance small {
    color: rgba(255, 255, 255, 0.78);
}

.phone-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.auth-shell {
    gap: 1rem;
    grid-template-columns: 0.95fr 1.05fr;
}

.auth-copy,
.auth-card {
    min-height: 32rem;
}

.auth-copy {
    background:
        radial-gradient(circle at 80% 16%, rgba(101, 142, 139, 0.24), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.8), rgba(240, 235, 224, 0.6));
}

.auth-card {
    display: flex;
    align-items: center;
    justify-content: center;
}

.auth-card--wide {
    align-items: stretch;
}

.floating-note {
    margin-top: 1.5rem;
    padding: 1rem;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.64);
}

.floating-note--accent {
    background: rgba(101, 142, 139, 0.08);
}

.form-grid {
    width: min(100%, 34rem);
}

.form-grid label {
    display: grid;
    gap: 0.45rem;
}

.form-grid span {
    font-weight: 700;
    color: var(--ink);
}

.form-grid input,
.form-grid select {
    min-height: 3.2rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(38, 59, 59, 0.12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.76);
    outline: none;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.form-grid input:focus,
.form-grid select:focus {
    border-color: rgba(38, 59, 59, 0.32);
    box-shadow: 0 0 0 4px rgba(38, 59, 59, 0.08);
}

.form-grid--double {
    align-content: center;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.token-card {
    border-radius: var(--radius-xl);
    background:
        radial-gradient(circle at top right, rgba(101, 142, 139, 0.18), transparent 26%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(244, 241, 232, 0.68));
}

.token-pill {
    min-width: 8rem;
    padding: 1rem 1.15rem;
    border-radius: 1.4rem;
    background: linear-gradient(160deg, var(--brand), #344f4f);
    color: white;
    text-align: center;
}

.token-pill strong {
    font-size: 2.6rem;
}

.dashboard-grid {
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.chip,
.status-badge {
    white-space: nowrap;
}

.chip {
    padding-inline: 0.95rem;
    background: rgba(101, 142, 139, 0.12);
    color: var(--accent);
}

.status-badge {
    padding: 0.5rem 0.75rem;
    background: rgba(38, 59, 59, 0.08);
    color: var(--brand);
    font-size: 0.85rem;
}

.qr-stage {
    min-height: 15rem;
    margin: 1rem 0;
    background: linear-gradient(145deg, rgba(101, 142, 139, 0.18), rgba(244, 241, 232, 0.85));
}

.detail-list dt,
.detail-list dd {
    margin: 0;
}

.bottom-nav {
    position: sticky;
    bottom: 1rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
    padding: 0.5rem;
    border: 1px solid var(--stroke);
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}

.bottom-nav a {
    padding: 0.95rem 0.6rem;
    border-radius: 0.95rem;
    text-align: center;
    color: var(--text-muted);
}

@media (max-width: 920px) {
    .hero-metrics,
    .stack-grid,
    .split-panel,
    .auth-shell,
    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .auth-copy,
    .auth-card {
        min-height: auto;
    }

    .form-grid--double {
        grid-template-columns: 1fr;
    }

    .topbar,
    .token-card {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .app-frame {
        padding-inline: 0.85rem;
    }

    .topnav {
        width: 100%;
        justify-content: space-between;
    }

    .topnav a {
        flex: 1;
        text-align: center;
        padding-inline: 0.6rem;
    }

    .hero-card,
    .feature-card,
    .panel-card,
    .phone-card,
    .auth-card,
    .auth-copy,
    .token-card,
    .dashboard-card {
        padding: 1.15rem;
        border-radius: 1.5rem;
    }

    .hero-actions .button,
    .form-grid .button {
        width: 100%;
    }

    .hero-metrics,
    .phone-grid {
        grid-template-columns: 1fr;
    }
}

.topbar--compact {
    align-items: center;
}

.auth-shell--login {
    grid-template-columns: 1.05fr 0.95fr;
}

.auth-card--login {
    gap: 1rem;
}

.hero-actions--stack {
    margin-top: 1.2rem;
}

.role-strip,
.info-stack,
.queue-list,
.stats-grid,
.data-table,
.agenda-board,
.note-panel {
    display: grid;
    gap: 0.85rem;
}

.role-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 1.2rem;
}

.role-strip .pill {
    justify-content: center;
}

.info-stack article,
.queue-list div,
.stats-grid div,
.data-table__row,
.agenda-board div,
.note-panel div {
    padding: 1rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.64);
}

.info-stack strong,
.info-stack span,
.queue-list strong,
.queue-list span,
.queue-list small,
.stats-grid small,
.stats-grid strong,
.data-table__row span,
.agenda-board small,
.agenda-board strong,
.agenda-board span,
.note-panel small,
.note-panel p {
    display: block;
}

.info-stack span,
.queue-list span,
.queue-list small,
.stats-grid small,
.agenda-board span,
.note-panel small,
.note-panel p {
    color: var(--text-muted);
}

.stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.stats-grid strong {
    margin-top: 0.35rem;
    font-size: 2rem;
    font-family: var(--font-display);
}

.dashboard-grid--admin {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-card--span-2 {
    grid-column: span 2;
}

.token-card--admin {
    align-items: stretch;
}

.token-pill--wide {
    min-width: 12rem;
    display: grid;
    align-content: center;
}

.data-table {
    gap: 0.6rem;
    margin-top: 1rem;
}

.data-table__row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
}

.data-table__row--head {
    background: rgba(38, 59, 59, 0.08);
    font-weight: 700;
}

.agenda-board {
    margin-top: 1rem;
}

.agenda-board strong,
.note-panel p {
    margin-top: 0.2rem;
}

.note-panel {
    margin-top: 1rem;
}

.install-cta {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 20;
    min-height: 3.2rem;
    padding: 0.9rem 1.2rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--brand), #344f4f);
    color: white;
    box-shadow: 0 18px 34px rgba(38, 59, 59, 0.2);
}

@media (max-width: 920px) {
    .dashboard-grid--admin,
    .role-strip,
    .stats-grid,
    .data-table__row {
        grid-template-columns: 1fr;
    }

    .dashboard-card--span-2 {
        grid-column: auto;
    }
}

.alert {
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(38, 59, 59, 0.1);
    margin-bottom: 0.9rem;
}

.alert--error {
    background: rgba(193, 39, 45, 0.08);
    color: #8b1f26;
}

.alert--info {
    background: rgba(38, 59, 59, 0.08);
    color: var(--brand);
}

.admin-toolbar {
    margin-top: -0.2rem;
}

.button,
.chip {
    display: inline-flex;
}

.dashboard-card__head--stack {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.7rem;
}

.admin-shell {
    gap: 1.1rem;
}

.admin-hero {
    justify-content: space-between;
    gap: 1.25rem;
}

.admin-kpi-grid,
.admin-role-list {
    display: grid;
    gap: 0.85rem;
}

.admin-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: min(100%, 24rem);
}

.metric-tile,
.admin-role-list div {
    padding: 1rem;
    border-radius: var(--radius-md);
    border: 1px solid rgba(38, 59, 59, 0.08);
    background: rgba(255, 255, 255, 0.66);
}

.metric-tile small,
.metric-tile span,
.admin-role-list small,
.admin-role-list strong,
.admin-table small,
.admin-empty,
.field-hint,
.data-note {
    display: block;
}

.metric-tile small,
.metric-tile span,
.admin-table small,
.admin-empty,
.field-hint,
.data-note {
    color: var(--text-muted);
}

.metric-tile strong,
.admin-role-list strong {
    display: block;
    margin: 0.35rem 0 0.1rem;
    font-family: var(--font-display);
    font-size: 1.8rem;
}

.admin-role-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-grid--admin-pro {
    align-items: start;
}

.admin-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.admin-form-grid {
    margin-top: 0.25rem;
}

.admin-form-grid label {
    display: grid;
    gap: 0.45rem;
}

.admin-form-grid input,
.admin-form-grid select {
    width: 100%;
    min-height: 3rem;
    padding: 0.85rem 0.9rem;
    border: 1px solid rgba(38, 59, 59, 0.12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.8);
    color: var(--text);
}

.admin-form-grid__full {
    grid-column: 1 / -1;
}

.form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.field-hint,
.data-note,
.admin-empty {
    margin: 0;
    line-height: 1.6;
}

.credential-callout {
    margin-bottom: 0;
}

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

.admin-table {
    width: 100%;
    min-width: 860px;
    border-collapse: collapse;
}

.admin-table th,
.admin-table td {
    padding: 0.95rem 0.75rem;
    border-bottom: 1px solid rgba(38, 59, 59, 0.08);
    text-align: left;
    vertical-align: top;
}

.admin-table th {
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.admin-table td strong {
    display: block;
    margin-bottom: 0.2rem;
}

.queue-list--compact {
    margin-top: 0.2rem;
}

@media (max-width: 920px) {
    .admin-kpi-grid,
    .admin-role-list {
        grid-template-columns: 1fr;
    }

    .form-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 640px) {
    .admin-table {
        min-width: 680px;
    }

    .topnav {
        overflow-x: auto;
    }
}
html,
body {
    max-width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
}

body {
    text-wrap: pretty;
}

img,
svg,
canvas,
video {
    max-width: 100%;
    height: auto;
}

input,
select,
button,
textarea {
    max-width: 100%;
}

body,
button,
input,
select,
textarea,
a {
    -webkit-tap-highlight-color: transparent;
}

.app-frame {
    padding-inline: clamp(0.85rem, 2.2vw, 1.4rem);
    padding-bottom: calc(5rem + env(safe-area-inset-bottom));
}

.topbar {
    flex-wrap: wrap;
}

.topnav {
    flex-wrap: wrap;
}

.topnav a,
.bottom-nav a,
.button,
.chip,
.status-badge {
    white-space: normal;
}

.topnav a,
.bottom-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.dashboard-card__head,
.token-card,
.hero-actions,
.form-actions {
    flex-wrap: wrap;
}

.dashboard-card__head {
    justify-content: space-between;
    gap: 0.75rem;
}

.token-pill,
.token-pill--wide {
    width: 100%;
    max-width: 19rem;
}

.form-grid,
.form-grid--double,
.admin-form-grid {
    width: 100%;
}

.data-table__row {
    gap: 0.5rem;
}

.data-table__row span {
    min-width: 0;
}

.bottom-nav {
    gap: 0.4rem;
    padding-bottom: calc(0.5rem + env(safe-area-inset-bottom));
}

.install-cta {
    bottom: calc(1rem + env(safe-area-inset-bottom));
}

@media (max-width: 980px) {
    .auth-shell,
    .auth-shell--login,
    .dashboard-grid,
    .dashboard-grid--admin,
    .dashboard-grid--admin-pro,
    .admin-kpi-grid,
    .admin-role-list,
    .stats-grid,
    .role-strip,
    .form-grid--double {
        grid-template-columns: 1fr;
    }

    .topbar {
        align-items: stretch;
    }

    .topnav {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.45rem;
        border-radius: 1.2rem;
    }

    .topnav a {
        min-height: 3rem;
        padding: 0.8rem 0.7rem;
        text-align: center;
    }

    .auth-copy,
    .auth-card,
    .dashboard-card,
    .token-card,
    .hero-card,
    .feature-card,
    .panel-card,
    .phone-card {
        min-height: auto;
    }

    .token-card,
    .admin-hero,
    .form-actions,
    .hero-actions,
    .admin-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .token-pill,
    .token-pill--wide,
    .button,
    .chip {
        width: 100%;
    }

    .qr-stage,
    .scan-preview {
        min-height: 12rem;
    }

    .qr-stage__pattern,
    .scan-preview__qr {
        width: min(100%, 10.5rem);
    }

    .data-table__row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .data-table__row--head {
        display: none;
    }

    .data-table__row:not(.data-table__row--head) {
        padding: 0;
        background: transparent;
        border: 0;
    }

    .data-table__row:not(.data-table__row--head) > span {
        padding: 0.9rem 1rem;
        border: 1px solid rgba(38, 59, 59, 0.08);
        border-radius: 1rem;
        background: rgba(255, 255, 255, 0.68);
    }

    .data-table__row:not(.data-table__row--head) > span:first-child {
        color: var(--brand);
        font-weight: 700;
    }

    .table-scroll {
        overflow: visible;
    }

    .admin-table,
    .admin-table thead,
    .admin-table tbody,
    .admin-table tr,
    .admin-table td {
        display: block;
        width: 100%;
    }

    .admin-table {
        min-width: 0;
    }

    .admin-table thead {
        display: none;
    }

    .admin-table tr {
        margin-bottom: 0.85rem;
        padding: 1rem;
        border: 1px solid rgba(38, 59, 59, 0.08);
        border-radius: 1rem;
        background: rgba(255, 255, 255, 0.68);
    }

    .admin-table td {
        padding: 0.45rem 0;
        border: 0;
    }

    .admin-table td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 0.2rem;
        font-size: 0.74rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--text-muted);
    }

    .admin-table td strong,
    .admin-table td small,
    .admin-table td .pill {
        margin-bottom: 0;
    }

    .bottom-nav {
        position: fixed;
        left: 0.85rem;
        right: 0.85rem;
        bottom: calc(0.75rem + env(safe-area-inset-bottom));
        z-index: 15;
        box-shadow: 0 20px 44px rgba(38, 59, 59, 0.16);
    }
}

@media (max-width: 640px) {
    h1 {
        max-width: none;
        line-height: 1;
    }

    .app-frame {
        padding-inline: 0.8rem;
        padding-top: 0.85rem;
    }

    .topbar {
        gap: 0.8rem;
    }

    .topnav {
        grid-template-columns: 1fr;
        padding: 0.45rem;
    }

    .brand {
        width: 100%;
    }

    .brand__copy small {
        font-size: 0.78rem;
    }

    .role-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero-actions .button,
    .form-grid .button,
    .form-actions .button {
        width: 100%;
    }

    .dashboard-card__head--stack,
    .dashboard-card__head,
    .queue-list div,
    .agenda-board div,
    .note-panel div,
    .detail-list div,
    .info-stack article {
        gap: 0.45rem;
    }

    .bottom-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    .brand__mark {
        width: 2.7rem;
        height: 2.7rem;
    }

    .dashboard-card,
    .token-card,
    .auth-card,
    .auth-copy {
        padding: 1rem;
    }

    .bottom-nav a {
        padding: 0.85rem 0.55rem;
        font-size: 0.92rem;
    }
}
.login-experience {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(22rem, 28rem);
    gap: 1.2rem;
    align-items: stretch;
}

.therapy-welcome,
.login-card-therapy {
    border: 1px solid var(--stroke);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow);
    backdrop-filter: blur(22px);
}

.therapy-welcome {
    position: relative;
    overflow: hidden;
    padding: clamp(1.3rem, 3vw, 2rem);
    background:
        radial-gradient(circle at top right, rgba(101, 142, 139, 0.18), transparent 28%),
        radial-gradient(circle at 20% 90%, rgba(101, 142, 139, 0.08), transparent 24%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(244, 241, 232, 0.76));
}

.therapy-welcome::after {
    content: "";
    position: absolute;
    right: -2rem;
    top: 2rem;
    width: 10rem;
    height: 10rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(101, 142, 139, 0.25), transparent 68%);
    pointer-events: none;
}

.therapy-welcome h1,
.register-copy-therapy h1 {
    max-width: 11ch;
    font-size: clamp(2.2rem, 5.2vw, 4.5rem);
    line-height: 0.98;
}

.therapy-welcome p,
.login-card-therapy p,
.register-copy-therapy p,
.qr-meta-card span {
    color: var(--text-muted);
    line-height: 1.7;
}

.therapy-pill-row,
.therapy-grid,
.login-support-grid {
    display: grid;
    gap: 0.85rem;
}

.therapy-pill-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 1.4rem 0 1rem;
}

.therapy-pill-row .pill {
    justify-content: center;
}

.therapy-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1rem;
}

.therapy-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.therapy-grid article,
.login-support-grid article,
.qr-meta-card {
    padding: 1rem;
    border-radius: var(--radius-md);
    border: 1px solid rgba(38, 59, 59, 0.08);
    background: rgba(255, 255, 255, 0.66);
}

.therapy-grid strong,
.login-support-grid strong,
.qr-meta-card strong {
    display: block;
    margin-bottom: 0.35rem;
}

.login-card-therapy {
    display: grid;
    gap: 1rem;
    padding: clamp(1.2rem, 2.6vw, 1.8rem);
    align-content: center;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(250, 247, 239, 0.82));
}

.login-card-therapy__intro h2 {
    margin-top: 0.2rem;
    margin-bottom: 0.65rem;
    font-size: clamp(1.6rem, 3vw, 2.3rem);
}

.login-form-therapy {
    width: 100%;
    max-width: none;
    gap: 0.9rem;
}

.login-form-therapy label,
.register-card-therapy label {
    display: grid;
    gap: 0.42rem;
}

.login-form-therapy input,
.register-card-therapy input,
.register-card-therapy select {
    width: 100%;
    min-height: 3.2rem;
    padding: 0.92rem 0.95rem;
    border: 1px solid rgba(38, 59, 59, 0.12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.86);
}

.login-support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.register-shell-therapy {
    align-items: stretch;
}

.register-copy-therapy,
.register-card-therapy {
    min-height: auto;
}

.patient-shell {
    gap: 1rem;
}

.patient-hero-card h1 {
    font-size: clamp(2rem, 4.4vw, 3rem);
    max-width: none;
}

.patient-dashboard-grid {
    align-items: start;
}

.qr-card--real {
    display: grid;
    gap: 1rem;
}

.qr-stage--image {
    min-height: auto;
    padding: 1.2rem;
    background: linear-gradient(145deg, rgba(101, 142, 139, 0.16), rgba(255, 255, 255, 0.92));
}

.qr-stage--image img {
    width: min(100%, 18rem);
    height: auto;
    border-radius: 1.25rem;
    background: white;
    padding: 0.9rem;
    box-shadow: 0 14px 34px rgba(38, 59, 59, 0.12);
}

.qr-meta-card small {
    display: block;
    margin-top: 0.55rem;
    color: var(--brand);
    font-weight: 700;
    word-break: break-word;
}

.detail-list--spaced {
    gap: 0.7rem;
}

.patient-summary-card,
.patient-history-card {
    min-width: 0;
}

.timeline-list--soft li {
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(38, 59, 59, 0.08);
    border-radius: 1rem;
    padding: 0.95rem 1rem 0.95rem 2rem;
}

.timeline-list--soft li::before {
    left: 0.8rem;
    top: 1.3rem;
}

@media (max-width: 1100px) {
    .login-experience {
        grid-template-columns: 1fr;
    }

    .therapy-grid,
    .therapy-pill-row,
    .login-support-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .therapy-welcome,
    .login-card-therapy,
    .register-card-therapy,
    .register-copy-therapy {
        padding: 1.15rem;
        border-radius: 1.45rem;
    }

    .therapy-welcome h1,
    .register-copy-therapy h1 {
        max-width: none;
        font-size: clamp(2rem, 11vw, 3.35rem);
    }

    .therapy-grid,
    .therapy-grid--compact,
    .therapy-pill-row,
    .login-support-grid {
        grid-template-columns: 1fr;
    }

    .login-form-therapy button {
        width: 100%;
    }

    .qr-stage--image img {
        width: min(100%, 14rem);
    }
}

@media (max-width: 520px) {
    .therapy-welcome p,
    .login-card-therapy p,
    .register-copy-therapy p {
        font-size: 0.98rem;
    }

    .therapy-welcome,
    .login-card-therapy,
    .register-card-therapy,
    .register-copy-therapy,
    .patient-summary-card,
    .patient-history-card,
    .qr-card--real {
        padding: 1rem;
    }

    .qr-stage--image {
        padding: 0.9rem;
    }
}
.password-shell {
    display: grid;
    place-items: center;
    min-height: calc(100vh - 10rem);
}

.password-card {
    width: min(100%, 32rem);
    padding: 1.5rem;
    border: 1px solid var(--stroke);
    border-radius: var(--radius-xl);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(244, 241, 232, 0.76));
    box-shadow: var(--shadow);
}

.form-grid textarea,
.admin-form-grid textarea {
    width: 100%;
    min-height: 7rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(38, 59, 59, 0.12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.76);
    color: var(--text);
    resize: vertical;
}

.form-grid textarea:focus,
.admin-form-grid textarea:focus {
    outline: none;
    border-color: rgba(38, 59, 59, 0.32);
    box-shadow: 0 0 0 4px rgba(38, 59, 59, 0.08);
}

.patient-form-grid,
.therapist-note-form,
.note-form {
    width: 100%;
}

.patient-form-grid__full {
    grid-column: 1 / -1;
}

.upload-field input[type="file"] {
    padding: 0.8rem;
    background: rgba(255, 255, 255, 0.72);
}

.empty-state {
    color: var(--text-muted);
    line-height: 1.6;
}

.list-stack,
.note-grid,
.appointment-grid,
.request-grid {
    display: grid;
    gap: 0.9rem;
}

.compact-stack {
    margin-top: 0.9rem;
}

.surface-list-item,
.appointment-card,
.note-card,
.request-card {
    display: grid;
    gap: 0.55rem;
    padding: 1rem;
    border-radius: var(--radius-md);
    border: 1px solid rgba(38, 59, 59, 0.08);
    background: rgba(255, 255, 255, 0.68);
}

.surface-list-item--soft {
    background: rgba(236, 233, 223, 0.78);
}

.surface-list-item small,
.surface-list-item span,
.appointment-card span,
.note-card small,
.note-card p,
.request-card small,
.request-card span {
    color: var(--text-muted);
}

.appointment-grid,
.note-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.appointment-card__head,
.note-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.appointment-card__head strong,
.note-card__head strong,
.request-card strong {
    display: block;
    margin-bottom: 0.2rem;
}

.note-card__body {
    display: grid;
    gap: 0.75rem;
}

.note-card__body div,
.appointment-card .detail-list div {
    padding: 0.9rem;
    border-radius: 1rem;
    background: rgba(244, 241, 232, 0.7);
    border: 1px solid rgba(38, 59, 59, 0.08);
}

.compact-detail-list {
    margin-top: 0.2rem;
}

.compact-detail-list div {
    padding: 0.85rem;
}

.history-table .data-table__row {
    grid-template-columns: 1.1fr 1fr 1.6fr 0.7fr;
}

.inline-actions {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.inline-actions--stack {
    align-items: stretch;
    flex-direction: column;
}

.inline-actions form {
    margin: 0;
}

.checkbox-field {
    display: flex !important;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 0.95rem;
    border-radius: 1rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    background: rgba(255, 255, 255, 0.62);
}

.checkbox-field input[type="checkbox"] {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
}

.checkbox-field span {
    font-weight: 600;
}

.request-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0.8rem;
}

.request-card .admin-form-grid {
    margin-top: 0.35rem;
}

.therapist-appointment-grid,
.note-grid {
    align-items: start;
}

@media (max-width: 1100px) {
    .appointment-grid,
    .note-grid,
    .request-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .password-shell {
        min-height: auto;
        place-items: stretch;
    }

    .password-card {
        width: 100%;
        padding: 1.2rem;
        border-radius: 1.5rem;
    }

    .appointment-card__head,
    .note-card__head,
    .checkbox-field {
        flex-direction: column;
        align-items: flex-start;
    }

    .history-table .data-table__row {
        grid-template-columns: 1fr;
    }

    .request-card,
    .note-card,
    .appointment-card,
    .surface-list-item {
        padding: 0.95rem;
    }
}

.admin-action-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.admin-action-callout strong,
.admin-action-callout span {
    display: block;
}

.mini-inline-form {
    display: grid;
    gap: 0.55rem;
    width: 100%;
}

.mini-inline-form input {
    width: 100%;
    min-height: 2.85rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(38, 59, 59, 0.12);
    border-radius: 0.95rem;
    background: rgba(255, 255, 255, 0.78);
}

.chip--link {
    text-align: center;
}

@media (max-width: 720px) {
    .admin-action-callout {
        align-items: stretch;
        flex-direction: column;
    }
}

.recharge-card {
    position: relative;
    overflow: hidden;
}

.recharge-card::after {
    content: '';
    position: absolute;
    inset: auto -3rem -4rem auto;
    width: 12rem;
    height: 12rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(101, 142, 139, 0.18), transparent 68%);
    pointer-events: none;
}

.recharge-form {
    gap: 1rem;
}

.recharge-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.95rem;
}

.recharge-card .button {
    width: 100%;
    min-height: 3.25rem;
}

.qr-meta-card small {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    background: rgba(38, 59, 59, 0.08);
    color: var(--brand-strong);
    font-weight: 700;
    letter-spacing: 0.02em;
}

.upload-field--card {
    display: grid;
    gap: 0.55rem;
    padding: 1rem 1.05rem;
    border: 1px dashed rgba(38, 59, 59, 0.22);
    border-radius: 1.25rem;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(236, 233, 223, 0.72));
}

.upload-field--card span {
    font-weight: 700;
}

.upload-field--card small {
    color: var(--text-muted);
    line-height: 1.5;
}

.upload-field--card input[type="file"] {
    width: 100%;
    padding: 0.8rem;
    border: 1px solid rgba(38, 59, 59, 0.12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.96);
    color: var(--text);
}

.upload-field--card input[type="file"]::file-selector-button {
    margin-right: 0.85rem;
    padding: 0.75rem 1rem;
    border: 0;
    border-radius: 0.95rem;
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

@media (max-width: 900px) {
    .recharge-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .upload-field--card {
        padding: 0.9rem;
    }

    .upload-field--card input[type="file"] {
        padding: 0.75rem;
    }

    .upload-field--card input[type="file"]::file-selector-button {
        display: block;
        width: 100%;
        margin: 0 0 0.7rem;
    }
}
.admin-table {
    table-layout: fixed;
    min-width: 0;
}

.admin-table th,
.admin-table td {
    word-break: break-word;
}

.admin-table td[data-label="Acciones"] {
    width: 14rem;
}

.inline-actions--stack .chip,
.inline-actions--stack .chip--link {
    width: 100%;
    justify-content: center;
}

.mini-inline-form input {
    min-width: 0;
}

.upload-field__filename {
    display: block;
    color: var(--brand-strong);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.45;
}

@media (max-width: 768px) {
    .therapy-welcome {
        display: none;
    }

    .login-experience {
        grid-template-columns: 1fr;
    }

    .login-card-therapy {
        width: 100%;
        max-width: none;
    }
}

@media (max-width: 1200px) {
    .admin-table td[data-label="Acciones"] {
        width: auto;
    }
}
.recharge-card__head {
    margin-bottom: 0.35rem;
}

.recharge-form {
    display: grid;
    gap: 1rem;
}

.recharge-form > * {
    min-width: 0;
}

.recharge-grid--solid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.9rem;
}

.recharge-grid--solid > * {
    min-width: 0;
}

.recharge-field {
    display: grid;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    border-radius: 1.15rem;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(247, 244, 237, 0.82));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.recharge-field span {
    margin: 0;
}

.recharge-field input,
.recharge-field select,
.recharge-field textarea,
.recharge-card .upload-field--solid input[type="file"] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.recharge-field input,
.recharge-field select,
.recharge-field textarea {
    min-height: 3.15rem;
    padding: 0.92rem 0.95rem;
    border: 1px solid rgba(38, 59, 59, 0.12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: none;
}

.recharge-field textarea {
    min-height: 7.4rem;
    resize: vertical;
}

.recharge-field--note {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.recharge-card .upload-field--solid {
    gap: 0.65rem;
    padding: 1.05rem;
    border-radius: 1.25rem;
    border: 1px dashed rgba(38, 59, 59, 0.24);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(238, 234, 224, 0.78));
}

.recharge-card .upload-field--solid input[type="file"] {
    overflow: hidden;
}

.recharge-card .button {
    margin-top: 0.15rem;
}

@media (min-width: 1080px) {
    .recharge-grid--solid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .recharge-card {
        overflow: visible;
    }

    .recharge-form {
        gap: 0.9rem;
    }

    .recharge-field,
    .recharge-card .upload-field--solid {
        padding: 0.9rem;
        border-radius: 1rem;
    }

    .recharge-field input,
    .recharge-field select,
    .recharge-field textarea {
        min-height: 3rem;
        padding: 0.88rem 0.9rem;
    }

    .recharge-card .button {
        min-height: 3.15rem;
    }
}
.topbar__nav-shell {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.menu-toggle {
    display: none;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border: 1px solid rgba(38, 59, 59, 0.14);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 14px 30px rgba(38, 59, 59, 0.1);
    align-items: center;
    justify-content: center;
    gap: 0.24rem;
    cursor: pointer;
}

.menu-toggle__line {
    display: block;
    width: 1.1rem;
    height: 0.12rem;
    border-radius: 999px;
    background: var(--brand-strong);
    transition: transform 180ms ease, opacity 180ms ease;
}

.menu-toggle.is-open .menu-toggle__line:nth-child(1) {
    transform: translateY(0.36rem) rotate(45deg);
}

.menu-toggle.is-open .menu-toggle__line:nth-child(2) {
    opacity: 0;
}

.menu-toggle.is-open .menu-toggle__line:nth-child(3) {
    transform: translateY(-0.36rem) rotate(-45deg);
}

.topnav-mobile {
    position: absolute;
    top: calc(100% + 0.7rem);
    right: 0;
    z-index: 30;
    min-width: min(18rem, calc(100vw - 1.6rem));
    display: grid;
    gap: 0.35rem;
    padding: 0.5rem;
    border: 1px solid rgba(38, 59, 59, 0.1);
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 24px 52px rgba(38, 59, 59, 0.16);
    backdrop-filter: blur(22px);
}

.topnav-mobile a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.85rem 1rem;
    border-radius: 0.95rem;
    color: var(--text-muted);
    text-align: center;
}

.topnav-mobile a:hover,
.topnav-mobile a.is-active {
    background: var(--brand);
    color: white;
}

.patient-hero-card--elevated {
    align-items: stretch;
    gap: 1rem;
}

.patient-hero-copy {
    display: grid;
    align-content: start;
    gap: 0.65rem;
}

.patient-hero-summary {
    display: grid;
    gap: 0.85rem;
    min-width: min(100%, 22rem);
    padding: 1rem;
    border-radius: 1.5rem;
    background: linear-gradient(160deg, rgba(38, 59, 59, 0.96), rgba(33, 88, 49, 0.92));
    color: white;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.patient-hero-summary small,
.patient-hero-summary span {
    color: rgba(255, 255, 255, 0.76);
}

.patient-hero-summary__identity {
    display: grid;
    gap: 0.2rem;
}

.patient-hero-summary__identity strong,
.patient-hero-summary__stats strong {
    font-family: var(--font-display);
    font-size: 1.7rem;
    line-height: 1;
}

.patient-hero-summary__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.patient-hero-summary__stats article {
    display: grid;
    gap: 0.18rem;
    padding: 0.85rem 0.9rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.patient-hero-summary__stats article strong {
    font-size: 1.55rem;
}

.patient-hero-summary__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.patient-hero-summary__actions .chip {
    width: 100%;
    min-height: 2.85rem;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.12);
    color: white;
}

.patient-hero-summary__actions .chip:hover,
.patient-hero-summary__actions .chip.is-active {
    background: rgba(255, 255, 255, 0.22);
    color: white;
}

@media (max-width: 768px) {
    .topbar--guest .topnav--desktop {
        display: none;
    }

    .topbar--member .topnav--desktop {
        display: none;
    }

    .topbar--member .menu-toggle {
        display: inline-flex;
        flex-direction: column;
    }

    .topbar--member {
        align-items: center;
    }

    .topbar--member .brand {
        width: auto;
        flex: 1;
        min-width: 0;
    }

    .bottom-nav {
        display: none;
    }

    .patient-hero-card--elevated {
        grid-template-columns: 1fr;
    }

    .patient-hero-summary {
        min-width: 0;
    }
}

@media (min-width: 769px) {
    .topnav-mobile,
    .menu-toggle {
        display: none !important;
    }
}

@media (max-width: 560px) {
    .patient-hero-summary__stats,
    .patient-hero-summary__actions {
        grid-template-columns: 1fr;
    }
}
.admin-form-callout {
    display: grid;
    gap: 0.35rem;
    margin: 0.35rem 0 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(38, 59, 59, 0.12);
    border-radius: 1.1rem;
    background: linear-gradient(145deg, rgba(244, 247, 239, 0.96), rgba(255, 255, 255, 0.85));
}

.admin-form-callout strong {
    color: var(--brand-strong);
}

.admin-form-grid--polished {
    align-items: start;
}

.patient-shell {
    padding-bottom: 6.2rem;
}

.patient-hero-summary__hint {
    padding: 0.85rem 0.95rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.86);
    line-height: 1.6;
}

.qr-card--scanner {
    gap: 1rem;
}

.scan-preview--live {
    position: relative;
    min-height: 18rem;
    margin-top: 0.2rem;
    border: 1px solid rgba(38, 59, 59, 0.12);
    border-radius: 1.45rem;
    background: linear-gradient(145deg, rgba(231, 238, 227, 0.78), rgba(255, 255, 255, 0.92));
    overflow: hidden;
}

.scan-preview__video {
    width: 100%;
    height: 100%;
    min-height: 18rem;
    object-fit: cover;
    display: block;
}

.scan-preview__frame {
    position: absolute;
    inset: 14% 17%;
    border: 3px solid rgba(255, 255, 255, 0.88);
    border-radius: 1.4rem;
    box-shadow: 0 0 0 999px rgba(38, 59, 59, 0.16);
    pointer-events: none;
}

.scanner-toolbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.reception-scan-form {
    gap: 0.9rem;
}

.reception-scan-form label {
    display: grid;
    gap: 0.45rem;
}

.reception-scan-form input {
    width: 100%;
}

.status-badge--muted {
    background: rgba(38, 59, 59, 0.08);
    color: var(--text-muted);
}

.reception-result-card .detail-list,
.reception-log-card .data-table {
    margin-top: 0.35rem;
}

@media (max-width: 768px) {
    .topbar--guest .topnav,
    .topbar--patient .topnav {
        display: none !important;
    }

    .patient-hero-card--elevated {
        grid-template-columns: 1fr;
    }

    .patient-hero-summary {
        min-width: 0;
    }

    .bottom-nav {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 0.35rem;
        padding: 0.4rem;
        left: 0.75rem;
        right: 0.75rem;
        bottom: calc(0.65rem + env(safe-area-inset-bottom));
        border-radius: 1.15rem;
    }

    .bottom-nav a {
        min-height: 3rem;
        padding: 0.72rem 0.2rem;
        font-size: 0.78rem;
        white-space: nowrap !important;
    }

    .scanner-toolbar {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .topbar--member:not(.topbar--patient) .topnav {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .patient-shell {
        padding-bottom: 6.6rem;
    }

    .bottom-nav {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .bottom-nav a {
        font-size: 0.74rem;
        letter-spacing: -0.01em;
    }

    .scan-preview--live,
    .scan-preview__video {
        min-height: 14.5rem;
    }
}

@media (max-width: 420px) {
    .bottom-nav a {
        font-size: 0.7rem;
        padding-inline: 0.1rem;
    }
}
.patient-hero-card--elevated {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 24rem);
    align-items: stretch;
    gap: 1.15rem;
}

.patient-hero-side {
    display: grid;
    gap: 0.9rem;
    min-width: 0;
}

.patient-hero-qr {
    display: grid;
    gap: 0.7rem;
    padding: 1rem;
    border: 1px solid rgba(38, 59, 59, 0.1);
    border-radius: 1.45rem;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(238, 234, 224, 0.78));
    box-shadow: 0 16px 34px rgba(38, 59, 59, 0.08);
    text-decoration: none;
    color: var(--text);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.patient-hero-qr:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 36px rgba(38, 59, 59, 0.12);
}

.patient-hero-qr__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    background: rgba(101, 142, 139, 0.12);
    color: var(--brand-strong);
    font-size: 0.82rem;
    font-weight: 700;
}

.patient-hero-qr img {
    width: min(100%, 12.5rem);
    justify-self: center;
    padding: 0.85rem;
    border-radius: 1.2rem;
    background: white;
    box-shadow: 0 12px 24px rgba(38, 59, 59, 0.08);
}

.patient-hero-qr strong {
    font-size: 1rem;
    color: var(--brand-strong);
}

.patient-hero-qr small {
    color: var(--text-muted);
    line-height: 1.55;
}

.history-table {
    display: grid;
    gap: 0.7rem;
    overflow-x: auto;
    padding-bottom: 0.2rem;
}

.history-table .data-table__row {
    display: grid !important;
    grid-template-columns: minmax(11rem, 1.25fr) minmax(7rem, 0.8fr) minmax(14rem, 2fr) minmax(4.5rem, 0.55fr) !important;
    align-items: center;
    gap: 0.9rem;
    min-width: 39rem;
}

.history-table .data-table__row--head {
    display: grid !important;
    min-width: 39rem;
    padding: 1rem 1.1rem;
    border-radius: 1.15rem;
    background: rgba(226, 232, 225, 0.9);
}

.history-table .data-table__row--head > span {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.history-table .data-table__row:not(.data-table__row--head) {
    min-width: 39rem;
    padding: 1rem 1.1rem !important;
    border: 1px solid rgba(38, 59, 59, 0.08) !important;
    border-radius: 1.15rem !important;
    background: rgba(255, 255, 255, 0.74) !important;
}

.history-table .data-table__row:not(.data-table__row--head) > span {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.history-table .data-table__row span {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.history-table .data-table__row:not(.data-table__row--head) > span:first-child {
    color: var(--text);
    font-weight: 600;
}

.history-table .data-table__row:not(.data-table__row--head) > span:last-child {
    justify-self: end;
    font-weight: 800;
    color: var(--brand-strong);
}

@media (max-width: 980px) {
    .history-table .data-table__row,
    .history-table .data-table__row--head,
    .history-table .data-table__row:not(.data-table__row--head) {
        min-width: 35rem;
    }
}

@media (max-width: 768px) {
    .patient-hero-card--elevated {
        grid-template-columns: 1fr !important;
    }

    .install-cta {
        right: 0.75rem;
        bottom: calc(5.25rem + env(safe-area-inset-bottom));
    }
}

@media (max-width: 640px) {
    .patient-hero-qr {
        padding: 0.9rem;
    }

    .patient-hero-qr img {
        width: min(100%, 11rem);
    }

    .history-table .data-table__row,
    .history-table .data-table__row--head,
    .history-table .data-table__row:not(.data-table__row--head) {
        min-width: 33rem;
    }
}
.patient-shell {
    display: grid;
    gap: 1rem;
}

.patient-sections {
    display: grid;
    gap: 1rem;
}

.patient-row {
    display: grid;
    gap: 1rem;
}

.patient-row--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
}

.patient-hero-banner {
    display: grid !important;
    gap: 1rem;
}

.patient-hero-banner__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.72fr);
    gap: 1rem;
    align-items: stretch;
}

.patient-hero-banner .patient-hero-copy {
    display: grid;
    align-content: start;
    gap: 0.7rem;
    min-height: 100%;
}

.patient-hero-banner .patient-hero-copy h1 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 0.98;
}

.patient-hero-banner .patient-hero-copy p {
    max-width: 44rem;
    margin: 0;
}

.patient-hero-banner .patient-hero-qr {
    align-content: start;
    align-self: stretch;
}

.patient-hero-strip {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(9rem, 0.75fr));
    gap: 0.8rem;
    padding: 1rem;
    border-radius: 1.5rem;
    background: linear-gradient(160deg, rgba(38, 59, 59, 0.96), rgba(33, 88, 49, 0.92));
    color: white;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.patient-hero-strip small,
.patient-hero-strip span {
    color: rgba(255, 255, 255, 0.78);
}

.patient-hero-strip__identity,
.patient-hero-strip__metric {
    display: grid;
    gap: 0.22rem;
    padding: 0.95rem 1rem;
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.patient-hero-strip__identity strong,
.patient-hero-strip__metric strong {
    font-family: var(--font-display);
    line-height: 1;
}

.patient-hero-strip__identity strong {
    font-size: clamp(1.75rem, 2.5vw, 2.2rem);
}

.patient-hero-strip__metric strong {
    font-size: 1.7rem;
}

.patient-hero-strip__footer {
    grid-column: 1 / -1;
    padding: 0.95rem 1rem;
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.6;
}

.patient-history-card,
.patient-summary-card,
.patient-appointments-card,
.patient-notes-card,
.recharge-card {
    min-width: 0;
}

.history-inline-table {
    display: grid;
    gap: 0.65rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
}

.history-inline-row {
    display: grid;
    grid-template-columns: minmax(7rem, 1fr) minmax(6.5rem, 0.85fr) minmax(12rem, 1.8fr) minmax(4rem, 0.5fr);
    align-items: center;
    gap: 0.75rem;
    min-width: 29rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.74);
}

.history-inline-row--head {
    background: rgba(226, 232, 225, 0.9);
}

.history-inline-row--head span {
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.history-inline-row__date {
    display: grid;
    gap: 0.1rem;
}

.history-inline-row__date strong {
    font-size: 0.95rem;
}

.history-inline-row__date small {
    color: var(--text-muted);
    font-size: 0.78rem;
}

.history-inline-row__type,
.history-inline-row__detail,
.history-inline-row__balance {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.history-inline-row__detail {
    color: var(--text-muted);
}

.history-inline-row__balance {
    justify-self: end;
    font-weight: 800;
    color: var(--brand-strong);
}

@media (max-width: 1180px) {
    .patient-row--three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .patient-row--three > :last-child {
        grid-column: 1 / -1;
    }

    .patient-hero-banner__grid {
        grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.72fr);
    }
}

@media (max-width: 860px) {
    .patient-hero-banner__grid,
    .patient-hero-strip,
    .patient-row--three {
        grid-template-columns: 1fr;
    }

    .patient-row--three > :last-child {
        grid-column: auto;
    }

    .patient-hero-strip__footer {
        grid-column: auto;
    }
}

@media (max-width: 768px) {
    .patient-hero-banner .patient-hero-copy h1 {
        font-size: clamp(2rem, 11vw, 2.9rem);
    }

    .patient-hero-banner .patient-hero-qr {
        justify-items: start;
    }

    .patient-hero-banner .patient-hero-qr img {
        justify-self: center;
    }

    .install-cta {
        bottom: calc(5.65rem + env(safe-area-inset-bottom));
    }
}

/* Patient layout refinement 2026-03-29 */
.patient-hero-banner {
    display: grid !important;
    align-items: start;
    gap: 1rem;
}

.patient-hero-banner__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(17.5rem, 0.78fr);
    gap: 1rem;
    align-items: start;
}

.patient-hero-main {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.patient-hero-banner .patient-hero-copy {
    display: grid;
    align-content: start;
    gap: 0.85rem;
    min-width: 0;
}

.patient-hero-banner .patient-hero-copy h1 {
    max-width: 12ch;
    margin: 0;
    font-size: clamp(2.1rem, 4.1vw, 3.35rem);
    line-height: 0.96;
}

.patient-hero-banner .patient-hero-copy p {
    max-width: 48rem;
    margin: 0;
}

.patient-hero-strip {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(9rem, 0.78fr));
    gap: 0.8rem;
    padding: 1rem;
    border-radius: 1.55rem;
    background: linear-gradient(155deg, rgba(38, 59, 59, 0.98), rgba(40, 107, 58, 0.94));
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 18px 42px rgba(38, 59, 59, 0.16);
}

.patient-hero-strip__identity,
.patient-hero-strip__metric {
    display: grid;
    gap: 0.22rem;
    padding: 0.95rem 1rem;
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, 0.11);
    border: 1px solid rgba(255, 255, 255, 0.09);
}

.patient-hero-strip__identity strong {
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 2.35vw, 2.25rem);
    line-height: 1;
}

.patient-hero-strip__metric strong {
    font-family: var(--font-display);
    font-size: 1.7rem;
    line-height: 1;
}

.patient-hero-strip small,
.patient-hero-strip span,
.patient-hero-strip__footer {
    color: rgba(255, 255, 255, 0.82);
}

.patient-hero-strip__footer {
    grid-column: 1 / -1;
    padding: 0.92rem 1rem;
    border-radius: 1.08rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.08);
    line-height: 1.55;
}

.patient-hero-banner .patient-hero-qr {
    align-content: start;
    align-self: stretch;
}

.patient-sections {
    display: grid;
    gap: 1rem;
}

.patient-row {
    display: grid;
    gap: 1rem;
    align-items: start;
}

.patient-row--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.patient-row--financial {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.86fr) minmax(0, 1.22fr);
}

.patient-row--care {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr) minmax(0, 1fr);
}

.patient-history-card,
.patient-summary-card,
.patient-appointments-card,
.patient-notes-card,
.recharge-card {
    min-width: 0;
}

.history-inline-table {
    display: grid;
    gap: 0.7rem;
    overflow-x: auto;
    padding-bottom: 0.1rem;
}

.history-inline-row {
    display: grid;
    grid-template-columns: minmax(7.8rem, 1fr) minmax(7rem, 0.8fr) minmax(12rem, 1.7fr) minmax(4.5rem, 0.45fr);
    align-items: center;
    gap: 0.8rem;
    min-width: 33rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.78);
}

.history-inline-row--head {
    padding-block: 0.82rem;
    background: rgba(226, 232, 225, 0.92);
}

.history-inline-row--head span {
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.history-inline-row__date {
    display: grid;
    gap: 0.12rem;
}

.history-inline-row__date strong {
    font-size: 0.93rem;
}

.history-inline-row__date small {
    color: var(--text-muted);
    font-size: 0.77rem;
}

.history-inline-row__type,
.history-inline-row__detail,
.history-inline-row__balance {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.history-inline-row__detail {
    color: var(--text-muted);
}

.history-inline-row__balance {
    justify-self: end;
    font-weight: 800;
    color: var(--brand-strong);
}

@media (max-width: 1040px) {
    .patient-row--three,
    .patient-row--financial,
    .patient-row--care {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .patient-row--three > :last-child,
    .patient-row--financial > :last-child,
    .patient-row--care > :last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 920px) {
    .patient-hero-banner__grid {
        grid-template-columns: minmax(0, 1fr) minmax(15.5rem, 0.82fr);
    }
}

@media (max-width: 820px) {
    .patient-hero-banner__grid,
    .patient-hero-strip,
    .patient-row--three,
    .patient-row--financial,
    .patient-row--care {
        grid-template-columns: 1fr;
    }

    .patient-row--three > :last-child,
    .patient-row--financial > :last-child,
    .patient-row--care > :last-child,
    .patient-hero-strip__footer {
        grid-column: auto;
    }

    .history-inline-row,
    .history-inline-row--head {
        min-width: 31rem;
    }
}

@media (max-width: 768px) {
    .patient-hero-banner .patient-hero-copy h1 {
        max-width: none;
        font-size: clamp(2rem, 10vw, 2.9rem);
    }

    .patient-hero-banner .patient-hero-qr {
        justify-items: start;
    }

    .patient-hero-banner .patient-hero-qr img {
        justify-self: center;
    }

    .install-cta {
        bottom: calc(5.65rem + env(safe-area-inset-bottom));
    }
}

@media (max-width: 640px) {
    .history-inline-row,
    .history-inline-row--head {
        min-width: 28.5rem;
    }
}
/* Patient dashboard polish 2026-03-29 b */
@media (min-width: 821px) {
    .patient-hero-banner__grid {
        grid-template-columns: minmax(0, 1.62fr) minmax(15.75rem, 0.72fr);
        align-items: end;
    }

    .patient-hero-main {
        gap: 0.8rem;
    }

    .patient-hero-banner .patient-hero-copy {
        gap: 0.55rem;
    }

    .patient-hero-banner .patient-hero-copy .eyebrow {
        margin-bottom: 0.45rem;
    }

    .patient-hero-banner .patient-hero-copy h1 {
        max-width: none;
        white-space: nowrap;
        font-size: clamp(1.88rem, 2.5vw, 2.5rem);
        letter-spacing: -0.04em;
        line-height: 1;
    }

    .patient-hero-banner .patient-hero-copy p {
        max-width: 42rem;
        font-size: 0.98rem;
        line-height: 1.58;
    }

    .patient-hero-banner .patient-hero-qr {
        align-self: end;
    }

    .patient-hero-strip {
        grid-template-columns: minmax(0, 1.28fr) repeat(2, minmax(8rem, 0.68fr));
        padding: 0.92rem;
    }

    .patient-row--financial {
        grid-template-columns: minmax(0, 0.94fr) minmax(0, 0.86fr) minmax(0, 1.2fr);
    }

    .patient-row--care {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .recharge-card .dashboard-card__head {
        margin-bottom: 0.05rem;
    }

    .recharge-form {
        gap: 0.72rem;
        margin-top: 0.72rem;
    }

    .recharge-grid {
        gap: 0.72rem;
    }

    .recharge-field {
        padding: 0.8rem 0.84rem;
    }

    .recharge-field span {
        font-size: 0.91rem;
    }

    .recharge-field input,
    .recharge-field select,
    .recharge-field textarea {
        min-height: 2.9rem;
        padding: 0.78rem 0.84rem;
    }

    .recharge-field textarea {
        min-height: 5.15rem;
    }

    .recharge-card .upload-field--solid {
        gap: 0.48rem;
        padding: 0.82rem;
    }

    .recharge-card .upload-field--solid small,
    .recharge-card .upload-field__filename {
        font-size: 0.84rem;
        line-height: 1.42;
    }

    .recharge-card .button {
        min-height: 2.95rem;
    }

    .patient-summary-card .surface-list-item {
        gap: 0.32rem;
        padding: 0.9rem;
    }

    .history-inline-table {
        gap: 0.45rem;
        overflow: visible;
    }

    .history-inline-row,
    .history-inline-row--head {
        min-width: 0;
        grid-template-columns: 6.4rem 5.9rem minmax(0, 1fr) 3.5rem;
        gap: 0.65rem;
        padding: 0.72rem 0.8rem;
    }

    .history-inline-row__date strong {
        font-size: 0.86rem;
    }

    .history-inline-row__date small,
    .history-inline-row__type,
    .history-inline-row__detail,
    .history-inline-row__balance {
        font-size: 0.8rem;
    }

    .patient-appointments-card .appointment-grid,
    .patient-notes-card .note-grid {
        grid-template-columns: 1fr;
    }

    .patient-appointments-card .appointment-card,
    .patient-notes-card .note-card {
        gap: 0.8rem;
        padding: 1rem;
    }

    .patient-appointments-card .compact-detail-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .patient-appointments-card .card-note,
    .patient-notes-card .card-note {
        max-width: none;
        margin: 0;
    }

    .patient-notes-card .note-card__body {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .patient-notes-card .note-form {
        margin-top: 0.1rem;
    }
}

@media (max-width: 820px) {
    .patient-hero-banner .patient-hero-copy h1 {
        white-space: normal;
    }

    .patient-appointments-card .appointment-grid,
    .patient-notes-card .note-grid,
    .patient-notes-card .note-card__body,
    .patient-appointments-card .compact-detail-list {
        grid-template-columns: 1fr;
    }
}
/* Patient dashboard polish 2026-03-29 c */
.patient-hero-banner {
    display: grid !important;
    gap: 0.9rem;
}

.patient-hero-banner .patient-hero-copy {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
}

.patient-hero-banner .patient-hero-copy .eyebrow {
    margin-bottom: 0.25rem;
}

.patient-hero-banner .patient-hero-copy h1 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    line-height: 1.02;
    letter-spacing: -0.035em;
}

.patient-hero-banner .patient-hero-copy p {
    max-width: 56rem;
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.58;
}

.patient-hero-lower {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(14.75rem, 0.68fr);
    gap: 0.9rem;
    align-items: stretch;
}

.patient-hero-strip {
    min-height: 100%;
}

.patient-hero-qr {
    align-self: stretch;
    display: grid;
    align-content: start;
    grid-template-rows: auto auto auto 1fr;
}

.patient-row--financial {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 0.88fr) minmax(0, 1.2fr);
}

.recharge-form {
    gap: 0.62rem;
}

.recharge-grid {
    gap: 0.62rem;
}

.recharge-field {
    padding: 0.72rem 0.78rem;
}

.recharge-field span {
    font-size: 0.88rem;
}

.recharge-field input,
.recharge-field select,
.recharge-field textarea {
    min-height: 2.8rem;
    padding: 0.74rem 0.8rem;
}

.recharge-card .upload-field--solid {
    gap: 0.42rem;
    padding: 0.78rem;
}

.recharge-card .upload-field--solid small {
    display: none;
}

.recharge-card .upload-field__filename {
    font-size: 0.82rem;
    line-height: 1.4;
}

.recharge-card .button {
    min-height: 2.85rem;
}

.appointment-inline-list {
    display: grid;
    gap: 0.58rem;
}

.appointment-inline-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 0.9rem 0.95rem;
    border-radius: 1rem;
    background: rgba(244, 241, 232, 0.74);
    border: 1px solid rgba(38, 59, 59, 0.08);
}

.appointment-inline-item--soft {
    background: rgba(101, 142, 139, 0.08);
    border-color: rgba(101, 142, 139, 0.18);
}

.appointment-inline-item small {
    color: var(--text-muted);
    font-weight: 700;
}

.appointment-inline-item strong {
    margin: 0;
    font-size: 0.98rem;
    text-align: right;
}

.appointment-highlight {
    padding: 0.78rem 0.9rem;
    border-radius: 1rem;
    background: rgba(101, 142, 139, 0.08);
    border: 1px solid rgba(101, 142, 139, 0.18);
}

.note-card__stack {
    display: grid;
    gap: 0.75rem;
}

.note-card__section {
    display: grid;
    gap: 0.4rem;
    padding: 0.92rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
}

.note-card__section--summary {
    background: rgba(244, 241, 232, 0.74);
}

.note-card__section--recommendation {
    background: rgba(101, 142, 139, 0.08);
    border-color: rgba(101, 142, 139, 0.18);
}

.note-card__section small {
    color: var(--brand);
    font-weight: 800;
}

.note-card__section p {
    margin: 0;
    color: var(--ink);
    line-height: 1.65;
}

@media (min-width: 821px) {
    .patient-hero-banner .patient-hero-copy h1 {
        white-space: nowrap;
    }
}

@media (max-width: 920px) {
    .patient-hero-lower {
        grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.72fr);
    }
}

@media (max-width: 820px) {
    .patient-hero-lower,
    .patient-row--financial {
        grid-template-columns: 1fr;
    }

    .patient-hero-banner .patient-hero-copy h1 {
        white-space: normal;
    }

    .appointment-inline-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .appointment-inline-item strong {
        text-align: left;
    }
}
/* Therapist dashboard refine 2026-03-29 */
.therapist-shell {
    display: grid;
    gap: 1rem;
}

.therapist-hero {
    display: grid !important;
    gap: 0.9rem;
}

.therapist-hero__copy {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
}

.therapist-hero__copy .eyebrow {
    margin-bottom: 0.25rem;
}

.therapist-hero__copy h1 {
    margin: 0;
    max-width: 19ch;
    font-size: clamp(1.95rem, 3.3vw, 2.9rem);
    line-height: 0.98;
    letter-spacing: -0.035em;
}

.therapist-hero__copy p {
    margin: 0;
    max-width: 60rem;
    line-height: 1.6;
}

.therapist-hero__strip {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, 0.8fr));
    gap: 0.8rem;
    padding: 1rem;
    border-radius: 1.45rem;
    background: linear-gradient(155deg, rgba(38, 59, 59, 0.98), rgba(40, 107, 58, 0.94));
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 18px 42px rgba(38, 59, 59, 0.16);
}

.therapist-hero__panel {
    display: grid;
    gap: 0.22rem;
    padding: 0.92rem 1rem;
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, 0.11);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.therapist-hero__panel small,
.therapist-hero__panel span {
    color: rgba(255, 255, 255, 0.8);
}

.therapist-hero__panel strong {
    font-family: var(--font-display);
    font-size: 1.6rem;
    line-height: 1;
}

.therapist-hero__panel--identity strong {
    font-size: clamp(1.55rem, 2vw, 2rem);
}

.therapist-sections {
    display: grid;
    gap: 1rem;
}

.therapist-profile-card,
.therapist-agenda-card {
    min-width: 0;
}

.therapist-profile-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 0.85rem;
}

.therapist-profile-item {
    display: grid;
    gap: 0.3rem;
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(38, 59, 59, 0.08);
}

.therapist-profile-item small {
    color: var(--text-muted);
    font-weight: 700;
}

.therapist-profile-item strong {
    margin: 0;
    font-size: 1rem;
}

.therapist-profile-item--status {
    background: rgba(101, 142, 139, 0.08);
    border-color: rgba(101, 142, 139, 0.18);
}

.therapist-appointment-grid {
    grid-template-columns: 1fr !important;
    gap: 0.95rem;
}

.appointment-card--therapist {
    gap: 0.85rem;
    padding: 1rem;
}

.therapist-appointment-card__head {
    align-items: flex-start;
}

.therapist-inline-note {
    gap: 0.35rem;
    padding: 0.85rem 0.95rem;
}

.therapist-note-form {
    width: 100% !important;
    max-width: none !important;
    margin-top: 0.1rem;
    gap: 0.8rem;
}

.therapist-note-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.therapist-note-field {
    display: grid;
    gap: 0.45rem;
}

.therapist-note-field textarea {
    min-height: 8.4rem;
    resize: vertical;
}

.therapist-note-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: stretch;
}

.therapist-visibility-field {
    margin: 0;
}

.therapist-note-actions .button {
    width: auto;
    min-width: 16rem;
}

.therapist-inline-note--patient {
    background: rgba(236, 233, 223, 0.82);
}

@media (max-width: 1100px) {
    .therapist-profile-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .therapist-hero__strip,
    .therapist-profile-grid,
    .therapist-note-grid,
    .therapist-note-actions {
        grid-template-columns: 1fr;
    }

    .therapist-note-actions .button {
        width: 100%;
        min-width: 0;
    }

    .therapist-hero__copy h1 {
        max-width: none;
    }
}
/* Therapist dashboard refine 2026-03-29 b */
@media (min-width: 901px) {
    .therapist-hero__copy h1 {
        max-width: none;
        white-space: nowrap;
        font-size: clamp(1.72rem, 2.55vw, 2.45rem);
    }
}

.therapist-sections {
    display: grid;
    grid-template-columns: minmax(19rem, 0.62fr) minmax(0, 1.38fr);
    gap: 1rem;
    align-items: start;
}

.therapist-profile-card {
    position: sticky;
    top: 1rem;
}

.therapist-profile-grid {
    grid-template-columns: 1fr;
}

.therapist-agenda-card {
    min-width: 0;
}

.therapist-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    background: rgba(255, 255, 255, 0.74);
}

.therapist-pagination a,
.therapist-pagination span {
    font-weight: 700;
}

.therapist-pagination a {
    color: var(--brand);
}

.therapist-pagination a.is-disabled {
    pointer-events: none;
    opacity: 0.45;
}

@media (max-width: 1100px) {
    .therapist-sections {
        grid-template-columns: minmax(16rem, 0.7fr) minmax(0, 1.3fr);
    }
}

@media (max-width: 900px) {
    .therapist-sections {
        grid-template-columns: 1fr;
    }

    .therapist-profile-card {
        position: static;
    }

    .therapist-hero__copy h1 {
        white-space: normal;
        max-width: none;
    }

    .therapist-pagination {
        flex-direction: column;
        align-items: stretch;
    }

    .therapist-pagination a,
    .therapist-pagination span {
        text-align: center;
    }
}
/* Reception dashboard refine 2026-03-29 */
.reception-shell {
    display: grid;
    gap: 1rem;
}

.reception-hero {
    display: grid !important;
    gap: 0.9rem;
}

.reception-hero__copy {
    display: grid;
    gap: 0.45rem;
}

.reception-hero__copy .eyebrow {
    margin-bottom: 0.25rem;
}

.reception-hero__copy h1 {
    margin: 0;
    max-width: 18ch;
    font-size: clamp(1.9rem, 3vw, 2.7rem);
    line-height: 0.98;
    letter-spacing: -0.035em;
}

.reception-hero__copy p {
    margin: 0;
    max-width: 58rem;
    line-height: 1.58;
}

.reception-hero__strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 1rem;
    border-radius: 1.45rem;
    background: linear-gradient(155deg, rgba(38, 59, 59, 0.98), rgba(40, 107, 58, 0.94));
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 18px 42px rgba(38, 59, 59, 0.16);
}

.reception-hero__panel {
    display: grid;
    gap: 0.22rem;
    padding: 0.92rem 1rem;
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, 0.11);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.reception-hero__panel small,
.reception-hero__panel span {
    color: rgba(255, 255, 255, 0.8);
}

.reception-hero__panel strong {
    font-family: var(--font-display);
    font-size: 1.7rem;
    line-height: 1;
}

.reception-sections {
    display: grid;
    gap: 1rem;
}

.reception-row {
    display: grid;
    gap: 1rem;
}

.reception-row--top {
    grid-template-columns: minmax(19rem, 0.92fr) minmax(0, 1.08fr);
    align-items: start;
}

.reception-scanner-card,
.reception-result-card,
.reception-log-card {
    min-width: 0;
}

.reception-scan-preview {
    min-height: 14.5rem;
}

.reception-scan-preview .scan-preview__video {
    min-height: 14.5rem;
}

.reception-scanner-toolbar {
    gap: 0.6rem;
}

.button--small {
    min-height: 2.75rem;
    padding: 0.7rem 0.95rem;
    font-size: 0.92rem;
}

.reception-scan-form--compact {
    width: 100% !important;
    max-width: none !important;
    gap: 0.75rem;
}

.reception-scan-form--compact label {
    display: grid;
    gap: 0.4rem;
}

.reception-helper-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.reception-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.35rem;
}

.reception-result-grid article {
    display: grid;
    gap: 0.22rem;
    padding: 0.9rem 0.95rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(38, 59, 59, 0.08);
}

.reception-result-grid small {
    color: var(--text-muted);
    font-weight: 700;
}

.reception-result-grid strong {
    margin: 0;
    font-size: 1rem;
}

.reception-result-detail {
    margin-top: 0.85rem;
}

.reception-log-card__head {
    align-items: center;
}

.reception-log-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.reception-history-table {
    margin-top: 0.45rem;
}

.reception-history-table .data-table__row {
    grid-template-columns: minmax(11rem, 1.15fr) minmax(9rem, 1fr) minmax(7rem, 0.7fr) minmax(14rem, 1.5fr) !important;
}

.reception-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    background: rgba(255, 255, 255, 0.74);
}

.reception-pagination a,
.reception-pagination span {
    font-weight: 700;
}

.reception-pagination a {
    color: var(--brand);
}

.reception-pagination a.is-disabled {
    pointer-events: none;
    opacity: 0.45;
}

@media (min-width: 901px) {
    .reception-hero__copy h1 {
        white-space: nowrap;
        max-width: none;
    }
}

@media (max-width: 900px) {
    .reception-row--top,
    .reception-hero__strip,
    .reception-result-grid {
        grid-template-columns: 1fr;
    }

    .reception-hero__copy h1 {
        white-space: normal;
        max-width: none;
    }

    .reception-pagination {
        flex-direction: column;
        align-items: stretch;
    }

    .reception-pagination a,
    .reception-pagination span,
    .reception-log-actions {
        justify-content: center;
        text-align: center;
    }
}
/* Admin dashboard refine 2026-03-30 */
.admin-shell--pro {
    gap: 1rem;
}

.admin-hero-banner {
    display: grid !important;
    gap: 0.95rem;
}

.admin-hero-copy {
    display: grid;
    gap: 0.5rem;
}

.admin-hero-copy .eyebrow {
    margin-bottom: 0.25rem;
}

.admin-hero-copy h1 {
    margin: 0;
    max-width: 15ch;
    font-size: clamp(2rem, 3.2vw, 3rem);
    line-height: 0.98;
    letter-spacing: -0.04em;
}

.admin-hero-copy p {
    margin: 0;
    max-width: 60rem;
    line-height: 1.6;
}

.admin-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 0.1rem;
}

.admin-hero-strip {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) repeat(4, minmax(9rem, 0.72fr));
    gap: 0.8rem;
    padding: 1rem;
    border-radius: 1.45rem;
    background: linear-gradient(155deg, rgba(38, 59, 59, 0.98), rgba(40, 107, 58, 0.94));
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 18px 42px rgba(38, 59, 59, 0.16);
}

.admin-hero-panel {
    display: grid;
    gap: 0.22rem;
    padding: 0.92rem 1rem;
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, 0.11);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.admin-hero-panel small,
.admin-hero-panel span {
    color: rgba(255, 255, 255, 0.82);
}

.admin-hero-panel strong {
    font-family: var(--font-display);
    font-size: 1.6rem;
    line-height: 1;
}

.admin-hero-panel--identity strong {
    font-size: clamp(1.55rem, 2vw, 2rem);
}

.admin-ops-grid,
.admin-intel-grid {
    display: grid;
    gap: 1rem;
    align-items: start;
}

.admin-ops-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.9fr);
}

.admin-intel-grid {
    grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
}

.admin-panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.admin-form-callout {
    display: grid;
    gap: 0.25rem;
    padding: 0.95rem 1rem;
    border-radius: 1.1rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    background: rgba(255, 255, 255, 0.62);
}

.admin-form-callout--soft {
    background: linear-gradient(145deg, rgba(236, 243, 227, 0.8), rgba(255, 255, 255, 0.72));
}

.admin-form-callout strong,
.admin-inline-note,
.admin-request-card__top strong,
.admin-user-card__identity strong,
.admin-user-card__tokens strong,
.admin-report-kpi-grid strong,
.admin-report-table strong,
.admin-token-table strong,
.admin-review-table strong {
    color: var(--text);
}

.admin-form-grid,
.admin-review-form,
.admin-user-reset-form {
    width: 100%;
}

.admin-request-list,
.admin-user-grid,
.admin-summary-pills,
.admin-report-kpi-grid,
.admin-export-toolbar {
    display: grid;
    gap: 0.8rem;
}

.admin-request-list {
    gap: 0.85rem;
}

.admin-user-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-user-card,
.admin-request-card {
    padding: 1rem;
    border-radius: 1.25rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.admin-user-card {
    display: grid;
    gap: 0.9rem;
}

.admin-user-card__top,
.admin-request-card__top,
.admin-section-headside,
.admin-review-form__actions,
.admin-user-card__footer,
.admin-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.admin-user-card__identity {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.admin-user-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: linear-gradient(145deg, rgba(38, 59, 59, 0.95), rgba(70, 118, 86, 0.88));
    color: #fff;
    font-family: var(--font-display);
    font-size: 1rem;
    letter-spacing: 0.06em;
}

.admin-user-card__meta,
.admin-user-card__tokens,
.admin-request-card__stats,
.admin-review-form__row {
    display: grid;
    gap: 0.75rem;
}

.admin-user-card__meta {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-user-card__meta div,
.admin-user-card__tokens article,
.admin-request-card__stats div,
.admin-report-kpi-grid article {
    padding: 0.85rem 0.9rem;
    border-radius: 1rem;
    background: rgba(247, 247, 243, 0.76);
    border: 1px solid rgba(38, 59, 59, 0.08);
}

.admin-user-card__tokens {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-user-card__status,
.admin-summary-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.admin-user-reset-form {
    display: grid;
    gap: 0.6rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.admin-user-reset-form input,
.admin-review-form input,
.admin-review-form select,
.admin-form-grid input,
.admin-form-grid select {
    width: 100%;
}

.admin-request-card {
    display: grid;
    gap: 0.78rem;
}

.admin-request-card__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-request-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.9rem;
    color: var(--text-muted);
    font-size: 0.9rem;
}

.admin-inline-note {
    padding: 0.8rem 0.9rem;
    border-radius: 1rem;
    background: rgba(236, 243, 227, 0.6);
    border: 1px dashed rgba(101, 142, 139, 0.26);
    line-height: 1.5;
}

.admin-review-form {
    display: grid;
    gap: 0.7rem;
}

.admin-review-form__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-review-form__actions {
    justify-content: flex-start;
}

.admin-report-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-report-table,
.admin-review-table,
.admin-token-table {
    margin-top: 0.2rem;
}

.admin-report-table .data-table__row {
    grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 0.62fr)) !important;
}

.admin-review-table .data-table__row {
    grid-template-columns: minmax(11rem, 1fr) minmax(9rem, 0.9fr) minmax(8rem, 0.82fr) minmax(7rem, 0.62fr) minmax(8rem, 0.72fr) minmax(12rem, 1.18fr) !important;
}

.admin-token-table .data-table__row {
    grid-template-columns: minmax(11rem, 1fr) minmax(9rem, 0.9fr) minmax(7rem, 0.62fr) minmax(7rem, 0.52fr) minmax(6rem, 0.46fr) minmax(13rem, 1.25fr) !important;
}

.admin-section-headside {
    align-items: flex-start;
    flex-wrap: wrap;
}

.admin-export-toolbar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-pagination {
    margin-top: 0.95rem;
}

.admin-pagination a {
    color: var(--brand);
    font-weight: 700;
}

.admin-pagination .is-disabled {
    pointer-events: none;
    opacity: 0.4;
}

.status-badge--warning {
    background: rgba(101, 142, 139, 0.16);
    color: #3f3239;
}

@media (min-width: 901px) {
    .admin-hero-copy h1 {
        white-space: nowrap;
        max-width: none;
        font-size: clamp(1.82rem, 2.65vw, 2.8rem);
    }
}

@media (max-width: 1080px) {
    .admin-ops-grid,
    .admin-intel-grid,
    .admin-user-grid,
    .admin-report-kpi-grid,
    .admin-export-toolbar {
        grid-template-columns: 1fr;
    }

    .admin-user-card__meta,
    .admin-review-form__row,
    .admin-request-card__stats,
    .admin-user-card__tokens {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-hero-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .admin-hero-copy h1 {
        white-space: normal;
        max-width: none;
    }

    .admin-hero-strip,
    .admin-user-card__meta,
    .admin-review-form__row,
    .admin-request-card__stats,
    .admin-user-card__tokens,
    .admin-export-toolbar {
        grid-template-columns: 1fr;
    }

    .admin-user-card__top,
    .admin-request-card__top,
    .admin-section-headside,
    .admin-review-form__actions,
    .admin-user-card__footer,
    .admin-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-user-reset-form {
        grid-template-columns: 1fr;
    }

    .admin-report-table .data-table__row,
    .admin-review-table .data-table__row,
    .admin-token-table .data-table__row {
        grid-template-columns: 1fr !important;
    }
}.admin-review-form label {
    display: grid;
    gap: 0.42rem;
}

.admin-user-reset-form input,
.admin-review-form input,
.admin-review-form select {
    min-height: 2.9rem;
    padding: 0.78rem 0.85rem;
    border: 1px solid rgba(38, 59, 59, 0.12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.86);
    color: var(--text);
}

.admin-user-card__footer form {
    width: 100%;
}
/* Admin table polish 2026-03-30 */
.admin-table-shell {
    margin-top: 0.35rem;
    overflow-x: auto;
    padding-bottom: 0.15rem;
}

.admin-table--pro {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.admin-table--pro thead th {
    padding: 0.9rem 0.8rem;
    border-bottom: 1px solid rgba(38, 59, 59, 0.08);
    background: rgba(226, 232, 225, 0.88);
    color: var(--text-muted);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-table--pro tbody td {
    padding: 0.9rem 0.8rem;
    vertical-align: top;
    background: rgba(255, 255, 255, 0.72);
}

.admin-table--pro tbody tr:nth-child(even) td {
    background: rgba(248, 249, 245, 0.86);
}

.admin-table--users {
    min-width: 74rem;
}

.admin-table--review {
    min-width: 76rem;
}

.admin-table--token {
    min-width: 74rem;
}

.admin-table--report {
    min-width: 100%;
}

.admin-table--report th:nth-child(n+2),
.admin-table--report td:nth-child(n+2),
.admin-table--token th:nth-child(4),
.admin-table--token td:nth-child(4),
.admin-table--token th:nth-child(5),
.admin-table--token td:nth-child(5) {
    text-align: center;
}

.admin-table--review th:nth-child(4),
.admin-table--review td:nth-child(4) {
    text-align: center;
}

.admin-table--pro td strong {
    display: block;
    margin-bottom: 0.2rem;
    color: var(--text);
}

.admin-table--pro td small {
    display: block;
    line-height: 1.35;
    color: var(--text-muted);
}

.admin-cell-number {
    font-weight: 800;
    color: var(--brand-strong);
    white-space: nowrap;
}

.admin-user-person {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 0;
}

.admin-user-person > div {
    min-width: 0;
}

.admin-user-person strong,
.admin-user-person small {
    white-space: normal;
}

.admin-actions-cell {
    display: grid;
    gap: 0.55rem;
}

.admin-user-reset-form--compact {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem;
}

.admin-user-reset-form--compact input {
    min-width: 0;
}

.admin-inline-action-form,
.admin-inline-action-form button,
.admin-user-reset-form--compact button {
    width: 100%;
}

.admin-report-kpi-grid--wide {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.admin-report-kpi-grid--wide article {
    min-width: 0;
}

.admin-report-kpi-grid--wide article strong {
    font-size: 1.35rem;
}

.admin-summary-pills {
    justify-content: flex-end;
}

.admin-history-card .table-scroll,
.admin-users-card .table-scroll,
.admin-report-card .table-scroll {
    margin-top: 0.35rem;
}

@media (max-width: 1220px) {
    .admin-report-kpi-grid--wide {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .admin-user-reset-form--compact {
        grid-template-columns: 1fr;
    }

    .admin-summary-pills {
        justify-content: flex-start;
    }
}

@media (max-width: 820px) {
    .admin-report-kpi-grid--wide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-table-shell {
        overflow: visible;
    }

    .admin-table--users,
    .admin-table--review,
    .admin-table--token,
    .admin-table--report {
        min-width: 0;
    }
}
/* Login and admin polish 2026-03-30 */
.login-experience--calm {
    grid-template-columns: minmax(0, 1.02fr) minmax(22rem, 27rem);
    gap: 1rem;
}

.therapy-welcome--calm {
    padding: clamp(1.2rem, 2.5vw, 1.7rem);
}

.therapy-welcome--calm h1 {
    max-width: 12ch;
    font-size: clamp(2rem, 4.4vw, 3.85rem);
    letter-spacing: -0.05em;
}

.therapy-welcome--calm p {
    max-width: 56ch;
}

.therapy-pill-row--compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 1.1rem 0 0.85rem;
}

.therapy-feature-list {
    display: grid;
    gap: 0.7rem;
    margin-top: 0.35rem;
}

.therapy-feature-list article {
    padding: 0.95rem 1rem;
    border-radius: 1.05rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    background: rgba(255, 255, 255, 0.66);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34);
}

.therapy-feature-list strong {
    display: block;
    margin-bottom: 0.22rem;
}

.therapy-feature-list span,
.login-support-grid--compact span {
    color: var(--text-muted);
    line-height: 1.55;
}

.login-card-therapy--calm {
    gap: 0.85rem;
    padding: clamp(1.1rem, 2.2vw, 1.55rem);
    align-content: start;
}

.login-card-therapy__intro--compact h2 {
    margin-bottom: 0.45rem;
    font-size: clamp(1.65rem, 2.5vw, 2.15rem);
}

.login-card-therapy__intro--compact p {
    margin: 0;
}

.login-support-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.login-support-grid--compact article {
    padding: 0.9rem 1rem;
}

.admin-intel-grid {
    grid-template-columns: minmax(16.5rem, 0.56fr) minmax(0, 1.44fr);
}

.admin-report-kpi-grid--wide {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
}

.admin-report-kpi-grid--wide article {
    display: grid;
    gap: 0.22rem;
    align-content: start;
    min-height: 0;
    padding: 0.8rem 0.9rem;
}

.admin-report-kpi-grid--wide article small {
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.admin-report-kpi-grid--wide article strong {
    margin: 0;
    font-size: 1.45rem;
    line-height: 1;
}

.admin-report-kpi-grid--wide article span {
    line-height: 1.35;
    font-size: 0.9rem;
}

.admin-table--report td,
.admin-table--review td,
.admin-table--token td {
    line-height: 1.35;
}

.admin-table--report td strong,
.admin-table--review td strong,
.admin-table--token td strong {
    margin-bottom: 0.15rem;
}

@media (max-width: 1080px) {
    .admin-intel-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .therapy-pill-row--compact,
    .login-support-grid--compact {
        grid-template-columns: 1fr;
    }

    .admin-report-kpi-grid--wide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-table-shell {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .admin-table--pro {
        display: table !important;
        width: auto !important;
        min-width: max-content;
        border-collapse: separate !important;
    }

    .admin-table--pro thead {
        display: table-header-group !important;
    }

    .admin-table--pro tbody {
        display: table-row-group !important;
    }

    .admin-table--pro tr {
        display: table-row !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .admin-table--pro th,
    .admin-table--pro td {
        display: table-cell !important;
        width: auto !important;
        padding: 0.82rem 0.72rem !important;
        vertical-align: top;
        border-bottom: 1px solid rgba(38, 59, 59, 0.08) !important;
    }

    .admin-table--pro td::before {
        content: none !important;
        display: none !important;
    }

    .admin-table--users {
        min-width: 52rem !important;
    }

    .admin-table--report {
        min-width: 36rem !important;
    }

    .admin-table--review {
        min-width: 54rem !important;
    }

    .admin-table--token {
        min-width: 56rem !important;
    }

    .admin-actions-cell {
        min-width: 13rem;
    }

    .admin-pagination {
        flex-direction: row;
        align-items: center;
    }
}

@media (max-width: 640px) {
    .admin-report-kpi-grid--wide {
        grid-template-columns: 1fr;
    }
}
/* Admin mobile refinement 2026-03-30 */
@media (max-width: 768px) {
    .topbar--member .topnav {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.45rem;
        padding: 0.45rem;
    }

    .topbar--member .topnav a {
        width: 100%;
        text-align: center;
    }

    .admin-shell--pro {
        gap: 0.85rem;
    }

    .admin-shell--pro > .dashboard-card,
    .admin-shell--pro > .token-card,
    .admin-shell--pro .dashboard-card,
    .admin-shell--pro .token-card {
        min-width: 0;
        overflow: hidden;
        border-radius: 1.35rem;
    }

    .admin-hero-banner {
        gap: 0.8rem;
        padding: 0.95rem;
    }

    .admin-hero-copy {
        gap: 0.4rem;
        min-width: 0;
    }

    .admin-hero-copy h1 {
        max-width: none !important;
        white-space: normal !important;
        font-size: clamp(1.55rem, 7.1vw, 2.15rem) !important;
        line-height: 1.02;
        letter-spacing: -0.04em;
        word-break: break-word;
    }

    .admin-hero-copy p {
        font-size: 0.97rem;
        line-height: 1.52;
    }

    .admin-hero-actions {
        display: none;
    }

    .admin-hero-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem;
        padding: 0.8rem;
        border-radius: 1.25rem;
    }

    .admin-hero-panel {
        padding: 0.8rem 0.82rem;
        border-radius: 0.95rem;
        min-width: 0;
    }

    .admin-hero-panel--identity {
        grid-column: 1 / -1;
    }

    .admin-hero-panel strong {
        font-size: 1.35rem;
    }

    .admin-hero-panel small,
    .admin-hero-panel span {
        font-size: 0.9rem;
        line-height: 1.35;
    }

    .admin-ops-grid,
    .admin-intel-grid {
        grid-template-columns: 1fr !important;
        gap: 0.85rem;
    }

    .admin-panel {
        gap: 0.85rem;
    }

    .admin-form-callout {
        padding: 0.8rem 0.85rem;
        border-radius: 0.95rem;
    }

    .admin-form-grid {
        gap: 0.8rem;
    }

    .admin-form-grid label,
    .admin-review-form label {
        min-width: 0;
    }

    .admin-form-grid input,
    .admin-form-grid select,
    .admin-review-form input,
    .admin-review-form select,
    .admin-user-reset-form input {
        min-height: 3rem;
        padding: 0.82rem 0.85rem;
        font-size: 0.97rem;
    }

    .admin-create-card .form-actions,
    .admin-review-form__actions {
        gap: 0.6rem;
    }

    .admin-create-card .form-actions .button,
    .admin-review-form__actions .button,
    .admin-token-adjust-card .button {
        width: 100%;
    }

    .admin-section-headside {
        align-items: stretch;
        gap: 0.55rem;
    }

    .admin-summary-pills {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
        width: 100%;
    }

    .admin-summary-pills .status-badge {
        justify-content: center;
        text-align: center;
    }

    .admin-request-list {
        gap: 0.75rem;
    }

    .admin-request-card,
    .admin-request-card--compact {
        padding: 0.9rem;
        gap: 0.7rem;
    }

    .admin-request-card__stats,
    .admin-request-card__stats--compact,
    .admin-review-form__row,
    .admin-review-form__row--compact {
        grid-template-columns: 1fr !important;
    }

    .admin-request-card__meta {
        gap: 0.35rem 0.7rem;
        font-size: 0.86rem;
    }

    .admin-users-card .dashboard-card__head strong,
    .admin-history-card .dashboard-card__head strong,
    .admin-report-card .dashboard-card__head strong,
    .admin-create-card .dashboard-card__head strong,
    .admin-queue-card .dashboard-card__head strong,
    .admin-token-adjust-card .dashboard-card__head strong {
        line-height: 1.22;
    }

    .admin-table-shell {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        max-width: 100%;
        margin-inline: -0.05rem;
        padding-bottom: 0.25rem;
        -webkit-overflow-scrolling: touch;
    }

    .admin-table--pro {
        table-layout: auto !important;
    }

    .admin-table--pro thead th,
    .admin-table--pro tbody td {
        padding: 0.72rem 0.68rem !important;
        font-size: 0.9rem;
    }

    .admin-table--pro td small {
        font-size: 0.82rem;
        line-height: 1.28;
    }

    .admin-table--users {
        min-width: 48rem !important;
    }

    .admin-table--report {
        min-width: 32rem !important;
    }

    .admin-table--review {
        min-width: 46rem !important;
    }

    .admin-table--token {
        min-width: 48rem !important;
    }

    .admin-actions-cell {
        min-width: 11.5rem;
    }

    .admin-user-reset-form--compact {
        grid-template-columns: 1fr;
    }

    .admin-pagination {
        margin-top: 0.8rem;
        padding-top: 0.15rem;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .admin-export-toolbar {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 540px) {
    .admin-hero-strip {
        grid-template-columns: 1fr;
    }

    .admin-hero-panel--identity {
        grid-column: auto;
    }

    .admin-summary-pills {
        grid-template-columns: 1fr 1fr;
    }

    .admin-table--users {
        min-width: 44rem !important;
    }

    .admin-table--review {
        min-width: 42rem !important;
    }

    .admin-table--token {
        min-width: 44rem !important;
    }
}
/* Login hotfix mobile 2026-03-30 */
@media (max-width: 768px) {
    .login-experience--calm {
        grid-template-columns: 1fr !important;
        gap: 0.9rem;
    }

    .login-card-therapy--calm {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    .login-card-therapy__intro--compact,
    .login-form-therapy,
    .login-support-grid--compact {
        min-width: 0;
    }

    .login-card-therapy__intro--compact h2 {
        max-width: none;
        font-size: clamp(1.75rem, 8vw, 2.2rem);
        line-height: 1.02;
    }

    .login-card-therapy__intro--compact p {
        max-width: none;
        font-size: 0.98rem;
        line-height: 1.5;
    }

    .login-form-therapy input,
    .login-form-therapy button {
        width: 100%;
    }

    .login-support-grid--compact {
        grid-template-columns: 1fr;
    }
}
/* Admin users mobile cards 2026-03-30 */
@media (max-width: 768px) {
    .admin-users-card .dashboard-card__head {
        gap: 0.65rem;
    }

    .admin-users-card .admin-section-headside {
        align-items: stretch;
    }

    .admin-users-card .admin-summary-pills {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.45rem;
    }

    .admin-users-card .admin-table-shell {
        overflow: visible !important;
        margin-inline: 0;
    }

    .admin-table--users {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
    }

    .admin-table--users thead {
        display: none !important;
    }

    .admin-table--users tbody {
        display: grid !important;
        gap: 0.75rem;
    }

    .admin-table--users tr {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem 0.8rem;
        padding: 0.95rem;
        border: 1px solid rgba(38, 59, 59, 0.08) !important;
        border-radius: 1.1rem;
        background: rgba(255, 255, 255, 0.78) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34);
    }

    .admin-table--users td {
        display: block !important;
        width: 100% !important;
        min-width: 0;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .admin-table--users td::before {
        content: attr(data-label) !important;
        display: block !important;
        margin-bottom: 0.22rem;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--text-muted);
    }

    .admin-table--users td[data-label="Persona"],
    .admin-table--users td[data-label="Acciones"] {
        grid-column: 1 / -1;
    }

    .admin-table--users td[data-label="Persona"] {
        padding-bottom: 0.3rem !important;
        margin-bottom: 0.1rem;
        border-bottom: 1px solid rgba(38, 59, 59, 0.08) !important;
    }

    .admin-table--users td[data-label="Acciones"] {
        margin-top: 0.1rem;
        padding-top: 0.15rem !important;
    }

    .admin-table--users .admin-user-person {
        align-items: flex-start;
        gap: 0.75rem;
    }

    .admin-table--users .admin-user-avatar {
        width: 2.8rem;
        height: 2.8rem;
        border-radius: 0.95rem;
        flex: 0 0 auto;
    }

    .admin-table--users .admin-user-person strong {
        font-size: 1rem;
        line-height: 1.2;
    }

    .admin-table--users .pill {
        width: max-content;
        max-width: 100%;
    }

    .admin-table--users .admin-actions-cell {
        min-width: 0;
        gap: 0.5rem;
    }

    .admin-table--users .admin-user-reset-form--compact {
        grid-template-columns: 1fr;
    }

    .admin-table--users .admin-user-reset-form--compact input,
    .admin-table--users .button {
        width: 100%;
    }
}

@media (max-width: 540px) {
    .admin-users-card .admin-summary-pills {
        grid-template-columns: 1fr 1fr;
    }

    .admin-table--users tr {
        grid-template-columns: 1fr;
        gap: 0.6rem;
    }
}
/* Admin users scaling 2026-03-30 */
.admin-users-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 2fr) repeat(2, minmax(11rem, 1fr)) auto;
    gap: 0.85rem;
    align-items: end;
    margin-bottom: 0.95rem;
}

.admin-users-toolbar label {
    display: grid;
    gap: 0.42rem;
    min-width: 0;
}

.admin-users-toolbar label > span {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.admin-users-toolbar__search {
    min-width: 0;
}

.admin-users-toolbar__search input,
.admin-users-toolbar select {
    width: 100%;
}

.admin-users-toolbar__actions {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.admin-users-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.95rem;
    color: var(--text-muted);
    font-size: 0.93rem;
}

.admin-table--users {
    min-width: 64rem !important;
}

.admin-table--users td,
.admin-table--users th {
    vertical-align: top;
}

.admin-table--users td strong,
.admin-table--users td small {
    display: block;
}

.admin-table--users td small {
    line-height: 1.35;
}

.admin-table--users td[data-label="Acceso"] strong,
.admin-table--users td[data-label="Acceso"] small,
.admin-table--users td[data-label="Estado"] small {
    overflow-wrap: anywhere;
}

.admin-actions-cell {
    display: grid;
    gap: 0.55rem;
}

.admin-user-reset-form--compact {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.55rem;
    align-items: center;
}

.admin-user-reset-form--compact input {
    min-width: 0;
}

.admin-pagination--users {
    margin-top: 1rem;
}

@media (max-width: 1024px) {
    .admin-users-toolbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-users-toolbar__search,
    .admin-users-toolbar__actions {
        grid-column: 1 / -1;
    }

    .admin-users-toolbar__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    .admin-users-toolbar {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .admin-users-toolbar__search,
    .admin-users-toolbar__actions {
        grid-column: auto;
    }

    .admin-users-toolbar__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .admin-users-toolbar__actions .button {
        width: 100%;
    }

    .admin-users-meta {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 0.8rem;
    }

    .admin-table--users {
        min-width: 0 !important;
    }

    .admin-table--users tbody {
        gap: 0.85rem;
    }

    .admin-table--users tr {
        grid-template-columns: 1fr !important;
        gap: 0.62rem;
    }

    .admin-table--users td[data-label="Persona"] {
        margin-bottom: 0.15rem;
    }

    .admin-table--users .admin-user-person {
        align-items: flex-start;
    }

    .admin-table--users .admin-actions-cell {
        gap: 0.6rem;
    }

    .admin-table--users .admin-user-reset-form--compact {
        grid-template-columns: 1fr;
    }
}
/* Install guidance 2026-04-02 */
.has-install-sheet {
    overflow: hidden;
}

.install-sheet-backdrop {
    position: fixed;
    inset: 0;
    z-index: 29;
    background: rgba(18, 34, 28, 0.44);
    backdrop-filter: blur(6px);
}

.install-sheet {
    position: fixed;
    right: 1rem;
    bottom: calc(5.75rem + env(safe-area-inset-bottom));
    z-index: 30;
    width: min(24rem, calc(100vw - 2rem));
    padding: 1rem 1rem 1.05rem;
    border: 1px solid rgba(38, 59, 59, 0.12);
    border-radius: 1.35rem;
    background: rgba(255, 251, 244, 0.96);
    box-shadow: 0 24px 48px rgba(38, 59, 59, 0.18);
}

.install-sheet__close {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0.5rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(38, 59, 59, 0.14);
    background: rgba(255, 255, 255, 0.8);
    color: var(--text-color);
}

.install-sheet__eyebrow {
    display: inline-flex;
    margin-top: 0.35rem;
    margin-bottom: 0.55rem;
    padding: 0.42rem 0.78rem;
    border-radius: 999px;
    background: rgba(38, 59, 59, 0.08);
    color: var(--brand);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.install-sheet h3 {
    margin: 0 0 0.45rem;
    font-size: 1.25rem;
    line-height: 1.1;
}

.install-sheet__lead {
    margin: 0 0 0.8rem;
    color: var(--text-muted);
    line-height: 1.5;
}

.install-sheet__steps {
    margin: 0;
    padding-left: 1.15rem;
    display: grid;
    gap: 0.55rem;
    color: var(--text-color);
}

.install-sheet__steps li {
    line-height: 1.45;
}

@media (max-width: 768px) {
    .install-sheet {
        right: 0.75rem;
        left: 0.75rem;
        width: auto;
        bottom: calc(5.45rem + env(safe-area-inset-bottom));
        padding: 0.95rem 0.95rem 1rem;
    }

    .install-sheet h3 {
        font-size: 1.12rem;
    }
}


/* Brandbook refresh 2026-04-09 */
:root {
    --bg: #edf0ea;
    --bg-soft: #ced2c5;
    --surface: rgba(255, 250, 246, 0.78);
    --surface-strong: rgba(255, 252, 248, 0.94);
    --stroke: rgba(38, 59, 59, 0.13);
    --text: #243536;
    --text-muted: rgba(38, 59, 59, 0.74);
    --brand: #263b3b;
    --brand-strong: #1e2f31;
    --brand-soft: #658e8b;
    --accent: #658e8b;
    --accent-soft: #c7b9b6;
    --ink: #3f3239;
    --shadow: 0 24px 58px rgba(38, 59, 59, 0.16);
    --font-display: "Clash Display", "Panchang", "Arial Black", sans-serif;
    --font-body: "Lato", "Segoe UI", sans-serif;
    --font-accent: "Resolve Sans", "Montserrat", "Segoe UI", sans-serif;
}

body {
    background:
        radial-gradient(circle at 12% 12%, rgba(101, 142, 139, 0.28), transparent 24%),
        radial-gradient(circle at 82% 18%, rgba(199, 185, 182, 0.3), transparent 22%),
        radial-gradient(circle at 90% 72%, rgba(63, 50, 57, 0.12), transparent 22%),
        linear-gradient(180deg, #f4f1ec 0%, #e8ebe3 46%, #dde2d9 100%);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(118deg, transparent 0 58%, rgba(199, 185, 182, 0.16) 58% 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 36%);
}

.page-aura--left {
    background: rgba(101, 142, 139, 0.46);
}

.page-aura--right {
    background: rgba(199, 185, 182, 0.32);
}

.topbar {
    position: relative;
    padding: 0.8rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    border-radius: 1.65rem;
    background:
        linear-gradient(135deg, rgba(255, 251, 247, 0.76), rgba(234, 238, 230, 0.7));
    box-shadow: 0 18px 40px rgba(38, 59, 59, 0.08);
    backdrop-filter: blur(22px);
}

.topbar::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.24), transparent 38%, rgba(101, 142, 139, 0.06) 100%);
}

.topbar > * {
    position: relative;
    z-index: 1;
}

.brand__mark {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0) 45%),
        linear-gradient(135deg, #214142 0%, #658e8b 100%);
    color: transparent;
    font-size: 0;
    position: relative;
    overflow: hidden;
}

.brand__mark::after {
    content: "";
    position: absolute;
    inset: 0.34rem;
    border-radius: 0.82rem;
    background: url('../icons/gymnika-icon.svg') center / contain no-repeat;
    filter: saturate(0.96) contrast(1.02);
}

.brand__copy strong {
    letter-spacing: 0.01em;
}

.brand__copy small,
.topnav a,
.eyebrow,
.pill,
.status-badge,
.chip {
    font-family: var(--font-accent);
}

.brand__copy small,
.topnav a,
.eyebrow,
.status-badge {
    font-style: italic;
    letter-spacing: 0.04em;
}

.topnav {
    background: rgba(255, 250, 246, 0.74);
    border-color: rgba(38, 59, 59, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

.topnav a {
    font-weight: 700;
}

.hero-card,
.feature-card,
.panel-card,
.phone-card,
.auth-card,
.auth-copy,
.token-card,
.dashboard-card {
    background:
        linear-gradient(145deg, rgba(255, 252, 248, 0.9), rgba(244, 247, 241, 0.72));
    border-color: rgba(38, 59, 59, 0.1);
}

.button--primary {
    background: linear-gradient(135deg, #263b3b 0%, #3f3239 100%);
    box-shadow: 0 16px 30px rgba(38, 59, 59, 0.2);
}

.button--secondary,
.button--ghost {
    background: rgba(255, 252, 248, 0.82);
    border-color: rgba(38, 59, 59, 0.1);
}

.install-cta {
    background: linear-gradient(135deg, #263b3b 0%, #3f3239 100%);
}

.therapy-welcome--brandbook,
.login-card-therapy--brandbook,
.register-copy-therapy,
.register-card-therapy {
    border-color: rgba(38, 59, 59, 0.1);
}

.therapy-welcome--brandbook {
    background:
        radial-gradient(circle at 86% 14%, rgba(101, 142, 139, 0.18), transparent 22%),
        radial-gradient(circle at 18% 86%, rgba(199, 185, 182, 0.18), transparent 20%),
        linear-gradient(140deg, rgba(255, 252, 248, 0.95), rgba(236, 241, 233, 0.88));
}

.therapy-welcome--brandbook::before {
    content: "";
    position: absolute;
    right: 1.3rem;
    top: 1.4rem;
    width: 9rem;
    height: 9rem;
    background: url('../icons/gymnika-icon.svg') center / contain no-repeat;
    opacity: 0.08;
    transform: rotate(-12deg);
    pointer-events: none;
}

.therapy-welcome--brandbook::after {
    width: 12rem;
    height: 12rem;
    right: -3rem;
    top: auto;
    bottom: -3rem;
    background: radial-gradient(circle, rgba(101, 142, 139, 0.28), transparent 66%);
}

.therapy-welcome--brandbook h1 {
    max-width: 13ch;
    font-size: clamp(2.2rem, 4.6vw, 4.1rem);
}

.therapy-brand-scene {
    position: relative;
    min-height: 13rem;
    margin: 1.15rem 0 0.95rem;
    overflow: hidden;
    border-radius: 1.4rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    background:
        linear-gradient(135deg, rgba(206, 210, 197, 0.62), rgba(255, 252, 248, 0.82)),
        linear-gradient(180deg, rgba(101, 142, 139, 0.12), transparent 68%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34);
}

.therapy-brand-scene__mark {
    position: absolute;
    background: url('../icons/gymnika-icon.svg') center / contain no-repeat;
    opacity: 0.12;
    pointer-events: none;
}

.therapy-brand-scene__mark--one {
    width: 11rem;
    height: 11rem;
    left: -0.4rem;
    bottom: -1.8rem;
    transform: rotate(12deg);
}

.therapy-brand-scene__mark--two {
    width: 10rem;
    height: 10rem;
    right: -1rem;
    top: -1.1rem;
    transform: rotate(-8deg);
}

.therapy-brand-scene__word {
    position: absolute;
    font-family: var(--font-accent);
    font-style: italic;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #658e8b;
    opacity: 0.95;
}

.therapy-brand-scene__word--wellness {
    left: 1.1rem;
    top: 1rem;
}

.therapy-brand-scene__word--balance {
    right: 1.1rem;
    top: 1.25rem;
}

.therapy-brand-scene__word--recovery {
    left: 2.2rem;
    bottom: 3.9rem;
}

.therapy-brand-scene__word--performance {
    right: 1.3rem;
    bottom: 3.8rem;
}

.therapy-brand-scene__panel {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    display: grid;
    gap: 0.28rem;
    padding: 0.95rem 1rem;
    border-radius: 1.15rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    background: rgba(255, 252, 248, 0.78);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.46);
}

.therapy-brand-scene__panel strong {
    font-family: var(--font-accent);
    font-style: italic;
    font-size: 0.95rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.therapy-brand-scene__panel span {
    color: var(--text-muted);
    line-height: 1.5;
}

.therapy-pill-row--brandbook .pill {
    border: 1px solid rgba(38, 59, 59, 0.06);
    background: rgba(255, 252, 248, 0.78);
}

.therapy-feature-list--brandbook article,
.login-support-grid--brandbook article,
.login-card-therapy__signal {
    background: rgba(255, 252, 248, 0.72);
    border-color: rgba(38, 59, 59, 0.08);
}

.therapy-feature-list--brandbook article:nth-child(2) {
    background: linear-gradient(135deg, rgba(101, 142, 139, 0.12), rgba(255, 252, 248, 0.82));
}

.therapy-feature-list--brandbook article:nth-child(3) {
    background: linear-gradient(135deg, rgba(199, 185, 182, 0.16), rgba(255, 252, 248, 0.82));
}

.login-card-therapy--brandbook {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 92% 8%, rgba(101, 142, 139, 0.14), transparent 18%),
        linear-gradient(180deg, rgba(255, 252, 248, 0.94), rgba(246, 241, 236, 0.86));
}

.login-card-therapy--brandbook::before {
    content: "";
    position: absolute;
    top: -2rem;
    right: -1.6rem;
    width: 8rem;
    height: 8rem;
    border-radius: 38% 62% 54% 46%;
    background: radial-gradient(circle, rgba(199, 185, 182, 0.34), transparent 70%);
    pointer-events: none;
}

.login-card-therapy__signal {
    position: relative;
    display: grid;
    gap: 0.18rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    border-radius: 1.1rem;
}

.login-card-therapy__signal small {
    font-family: var(--font-accent);
    font-style: italic;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #658e8b;
}

.login-card-therapy__signal strong {
    display: block;
    line-height: 1.45;
    font-size: 0.96rem;
}

.login-support-grid--brandbook article {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

@media (max-width: 1100px) {
    .therapy-brand-scene {
        min-height: 12rem;
    }

    .therapy-brand-scene__word--balance,
    .therapy-brand-scene__word--performance {
        right: 0.9rem;
    }
}

@media (max-width: 768px) {
    .topbar {
        padding: 0.72rem 0.78rem;
        border-radius: 1.35rem;
    }

    .brand__mark {
        width: 2.75rem;
        height: 2.75rem;
    }

    .login-card-therapy__signal {
        padding: 0.85rem 0.9rem;
    }
}

@media (max-width: 520px) {
    .topbar {
        margin-bottom: 0.8rem;
    }

    .login-card-therapy--brandbook {
        gap: 0.75rem;
    }
}



/* Admin visual balance refine 2026-04-09 */
.admin-shell--pro {
    gap: 0.9rem;
}

.admin-shell--pro .dashboard-card,
.admin-shell--pro .token-card {
    padding: 1.08rem 1.15rem;
}

.admin-hero-banner {
    gap: 0.82rem;
    padding: 1.12rem 1.2rem;
}

.admin-hero-copy h1 {
    max-width: 14ch;
    font-size: clamp(1.88rem, 2.7vw, 2.72rem);
    line-height: 1.01;
}

.admin-hero-copy p {
    max-width: 54rem;
    font-size: 0.98rem;
}

.admin-hero-actions {
    gap: 0.6rem;
}

.admin-hero-actions .button {
    padding-inline: 1.08rem;
}

.admin-hero-strip {
    grid-template-columns: minmax(0, 1.12fr) repeat(4, minmax(0, 0.82fr));
    gap: 0.68rem;
    padding: 0.82rem;
    border-radius: 1.32rem;
}

.admin-hero-panel {
    gap: 0.16rem;
    padding: 0.76rem 0.88rem;
    border-radius: 1rem;
}

.admin-hero-panel strong {
    font-size: 1.42rem;
}

.admin-hero-panel--identity strong {
    font-size: clamp(1.46rem, 1.8vw, 1.82rem);
}

.admin-hero-panel small,
.admin-hero-panel span {
    line-height: 1.34;
}

.admin-ops-grid,
.admin-intel-grid {
    gap: 0.9rem;
}

.admin-ops-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-intel-grid {
    grid-template-columns: minmax(17rem, 0.8fr) minmax(0, 1.2fr);
}

.admin-panel {
    gap: 0.82rem;
}

.admin-form-callout {
    padding: 0.82rem 0.9rem;
    border-radius: 1rem;
}

.admin-users-card .dashboard-card__head,
.admin-history-card .dashboard-card__head,
.admin-report-card .dashboard-card__head,
.admin-create-card .dashboard-card__head,
.admin-queue-card .dashboard-card__head,
.admin-token-adjust-card .dashboard-card__head {
    margin-bottom: 0.08rem;
}

.admin-report-kpi-grid--wide {
    gap: 0.62rem;
}

.admin-report-kpi-grid--wide article {
    padding: 0.74rem 0.82rem;
}

.admin-table--pro th,
.admin-table--pro td {
    padding-top: 0.84rem;
    padding-bottom: 0.84rem;
}

@media (max-width: 1180px) {
    .admin-hero-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-hero-panel--identity {
        grid-column: 1 / -1;
    }
}

/* Unified member frame alignment 2026-04-09 */
:root {
    --member-frame-width: 72rem;
}

.app-frame--member {
    width: min(100%, var(--member-frame-width));
    margin-inline: auto;
}

.app-frame--member .topbar--member,
.app-frame--member .patient-shell,
.app-frame--member .admin-shell--pro,
.app-frame--member .therapist-shell,
.app-frame--member .reception-shell {
    width: 100%;
    max-width: none;
    margin-inline: auto;
}

@media (max-width: 1160px) {
    :root {
        --member-frame-width: 100%;
    }
}

/* Stage 2 scheduling 2026-04-19 */
.patient-slot-filter,
.patient-slot-book-form {
    gap: 0.8rem;
}

.patient-slot-policy {
    margin-bottom: 0.9rem;
}

.patient-slot-list,
.admin-slot-list {
    display: grid;
    gap: 0.9rem;
    margin-top: 0.9rem;
}

.patient-slot-card,
.admin-slot-item {
    display: grid;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    border-radius: 1.1rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    background: rgba(255, 255, 255, 0.72);
}

.patient-slot-card__head,
.admin-slot-item__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem;
}

.patient-slot-card__head strong,
.admin-slot-item__head strong {
    display: block;
    margin-bottom: 0.2rem;
}

.patient-slot-card__head span,
.admin-slot-item__head span,
.patient-slot-card__meta,
.admin-slot-item__meta {
    color: var(--text-muted);
}

.patient-slot-card__meta,
.admin-slot-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    font-size: 0.95rem;
}

.patient-slot-book-form label {
    display: grid;
    gap: 0.45rem;
}

.appointment-inline-action {
    margin-top: 0.25rem;
}

.admin-slot-card {
    gap: 1rem;
}

.admin-slot-card .form-grid--double {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-slot-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin-top: 0.25rem;
}

.admin-slot-toolbar--subsection {
    margin-top: 1.15rem;
}

.admin-slot-toolbar__copy {
    display: grid;
    gap: 0.18rem;
}

.admin-slot-toolbar__copy strong {
    font-size: 1rem;
}

.admin-slot-toolbar__copy span {
    color: var(--text-muted);
    line-height: 1.45;
}

.admin-intel-grid--slot-templates {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0.95rem;
}

.admin-template-list {
    display: grid;
    gap: 0.85rem;
}

.admin-template-card {
    gap: 0.7rem;
}

.admin-template-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
}

.admin-template-card__head strong {
    display: block;
    margin-bottom: 0.18rem;
}

.admin-template-card__head span,
.admin-template-card__meta {
    color: var(--text-muted);
}

.admin-template-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.85rem;
    font-size: 0.94rem;
}

.admin-template-card__meta--muted {
    font-size: 0.88rem;
}

.admin-template-card__actions {
    display: flex;
    justify-content: flex-start;
}

.admin-slot-item small {
    display: block;
    line-height: 1.45;
}

.therapist-slot-inline {
    margin-bottom: 0.25rem;
}

@media (max-width: 900px) {
    .admin-slot-toolbar,
    .admin-template-card__head {
        display: grid;
        justify-content: stretch;
    }

    .admin-intel-grid--slot-templates {
        grid-template-columns: 1fr;
    }

    .patient-slot-card__head,
    .admin-slot-item__head {
        grid-template-columns: 1fr;
    }

    .patient-slot-card__head,
    .admin-slot-item__head {
        display: grid;
    }

    .admin-slot-card .form-grid--double {
        grid-template-columns: 1fr;
    }
}

/* Phase 3 admin journal + coverage polish 2026-05-03 */
.admin-export-toolbar {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-intel-grid--journal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0.9rem;
}

.admin-users-toolbar--journal {
    grid-template-columns: minmax(0, 1fr) auto;
}

.admin-users-toolbar--journal .admin-users-toolbar__actions {
    align-self: end;
}

.admin-table--journal {
    min-width: 58rem !important;
}

.admin-table--journal td strong,
.admin-table--journal td small {
    display: block;
}

.admin-table--journal td small {
    line-height: 1.38;
}

@media (max-width: 1080px) {
    .admin-intel-grid--journal {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .admin-export-toolbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-table--journal {
        min-width: 48rem !important;
    }
}

@media (max-width: 720px) {
    .admin-users-toolbar--journal {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 540px) {
    .admin-table--journal {
        min-width: 42rem !important;
    }
}

/* UI refinement: cleaner login + panel navigation 2026-06-01 */
@keyframes panelFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.has-panel-ui .panel-view {
    display: none;
}

.has-panel-ui .panel-view.is-active {
    display: block;
    animation: panelFadeIn 0.22s ease;
}

.panel-shell-nav {
    margin: 0.1rem 0 0.35rem;
}

.panel-shell-nav__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    padding: 0.7rem;
    border-radius: 1.35rem;
    border: 1px solid rgba(101, 142, 139, 0.18);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(246, 243, 237, 0.86));
    box-shadow: 0 20px 40px rgba(38, 59, 59, 0.08);
    backdrop-filter: blur(18px);
}

.panel-shell-nav__button {
    appearance: none;
    border: 0;
    cursor: pointer;
    padding: 0.84rem 1.12rem;
    border-radius: 999px;
    background: rgba(236, 241, 233, 0.96);
    color: var(--text-muted);
    font: inherit;
    font-weight: 700;
    line-height: 1;
    transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.panel-shell-nav__button:hover {
    transform: translateY(-1px);
    color: var(--text-strong);
    background: rgba(227, 234, 229, 0.98);
}

.panel-shell-nav__button.is-active {
    background: linear-gradient(135deg, var(--brand), #658e8b);
    color: #fff;
    box-shadow: 0 16px 30px rgba(38, 59, 59, 0.2);
}

.patient-sections,
.therapist-sections,
.reception-sections,
.admin-sections {
    display: grid;
    gap: 1rem;
}

.patient-row--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

.patient-row--financial-tools,
.patient-row--appointments {
    align-items: start;
}

.login-experience--cleaner {
    grid-template-columns: minmax(0, 0.95fr) minmax(22rem, 27rem);
    align-items: stretch;
    gap: 1.25rem;
}

.therapy-welcome--minimal {
    justify-content: center;
}

.therapy-welcome--minimal h1 {
    max-width: 12ch;
    font-size: clamp(2.35rem, 4.2vw, 4.55rem);
    line-height: 0.96;
    letter-spacing: -0.045em;
}

.therapy-welcome--minimal p {
    max-width: 40rem;
}

.therapy-pill-row--minimal {
    margin-top: 0.95rem;
}

.therapy-welcome__summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
    margin-top: 1rem;
}

.therapy-welcome__summary article {
    display: grid;
    gap: 0.22rem;
    padding: 1rem 1.05rem;
    border-radius: 1.22rem;
    border: 1px solid rgba(101, 142, 139, 0.18);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(248, 245, 239, 0.84));
    box-shadow: 0 18px 34px rgba(38, 59, 59, 0.06);
}

.therapy-welcome__summary strong {
    color: var(--text-strong);
    font-size: 1rem;
}

.therapy-welcome__summary span {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.45;
}

.login-card-therapy--minimal {
    align-content: start;
    gap: 1rem;
}

.login-support-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.2rem;
}

.login-support-inline span {
    display: inline-flex;
    align-items: center;
    padding: 0.58rem 0.9rem;
    border-radius: 999px;
    background: rgba(236, 241, 233, 0.9);
    color: var(--text-muted);
    font-size: 0.92rem;
    font-weight: 600;
}

.admin-sections .admin-ops-grid,
.admin-sections .admin-intel-grid {
    margin-top: 0;
}

@media (max-width: 1040px) {
    .login-experience--cleaner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 920px) {
    .patient-row--two {
        grid-template-columns: 1fr;
    }

    .therapy-welcome__summary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .panel-shell-nav__list {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: thin;
        padding: 0.55rem;
    }

    .panel-shell-nav__button {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}

@media (max-width: 640px) {
    .panel-shell-nav__list {
        gap: 0.48rem;
    }

    .panel-shell-nav__button {
        padding: 0.76rem 0.92rem;
        font-size: 0.92rem;
    }

    .therapy-welcome--minimal h1 {
        max-width: none;
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .login-support-inline {
        flex-direction: column;
    }
}

/* Premium shell redesign inspired by dashboard references 2026-06-28 */
:root {
    --guest-frame-width: 76rem;
    --member-frame-width-pro: 96rem;
    --shell-accent: #198bc7;
    --shell-accent-strong: #0f7fb8;
    --shell-mint: #18b490;
    --shell-navy: #0f1f43;
    --shell-sidebar-start: #1488b6;
    --shell-sidebar-end: #18ae8d;
}

.app-frame--guest {
    width: min(100%, var(--guest-frame-width));
    padding-top: 1.4rem;
}

.app-frame--member {
    width: min(100%, var(--member-frame-width-pro));
    max-width: none;
    padding: 1rem;
}

.app-frame--guest .topbar {
    width: min(100%, 64rem);
    margin-inline: auto;
}

.member-app-shell {
    display: grid;
    grid-template-columns: 17.5rem minmax(0, 1fr);
    gap: 1.2rem;
    align-items: start;
}

.member-sidebar {
    position: sticky;
    top: 1rem;
    display: grid;
    align-content: start;
    gap: 1rem;
    min-height: calc(100vh - 2rem);
    padding: 1.35rem 1.15rem;
    border-radius: 2rem;
    color: #fff;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 28%),
        radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.1), transparent 25%),
        linear-gradient(180deg, var(--shell-sidebar-start) 0%, var(--shell-sidebar-end) 100%);
    box-shadow: 0 28px 60px rgba(16, 95, 112, 0.24);
    overflow: hidden;
}

.member-sidebar::before,
.member-sidebar::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    pointer-events: none;
}

.member-sidebar::before {
    width: 14rem;
    height: 14rem;
    right: -6rem;
    top: -4rem;
    background: rgba(255, 255, 255, 0.06);
}

.member-sidebar::after {
    width: 11rem;
    height: 11rem;
    left: -5rem;
    bottom: -4rem;
    background: rgba(255, 255, 255, 0.07);
}

.member-sidebar > * {
    position: relative;
    z-index: 1;
}

.member-sidebar__brand {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    color: #fff;
}

.member-sidebar__brand .brand__mark {
    width: 3.2rem;
    height: 3.2rem;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.02)),
        rgba(255, 255, 255, 0.18);
    box-shadow: none;
}

.member-sidebar__brand .brand__mark::after {
    filter: brightness(0) invert(1) opacity(0.96);
}

.member-sidebar__brand .brand__copy strong,
.member-sidebar__brand .brand__copy small {
    color: #fff;
}

.member-sidebar__brand .brand__copy small {
    opacity: 0.86;
    font-style: normal;
    letter-spacing: 0.01em;
}

.member-sidebar__context {
    display: grid;
    gap: 0.3rem;
    padding: 1rem;
    border-radius: 1.3rem;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.member-sidebar__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 0.38rem 0.72rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.member-sidebar__context strong {
    font-family: var(--font-display);
    font-size: 1.28rem;
    line-height: 1.05;
}

.member-sidebar__context small {
    color: rgba(255, 255, 255, 0.84);
}

.member-sidebar__nav {
    display: grid;
    gap: 0.4rem;
}

.member-sidebar__nav a {
    display: flex;
    align-items: center;
    min-height: 3.35rem;
    padding: 0.88rem 1rem;
    border-radius: 1rem;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 700;
    transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.member-sidebar__nav a:hover,
.member-sidebar__nav a.is-active {
    background: rgba(255, 255, 255, 0.96);
    color: #115264;
    transform: translateX(2px);
}

.member-sidebar__footer {
    margin-top: auto;
    display: grid;
    gap: 0.75rem;
    padding: 0.85rem 0.95rem;
    border-radius: 1.3rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.member-sidebar__user {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.member-sidebar__avatar {
    display: grid;
    place-items: center;
    width: 2.9rem;
    height: 2.9rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    font-weight: 800;
}

.member-sidebar__user strong,
.member-sidebar__user small,
.member-sidebar__logout {
    color: #fff;
}

.member-sidebar__logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.16);
    font-weight: 700;
}

.member-main {
    min-width: 0;
    display: grid;
    gap: 1rem;
}

.member-topbar-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.8rem 1rem;
    border-radius: 1.5rem;
    border: 1px solid rgba(38, 59, 59, 0.08);
    background:
        linear-gradient(145deg, rgba(255, 252, 248, 0.92), rgba(242, 246, 240, 0.82));
    box-shadow: 0 18px 40px rgba(38, 59, 59, 0.08);
    backdrop-filter: blur(18px);
}

.member-topbar-shell__intro {
    display: grid;
    gap: 0.18rem;
}

.member-topbar-shell__intro strong {
    font-family: var(--font-display);
    font-size: 1.08rem;
    color: var(--text-strong);
}

.member-topbar-shell__actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.member-date-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.65rem 1rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(38, 59, 59, 0.08);
    color: var(--text-muted);
    font-family: var(--font-accent);
    font-weight: 700;
}

.member-topbar-shell__logout {
    min-width: 10.5rem;
}

.member-main__content {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.member-main__content > * {
    min-width: 0;
}

.login-experience--cleaner {
    max-width: 65rem;
    margin-inline: auto;
    margin-top: 1.35rem;
    border-radius: 2.2rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(38, 59, 59, 0.08);
    box-shadow: 0 30px 70px rgba(22, 83, 97, 0.14);
    grid-template-columns: minmax(0, 1fr) minmax(24rem, 0.95fr);
    gap: 0;
}

.therapy-welcome--minimal {
    min-height: 39rem;
    padding: clamp(1.7rem, 3vw, 2.6rem);
    color: #fff;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 26%),
        radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.12), transparent 20%),
        linear-gradient(155deg, #263b3b 0%, #344f4f 38%, #658e8b 100%);
    position: relative;
}

.therapy-welcome--minimal::before,
.therapy-welcome--minimal::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

.therapy-welcome--minimal::before {
    width: 18rem;
    height: 18rem;
    right: -5rem;
    top: -3rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.therapy-welcome--minimal::after {
    width: 12rem;
    height: 12rem;
    left: -3rem;
    bottom: -4rem;
    background: rgba(255, 255, 255, 0.08);
}

.therapy-welcome--minimal > * {
    position: relative;
    z-index: 1;
}

.therapy-welcome--minimal .eyebrow,
.therapy-welcome--minimal .pill {
    color: #fff;
}

.therapy-welcome--minimal .eyebrow {
    background: rgba(255, 255, 255, 0.16);
}

.therapy-welcome--minimal h1,
.therapy-welcome--minimal p,
.therapy-welcome--minimal strong,
.therapy-welcome--minimal span {
    color: #fff;
}

.therapy-welcome--minimal p {
    max-width: 31rem;
    color: rgba(255, 255, 255, 0.88);
}

.therapy-pill-row--minimal .pill {
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.therapy-welcome__summary {
    align-self: end;
    margin-top: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.therapy-welcome__summary article {
    min-height: 6.25rem;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: none;
}

.therapy-welcome__summary strong {
    font-size: 1.55rem;
    line-height: 1;
}

.therapy-welcome__summary span {
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.92rem;
}

.login-card-therapy--minimal {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    background: rgba(255, 255, 255, 0.98);
}

.login-card-therapy--minimal .button--primary {
    background: linear-gradient(135deg, var(--shell-accent-strong) 0%, var(--shell-accent) 100%);
    box-shadow: 0 18px 34px rgba(25, 139, 199, 0.2);
}

.login-card-therapy--minimal .button--primary:hover {
    transform: translateY(-1px);
}

.login-support-inline span {
    background: rgba(232, 244, 249, 0.94);
    color: #34616a;
}

.patient-hero-banner,
.admin-hero-banner,
.therapist-hero,
.reception-hero {
    border-radius: 1.9rem;
    box-shadow: 0 22px 48px rgba(38, 59, 59, 0.08);
}

.panel-shell-nav__list {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(38, 59, 59, 0.08);
}

.panel-shell-nav__button.is-active {
    background: linear-gradient(135deg, var(--shell-accent-strong) 0%, var(--shell-mint) 100%);
    box-shadow: 0 14px 26px rgba(25, 139, 199, 0.18);
}

.dashboard-card,
.token-card {
    box-shadow: 0 18px 38px rgba(38, 59, 59, 0.07);
}

.admin-hero-strip,
.patient-hero-strip,
.therapist-hero__stats,
.reception-hero__stats {
    border-radius: 1.55rem;
}

@media (max-width: 1160px) {
    .app-frame--member {
        width: 100%;
    }

    .member-app-shell {
        grid-template-columns: 1fr;
    }

    .member-sidebar {
        position: static;
        min-height: 0;
        padding: 1rem;
    }

    .member-sidebar__context,
    .member-sidebar__footer {
        display: none;
    }

    .member-sidebar__nav {
        display: flex;
        gap: 0.5rem;
        overflow-x: auto;
        padding-bottom: 0.2rem;
    }

    .member-sidebar__nav a {
        flex: 0 0 auto;
        min-height: 3rem;
        white-space: nowrap;
    }
}

@media (max-width: 980px) {
    .member-topbar-shell {
        padding: 0.72rem 0.82rem;
    }

    .member-topbar-shell__actions {
        width: 100%;
        justify-content: flex-start;
    }

    .login-experience--cleaner {
        grid-template-columns: 1fr;
    }

    .therapy-welcome--minimal {
        min-height: auto;
    }
}

@media (max-width: 760px) {
    .member-sidebar__nav {
        display: none;
    }

    .member-topbar-shell {
        display: grid;
    }

    .member-topbar-shell__actions {
        justify-content: stretch;
    }

    .member-date-chip,
    .member-topbar-shell__logout {
        width: 100%;
    }

    .app-frame--member {
        padding: 0.85rem 0.8rem 6rem;
    }
}

@media (max-width: 640px) {
    .app-frame--guest {
        padding-top: 0.85rem;
    }

    .app-frame--guest .topbar {
        width: 100%;
    }

    .login-experience--cleaner {
        margin-top: 0.75rem;
        border-radius: 1.6rem;
    }

    .therapy-welcome--minimal,
    .login-card-therapy--minimal {
        padding: 1.15rem;
    }

    .therapy-welcome__summary {
        margin-top: 1rem;
    }
}

/* Login y formularios compactos | junio 2026 */
.auth-brand-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 0.75rem;
}

.auth-brand-inline__logo {
    width: 3rem;
    height: auto;
    display: block;
    object-fit: contain;
}

.auth-brand-inline__copy {
    display: grid;
    gap: 0.12rem;
}

.auth-brand-inline__copy strong {
    font-family: var(--font-display);
    font-size: 1.42rem;
    line-height: 1;
    color: var(--text-strong);
}

.auth-brand-inline__copy small {
    color: var(--text-muted);
    font-family: var(--font-accent);
    font-style: italic;
    letter-spacing: 0.04em;
}

.auth-brand-inline--register {
    margin-bottom: 0.95rem;
}

.login-experience--cleaner {
    max-width: 68rem;
    grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.92fr);
}

.therapy-welcome--minimal {
    min-height: 0;
    display: grid;
    align-content: space-between;
    gap: 1.35rem;
}

.therapy-welcome--minimal h1 {
    max-width: 10ch;
    margin: 0;
}

.therapy-welcome--minimal p {
    max-width: 33rem;
}

.therapy-welcome__summary {
    gap: 0.75rem;
}

.therapy-welcome__summary article {
    min-height: 5.6rem;
    padding: 0.95rem 1rem;
}

.login-card-therapy--minimal {
    display: grid;
    gap: 1rem;
}

.login-card-therapy__intro--compact {
    display: grid;
    gap: 0.55rem;
}

.login-card-therapy__intro--compact h2 {
    margin: 0;
    font-size: clamp(2.2rem, 4vw, 3rem);
    line-height: 0.96;
    letter-spacing: -0.04em;
}

.login-card-therapy__intro--compact p {
    margin: 0;
    max-width: 28rem;
}

.login-form-therapy--saas {
    gap: 0.88rem;
}

.login-form-therapy--saas label,
.admin-form-grid label {
    display: grid;
    gap: 0.38rem;
}

.login-form-therapy--saas input,
.register-card-therapy input,
.register-card-therapy select,
.admin-form-grid input,
.admin-form-grid select {
    min-height: 3rem;
    padding: 0.78rem 0.9rem;
    border-radius: 1rem;
}

.admin-form-grid textarea,
.register-card-therapy textarea {
    min-height: 5.8rem;
    padding: 0.82rem 0.9rem;
    border-radius: 1rem;
}

.login-form-therapy--saas .button--primary,
.admin-form-grid .button,
.form-actions .button {
    min-height: 3rem;
}

.login-utility-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.login-install-trigger {
    appearance: none;
    border: 0;
    background: transparent;
    color: #4b6d73;
    font-size: 0.94rem;
    font-weight: 700;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18rem;
}

.login-install-trigger:hover {
    color: var(--text-strong);
}

.login-inline-link,
.auth-inline-footnote a {
    color: var(--shell-accent-strong);
    font-weight: 700;
    text-decoration: none;
}

.login-inline-link:hover,
.auth-inline-footnote a:hover {
    color: var(--text-strong);
}

.auth-inline-footnote {
    margin: 0.15rem 0 0;
    color: var(--text-muted);
    font-size: 0.92rem;
}

.login-support-inline {
    margin-top: 0;
}

.login-support-inline span {
    padding: 0.52rem 0.82rem;
    font-size: 0.86rem;
}

@media (max-width: 820px) {
    .login-experience--cleaner {
        max-width: 32rem;
        grid-template-columns: 1fr;
        margin-top: 0.65rem;
    }

    .login-experience--cleaner .therapy-welcome--minimal {
        display: none;
    }

    .login-card-therapy--minimal {
        padding: 1.15rem;
    }
}

@media (max-width: 640px) {
    .app-frame--guest {
        width: 100%;
        padding-inline: 0.78rem;
        padding-top: 0.72rem;
    }

    .login-experience--cleaner {
        border-radius: 1.45rem;
        box-shadow: 0 22px 48px rgba(22, 83, 97, 0.12);
    }

    .auth-brand-inline__logo {
        width: 2.6rem;
    }

    .auth-brand-inline__copy strong {
        font-size: 1.24rem;
    }

    .login-card-therapy__intro--compact h2 {
        font-size: clamp(1.85rem, 7vw, 2.45rem);
    }

    .login-form-therapy--saas input,
    .register-card-therapy input,
    .register-card-therapy select,
    .admin-form-grid input,
    .admin-form-grid select {
        min-height: 2.85rem;
    }

    .admin-form-grid textarea,
    .register-card-therapy textarea {
        min-height: 5.1rem;
    }

    .login-utility-row {
        align-items: flex-start;
    }
}

/* Neutral compact SaaS tuning 2026-06-28 */
:root {
    --font-display: "Segoe UI Variable Display", "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    --font-body: "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    --font-accent: "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    --guest-frame-width: 60rem;
    --member-frame-width-pro: 90rem;
    --shell-accent: #658e8b;
    --shell-accent-strong: #263b3b;
    --shell-mint: #ced2c5;
    --shell-sidebar-start: #263b3b;
    --shell-sidebar-end: #355251;
}

body {
    background:
        radial-gradient(circle at top left, rgba(101, 142, 139, 0.2), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(206, 210, 197, 0.42), transparent 18%),
        linear-gradient(180deg, #f5f6f1 0%, #eef1eb 46%, #e7ebe4 100%);
}

.page-aura {
    opacity: 0.22;
    filter: blur(32px);
}

.brand__copy small,
.eyebrow,
.status-badge,
.pill {
    font-style: normal;
    letter-spacing: 0.02em;
}

.brand__mark::after {
    background: url('../icons/gymnika-app-icon-192.png') center / contain no-repeat;
}

.member-app-shell {
    grid-template-columns: 15.75rem minmax(0, 1fr);
    gap: 1rem;
}

.member-sidebar {
    gap: 0.85rem;
    padding: 1.05rem 0.95rem;
    border-radius: 1.7rem;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.1), transparent 26%),
        radial-gradient(circle at bottom left, rgba(206, 210, 197, 0.14), transparent 24%),
        linear-gradient(180deg, var(--shell-sidebar-start) 0%, var(--shell-sidebar-end) 100%);
    box-shadow: 0 22px 46px rgba(38, 59, 59, 0.18);
}

.member-sidebar__brand .brand__mark {
    width: 3rem;
    height: 3rem;
    background: rgba(255, 255, 255, 0.96);
}

.member-sidebar__brand .brand__mark::after {
    inset: 0.38rem;
    filter: none;
    opacity: 0.96;
}

.member-sidebar__brand .brand__copy strong {
    font-size: 1.5rem;
}

.member-sidebar__brand .brand__copy small {
    opacity: 0.82;
}

.member-sidebar__context {
    padding: 0.85rem 0.92rem;
    border-radius: 1.15rem;
}

.member-sidebar__eyebrow {
    letter-spacing: 0.04em;
}

.member-sidebar__context strong {
    font-size: 1.25rem;
    line-height: 1.06;
}

.member-sidebar__nav {
    gap: 0.35rem;
}

.member-sidebar__nav a {
    min-height: 2.95rem;
    padding: 0.72rem 0.86rem;
    border-radius: 0.95rem;
    font-size: 0.96rem;
}

.member-sidebar__footer {
    gap: 0.8rem;
}

.member-sidebar__avatar {
    width: 2.55rem;
    height: 2.55rem;
    font-size: 1rem;
}

.member-sidebar__logout {
    min-height: 2.85rem;
    font-size: 0.96rem;
}

.member-topbar-shell {
    gap: 0.85rem;
    padding: 0.68rem 0.82rem;
    border-radius: 1.25rem;
}

.member-topbar-shell__intro strong {
    font-size: 0.98rem;
}

.member-date-chip,
.member-topbar-shell__logout {
    min-height: 2.7rem;
    border-radius: 0.95rem;
}

.member-date-chip {
    padding: 0.58rem 0.9rem;
    font-size: 0.92rem;
}

.member-topbar-shell__logout {
    min-width: 9.25rem;
}

.dashboard-card,
.token-card {
    border-radius: 1.45rem;
    box-shadow: 0 16px 34px rgba(38, 59, 59, 0.08);
}

.login-experience--cleaner {
    max-width: 56rem;
    margin-top: 0.45rem;
    border-radius: 1.85rem;
    grid-template-columns: minmax(0, 0.95fr) minmax(20rem, 22rem);
    box-shadow: 0 22px 50px rgba(38, 59, 59, 0.12);
}

.therapy-welcome--minimal {
    padding: 1.2rem 1.35rem;
    gap: 1rem;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 26%),
        radial-gradient(circle at bottom left, rgba(206, 210, 197, 0.14), transparent 22%),
        linear-gradient(160deg, #28413f 0%, #32504e 54%, #658e8b 100%);
}

.auth-brand-inline {
    margin-bottom: 0.5rem;
}

.auth-brand-inline__logo {
    width: 2.6rem;
}

.auth-brand-inline__copy strong {
    font-size: 1.28rem;
}

.therapy-welcome--minimal h1 {
    max-width: 8.4ch;
    font-size: clamp(2.35rem, 3.5vw, 3.8rem);
    line-height: 0.94;
}

.therapy-welcome--minimal p {
    max-width: 25rem;
    font-size: 0.96rem;
    line-height: 1.58;
}

.therapy-welcome__summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.62rem;
}

.therapy-welcome__summary article {
    min-height: 4.7rem;
    padding: 0.85rem 0.9rem;
    border-radius: 1rem;
}

.therapy-welcome__summary strong {
    font-size: 1.08rem;
}

.therapy-welcome__summary span {
    font-size: 0.86rem;
    line-height: 1.4;
}

.login-card-therapy--minimal {
    padding: 1.35rem 1.35rem 1.25rem;
    gap: 0.85rem;
}

.login-card-therapy__intro--compact h2 {
    font-size: clamp(1.95rem, 3vw, 2.7rem);
    line-height: 0.98;
}

.login-card-therapy__intro--compact p {
    font-size: 0.95rem;
    line-height: 1.55;
}

.login-form-therapy--saas {
    gap: 0.72rem;
}

.login-form-therapy--saas label span,
.admin-form-grid label span {
    font-size: 0.92rem;
    font-weight: 600;
}

.login-form-therapy--saas input,
.register-card-therapy input,
.register-card-therapy select,
.admin-form-grid input,
.admin-form-grid select {
    min-height: 2.8rem;
    padding: 0.72rem 0.84rem;
    border-radius: 0.9rem;
}

.login-form-therapy--saas .button--primary,
.admin-form-grid .button,
.form-actions .button {
    min-height: 2.9rem;
}

.login-install-trigger,
.login-inline-link,
.auth-inline-footnote {
    font-size: 0.91rem;
}

.login-support-inline {
    gap: 0.45rem;
}

.login-support-inline span {
    padding: 0.46rem 0.72rem;
    font-size: 0.8rem;
}

.admin-hero-banner {
    border-radius: 1.6rem;
}

.admin-hero-copy {
    gap: 0.7rem;
}

.admin-hero-copy h1 {
    max-width: 17ch;
    font-size: clamp(1.85rem, 2.8vw, 3.1rem);
    line-height: 0.98;
}

.admin-hero-copy p {
    max-width: 47rem;
    font-size: 0.94rem;
    line-height: 1.58;
}

.admin-hero-actions {
    gap: 0.48rem;
}

.admin-hero-actions .button {
    min-height: 2.75rem;
    padding-inline: 0.95rem;
    border-radius: 0.92rem;
}

.admin-hero-strip {
    gap: 0.56rem;
    padding: 0.68rem;
    border-radius: 1.12rem;
}

.admin-hero-panel {
    gap: 0.12rem;
    padding: 0.68rem 0.78rem;
    border-radius: 0.9rem;
}

.admin-hero-panel strong {
    font-size: 1.18rem;
}

.admin-hero-panel--identity strong {
    font-size: clamp(1.28rem, 1.65vw, 1.7rem);
}

.admin-hero-panel small,
.admin-hero-panel span {
    font-size: 0.84rem;
    line-height: 1.3;
}

.panel-shell-nav__list {
    padding: 0.38rem;
    gap: 0.45rem;
}

.panel-shell-nav__button {
    padding: 0.68rem 0.92rem;
    font-size: 0.92rem;
}

.admin-shell--pro .dashboard-card__head strong {
    font-size: 1.12rem;
    line-height: 1.2;
}

.admin-shell--pro .dashboard-card__head .eyebrow {
    font-size: 0.72rem;
}

.admin-form-callout {
    padding: 0.9rem 1rem;
    border-radius: 1rem;
}

.admin-shell--pro .admin-form-grid input,
.admin-shell--pro .admin-form-grid select {
    min-height: 2.72rem;
}

.admin-shell--pro .admin-form-grid textarea {
    min-height: 5rem;
}

@media (max-width: 1160px) {
    .member-app-shell {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .login-experience--cleaner {
        max-width: 31rem;
    }
}

/* Layout and login restructure 2026-06-28 c */
.app-frame--guest {
    width: min(100%, 66rem);
    min-height: 100vh;
    display: grid;
    align-items: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.login-experience--cleaner {
    width: 100%;
    max-width: 56rem;
    margin-top: 0;
    margin-bottom: 0;
    border-radius: 1.7rem;
    grid-template-columns: minmax(0, 1.04fr) minmax(24rem, 0.96fr);
    box-shadow: 0 18px 42px rgba(38, 59, 59, 0.12);
}

.therapy-welcome--minimal {
    min-height: 0;
    padding: 1.25rem 1.3rem;
    gap: 0.82rem;
}

.auth-brand-inline {
    margin-bottom: 0.25rem;
}

.auth-brand-inline__logo {
    width: 2.35rem;
}

.auth-brand-inline__copy strong {
    font-size: 1.18rem;
}

.auth-brand-inline__copy small {
    font-size: 0.84rem;
}

.therapy-welcome--minimal .eyebrow {
    width: fit-content;
}

.therapy-welcome--minimal h1 {
    max-width: 8.8ch;
    font-size: clamp(2.35rem, 3.15vw, 3.55rem);
    line-height: 0.95;
}

.therapy-welcome--minimal p {
    max-width: 24rem;
    font-size: 0.95rem;
    line-height: 1.52;
}

.therapy-welcome__summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.therapy-welcome__summary article {
    min-height: 4rem;
    padding: 0.72rem 0.78rem;
}

.therapy-welcome__summary strong {
    font-size: 0.98rem;
}

.therapy-welcome__summary span {
    font-size: 0.79rem;
    line-height: 1.32;
}

.login-card-therapy--minimal {
    padding: 1.35rem 1.3rem 1.2rem;
    gap: 0.72rem;
}

.login-card-therapy__intro--compact {
    gap: 0.42rem;
}

.login-card-therapy__intro--compact h2 {
    font-size: clamp(1.9rem, 2.5vw, 2.7rem);
    line-height: 0.98;
}

.login-card-therapy__intro--compact p {
    font-size: 0.93rem;
    line-height: 1.48;
    max-width: 23rem;
}

.login-form-therapy--saas label span {
    font-size: 0.88rem;
}

.login-form-therapy--saas input {
    min-height: 2.7rem;
    padding: 0.68rem 0.8rem;
}

.login-form-therapy--saas .button--primary {
    min-height: 2.85rem;
    box-shadow: 0 14px 24px rgba(38, 59, 59, 0.14);
}

.login-utility-row {
    justify-content: flex-start;
}

.login-inline-link {
    font-size: 0.9rem;
}

.login-support-inline {
    display: none;
}

.login-install-card {
    display: flex;
    align-items: center;
    gap: 0.78rem;
    width: 100%;
    padding: 0.9rem 0.95rem;
    border: 1px solid rgba(38, 59, 59, 0.12);
    border-radius: 1.2rem;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(244, 247, 241, 0.92));
    box-shadow: 0 14px 28px rgba(38, 59, 59, 0.08);
    text-align: left;
    cursor: pointer;
}

.login-install-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.15rem;
    height: 3.15rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, #263b3b 0%, #4d6f6c 100%);
    box-shadow: 0 12px 20px rgba(38, 59, 59, 0.16);
    flex: 0 0 auto;
}

.login-install-card__icon img {
    width: 1.7rem;
    height: auto;
    display: block;
    filter: brightness(0) invert(1);
}

.login-install-card__copy {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
}

.login-install-card__copy strong {
    font-size: 1rem;
    line-height: 1.15;
    color: var(--text);
}

.login-install-card__copy small {
    font-size: 0.86rem;
    color: var(--text-muted);
    line-height: 1.35;
}

.member-sidebar__footer {
    padding-top: 0.2rem;
}

.member-sidebar__user {
    width: 100%;
    padding: 0.78rem 0.82rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.member-sidebar__logout {
    display: none;
}

.member-topbar-shell {
    min-height: 4rem;
    position: sticky;
    top: 1rem;
    z-index: 12;
}

.member-topbar-shell__actions {
    margin-left: auto;
}

.admin-hero-actions {
    display: none;
}

.panel-shell-nav {
    display: none;
}

.dashboard-stack,
.patient-sections,
.therapist-sections,
.reception-sections,
.admin-sections {
    gap: 0.9rem;
}

.app-frame--member {
    width: 100%;
    max-width: none;
    min-height: 100vh;
    padding: 0.95rem;
}

.member-app-shell {
    grid-template-columns: 17rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    min-height: calc(100vh - 1.9rem);
}

.member-sidebar {
    top: 0.95rem;
    min-height: calc(100vh - 1.9rem);
    height: calc(100vh - 1.9rem);
}

.member-main {
    min-width: 0;
    display: grid;
    gap: 1rem;
    align-content: start;
}

.member-main__content {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.app-frame--member .patient-shell,
.app-frame--member .admin-shell--pro,
.app-frame--member .therapist-shell,
.app-frame--member .reception-shell {
    width: 100%;
    max-width: none;
}

.dashboard-card__head {
    gap: 0.7rem;
}

.dashboard-card__head strong {
    font-size: 1.08rem;
    line-height: 1.18;
}

.dashboard-card__head .eyebrow {
    font-size: 0.72rem;
}

.admin-hero-copy h1,
.patient-hero-banner .patient-hero-copy h1,
.therapist-hero__copy h1,
.reception-hero__copy h1 {
    font-size: clamp(1.7rem, 2.4vw, 2.7rem);
    line-height: 0.98;
    max-width: 16ch;
}

.patient-hero-banner .patient-hero-copy p,
.admin-hero-copy p,
.therapist-hero__copy p,
.reception-hero__copy p {
    font-size: 0.93rem;
    line-height: 1.55;
}

.admin-hero-strip,
.therapist-hero__strip,
.reception-hero__strip,
.patient-hero-strip {
    gap: 0.55rem;
    padding: 0.72rem;
}

.admin-hero-panel,
.therapist-hero__panel,
.reception-hero__panel,
.patient-hero-strip__metric,
.patient-hero-strip__identity {
    padding: 0.7rem 0.8rem;
    border-radius: 0.95rem;
}

.admin-hero-panel strong,
.therapist-hero__panel strong,
.reception-hero__panel strong,
.patient-hero-strip__metric strong {
    font-size: 1.18rem;
}

.admin-hero-panel small,
.admin-hero-panel span,
.therapist-hero__panel small,
.therapist-hero__panel span,
.reception-hero__panel small,
.reception-hero__panel span,
.patient-hero-strip__identity small,
.patient-hero-strip__identity span,
.patient-hero-strip__metric small {
    font-size: 0.83rem;
}

.table-scroll,
.history-inline-table,
.data-table,
.appointment-grid,
.list-stack {
    border-radius: 1.1rem;
}

.dashboard-stack > .token-card,
.dashboard-stack > .dashboard-card,
.patient-sections > .panel-view > .dashboard-card,
.therapist-sections > .panel-view > .dashboard-card,
.reception-sections > .panel-view > .dashboard-card,
.admin-sections > .panel-view > .dashboard-card {
    width: 100%;
}

@media (min-width: 761px) {
    .member-topbar-shell__intro {
        display: none;
    }

    .member-topbar-shell {
        justify-content: flex-end;
    }

    .login-install-card {
        display: none !important;
    }
}

@media (max-width: 760px) {
    .app-frame--guest {
        min-height: auto;
        align-items: start;
    }

    .panel-shell-nav {
        display: block;
    }

    .panel-shell-nav__list {
        padding: 0.32rem;
        gap: 0.38rem;
    }

    .panel-shell-nav__button {
        padding: 0.62rem 0.8rem;
        font-size: 0.88rem;
    }

    .member-topbar-shell__intro {
        display: grid;
    }

    .app-frame--member {
        padding: 0.8rem 0.8rem 5rem;
    }
}

@media (max-width: 820px) {
    .login-experience--cleaner {
        max-width: 28rem;
        margin-top: 0.35rem;
    }

    .login-card-therapy--minimal {
        padding: 1.2rem 1.1rem 1.15rem;
    }

    .login-utility-row {
        margin-bottom: 0.15rem;
    }

    .login-install-card {
        margin-top: 0.15rem;
    }
}

@media (max-width: 1160px) {
    .member-app-shell {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .member-sidebar {
        position: static;
        min-height: 0;
        height: auto;
    }

    .member-topbar-shell {
        position: static;
    }
}

/* Visual stabilization pass 2026-06-28 */
.app-frame--guest {
    width: min(100%, 71rem);
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 1.25rem;
}

.login-experience--cleaner {
    width: 100%;
    max-width: 58.5rem;
    min-height: min(40rem, calc(100vh - 2.5rem));
    margin: 0 auto;
    border-radius: 1.85rem;
    grid-template-columns: minmax(0, 0.92fr) minmax(23rem, 0.88fr);
    box-shadow: 0 24px 56px rgba(38, 59, 59, 0.14);
}

.therapy-welcome--minimal {
    min-height: 0;
    padding: 1.3rem 1.35rem 1.15rem;
    gap: 0.8rem;
    justify-content: space-between;
}

.auth-brand-inline {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.2rem;
}

.auth-brand-inline__logo {
    width: 2.5rem;
    height: 2.5rem;
    padding: 0.38rem;
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.therapy-welcome--minimal .auth-brand-inline__copy strong {
    color: #f7faf8;
    letter-spacing: -0.03em;
}

.therapy-welcome--minimal .auth-brand-inline__copy small {
    color: rgba(247, 250, 248, 0.72);
}

.therapy-welcome--minimal .eyebrow {
    width: fit-content;
    margin-bottom: 0.05rem;
}

.therapy-welcome--minimal h1 {
    max-width: 9.6ch;
    font-size: clamp(1.95rem, 2.5vw, 2.95rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
}

.therapy-welcome--minimal p {
    max-width: 22rem;
    font-size: 0.91rem;
    line-height: 1.55;
}

.therapy-welcome__summary {
    margin-top: auto;
    gap: 0.5rem;
}

.therapy-welcome__summary article {
    min-height: 3.85rem;
    padding: 0.72rem 0.78rem;
}

.therapy-welcome__summary strong {
    font-size: 1rem;
}

.therapy-welcome__summary span {
    font-size: 0.82rem;
    line-height: 1.42;
}

.login-card-therapy--minimal {
    padding: 1.3rem 1.35rem 1.15rem;
    gap: 0.8rem;
    justify-content: center;
}

.login-card-therapy__intro--compact h2 {
    font-size: clamp(1.9rem, 2.1vw, 2.45rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
}

.login-card-therapy__intro--compact p {
    max-width: 21rem;
    font-size: 0.92rem;
    line-height: 1.54;
}

.login-form-therapy--saas {
    gap: 0.68rem;
}

.login-form-therapy--saas input {
    min-height: 2.72rem;
    padding: 0.68rem 0.84rem;
}

.login-form-therapy--saas .button--primary {
    min-height: 2.88rem;
}

.login-utility-row {
    margin-top: 0.05rem;
}

.login-inline-link {
    font-size: 0.9rem;
}

.app-frame--member {
    padding: 1rem;
}

.member-app-shell {
    grid-template-columns: 16.4rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.member-sidebar {
    position: sticky !important;
    top: 1rem;
    align-self: start;
    max-height: calc(100vh - 2rem);
}

.member-main {
    min-width: 0;
    display: grid;
    gap: 1rem;
    align-content: start;
}

.member-topbar-shell {
    position: sticky;
    top: 1rem;
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.78rem 1rem;
}

.member-topbar-shell__intro {
    display: grid !important;
    gap: 0.18rem;
}

.member-topbar-shell__intro .eyebrow {
    width: fit-content;
}

.member-topbar-shell__intro strong {
    font-size: 1.04rem;
    color: #263b3b;
}

.member-topbar-shell__actions {
    margin-left: auto;
}

.member-main__content {
    padding-bottom: 0.2rem;
}

@media (max-width: 980px) {
    .member-app-shell {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .member-sidebar {
        position: static !important;
        max-height: none;
        min-height: 0;
        height: auto;
    }

    .member-topbar-shell {
        position: static;
    }
}

@media (max-width: 820px) {
    .app-frame--guest {
        min-height: auto;
        place-items: start center;
        padding: 0.85rem;
    }

    .login-experience--cleaner {
        max-width: 27.4rem;
        min-height: 0;
        border-radius: 1.55rem;
        box-shadow: 0 20px 44px rgba(38, 59, 59, 0.12);
    }

    .login-card-therapy--minimal {
        padding: 1.15rem 1rem 1rem;
    }
}

@media (max-width: 640px) {
    .app-frame--guest {
        padding: 0.72rem;
    }

    .login-experience--cleaner {
        max-width: 100%;
    }

    .login-card-therapy__intro--compact h2 {
        font-size: clamp(1.72rem, 7.6vw, 2.22rem);
    }
}

/* Final desktop shell fix 2026-06-28 */
body.is-member-session {
    overflow: hidden;
}

.app-frame--guest {
    width: min(100%, 84rem);
    padding: 1rem 1.25rem;
}

.login-experience--cleaner {
    max-width: 68rem;
    min-height: min(38rem, calc(100vh - 2rem));
    grid-template-columns: minmax(0, 1.08fr) minmax(24rem, 0.92fr);
}

.therapy-welcome--minimal {
    padding: 1.15rem 1.2rem 1.05rem;
    gap: 0.72rem;
}

.therapy-welcome--minimal h1 {
    max-width: 7.4ch;
    font-size: clamp(2.2rem, 3vw, 3.45rem);
    line-height: 0.92;
}

.therapy-welcome--minimal p {
    max-width: 26rem;
    font-size: 0.93rem;
    line-height: 1.52;
}

.login-card-therapy--minimal {
    padding: 1.15rem 1.2rem 1.05rem;
    gap: 0.74rem;
}

.login-card-therapy__intro--compact h2 {
    font-size: clamp(1.85rem, 2vw, 2.35rem);
}

.app-frame--member {
    min-height: 100vh;
    height: 100vh;
    overflow: hidden;
}

.member-app-shell {
    grid-template-columns: 16.2rem minmax(0, 1fr);
    align-items: stretch;
    height: calc(100vh - 2rem);
    min-height: calc(100vh - 2rem);
}

.member-sidebar {
    position: sticky !important;
    top: 0;
    height: calc(100vh - 2rem);
    max-height: calc(100vh - 2rem);
    overflow: hidden;
}

.member-main {
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

.member-topbar-shell {
    top: 0;
    padding: 0.7rem 0.95rem;
}

.member-main__content {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 0.15rem;
    padding-bottom: 0.35rem;
}

.admin-hero-banner {
    width: 100%;
    gap: 0.72rem;
}

.admin-hero-banner > * {
    width: 100%;
}

.admin-hero-copy h1 {
    max-width: 18ch;
    font-size: clamp(1.78rem, 2.4vw, 2.55rem);
}

.admin-hero-copy p {
    max-width: none;
    font-size: 0.91rem;
    line-height: 1.52;
}

.admin-hero-strip {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(12rem, 1.15fr) repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
    padding: 0.58rem;
}

.admin-hero-panel {
    padding: 0.62rem 0.72rem;
}

.admin-hero-panel strong {
    font-size: 1.08rem;
}

.admin-hero-panel--identity strong {
    font-size: clamp(1.18rem, 1.45vw, 1.45rem);
}

.admin-hero-panel small,
.admin-hero-panel span {
    font-size: 0.79rem;
    line-height: 1.26;
}

.admin-shell--pro .dashboard-card,
.admin-shell--pro .token-card {
    padding: 0.95rem 1rem;
}

@media (max-width: 980px) {
    body.is-member-session {
        overflow: auto;
    }

    .app-frame--member {
        height: auto;
        overflow: visible;
    }

    .member-app-shell {
        grid-template-columns: 1fr;
        height: auto;
        min-height: auto;
    }

    .member-sidebar {
        position: static !important;
        height: auto;
        max-height: none;
        overflow: visible;
    }

    .member-main {
        grid-template-rows: auto;
        overflow: visible;
    }

    .member-main__content {
        overflow: visible;
        padding-right: 0;
    }
}

@media (max-width: 820px) {
    .login-experience--cleaner {
        max-width: 28.5rem;
    }
}

/* Compact SaaS redesign 2026-06-28 */
:root {
    --shell-sidebar-width-compact: 15.75rem;
    --shell-main-gap-compact: 1rem;
    --shell-surface-strong: rgba(255, 255, 255, 0.96);
    --shell-surface-soft: rgba(255, 255, 255, 0.88);
    --shell-stroke-soft: rgba(38, 59, 59, 0.08);
    --shell-shadow-soft: 0 18px 38px rgba(38, 59, 59, 0.08);
}

body.is-member-session {
    overflow: hidden;
}

body.is-member-session .page-aura {
    opacity: 0.16;
}

.app-frame--guest {
    width: min(100%, 86rem);
    min-height: 100vh;
    padding: 1rem 1.2rem;
}

.login-experience--cleaner {
    width: 100%;
    max-width: 66rem;
    min-height: min(36.5rem, calc(100vh - 2rem));
    margin: 0 auto;
    grid-template-columns: minmax(0, 1.02fr) minmax(24rem, 0.94fr);
    border-radius: 1.9rem;
    overflow: hidden;
    box-shadow: 0 26px 54px rgba(38, 59, 59, 0.14);
}

.therapy-welcome--minimal {
    padding: 1.3rem 1.35rem 1.1rem;
    gap: 0.8rem;
}

.auth-brand-inline {
    gap: 0.72rem;
}

.auth-brand-inline__logo {
    width: 2.65rem;
    height: 2.65rem;
    padding: 0.42rem;
    border-radius: 0.95rem;
}

.therapy-welcome--minimal .auth-brand-inline__copy strong {
    font-size: 1.2rem;
}

.therapy-welcome--minimal h1 {
    max-width: 7.2ch;
    font-size: clamp(2.3rem, 2.95vw, 3.3rem);
    line-height: 0.92;
}

.therapy-welcome--minimal p {
    max-width: 25rem;
    font-size: 0.93rem;
    line-height: 1.52;
}

.therapy-welcome__summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.therapy-welcome__summary article {
    min-height: 3.95rem;
    padding: 0.78rem 0.8rem;
    border-radius: 1rem;
}

.therapy-welcome__summary strong {
    font-size: 1rem;
}

.therapy-welcome__summary span {
    font-size: 0.82rem;
}

.login-card-therapy--minimal {
    padding: 1.2rem 1.25rem 1.05rem;
    gap: 0.72rem;
}

.login-card-therapy__intro--compact h2 {
    font-size: clamp(1.9rem, 2vw, 2.4rem);
    letter-spacing: -0.05em;
}

.login-card-therapy__intro--compact p {
    max-width: 21.5rem;
    font-size: 0.92rem;
    line-height: 1.54;
}

.login-form-therapy--saas {
    gap: 0.68rem;
}

.login-form-therapy--saas label span {
    font-size: 0.9rem;
}

.login-form-therapy--saas input {
    min-height: 2.78rem;
    padding: 0.72rem 0.86rem;
    border-radius: 0.92rem;
}

.login-form-therapy--saas .button--primary {
    min-height: 2.9rem;
    border-radius: 0.96rem;
}

.login-utility-row {
    margin-top: 0;
}

.login-inline-link {
    font-size: 0.9rem;
}

.login-install-card {
    border-radius: 1.1rem;
}

.app-frame--member {
    width: 100%;
    max-width: none;
    height: 100vh;
    min-height: 100vh;
    padding: 1rem;
    overflow: hidden;
}

.member-app-shell {
    position: relative;
    display: block;
    width: 100%;
    height: calc(100vh - 2rem);
    min-height: calc(100vh - 2rem);
}

.member-sidebar {
    position: fixed !important;
    left: 1rem;
    top: 1rem;
    width: var(--shell-sidebar-width-compact);
    height: calc(100vh - 2rem);
    max-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    padding: 1rem 0.92rem;
    border-radius: 1.55rem;
    box-shadow: 0 22px 46px rgba(38, 59, 59, 0.2);
    overflow: hidden;
}

.member-sidebar__brand {
    gap: 0.75rem;
    padding: 0.08rem 0;
}

.member-sidebar__brand .brand__mark {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 1rem;
}

.member-sidebar__brand .brand__copy strong {
    font-size: 1.18rem;
}

.member-sidebar__brand .brand__copy small {
    font-size: 0.84rem;
}

.member-sidebar__context {
    padding: 0.85rem;
    border-radius: 1.15rem;
}

.member-sidebar__eyebrow {
    font-size: 0.7rem;
}

.member-sidebar__context strong {
    font-size: 1.03rem;
    line-height: 1.14;
}

.member-sidebar__context small {
    font-size: 0.84rem;
}

.member-sidebar__nav {
    display: grid;
    gap: 0.42rem;
    overflow: auto;
    padding-right: 0.08rem;
}

.member-sidebar__nav a {
    min-height: 2.75rem;
    padding: 0.72rem 0.8rem;
    border-radius: 0.98rem;
    font-size: 0.93rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.member-sidebar__nav a::before {
    content: "";
    width: 0.48rem;
    height: 0.48rem;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.28;
    flex: 0 0 auto;
}

.member-sidebar__nav a.is-active::before,
.member-sidebar__nav a:hover::before {
    opacity: 1;
}

.member-sidebar__footer {
    margin-top: auto;
    padding-top: 0.1rem;
}

.member-sidebar__user {
    padding: 0.72rem 0.78rem;
    border-radius: 1rem;
}

.member-sidebar__avatar {
    width: 2.35rem;
    height: 2.35rem;
    font-size: 0.9rem;
}

.member-main {
    margin-left: calc(var(--shell-sidebar-width-compact) + 2rem);
    width: calc(100% - (var(--shell-sidebar-width-compact) + 2rem));
    height: calc(100vh - 2rem);
    min-height: calc(100vh - 2rem);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 1rem;
    overflow: hidden;
}

.member-topbar-shell {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.82rem 1rem;
    border-radius: 1.35rem;
    background: var(--shell-surface-soft);
    border: 1px solid rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(18px);
    box-shadow: 0 10px 26px rgba(38, 59, 59, 0.08);
}

.member-topbar-shell__intro {
    display: grid !important;
    gap: 0.15rem;
}

.member-topbar-shell__intro strong {
    font-size: 1rem;
    color: #263b3b;
}

.member-topbar-shell__actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.member-date-chip,
.member-topbar-shell__logout {
    min-height: 2.65rem;
    border-radius: 0.95rem;
}

.member-main__content {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 0.24rem;
    padding-bottom: 1rem;
}

.dashboard-stack,
.patient-sections,
.therapist-sections,
.reception-sections,
.admin-sections {
    width: 100%;
    min-width: 0;
    gap: 0.95rem;
}

.dashboard-card,
.token-card {
    width: 100%;
    display: grid;
    align-items: start;
    gap: 0.8rem;
    padding: 1rem 1.05rem;
    background: var(--shell-surface-strong);
    border: 1px solid var(--shell-stroke-soft);
    border-radius: 1.35rem;
    box-shadow: var(--shell-shadow-soft);
}

.dashboard-card__head {
    align-items: flex-start;
    gap: 0.65rem;
}

.dashboard-card__head strong {
    font-size: 1rem;
    line-height: 1.2;
}

.dashboard-card__head .eyebrow,
.status-badge {
    font-size: 0.74rem;
}

.admin-hero-banner,
.patient-hero-banner,
.therapist-hero,
.reception-hero {
    width: 100%;
    display: grid !important;
    gap: 0.82rem;
}

.admin-hero-copy h1,
.patient-hero-copy h1,
.therapist-hero__copy h1,
.reception-hero__copy h1 {
    max-width: 17ch;
    font-size: clamp(1.72rem, 2.2vw, 2.45rem);
    line-height: 0.98;
}

.admin-hero-copy p,
.patient-hero-copy p,
.therapist-hero__copy p,
.reception-hero__copy p {
    max-width: none;
    font-size: 0.91rem;
    line-height: 1.52;
}

.admin-hero-strip {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(12rem, 1.18fr) repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
    padding: 0.58rem;
}

.admin-hero-panel {
    padding: 0.64rem 0.72rem;
    gap: 0.12rem;
}

.admin-hero-panel strong {
    font-size: 1.08rem;
}

.admin-hero-panel--identity strong {
    font-size: clamp(1.18rem, 1.45vw, 1.45rem);
}

.admin-hero-panel small,
.admin-hero-panel span {
    font-size: 0.79rem;
    line-height: 1.26;
}

.patient-hero-lower {
    grid-template-columns: minmax(0, 1.12fr) minmax(14rem, 18rem);
    gap: 0.8rem;
}

.patient-hero-strip {
    grid-template-columns: minmax(12rem, 1.18fr) repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    padding: 0.62rem;
}

.patient-hero-strip__identity,
.patient-hero-strip__metric {
    padding: 0.72rem 0.78rem;
}

.patient-hero-strip__identity strong {
    font-size: clamp(1.5rem, 2vw, 2rem);
}

.patient-hero-strip__metric strong {
    font-size: 1.45rem;
}

.patient-hero-strip__footer {
    grid-column: 1 / -1;
}

.therapist-hero__strip,
.reception-hero__strip {
    gap: 0.55rem;
    padding: 0.62rem;
}

.therapist-hero__panel,
.reception-hero__panel {
    padding: 0.72rem 0.78rem;
}

.therapist-profile-grid,
.therapist-note-grid,
.reception-result-grid,
.reception-row--top,
.patient-row--two,
.patient-row--financial-tools,
.patient-row--appointments {
    gap: 0.85rem;
}

.admin-sections #panel-admin-operacion .admin-ops-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: 0.9rem;
}

.admin-sections #panel-admin-reportes .admin-intel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.history-inline-table,
.data-table,
.table-scroll,
.appointment-grid,
.list-stack {
    border-radius: 1.05rem;
}

.history-inline-row,
.data-table__row {
    font-size: 0.9rem;
}

@media (max-width: 1080px) {
    body.is-member-session {
        overflow: auto;
    }

    .app-frame--member {
        height: auto;
        min-height: 100vh;
        overflow: visible;
        padding: 0.9rem;
    }

    .member-app-shell {
        display: grid;
        gap: 0.9rem;
        height: auto;
        min-height: 0;
    }

    .member-sidebar {
        position: static !important;
        width: 100%;
        height: auto;
        max-height: none;
        display: grid;
        gap: 0.75rem;
        overflow: visible;
    }

    .member-sidebar__context {
        display: none;
    }

    .member-sidebar__nav {
        grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
    }

    .member-main {
        margin-left: 0;
        width: 100%;
        height: auto;
        min-height: 0;
        grid-template-rows: auto;
        overflow: visible;
    }

    .member-topbar-shell {
        position: static;
    }

    .member-main__content {
        overflow: visible;
        padding-right: 0;
    }

    .admin-hero-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .patient-hero-lower,
    .admin-sections #panel-admin-operacion .admin-ops-grid,
    .admin-sections #panel-admin-reportes .admin-intel-grid,
    .reception-row--top,
    .therapist-profile-grid,
    .therapist-note-grid,
    .reception-result-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    body.is-member-session {
        overflow: auto;
    }

    .app-frame--guest {
        width: 100%;
        padding: 0.72rem;
    }

    .login-experience--cleaner {
        max-width: 28.8rem;
        min-height: 0;
        border-radius: 1.5rem;
        grid-template-columns: 1fr;
    }

    .login-experience--cleaner .therapy-welcome--minimal {
        display: none;
    }

    .login-card-therapy--minimal {
        padding: 1.05rem 0.98rem 0.96rem;
    }

    .login-card-therapy__intro--compact h2 {
        font-size: clamp(1.74rem, 7.4vw, 2.2rem);
    }

    .member-sidebar {
        padding: 0.85rem;
        border-radius: 1.3rem;
        grid-template-columns: auto 1fr auto;
        align-items: center;
    }

    .member-sidebar__nav {
        display: none;
    }

    .member-sidebar__footer {
        margin-top: 0;
        padding-top: 0;
    }

    .member-sidebar__user {
        background: transparent;
        padding: 0;
        border: 0;
    }

    .member-sidebar__user div {
        display: none;
    }

    .member-sidebar__avatar {
        width: 2.2rem;
        height: 2.2rem;
    }

    .member-topbar-shell {
        padding: 0.72rem 0.84rem;
        gap: 0.8rem;
    }

    .member-topbar-shell__actions {
        width: 100%;
        justify-content: space-between;
        gap: 0.55rem;
    }

    .member-date-chip,
    .member-topbar-shell__logout {
        min-height: 2.5rem;
        font-size: 0.86rem;
    }

    .panel-shell-nav {
        display: block;
        position: sticky;
        top: 0.6rem;
        z-index: 18;
    }

    .panel-shell-nav__list {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: max-content;
        overflow: auto;
        padding: 0.32rem;
        gap: 0.36rem;
    }

    .panel-shell-nav__button {
        min-height: 2.55rem;
        padding: 0.62rem 0.9rem;
        border-radius: 0.92rem;
        font-size: 0.86rem;
        white-space: nowrap;
    }

    .dashboard-card,
    .token-card {
        padding: 0.92rem;
        border-radius: 1.2rem;
    }

    .admin-hero-strip,
    .patient-hero-strip,
    .therapist-hero__strip,
    .reception-hero__strip,
    .patient-hero-lower,
    .patient-row--two,
    .patient-row--financial-tools,
    .patient-row--appointments,
    .reception-row--top,
    .therapist-profile-grid,
    .therapist-note-grid,
    .reception-result-grid,
    .admin-sections #panel-admin-operacion .admin-ops-grid,
    .admin-sections #panel-admin-reportes .admin-intel-grid {
        grid-template-columns: 1fr !important;
    }

    .history-inline-row,
    .history-inline-row--head,
    .data-table__row {
        font-size: 0.84rem;
    }

    .login-install-card {
        display: flex !important;
    }
}

/* Final responsive authority: keep this block last. */
[hidden], [data-install-trigger][hidden], .login-install-card[hidden], .install-cta[hidden] { display: none !important; }
.member-menu-toggle, .panel-shell-nav { display: none; }
.panel-view, .panel-view > *, .admin-shell, .admin-sections, .member-main, .member-main__content { min-width: 0; max-width: 100%; }
.admin-shell--pro { gap: .85rem; }
.admin-shell--pro .panel-view.is-active { width: 100%; }
.admin-shell--pro .dashboard-card, .admin-shell--pro .token-card { overflow: hidden; }
.admin-form-grid, .admin-users-toolbar, .admin-review-form, .admin-actions-cell, .admin-slot-toolbar, .admin-request-card, .admin-template-card, .admin-slot-item { min-width: 0; }
.admin-form-grid { gap: .72rem .8rem; }
.admin-form-grid label, .admin-users-toolbar label, .admin-review-form label { min-width: 0; gap: .32rem; }
.admin-form-grid label > span, .admin-users-toolbar label > span, .admin-review-form label > span { font-size: .8rem; font-weight: 750; }
.admin-form-grid input, .admin-form-grid select, .admin-form-grid textarea, .admin-users-toolbar input, .admin-users-toolbar select, .admin-review-form input, .admin-review-form select, .admin-review-form textarea { width: 100%; max-width: 100%; min-width: 0; min-height: 2.7rem; padding: .65rem .78rem; border-radius: .82rem; font-size: .9rem; }
.admin-form-grid textarea, .admin-review-form textarea { min-height: 4.8rem; resize: vertical; }
.admin-form-callout { padding: .78rem .86rem; border-radius: .9rem; }
.admin-form-callout strong, .admin-form-callout span, .admin-request-card *, .admin-template-card *, .admin-slot-item * { overflow-wrap: anywhere; }
.admin-request-card__stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
.admin-actions-cell { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .4rem; min-width: 0; }
.admin-actions-cell > *, .admin-actions-cell .button, .admin-user-reset-form--compact input { width: 100%; min-width: 0; }
.admin-user-reset-form--compact { grid-column: 1/-1; grid-template-columns: minmax(0,1fr) auto; gap: .4rem; }
.admin-table--pro td, .admin-table--pro th { vertical-align: top; }
.admin-table--pro td small { line-height: 1.35; }

@media (max-width:1080px) {
    .member-sidebar__nav { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .admin-hero-panel--identity { grid-column: 1/-1; }
}

@media (max-width:760px) {
    html, body.is-member-session { max-width: 100%; overflow-x: hidden; }
    .app-frame--member { width: 100%; padding: max(.55rem,env(safe-area-inset-top)) .55rem max(.7rem,env(safe-area-inset-bottom)); }
    .member-app-shell { gap: .62rem; }
    .member-sidebar { position: relative !important; z-index: 40; display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: .55rem; padding: .62rem .68rem; border-radius: 1.05rem; overflow: visible; }
    .member-sidebar__brand, .member-sidebar__brand .brand__copy { min-width: 0; }
    .member-sidebar__brand .brand__mark { width: 2.45rem; height: 2.45rem; border-radius: .78rem; }
    .member-sidebar__brand .brand__copy strong { font-size: 1rem; }
    .member-sidebar__brand .brand__copy small { display: block; max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; }
    .member-menu-toggle { appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 2.45rem; padding: .55rem .7rem; border: 1px solid rgba(255,255,255,.18); border-radius: .78rem; background: rgba(255,255,255,.12); color: #fff; font: inherit; font-size: .78rem; font-weight: 750; }
    .member-menu-toggle__icon { display: grid; gap: .18rem; }
    .member-menu-toggle__icon i { width: .92rem; height: 2px; border-radius: 99px; background: currentColor; transition: transform .18s ease,opacity .18s ease; }
    .member-menu-toggle.is-open .member-menu-toggle__icon i:nth-child(1) { transform: translateY(4px) rotate(45deg); }
    .member-menu-toggle.is-open .member-menu-toggle__icon i:nth-child(2) { opacity: 0; }
    .member-menu-toggle.is-open .member-menu-toggle__icon i:nth-child(3) { transform: translateY(-4px) rotate(-45deg); }
    .member-sidebar__nav { display: none; position: absolute; left: 0; right: 0; top: calc(100% + .42rem); grid-column: 1/-1; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .38rem; padding: .55rem; border: 1px solid rgba(255,255,255,.2); border-radius: 1rem; background: #1f3534; box-shadow: 0 18px 36px rgba(21,43,42,.28); }
    .member-sidebar__nav.is-open { display: grid; }
    .member-sidebar__nav a { min-height: 2.5rem; padding: .62rem .7rem; border-radius: .72rem; font-size: .82rem; }
    .member-sidebar__footer { display: flex; }
    .member-topbar-shell { min-width: 0; padding: .58rem .65rem; border-radius: 1rem; }
    .member-topbar-shell__intro { display: none !important; }
    .member-topbar-shell__actions { width: 100%; min-width: 0; }
    .member-date-chip { min-width: 0; min-height: 2.35rem; padding: .55rem .65rem; font-size: .76rem; white-space: normal; line-height: 1.2; }
    .member-topbar-shell__logout { flex: 0 0 auto; min-height: 2.35rem; padding: .55rem .7rem; font-size: .78rem; }
    .member-main__content { width: 100%; min-width: 0; overflow-x: clip; }
    .panel-shell-nav { display: none !important; }
    .dashboard-card, .token-card, .admin-shell--pro .dashboard-card, .admin-shell--pro .token-card { padding: .8rem; border-radius: 1rem; }
    .dashboard-card__head, .admin-section-headside, .admin-slot-toolbar, .admin-request-card__top, .admin-template-card__head, .admin-slot-item__head { align-items: stretch; flex-direction: column; gap: .52rem; }
    .admin-hero-copy h1 { max-width: 100%; font-size: clamp(1.5rem,7vw,1.95rem); line-height: 1.02; }
    .admin-hero-copy p { font-size: .83rem; line-height: 1.45; }
    .admin-hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; }
    .admin-hero-actions .button:last-child { display: none; }
    .admin-hero-strip { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: .4rem; padding: .42rem; }
    .admin-hero-panel--identity { grid-column: 1/-1; }
    .admin-hero-panel { min-width: 0; padding: .58rem; }
    .admin-hero-panel strong { font-size: 1rem; }
    .admin-hero-panel small, .admin-hero-panel span { font-size: .7rem; }
    .form-grid--double, .admin-form-grid, .admin-review-form__row, .admin-users-toolbar, .admin-request-card__stats, .admin-report-kpi-grid, .admin-export-toolbar { grid-template-columns: 1fr !important; }
    .admin-form-grid { gap: .62rem; }
    .admin-form-grid input, .admin-form-grid select, .admin-form-grid textarea, .admin-users-toolbar input, .admin-users-toolbar select, .admin-review-form input, .admin-review-form textarea { min-height: 2.6rem; font-size: 16px; }
    .form-actions, .admin-review-form__actions, .admin-users-toolbar__actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; }
    .form-actions .button, .admin-review-form__actions .button, .admin-users-toolbar__actions .button { width: 100%; }
    .admin-users-card .admin-summary-pills { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-table-shell { width: 100%; overflow: visible !important; }
    .admin-table--pro, .admin-table--users, .admin-table--report, .admin-table--journal, .admin-table--review, .admin-table--token { display: block !important; width: 100% !important; min-width: 0 !important; }
    .admin-table--pro thead { display: none !important; }
    .admin-table--pro tbody { display: grid !important; gap: .62rem; }
    .admin-table--pro tr { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem .7rem; width: 100%; padding: .75rem; border: 1px solid rgba(38,59,59,.1) !important; border-radius: .92rem; background: rgba(255,255,255,.82) !important; }
    .admin-table--pro td { display: block !important; width: 100% !important; min-width: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; overflow-wrap: anywhere; }
    .admin-table--pro td::before { content: attr(data-label); display: block; margin-bottom: .18rem; color: var(--text-muted); font-size: .65rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
    .admin-table--pro td:first-child, .admin-table--pro td[data-label="Acciones"], .admin-table--pro td[data-label="Detalle"], .admin-table--pro td[data-label="Seguimiento"] { grid-column: 1/-1; }
    .admin-table--pro td strong { font-size: .86rem; line-height: 1.25; }
    .admin-table--pro td small { font-size: .73rem; }
    .admin-actions-cell { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-user-reset-form--compact { grid-template-columns: 1fr; }
    .admin-pagination { gap: .4rem; font-size: .78rem; }
}

@media (max-width:420px) {
    .member-sidebar__brand .brand__copy small { display: none; }
    .member-menu-toggle { padding-inline: .58rem; }
    .admin-table--pro tr, .admin-hero-strip { grid-template-columns: 1fr !important; }
    .admin-hero-panel--identity { grid-column: auto; }
}

/* Dashboard workspace + ultra compact mobile forms 2026-06-28 */
.admin-dashboard-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(17rem, .72fr);
    gap: .85rem;
    margin-top: .85rem;
}

.admin-dashboard-quick,
.admin-dashboard-pulse {
    min-width: 0;
    align-content: start;
}

.admin-dashboard-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

.admin-dashboard-actions a {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .12rem .55rem;
    align-items: center;
    padding: .75rem;
    border: 1px solid rgba(38, 59, 59, .08);
    border-radius: .95rem;
    background: linear-gradient(145deg, rgba(246, 249, 246, .98), rgba(239, 244, 239, .82));
    color: var(--text);
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.admin-dashboard-actions a:hover {
    transform: translateY(-2px);
    border-color: rgba(38, 59, 59, .22);
    box-shadow: 0 10px 24px rgba(38, 59, 59, .08);
}

.admin-dashboard-actions a > span {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: .68rem;
    background: #344f4f;
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
}

.admin-dashboard-actions strong {
    min-width: 0;
    font-size: .84rem;
    line-height: 1.15;
}

.admin-dashboard-actions small {
    color: var(--text-muted);
    font-size: .7rem;
    line-height: 1.2;
}

.admin-dashboard-pulse__list {
    display: grid;
    gap: .35rem;
}

.admin-dashboard-pulse__list div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    padding: .58rem .65rem;
    border-radius: .8rem;
    background: rgba(236, 241, 233, .72);
}

.admin-dashboard-pulse__list span {
    color: var(--text-muted);
    font-size: .76rem;
}

.admin-dashboard-pulse__list strong {
    font-size: 1rem;
}

@media (max-width:1080px) {
    .admin-dashboard-workspace { grid-template-columns: 1fr; }
}

@media (max-width:760px) {
    .admin-shell--pro,
    .admin-sections { gap: .58rem; }

    .admin-dashboard-workspace {
        gap: .55rem;
        margin-top: .55rem;
    }

    .admin-dashboard-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .38rem;
    }

    .admin-dashboard-actions a {
        gap: .1rem .42rem;
        padding: .58rem;
        border-radius: .78rem;
    }

    .admin-dashboard-actions a > span {
        width: 1.72rem;
        height: 1.72rem;
        border-radius: .54rem;
        font-size: .61rem;
    }

    .admin-dashboard-actions strong { font-size: .76rem; }
    .admin-dashboard-actions small { font-size: .64rem; }

    .admin-dashboard-pulse {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .admin-dashboard-pulse .dashboard-card__head,
    .admin-dashboard-pulse .button { grid-column: 1 / -1; }

    .admin-dashboard-pulse__list {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .32rem;
    }

    .admin-dashboard-pulse__list div {
        padding: .48rem .52rem;
    }

    .admin-hero-banner { gap: .58rem; }
    .admin-hero-copy p { margin-block: .2rem; }

    .admin-shell--pro .dashboard-card,
    .admin-shell--pro .token-card {
        gap: .56rem;
        padding: .68rem;
    }

    .admin-form-callout {
        padding: .55rem .62rem;
        font-size: .75rem;
    }

    .admin-form-callout span {
        font-size: .72rem;
        line-height: 1.3;
    }

    .admin-form-grid,
    .form-grid--double.admin-form-grid,
    .admin-review-form__row,
    .admin-users-toolbar {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .46rem !important;
    }

    .admin-form-grid__full,
    .patient-form-grid__full,
    .admin-form-grid > .button,
    .admin-form-grid > .form-actions,
    .admin-users-toolbar__search,
    .admin-users-toolbar__actions {
        grid-column: 1 / -1;
    }

    .admin-form-grid label,
    .admin-users-toolbar label,
    .admin-review-form label {
        gap: .2rem;
    }

    .admin-form-grid label > span,
    .admin-users-toolbar label > span,
    .admin-review-form label > span {
        font-size: .7rem;
        line-height: 1.15;
    }

    .admin-form-grid input,
    .admin-form-grid select,
    .admin-form-grid textarea,
    .admin-users-toolbar input,
    .admin-users-toolbar select,
    .admin-review-form input,
    .admin-review-form select,
    .admin-review-form textarea {
        min-height: 2.28rem;
        padding: .48rem .56rem;
        border-radius: .68rem;
        font-size: 16px;
    }

    .admin-form-grid textarea,
    .admin-review-form textarea {
        min-height: 3.8rem;
    }

    .upload-field--card {
        min-height: 0;
        padding: .55rem !important;
    }

    .upload-field--card small,
    .upload-field__filename {
        font-size: .68rem;
        line-height: 1.25;
    }

    .admin-request-card,
    .admin-template-card,
    .admin-slot-item {
        padding: .68rem;
    }

    .admin-request-card__stats {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: .34rem;
    }

    .admin-request-card__stats > * {
        padding: .48rem;
        font-size: .7rem;
    }

    .admin-review-form { gap: .45rem; }
    .admin-review-form__actions { gap: .35rem; }

    .admin-report-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .4rem;
    }

    .admin-report-kpi-grid article { padding: .58rem; }
}

@media (max-width:340px) {
    .admin-form-grid,
    .form-grid--double.admin-form-grid,
    .admin-review-form__row,
    .admin-users-toolbar { grid-template-columns: 1fr !important; }

    .admin-form-grid__full,
    .patient-form-grid__full,
    .admin-users-toolbar__search,
    .admin-users-toolbar__actions { grid-column: auto; }
}

/* Professional desktop: users, clinical journal and ledgers 2026-06-28 */
.admin-users-overview,
.admin-journal-summary,
.admin-history-overview__metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .5rem;
}

.admin-users-overview > div,
.admin-journal-summary > div,
.admin-history-overview__metrics > div {
    min-width: 0;
    display: grid;
    gap: .08rem;
    padding: .68rem .75rem;
    border: 1px solid rgba(38, 59, 59, .07);
    border-radius: .9rem;
    background: linear-gradient(145deg, rgba(246, 249, 246, .98), rgba(237, 243, 238, .78));
}

.admin-users-overview small,
.admin-journal-summary small,
.admin-history-overview__metrics small {
    color: var(--text-muted);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.admin-users-overview strong,
.admin-journal-summary strong,
.admin-history-overview__metrics strong {
    font-size: 1.18rem;
    line-height: 1.05;
}

.admin-users-overview span,
.admin-journal-summary span,
.admin-history-overview__metrics span {
    color: var(--text-muted);
    font-size: .7rem;
}

.admin-users-card .admin-users-toolbar,
.admin-history-card .admin-users-toolbar--journal {
    padding: .7rem;
    border: 1px solid rgba(38, 59, 59, .07);
    border-radius: 1rem;
    background: rgba(244, 247, 243, .82);
}

.admin-users-card .admin-users-meta {
    padding-inline: .15rem;
    font-size: .76rem;
}

.admin-journal-summary {
    padding: .12rem 0;
}

.admin-table--journal {
    border-collapse: separate;
    border-spacing: 0 .48rem;
}

.admin-table--journal thead th {
    border: 0;
    background: transparent;
    padding-block: .3rem;
}

.admin-table--journal tbody td {
    background: rgba(249, 250, 248, .94);
    border-top: 1px solid rgba(38, 59, 59, .07);
    border-bottom: 1px solid rgba(38, 59, 59, .07);
}

.admin-table--journal tbody td:first-child {
    border-left: 3px solid #658e8b;
    border-radius: .8rem 0 0 .8rem;
}

.admin-table--journal tbody td:last-child {
    border-right: 1px solid rgba(38, 59, 59, .07);
    border-radius: 0 .8rem .8rem 0;
}

.admin-history-overview {
    display: grid;
    grid-template-columns: minmax(17rem, .72fr) minmax(0, 1.55fr);
    gap: .75rem;
    margin-bottom: .75rem;
    padding: .9rem;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 1.25rem;
    background: linear-gradient(135deg, rgba(42, 77, 65, .98), rgba(55, 94, 73, .94));
    box-shadow: 0 16px 32px rgba(38, 59, 59, .12);
}

.admin-history-overview__intro {
    display: grid;
    align-content: center;
    gap: .3rem;
    padding: .45rem .55rem;
    color: #fff;
}

.admin-history-overview__intro .eyebrow {
    width: max-content;
    background: rgba(255, 255, 255, .14);
    color: #fff;
}

.admin-history-overview__intro strong {
    font-size: 1.03rem;
    line-height: 1.2;
}

.admin-history-overview__intro p {
    margin: 0;
    color: rgba(255, 255, 255, .74);
    font-size: .76rem;
    line-height: 1.4;
}

.admin-history-overview__metrics > div {
    align-content: center;
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .12);
    color: #fff;
}

.admin-history-overview__metrics small,
.admin-history-overview__metrics span {
    color: rgba(255, 255, 255, .7);
}

.has-panel-ui #panel-admin-historiales.panel-view.is-active {
    display: grid;
    gap: .72rem;
}

#panel-admin-historiales .admin-history-card {
    gap: .65rem;
}

.admin-history-card .admin-table--review,
.admin-history-card .admin-table--token {
    border-collapse: separate;
    border-spacing: 0 .38rem;
}

.admin-history-card .admin-table--review thead th,
.admin-history-card .admin-table--token thead th {
    border: 0;
    background: transparent;
    padding-block: .28rem;
}

.admin-history-card .admin-table--review tbody td,
.admin-history-card .admin-table--token tbody td {
    padding-block: .65rem;
    background: rgba(249, 250, 248, .94);
    border-top: 1px solid rgba(38, 59, 59, .07);
    border-bottom: 1px solid rgba(38, 59, 59, .07);
}

.admin-history-card .admin-table--review tbody td:first-child,
.admin-history-card .admin-table--token tbody td:first-child {
    border-left: 1px solid rgba(38, 59, 59, .07);
    border-radius: .75rem 0 0 .75rem;
}

.admin-history-card .admin-table--review tbody td:last-child,
.admin-history-card .admin-table--token tbody td:last-child {
    border-right: 1px solid rgba(38, 59, 59, .07);
    border-radius: 0 .75rem .75rem 0;
}

.admin-ledger-status {
    display: inline-flex;
    width: max-content;
    padding: .28rem .55rem;
    border-radius: 999px;
    background: #e4efda;
    color: #344f4f;
    font-size: .72rem !important;
}

.admin-table--token .admin-cell-number {
    font-size: .95rem;
    font-weight: 800;
}

.admin-table--token .admin-cell-number.is-positive { color: #658e8b; }
.admin-table--token .admin-cell-number.is-negative { color: #9a4a43; }
.admin-table--token .admin-cell-number.is-neutral { color: var(--text-muted); }

@media (min-width:1450px) {
    .admin-users-card .dashboard-card__head .admin-summary-pills { display: none; }
    .admin-users-card .admin-table-shell { overflow: visible; }
    .admin-table--users { display: block; width: 100%; min-width: 0 !important; }
    .admin-table--users thead { display: none; }
    .admin-table--users tbody {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .65rem;
    }
    .admin-table--users tr {
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(9rem, .75fr);
        grid-template-areas:
            "person role"
            "access status"
            "coverage coverage"
            "actions actions";
        gap: .55rem .8rem;
        padding: .85rem;
        border: 1px solid rgba(38, 59, 59, .08);
        border-radius: 1rem;
        background: rgba(250, 251, 249, .96);
        box-shadow: 0 10px 24px rgba(38, 59, 59, .045);
    }
    .admin-table--users td {
        display: block;
        width: 100%;
        min-width: 0;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }
    .admin-table--users td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: .18rem;
        color: var(--text-muted);
        font-size: .61rem;
        font-weight: 800;
        letter-spacing: .07em;
        text-transform: uppercase;
    }
    .admin-table--users td[data-label="Persona"] { grid-area: person; }
    .admin-table--users td[data-label="Acceso"] { grid-area: access; }
    .admin-table--users td[data-label="Rol"] { grid-area: role; justify-self: end; }
    .admin-table--users td[data-label="Cobertura"] { grid-area: coverage; padding: .55rem .65rem !important; border-radius: .72rem !important; background: rgba(235, 241, 234, .68) !important; }
    .admin-table--users td[data-label="Estado"] { grid-area: status; }
    .admin-table--users td[data-label="Acciones"] { grid-area: actions; padding-top: .08rem !important; }
    .admin-table--users td[data-label="Rol"]::before,
    .admin-table--users td[data-label="Persona"]::before { display: none; }
    .admin-table--users .admin-actions-cell {
        grid-template-columns: minmax(12rem, 1.65fr) repeat(3, minmax(5rem, .6fr));
        gap: .38rem;
    }
    .admin-table--users .admin-user-reset-form--compact {
        grid-column: auto;
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .admin-table--users .button,
    .admin-table--users .admin-user-reset-form--compact input {
        min-height: 2.32rem;
        padding: .48rem .58rem;
        font-size: .72rem;
    }
}

@media (max-width:760px) {
    .admin-users-overview,
    .admin-journal-summary,
    .admin-history-overview__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .admin-users-overview > div,
    .admin-journal-summary > div,
    .admin-history-overview__metrics > div { padding: .5rem .55rem; }

    .admin-history-overview {
        grid-template-columns: 1fr;
        gap: .5rem;
        padding: .65rem;
        margin-bottom: .55rem;
    }

    .admin-history-overview__intro { padding: .25rem; }

    .admin-table--journal,
    .admin-history-card .admin-table--review,
    .admin-history-card .admin-table--token { border-spacing: 0; }
}

/* ── LEGIBILIDAD REFORZADA (pase 2026-06-28) ─────────────────────── */

/* Restaurar tipografia oficial del brandbook (una regla anterior la
   sobreescribia con Segoe UI generica) */
:root {
    --font-display: "Clash Display", "Panchang", "Arial Black", sans-serif;
    --font-body: "Lato", "Segoe UI", system-ui, sans-serif;
    --font-accent: "Resolve Sans", "Montserrat", "Segoe UI", sans-serif;
}

body {
    font-family: var(--font-body);
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3 { font-family: var(--font-display) !important; }
.eyebrow, .panel-shell-nav__button, .pill, .status-badge,
.member-sidebar__eyebrow, .brand__copy small {
    font-family: var(--font-accent) !important;
}

p, li, td, .card-note, .field-hint, .data-note, .empty-state {
    color: var(--text);
}

.text-muted, small, .hero-copy, .feature-card p, .panel-card p,
.auth-copy p, .token-card p {
    color: var(--text-muted);
}

h1, h2, h3 {
    color: var(--brand);
    letter-spacing: -0.02em;
}

strong, b, .admin-table--pro td strong, .data-table__row span:first-child {
    font-weight: 700;
    color: var(--text);
}

/* Asegurar contraste minimo en textos sobre fondos oscuros */
.patient-hero-strip, .therapist-hero__strip, .reception-hero__strip,
.admin-hero-strip, .patient-hero-summary, .token-pill, .phone-balance,
.member-sidebar, .member-sidebar__nav.is-open {
    color: rgba(255,255,255,0.94);
}
.patient-hero-strip small, .therapist-hero__strip small, .reception-hero__strip small,
.admin-hero-strip small, .patient-hero-summary small {
    color: rgba(255,255,255,0.72);
}

/* Enlaces y botones con mejor peso de lectura */
.button, .chip, .pill, .status-badge, .eyebrow {
    letter-spacing: 0.01em;
}

/* Tablas: aumentar contraste de filas alternas */
.admin-table--pro tbody td {
    color: var(--text);
}


/* ══════════════════════════════════════════════════════════════════
   COMPACTACION FINAL 2026-06-30 — pase de densidad movil
   Un solo bloque, al final del archivo, para ganar la cascada sobre
   las reglas duplicadas anteriores sin tener que rastrearlas todas.
   ══════════════════════════════════════════════════════════════════ */

/* ── Header movil: menos sombra, menos ruido decorativo ──────────── */
@media (max-width: 760px) {
    .member-sidebar {
        box-shadow: 0 6px 18px rgba(31, 53, 52, 0.16) !important;
        align-items: center !important;
    }
    .member-sidebar::before,
    .member-sidebar::after {
        display: none !important;
    }
    .member-sidebar__brand,
    .member-menu-toggle,
    .member-sidebar__footer {
        align-self: center !important;
    }

    /* Espaciado general mas apretado */
    .app-frame--member {
        padding-top: max(0.45rem, env(safe-area-inset-top)) !important;
    }
    .member-app-shell {
        gap: 0.5rem !important;
    }

    /* Topbar: fecha + salir en una sola fila compacta */
    .member-topbar-shell {
        padding: 0.55rem 0.65rem !important;
        gap: 0.5rem !important;
    }
    .member-topbar-shell__actions {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        gap: 0.4rem !important;
    }
    .member-date-chip {
        flex: 1 1 auto !important;
        min-height: 2.15rem !important;
        padding: 0.4rem 0.55rem !important;
        font-size: 0.7rem !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        line-height: 2.15rem !important;
    }
    .member-topbar-shell__logout {
        flex: 0 0 auto !important;
        min-height: 2.15rem !important;
        padding: 0.4rem 0.7rem !important;
        font-size: 0.74rem !important;
    }
    .member-main__content {
        padding-top: 0.15rem !important;
    }
}

/* ── Hero del dashboard: compacto y en un solo vistazo ────────────── */
@media (max-width: 760px) {
    .admin-hero-banner,
    .patient-hero-banner,
    .therapist-hero,
    .reception-hero {
        padding: 0.85rem 0.9rem !important;
        gap: 0.55rem !important;
    }
    .admin-hero-copy .eyebrow { margin-bottom: 0.3rem !important; }
    .admin-hero-copy h1 {
        font-size: clamp(1.25rem, 6vw, 1.55rem) !important;
        line-height: 1.08 !important;
        margin-bottom: 0.3rem !important;
    }
    .admin-hero-copy p {
        font-size: 0.8rem !important;
        line-height: 1.4 !important;
        margin: 0 0 0.55rem !important;
    }
    .admin-hero-actions {
        gap: 0.4rem !important;
        margin-top: 0.1rem !important;
    }
    .admin-hero-actions .button {
        min-height: 2.5rem !important;
        padding: 0.55rem 0.7rem !important;
        font-size: 0.82rem !important;
    }

    /* KPI en grid 2 columnas SIEMPRE en movil (sin volver a 1 columna) */
    .admin-hero-strip {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.4rem !important;
        padding: 0.4rem !important;
    }
    .admin-hero-panel--identity {
        grid-column: 1 / -1 !important;
    }
    .admin-hero-panel {
        padding: 0.55rem 0.6rem !important;
        min-width: 0 !important;
    }
    .admin-hero-panel small {
        font-size: 0.66rem !important;
    }
    .admin-hero-panel strong {
        font-size: 1.05rem !important;
        line-height: 1.1 !important;
    }
    .admin-hero-panel span {
        font-size: 0.68rem !important;
        line-height: 1.25 !important;
    }
}

@media (max-width: 420px) {
    /* Anular el colapso a 1 columna que quedaba de una regla anterior */
    .admin-hero-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ── Panel nav (tabs): mas compacto ───────────────────────────────── */
@media (max-width: 760px) {
    .panel-shell-nav__list {
        gap: 0.3rem !important;
        padding: 0.35rem !important;
    }
    .panel-shell-nav__button {
        padding: 0.55rem 0.75rem !important;
        font-size: 0.78rem !important;
    }
}

/* ── Tarjetas y callouts: menos padding, menos texto de relleno ──── */
@media (max-width: 760px) {
    .dashboard-card, .admin-panel, .token-card {
        padding: 0.85rem 0.9rem !important;
    }
    .dashboard-card__head {
        gap: 0.4rem !important;
        margin-bottom: 0.55rem !important;
    }
    .dashboard-card__head strong {
        font-size: 0.95rem !important;
        line-height: 1.25 !important;
    }
    .admin-form-callout {
        padding: 0.55rem 0.7rem !important;
        margin-bottom: 0.65rem !important;
    }
    .admin-form-callout strong {
        font-size: 0.82rem !important;
        display: block !important;
        margin-bottom: 0.1rem !important;
    }
    .admin-form-callout span {
        font-size: 0.76rem !important;
        line-height: 1.4 !important;
    }
    .field-hint {
        font-size: 0.72rem !important;
        line-height: 1.4 !important;
        margin-top: 0.3rem !important;
    }
    .status-badge {
        font-size: 0.68rem !important;
        padding: 0.3rem 0.55rem !important;
    }
}

/* ── Formularios: gaps y controles mas ajustados ─────────────────── */
@media (max-width: 760px) {
    .form-grid, .admin-form-grid {
        gap: 0.55rem !important;
    }
    .form-grid--double, .admin-form-grid.form-grid--double {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.5rem 0.5rem !important;
    }
    .form-grid label > span, .admin-form-grid label > span {
        font-size: 0.76rem !important;
        margin-bottom: 0.15rem !important;
    }
    .form-grid input, .form-grid select, .form-grid textarea,
    .admin-form-grid input, .admin-form-grid select, .admin-form-grid textarea {
        min-height: 2.6rem !important;
        padding: 0.55rem 0.7rem !important;
        font-size: 0.85rem !important;
    }
    .form-actions {
        gap: 0.5rem !important;
    }
}

/* ── Recargas pendientes: tarjeta compacta ────────────────────────── */
@media (max-width: 760px) {
    .admin-request-card {
        padding: 0.7rem 0.75rem !important;
        gap: 0.5rem !important;
    }
    .admin-request-card__top strong {
        font-size: 0.88rem !important;
    }
    .admin-request-card__top small {
        font-size: 0.72rem !important;
    }
    .admin-request-card__stats {
        gap: 0.35rem !important;
    }
    .admin-request-card__stats > div {
        padding: 0.45rem 0.5rem !important;
    }
    .admin-request-card__stats small {
        font-size: 0.62rem !important;
    }
    .admin-request-card__stats strong {
        font-size: 0.8rem !important;
    }
    .admin-request-card__meta {
        gap: 0.3rem 0.6rem !important;
        font-size: 0.7rem !important;
    }
    .admin-review-form__row {
        gap: 0.4rem !important;
    }
    .admin-review-form input {
        min-height: 2.5rem !important;
        font-size: 0.82rem !important;
    }
    .admin-review-form__actions {
        gap: 0.4rem !important;
    }
    .admin-review-form__actions .button {
        min-height: 2.4rem !important;
        font-size: 0.8rem !important;
    }
}

/* ── Plantillas activas: 2 por fila, compactas ────────────────────── */
@media (min-width: 361px) and (max-width: 760px) {
    .admin-template-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.5rem !important;
    }
}
@media (max-width: 360px) {
    .admin-template-list {
        display: grid !important;
        gap: 0.5rem !important;
    }
}
@media (max-width: 760px) {
    .admin-template-card {
        padding: 0.65rem 0.7rem !important;
        gap: 0.35rem !important;
    }
    .admin-template-card__head strong {
        font-size: 0.82rem !important;
        line-height: 1.2 !important;
    }
    .admin-template-card__head span {
        font-size: 0.7rem !important;
    }
    .admin-template-card__meta {
        gap: 0.15rem 0.4rem !important;
        font-size: 0.68rem !important;
    }
    .admin-template-card__meta--muted {
        font-size: 0.64rem !important;
    }
    .admin-template-card .pill {
        font-size: 0.62rem !important;
        padding: 0.22rem 0.5rem !important;
    }
    .admin-template-card__actions .button {
        min-height: 2.2rem !important;
        font-size: 0.72rem !important;
        padding: 0.4rem 0.6rem !important;
        width: 100% !important;
    }
    .admin-slot-toolbar {
        padding: 0.55rem 0.65rem !important;
        gap: 0.4rem !important;
    }
    .admin-slot-toolbar__copy strong {
        font-size: 0.85rem !important;
    }
    .admin-slot-toolbar__copy span {
        font-size: 0.72rem !important;
    }
}

/* ── Login: logo centrado, visible tambien en movil ───────────────── */
.login-brand-centered {
    display: none;
}
@media (max-width: 760px) {
    .login-brand-centered {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
        text-align: center;
        margin-bottom: 1.1rem;
    }
    .login-brand-centered img {
        width: 4.2rem;
        height: 4.2rem;
        border-radius: 1.1rem;
        background: linear-gradient(140deg, #263b3b, #658e8b);
        padding: 0.6rem;
        box-shadow: 0 10px 26px rgba(38, 59, 59, 0.22);
    }
    .login-brand-centered strong {
        font-family: var(--font-display);
        font-size: 1.15rem;
        color: #263b3b;
        letter-spacing: 0.02em;
    }
    .login-brand-centered small {
        font-family: var(--font-accent);
        font-style: italic;
        font-size: 0.75rem;
        color: rgba(38, 59, 59, 0.6);
    }
}

/* Logo en el panel izquierdo (desktop): centrarlo mejor */
.auth-brand-inline {
    justify-content: flex-start;
}
@media (min-width: 761px) {
    .auth-brand-inline {
        margin-bottom: 1.75rem !important;
    }
    .auth-brand-inline__logo {
        width: 3.2rem !important;
        height: 3.2rem !important;
    }
}


/* ══════════════════════════════════════════════════════════════════
   AJUSTES 2026-06-30 (v2) — horarios, tarjetas de usuario, reportes,
   bitacora, historial de recargas, login centrado y menu fijo.
   ══════════════════════════════════════════════════════════════════ */

/* ── 1) Horarios puntuales: mismo tratamiento que "plantillas activas" ── */
@media (min-width: 361px) and (max-width: 760px) {
    .admin-slot-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.5rem !important;
    }
}
@media (max-width: 360px) {
    .admin-slot-list {
        display: grid !important;
        gap: 0.5rem !important;
    }
}
@media (max-width: 760px) {
    .admin-slot-item {
        padding: 0.65rem 0.7rem !important;
        gap: 0.3rem !important;
    }
    .admin-slot-item__head strong {
        font-size: 0.82rem !important;
        line-height: 1.2 !important;
    }
    .admin-slot-item__head span {
        font-size: 0.7rem !important;
    }
    .admin-slot-item__head .pill {
        font-size: 0.62rem !important;
        padding: 0.22rem 0.5rem !important;
    }
    .admin-slot-item__meta {
        gap: 0.15rem 0.4rem !important;
        font-size: 0.66rem !important;
    }
    .admin-slot-item small {
        font-size: 0.66rem !important;
    }
}

/* ── 2) Tarjeta de usuario (tabla Usuarios): 2 columnas siempre ──────── */
.admin-table--users tr {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
@media (max-width: 760px) {
    .admin-table--users tr {
        gap: 0.45rem 0.6rem !important;
        padding: 0.7rem !important;
        border-radius: 0.85rem !important;
    }
    .admin-table--users td::before {
        font-size: 0.62rem !important;
        margin-bottom: 0.12rem !important;
    }
    .admin-table--users .admin-user-person strong {
        font-size: 0.88rem !important;
    }
    .admin-table--users .admin-user-person small,
    .admin-table--users td strong,
    .admin-table--users td small {
        font-size: 0.74rem !important;
    }
    .admin-table--users .admin-user-avatar {
        width: 2.3rem !important;
        height: 2.3rem !important;
        font-size: 0.78rem !important;
    }
    .admin-table--users .pill {
        font-size: 0.66rem !important;
        padding: 0.22rem 0.5rem !important;
    }
    .admin-table--users .admin-actions-cell {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.4rem !important;
    }
    .admin-table--users .admin-actions-cell > * { min-width: 0; }
    .admin-table--users .admin-user-reset-form--compact {
        grid-column: 1 / -1 !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
    }
    .admin-table--users .button {
        min-height: 2.3rem !important;
        font-size: 0.74rem !important;
        padding: 0.4rem 0.55rem !important;
    }
}

/* ── 3) Tablas genericas (reportes, bitacora, recargas revisadas, saldo) ── */
@media (max-width: 760px) {
    .admin-table--report tr,
    .admin-table--review tr,
    .admin-table--token tr,
    .admin-table--journal tr {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.4rem 0.55rem !important;
        padding: 0.7rem 0.75rem !important;
        border: 1px solid rgba(38, 59, 59, 0.09) !important;
        border-radius: 0.9rem !important;
        background: rgba(255, 255, 255, 0.8) !important;
        margin-bottom: 0 !important;
    }
    .admin-table--report td:first-child,
    .admin-table--review td:first-child,
    .admin-table--token td:first-child,
    .admin-table--journal td:first-child {
        grid-column: 1 / -1 !important;
        padding-bottom: 0.25rem !important;
        border-bottom: 1px solid rgba(38, 59, 59, 0.08) !important;
        margin-bottom: 0.1rem !important;
    }
    .admin-table--report td,
    .admin-table--review td,
    .admin-table--token td,
    .admin-table--journal td {
        display: block !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        min-width: 0 !important;
    }
    .admin-table--report td::before,
    .admin-table--review td::before,
    .admin-table--token td::before,
    .admin-table--journal td::before {
        content: attr(data-label) !important;
        display: block !important;
        margin-bottom: 0.1rem !important;
        font-size: 0.6rem !important;
        font-weight: 800 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
        color: var(--text-muted) !important;
    }
    .admin-table--report td strong,
    .admin-table--review td strong,
    .admin-table--token td strong,
    .admin-table--journal td strong {
        font-size: 0.82rem !important;
        line-height: 1.25 !important;
    }
    .admin-table--report td small,
    .admin-table--review td small,
    .admin-table--token td small,
    .admin-table--journal td small {
        font-size: 0.72rem !important;
        line-height: 1.35 !important;
    }
    /* Recortar descripciones largas a 2 lineas para no alargar la tarjeta */
    .admin-table--journal td[data-label="Seguimiento"] small,
    .admin-table--report td[data-label="Concepto"] small {
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden !important;
    }
    /* Numeros (Semana/Mes/Total) en fila compacta, no bloques gigantes */
    .admin-table--report td:not(:first-child) {
        display: flex !important;
        flex-direction: row !important;
        align-items: baseline !important;
        gap: 0.3rem !important;
        padding: 0.35rem 0.5rem !important;
        background: rgba(240, 244, 237, 0.7) !important;
        border-radius: 0.55rem !important;
    }
    .admin-table--report td:not(:first-child)::before {
        margin-bottom: 0 !important;
    }
    .admin-table--report td.admin-cell-number {
        font-size: 0.85rem !important;
    }
}

/* ── 4) Login: centrado vertical real en movil ────────────────────── */
@media (max-width: 760px) {
    .app-frame--guest {
        min-height: 100dvh !important;
        display: grid !important;
        place-items: center !important;
        align-items: center !important;
        padding: 1rem !important;
    }
    .login-experience--cleaner {
        margin: 0 !important;
    }
}

/* ── 5) Header movil: quitar manchas decorativas + hacerlo fijo ──────── */
body.is-member-session .page-aura {
    display: none !important;
}
@media (max-width: 760px) {
    .member-sidebar {
        position: sticky !important;
        top: 0.4rem !important;
        z-index: 45 !important;
        box-shadow: 0 4px 14px rgba(31, 53, 52, 0.14) !important;
    }
}

/* ── 6) Resumen 2x2 de bitacora: mas compacto ─────────────────────── */
@media (max-width: 760px) {
    .admin-journal-summary {
        gap: 0.4rem !important;
    }
    .admin-journal-summary div {
        padding: 0.55rem 0.6rem !important;
    }
    .admin-journal-summary small {
        font-size: 0.64rem !important;
    }
    .admin-journal-summary strong {
        font-size: 1.15rem !important;
    }
    .admin-journal-summary span {
        font-size: 0.66rem !important;
    }
}


/* ══════════════════════════════════════════════════════════════════
   AJUSTES 2026-06-30 (v3) — tipografia legible, resumen de cliente en
   una fila, "Cerrar sesion" con mejor acabado, mismo criterio para
   terapista y recepcion.
   ══════════════════════════════════════════════════════════════════ */

/* ── 1) Tipografia base mas legible en todo el sitio ──────────────── */
body {
    font-size: 16.5px !important;
}
p, .field-hint, .data-note, .empty-state, .card-note {
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
}
small {
    font-size: 0.8rem !important;
}
.eyebrow {
    font-size: 0.74rem !important;
}
.status-badge, .pill {
    font-size: 0.82rem !important;
}
.button {
    font-size: 0.95rem !important;
}
label > span {
    font-size: 0.85rem !important;
}

/* Recuperar tamaño legible en los textos que se comprimieron de mas
   en el pase de compactacion anterior (mobile) */
@media (max-width: 760px) {
    .admin-hero-panel small,
    .therapist-hero__panel small,
    .reception-hero__panel small,
    .patient-hero-strip small {
        font-size: 0.72rem !important;
    }
    .admin-hero-panel span,
    .patient-hero-strip span {
        font-size: 0.74rem !important;
    }
    .admin-hero-panel strong { font-size: 1.1rem !important; }
    .admin-form-callout span { font-size: 0.82rem !important; }
    .admin-request-card__meta { font-size: 0.76rem !important; }
    .admin-template-card__meta { font-size: 0.74rem !important; }
    .admin-template-card__meta--muted { font-size: 0.7rem !important; }
    .admin-slot-item__meta { font-size: 0.72rem !important; }
    .admin-table--report td small,
    .admin-table--review td small,
    .admin-table--token td small,
    .admin-table--journal td small { font-size: 0.78rem !important; }
    .admin-table--report td strong,
    .admin-table--review td strong,
    .admin-table--token td strong,
    .admin-table--journal td strong { font-size: 0.88rem !important; }
    .admin-table--users td strong,
    .admin-table--users td small { font-size: 0.8rem !important; }
    .history-inline-row__detail,
    .history-inline-row__type,
    .history-inline-row__balance { font-size: 0.8rem !important; }
}

/* ── 2) Resumen del cliente: identidad + sesiones + planes en 1 fila ── */
@media (max-width: 900px) {
    .patient-hero-strip {
        grid-template-columns: minmax(9rem, 1.3fr) repeat(2, minmax(0, 1fr)) !important;
        gap: 0.5rem !important;
        padding: 0.55rem !important;
    }
    .patient-hero-strip__footer {
        grid-column: 1 / -1 !important;
        font-size: 0.82rem !important;
        padding: 0.65rem 0.75rem !important;
    }
    .patient-hero-strip__identity,
    .patient-hero-strip__metric {
        padding: 0.55rem 0.6rem !important;
        min-width: 0 !important;
    }
    .patient-hero-strip__identity strong {
        font-size: 1.1rem !important;
        line-height: 1.15 !important;
        overflow-wrap: break-word;
    }
    .patient-hero-strip__metric strong {
        font-size: 1.35rem !important;
    }
    .patient-hero-strip small {
        font-size: 0.68rem !important;
    }
    .patient-hero-strip__identity span {
        font-size: 0.72rem !important;
    }

    /* Mismo criterio para terapista y recepcion */
    .therapist-hero__strip,
    .reception-hero__strip {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0.5rem !important;
        padding: 0.55rem !important;
    }
    .therapist-hero__panel,
    .reception-hero__panel {
        padding: 0.55rem 0.6rem !important;
        min-width: 0 !important;
    }
    .therapist-hero__panel strong,
    .reception-hero__panel strong {
        font-size: 1.15rem !important;
    }
    .therapist-hero__panel--identity strong {
        font-size: 1.05rem !important;
    }
}

/* ── 3) Tarjetas vacias (cobertura/saldo): menos aire, texto centrado ── */
@media (max-width: 760px) {
    .patient-summary-card, .patient-history-card {
        padding: 0.85rem 0.9rem !important;
    }
    .empty-state {
        padding: 0.5rem 0 !important;
        margin: 0 !important;
    }
}

/* ── 4) "Cerrar sesion": mejor acabado, integrado con el header ─────── */
@media (max-width: 760px) {
    .member-topbar-shell {
        background: rgba(255, 255, 255, 0.88) !important;
        border: 1px solid rgba(38, 59, 59, 0.08) !important;
        box-shadow: 0 3px 10px rgba(38, 59, 59, 0.07) !important;
    }
    .member-date-chip,
    .member-topbar-shell__logout {
        border-radius: 0.75rem !important;
        box-shadow: none !important;
        border: 1px solid rgba(38, 59, 59, 0.1) !important;
    }
    .member-date-chip {
        background: rgba(240, 244, 237, 0.7) !important;
    }
    .member-topbar-shell__logout {
        background: linear-gradient(135deg, #263b3b, #344f4f) !important;
        color: #fff !important;
        border-color: transparent !important;
        font-weight: 700 !important;
    }
}

/* ══════════════════════════════════════════════════════════════════
   AJUSTES 2026-06-30 (v4) — quitar el "cuadrado" roto junto a
   Cerrar sesion en movil (era la fecha truncada sin espacio).
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 760px) {
    .member-date-chip {
        display: none !important;
    }
    .member-topbar-shell__actions {
        justify-content: stretch !important;
    }
    .member-topbar-shell__logout {
        width: 100% !important;
        flex: 1 1 100% !important;
        text-align: center !important;
    }
}
