:root {
    --blue: #063b7a;
    --blue-dark: #042a59;
    --green: #16c784;
    --white: #ffffff;
    --ink: #102033;
    --muted: #6d7b8f;
    --line: #dce6f2;
    --bg: #f4f8fc;
    --surface: rgba(255, 255, 255, 0.9);
    --surface-solid: #ffffff;
    --shadow: 0 18px 42px rgba(6, 59, 122, 0.08);
    --glass: rgba(255, 255, 255, 0.72);
    --danger: #d94444;
    --warning: #c98300;
    --success: #0f9f6e;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
}

:root[data-theme="dark"] {
    --blue: #66a6ff;
    --blue-dark: #06162e;
    --green: #22d98f;
    --white: #0d1726;
    --ink: #edf6ff;
    --muted: #9fb0c7;
    --line: rgba(255, 255, 255, 0.12);
    --bg: #07111f;
    --surface: rgba(13, 23, 38, 0.82);
    --surface-solid: #0d1726;
    --shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
    --glass: rgba(13, 23, 38, 0.66);
}

select {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    color: var(--ink);
    font: inherit;
}

select:focus {
    outline: 3px solid rgba(22, 199, 132, 0.22);
    border-color: var(--green);
}

.btn-ghost.danger,
.danger {
    color: var(--danger);
}

.flow-panel {
    max-width: 980px;
    margin: 16px auto 0;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
}

.action-card p {
    margin: 0;
}

.flow-steps {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    padding: 0;
    margin: 0 0 20px;
    list-style: none;
    counter-reset: flow;
}

.flow-steps li {
    counter-increment: flow;
    padding: 10px;
    border-radius: 8px;
    background: rgba(6, 59, 122, 0.06);
    color: var(--blue);
    font-size: 0.85rem;
    font-weight: 800;
}

.flow-steps li::before {
    content: counter(flow) ". ";
}

.split-form {
    grid-template-columns: 1fr 1fr;
    align-items: end;
}

.split-form .btn-wide,
.split-form .verified-box,
.split-form .review-box,
.split-form .check-row {
    grid-column: 1 / -1;
}

.verified-box,
.review-box {
    padding: 14px;
    border-radius: 8px;
    border: 1px solid var(--line);
    background: #fbfdff;
    font-weight: 800;
}

.verified-box.success,
.review-box {
    border-color: rgba(15, 159, 110, 0.35);
    color: var(--success);
}

.verified-box.error {
    border-color: rgba(217, 68, 68, 0.28);
    color: var(--danger);
}

.review-box {
    display: grid;
    gap: 6px;
    color: var(--ink);
}

.quick-beneficiaries {
    grid-template-columns: repeat(3, 1fr);
}

.beneficiary-card {
    min-height: 120px;
    display: grid;
    gap: 6px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    color: var(--ink);
    text-align: left;
    cursor: pointer;
    font: inherit;
}

.beneficiary-card span,
.beneficiary-card small {
    color: var(--muted);
}

.row-actions,
.admin-action-block,
.admin-action-block form,
.filter-form {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.filter-form {
    justify-content: stretch;
    margin-bottom: 18px;
}

.transaction-filter-form {
    align-items: end;
}

.transaction-filter-form select,
.transaction-filter-form input,
.transaction-filter-form .btn {
    min-width: 150px;
}

.filter-form input {
    flex: 2;
}

.filter-form select {
    flex: 1;
}

.admin-action-block form input {
    min-width: 180px;
}

.transaction-item.unread {
    border-color: rgba(22, 199, 132, 0.4);
    background: rgba(22, 199, 132, 0.05);
}

.mobile-footer-menu {
    position: fixed;
    left: 50%;
    bottom: 14px;
    z-index: 11;
    width: min(calc(100% - 24px), 560px);
    min-height: 68px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--glass);
    box-shadow: 0 20px 56px rgba(6, 59, 122, 0.2);
    backdrop-filter: blur(22px);
    transform: translateX(-50%);
}

.mobile-footer-menu a {
    display: grid;
    place-items: center;
    gap: 3px;
    padding: 7px 4px;
    border-radius: 8px;
    color: var(--muted);
    font-size: 0.74rem;
    transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.mobile-footer-menu a.active {
    color: #ffffff;
    background: linear-gradient(135deg, var(--green), #0c65c9);
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(22, 199, 132, 0.24);
}

.tab-icon {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(6, 59, 122, 0.08);
    font-size: 0.72rem;
    font-weight: 900;
}

.tab-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.mobile-footer-menu a.active .tab-icon {
    background: rgba(255, 255, 255, 0.2);
}

.theme-toggle {
    position: fixed;
    right: 18px;
    bottom: 94px;
    z-index: 11;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--glass);
    color: var(--ink);
    font: inherit;
    font-weight: 900;
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
    cursor: pointer;
}

.skeleton-card {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    overflow: hidden;
}

.skeleton-card span,
.skeleton-card strong,
.skeleton-card small {
    display: block;
    height: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(109, 123, 143, 0.12), rgba(109, 123, 143, 0.26), rgba(109, 123, 143, 0.12));
    background-size: 220% 100%;
    animation: skeletonPulse 1s ease-in-out infinite;
}

.skeleton-card strong {
    width: 70%;
    height: 18px;
}

.skeleton-card small {
    width: 45%;
}

@keyframes skeletonPulse {
    to {
        background-position: -220% 0;
    }
}

.pwa-actions,
.notification-filters {
    max-width: 980px;
    margin: 16px auto 0;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.notification-filters {
    margin: 0 0 16px;
}

.notification-filters .active {
    background: var(--blue);
    color: var(--white);
}

.notification-list {
    display: grid;
    gap: 10px;
}

.notification-item {
    display: grid;
    grid-template-columns: 44px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    backdrop-filter: blur(16px);
}

.notification-item.unread {
    border-color: rgba(22, 199, 132, 0.4);
    background: rgba(22, 199, 132, 0.05);
}

.notification-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(6, 59, 122, 0.08);
    color: var(--blue);
    font-weight: 900;
}

.notification-actions {
    display: flex;
    justify-content: flex-end;
}

.install-toast {
    position: fixed;
    right: 18px;
    bottom: calc(92px + env(safe-area-inset-bottom));
    z-index: 12;
    width: min(calc(100% - 36px), 420px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px;
    border: 1px solid rgba(22, 199, 132, 0.28);
    border-radius: 8px;
    background: var(--glass);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
    transition: opacity 220ms ease, transform 220ms ease;
}

.install-toast[hidden] {
    display: none;
}

.install-toast.is-hiding {
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
}

.install-toast strong,
.install-toast span {
    display: block;
}

.install-toast span {
    color: var(--muted);
    font-size: 0.9rem;
}

.install-toast-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.install-dismiss {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(6, 59, 122, 0.06);
    color: var(--ink);
    cursor: pointer;
}

.install-dismiss svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
}

.badge-approved {
    background: rgba(15, 159, 110, 0.12);
    color: var(--success);
}

.badge-rejected {
    background: rgba(217, 68, 68, 0.1);
    color: var(--danger);
}

.mobile-home {
    max-width: 980px;
    margin: 0 auto;
}

.home-header {
    max-width: 980px;
    margin: 0 auto 22px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
}

.home-header h1 {
    margin: 0;
    font-size: 1.55rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

.home-avatar {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background:
        radial-gradient(circle at 72% 78%, rgba(6, 59, 122, 0.16), transparent 18px),
        linear-gradient(135deg, rgba(22, 199, 132, 0.18), rgba(255, 255, 255, 0.82));
    box-shadow: var(--shadow);
}

.home-avatar span {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--green);
    color: #ffffff;
    font-weight: 900;
}

.home-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.home-icon-link {
    position: relative;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: var(--surface);
    box-shadow: var(--shadow);
    color: var(--ink);
}

.notification-dot {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    padding: 0 5px;
    border-radius: 999px;
    background: #ff5b78;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 900;
}

.icon-bell {
    width: 20px;
    height: 22px;
    border: 2px solid currentColor;
    border-radius: 12px 12px 8px 8px;
    position: relative;
}

.icon-bell::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 6px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    border: 2px solid currentColor;
    background: var(--surface-solid);
}

.icon-bell::after {
    content: "";
    position: absolute;
    left: 6px;
    bottom: -7px;
    width: 7px;
    height: 3px;
    border-radius: 999px;
    background: currentColor;
}

.premium-balance-card {
    display: grid;
    gap: 18px;
    padding: 24px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.26), transparent 18rem),
        linear-gradient(135deg, #08b978, #06a86f);
    color: #ffffff;
    box-shadow: 0 22px 60px rgba(6, 168, 111, 0.26);
}

.balance-card-top,
.balance-card-main,
.balance-topup-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.balance-card-top span {
    color: rgba(255, 255, 255, 0.82);
    font-weight: 800;
}

.balance-eye {
    min-height: 34px;
    padding: 0 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.balance-card-main strong {
    font-size: clamp(2rem, 8vw, 3rem);
    letter-spacing: 0;
}

.balance-card-main a {
    color: rgba(255, 255, 255, 0.9);
    white-space: nowrap;
}

.balance-topup-form {
    justify-content: flex-end;
}

.balance-topup-form input {
    max-width: 170px;
    min-height: 48px;
    border: 0;
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

.balance-topup-form input::placeholder {
    color: rgba(255, 255, 255, 0.78);
}

.balance-topup-form .btn {
    min-width: 150px;
    border-radius: 999px;
    background: #ffffff;
    color: #08a66d;
}

.home-card {
    margin-top: 16px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 24px;
    background: var(--surface);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}

.recent-card {
    display: grid;
    gap: 16px;
}

.recent-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 14px;
    align-items: center;
    color: var(--ink);
}

.recent-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    font-size: 1.4rem;
    font-weight: 900;
}

.recent-icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.recent-icon.credit {
    background: rgba(22, 199, 132, 0.14);
    color: var(--success);
}

.recent-icon.debit {
    background: rgba(217, 68, 68, 0.12);
    color: var(--danger);
}

.recent-row strong,
.recent-row span {
    display: block;
}

.recent-row span,
.recent-amount span {
    color: var(--muted);
}

.recent-amount {
    text-align: right;
}

.recent-amount.credit strong {
    color: var(--success);
}

.recent-amount.debit strong {
    color: var(--danger);
}

.action-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    text-align: center;
}

.action-strip a,
.service-grid a {
    display: grid;
    place-items: center;
    gap: 10px;
    color: var(--ink);
}

.action-strip span,
.service-grid span {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    background: rgba(22, 199, 132, 0.14);
    color: var(--green);
    font-weight: 900;
}

.profile-notice {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
}

.profile-notice strong,
.profile-notice span {
    display: block;
}

.profile-notice span {
    color: var(--muted);
}

.notice-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: rgba(255, 185, 70, 0.18);
    color: var(--warning);
    font-weight: 900;
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px 12px;
    text-align: center;
}

.savings-challenge {
    margin-top: 16px;
    min-height: 170px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 16px;
    padding: 24px;
    border-radius: 24px;
    background:
        radial-gradient(circle at right, rgba(22, 199, 132, 0.24), transparent 18rem),
        linear-gradient(135deg, rgba(22, 199, 132, 0.14), rgba(255, 255, 255, 0.62));
    box-shadow: var(--shadow);
}

.savings-challenge h2,
.savings-challenge p {
    margin: 0;
}

.savings-challenge p {
    color: var(--muted);
    margin-top: 8px;
}

.compact-stats {
    grid-template-columns: repeat(3, 1fr);
}

.badge-active,
.badge-matured {
    background: rgba(15, 159, 110, 0.12);
    color: var(--success);
}

.badge-inactive,
.badge-withdrawn {
    background: rgba(6, 59, 122, 0.08);
    color: var(--blue);
}

.badge-low {
    background: rgba(15, 159, 110, 0.12);
    color: var(--success);
}

.badge-medium {
    background: rgba(201, 131, 0, 0.12);
    color: var(--warning);
}

.badge-high {
    background: rgba(217, 68, 68, 0.1);
    color: var(--danger);
}

.gain {
    color: var(--success);
}

.loss {
    color: var(--danger);
}

.stock-card {
    min-height: 280px;
}

.admin-stat-grid {
    grid-template-columns: repeat(4, 1fr);
}

.module-grid {
    max-width: 980px;
    margin: 16px auto 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.module-card {
    display: grid;
    gap: 8px;
    min-height: 112px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    color: var(--ink);
    box-shadow: var(--shadow);
    backdrop-filter: blur(16px);
}

.module-card span {
    color: var(--muted);
}

.admin-columns {
    max-width: 980px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.plan-grid {
    max-width: 980px;
    margin: 16px auto 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.plan-card {
    min-height: 330px;
    display: grid;
    align-content: space-between;
    gap: 18px;
    padding: 22px;
    border: 1px solid rgba(22, 199, 132, 0.24);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(22, 199, 132, 0.08), rgba(255, 255, 255, 0)),
        var(--surface);
    box-shadow: var(--shadow);
    backdrop-filter: blur(16px);
    content-visibility: auto;
    contain-intrinsic-size: 340px;
}

.plan-card h2 {
    margin: 14px 0 8px;
}

.plan-card p {
    color: var(--muted);
    line-height: 1.6;
}

.plan-meta {
    display: grid;
    gap: 8px;
    color: var(--blue);
    font-weight: 800;
}

.countdown {
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(6, 59, 122, 0.08);
    color: var(--blue);
    font-weight: 900;
    font-size: 0.85rem;
}

.market-section {
    max-width: 980px;
    margin: 16px auto 0;
}

.market-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.market-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
    backdrop-filter: blur(16px);
    content-visibility: auto;
    contain-intrinsic-size: 360px;
}

.market-image {
    position: relative;
    aspect-ratio: 4 / 3;
    background: rgba(6, 59, 122, 0.08);
}

.market-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.market-placeholder {
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--blue);
    font-weight: 900;
}

.market-featured {
    position: absolute;
    top: 10px;
    left: 10px;
}

.market-body {
    display: grid;
    gap: 10px;
    padding: 16px;
}

.market-body h2,
.market-body p {
    margin: 0;
}

.market-body p {
    color: var(--muted);
    line-height: 1.5;
}

.market-social {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.market-comment-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
}

.service-card h2 a {
    color: inherit;
    text-decoration: none;
}

.service-heart {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(220, 38, 38, 0.18);
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    background: rgba(220, 38, 38, 0.08);
    color: #9f1239;
    font-size: 1.1rem;
    font-weight: 900;
    cursor: pointer;
    transition: transform 160ms ease, background 160ms ease, color 160ms ease;
}

.service-heart b {
    font-size: 0.78rem;
    margin-left: 2px;
}

.service-heart.is-liked,
.service-heart:hover {
    background: #e11d48;
    color: #fff;
    transform: translateY(-1px);
}

.service-like-count {
    color: var(--muted);
    font-weight: 800;
}

.service-detail {
    max-width: 980px;
    margin: 16px auto 0;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr);
    gap: 18px;
    min-width: 0;
}

.service-gallery,
.service-detail-card {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.service-gallery {
    overflow: hidden;
    display: grid;
    gap: 8px;
    padding: 8px;
}

.service-gallery img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
}

.service-detail-card {
    padding: 20px;
    display: grid;
    gap: 14px;
    align-content: start;
}

.service-detail-card h1,
.service-detail-card p {
    margin: 0;
    overflow-wrap: anywhere;
}

.service-detail-card p {
    max-height: 18rem;
    overflow: auto;
    color: var(--muted);
    line-height: 1.65;
}

.service-social-bar {
    justify-content: flex-start;
}

.service-comment-form {
    margin-bottom: 14px;
}

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

    .service-detail {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .service-gallery {
        max-height: none;
    }

    .service-detail-card {
        padding: 16px;
    }

    .service-detail-card h1 {
        font-size: 1.25rem;
        line-height: 1.25;
    }

    .service-social-bar {
        align-items: stretch;
    }

    .service-social-bar .btn {
        width: 100%;
    }

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

.dashboard-page:has(.admin-stat-grid) {
    max-width: none;
}

.admin-stat-grid .info-card {
    min-height: 108px;
}

.admin-columns {
    align-items: start;
}

body:has(.admin-stat-grid) .module-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

body:has(.admin-stat-grid) .module-card {
    border-left: 4px solid var(--blue);
}

.badge-rejected {
    background: rgba(217, 68, 68, 0.1);
    color: var(--danger);
}

@media (max-width: 720px) {
    .quick-beneficiaries,
    .plan-grid,
    .market-grid,
    .module-grid,
    .admin-stat-grid,
    .admin-columns,
    .flow-steps,
    .split-form {
        grid-template-columns: 1fr;
    }

    .row-actions,
    .admin-action-block,
    .admin-action-block form,
    .filter-form,
    .pwa-actions,
    .notification-filters {
        align-items: stretch;
        flex-direction: column;
        justify-content: flex-start;
    }
}

/* Shared form typography */
.form label,
.cooperative-form-grid label,
.action-card label { color: var(--ink); font-size: .9rem; font-weight: 700; line-height: 1.35; }
.form label > span,
.cooperative-form-grid label > span,
.action-card label > span { font-size: .9rem; font-weight: 700; }
.form input,
.form select,
.form textarea,
.action-card input,
.action-card select,
.action-card textarea,
.filter-form input,
.filter-form select { min-height: 46px; font-family: inherit; font-size: .95rem; font-weight: 500; line-height: 1.4; }
.form textarea,
.action-card textarea { width: 100%; padding: 12px 14px; resize: vertical; border: 1px solid var(--line); border-radius: 8px; background: var(--white); color: var(--ink); }
.form textarea:focus,
.action-card textarea:focus { outline: 3px solid rgba(22,199,132,.22); border-color: var(--green); }
.btn { font-family: inherit; font-size: .9rem; font-weight: 750; }

/* Transaction PIN settings: compact and contained on narrow screens. */
.profile-page .transaction-pin-settings {
    width:100%;
    min-width:0;
    margin-bottom:26px;
    padding:18px;
    overflow:hidden;
    border-radius:20px;
    background:linear-gradient(180deg,var(--white),rgba(244,248,252,.94));
    scroll-margin-block:90px 130px;
}
.profile-page { padding-bottom:150px; }
.transaction-pin-settings .section-head { display:flex; align-items:flex-start; gap:12px; margin-bottom:4px; }
.transaction-pin-settings .section-head > div { min-width:0; flex:1; }
.transaction-pin-settings .section-head h2 { font-size:1.25rem; line-height:1.25; }
.transaction-pin-settings .section-head .badge { flex:0 0 auto; }
.transaction-pin-settings .compact-form { width:100%; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:16px; }
.transaction-pin-settings .compact-form > * { min-width:0; max-width:100%; }
.transaction-pin-settings .compact-form label { gap:6px; }
.transaction-pin-settings .compact-form input { width:100%; min-width:0; min-height:44px; height:44px; padding:0 12px; border-radius:11px; background:var(--surface-solid); }
.transaction-pin-settings .compact-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; width:100%; margin-top:3px; }
.transaction-pin-settings .compact-actions .btn { width:100%; min-width:0; min-height:40px; padding:8px 10px; white-space:nowrap; }
@media(max-width:520px){
    .profile-page .transaction-pin-settings{padding:15px;margin-bottom:34px;border-radius:18px}.transaction-pin-settings .section-head h2{font-size:1.14rem}.transaction-pin-settings .section-head p{font-size:.78rem;line-height:1.45}.transaction-pin-settings .compact-form{grid-template-columns:1fr;gap:11px}.transaction-pin-settings .compact-form input{height:42px;min-height:42px}.transaction-pin-settings .compact-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:2px}.transaction-pin-settings .compact-actions .btn{font-size:.82rem}
}

/* Keep the authorization dialog centered independently of page/card widths. */
.transaction-pin-modal {
    position:fixed!important;
    inset:0!important;
    width:100vw;
    height:100vh;
    height:100dvh;
    margin:0!important;
    padding:18px;
    place-items:center;
    overflow-y:auto;
}
.transaction-pin-card {
    align-self:center;
    justify-self:center;
    width:min(100%,360px);
    min-width:0;
    margin:auto;
    padding:25px 20px 20px;
    border-radius:22px;
}
.transaction-pin-card .install-dismiss { top:11px; right:11px; width:34px; min-width:34px; height:34px; min-height:34px; }
.transaction-pin-card form { min-width:0; gap:12px; }
.transaction-pin-card input { min-width:0; height:54px; min-height:54px; }
.transaction-pin-dots { top:27px; }
.transaction-pin-card .compact-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:9px; }
.transaction-pin-card .compact-actions .btn { width:100%; min-width:0; }
@media(max-width:360px){
    .transaction-pin-modal{padding:14px}.transaction-pin-card{width:100%;padding:23px 16px 17px;border-radius:19px}.transaction-pin-shield{width:50px;height:50px}.transaction-pin-card h2{font-size:1.18rem}.transaction-pin-card>.muted{font-size:.8rem}.transaction-pin-dots{gap:13px}
    .kyc-summary-grid .info-card{display:grid;justify-items:start;align-content:start;gap:7px;min-height:106px}.kyc-summary-grid .info-card strong{font-size:clamp(.72rem,3.7vw,.86rem);white-space:normal;overflow-wrap:anywhere;line-height:1.25}.kyc-summary-grid .info-card>div{width:100%}
}
.cooperative-form-grid label { gap: 7px; }

.home-more-services { display: flex; justify-content: center; margin: 18px 0 30px; }
.home-more-services .btn { width: auto; min-height: 42px; padding: 10px 18px; gap: 9px; }
.home-more-services .ui-button-icon { width: 18px; height: 18px; }
.more-features-page { width: min(100%,760px); margin: 0 auto; }
.feature-directory-card { display:grid; gap:24px; width:100%; padding:24px; border:1px solid var(--line); border-radius:24px; background:var(--white); box-shadow:var(--shadow); }
.feature-directory-head h1,.feature-directory-head p { margin:0; }
.feature-directory-head h1 { margin-top:5px; font-size:clamp(1.55rem,6vw,2.15rem); }
.feature-directory-head p:last-child { margin-top:7px; color:var(--muted); }
.feature-directory-section { display:grid; gap:15px; }
.feature-directory-section h2 { margin:0; font-size:1rem; }
.feature-directory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.feature-directory-item { display:grid; justify-items:center; align-content:start; gap:8px; min-width:0; min-height:150px; padding:17px 10px; border:1px solid rgba(6,59,122,.08); border-radius:18px; color:var(--ink); text-align:center; text-decoration:none; background:linear-gradient(180deg,#f7faff,#f2f7fc); }
.feature-directory-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; color:var(--blue); background:rgba(6,59,122,.09); }
.feature-directory-icon svg { display:block; width:28px!important; height:28px!important; max-width:28px; max-height:28px; fill:none!important; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.feature-directory-item strong { font-size:.91rem; line-height:1.3; }
.feature-directory-item small { color:var(--muted); font-size:.76rem; line-height:1.4; }
.feature-directory-empty { display:grid; gap:4px; padding-top:18px; border-top:1px dashed var(--line); }
.feature-directory-empty span { font-weight:800; }
.feature-directory-empty small { color:var(--muted); }
.task-rejected-note { display:grid; gap:3px; padding:12px 14px; border:1px solid rgba(217,65,65,.2); border-radius:12px; color:#9d2525; background:rgba(217,65,65,.07); }
.task-rejected-note span,.task-rejected-note small { font-size:.82rem; }
.task-proof-form input[type="file"] { padding:9px; border:1px dashed var(--line); border-radius:10px; background:var(--white); }
.task-proof-form label small { color:var(--muted); font-weight:600; }
.task-proof-link { width:max-content!important; margin-top:5px; }
.transaction-pin-settings .section-head { align-items:flex-start; }
.transaction-pin-settings .section-head h2,.transaction-pin-settings .section-head p { margin:0; }
.transaction-pin-settings .section-head p { margin-top:4px; font-size:.82rem; }
.transaction-pin-settings .compact-actions { justify-content:flex-start; }
.transaction-pin-settings .compact-actions .btn { width:auto; min-height:40px; padding:9px 14px; }
.transaction-pin-modal { position:fixed; inset:0; z-index:1600; display:grid; place-items:center; padding:18px; }
.transaction-pin-modal[hidden] { display:none; }
.transaction-pin-backdrop { position:absolute; inset:0; background:rgba(3,15,31,.68); backdrop-filter:blur(5px); }
.transaction-pin-card { position:relative; width:min(100%,390px); display:grid; justify-items:center; gap:9px; padding:27px 22px 22px; border:1px solid rgba(255,255,255,.18); border-radius:24px; color:var(--ink); text-align:center; background:var(--white); box-shadow:0 24px 70px rgba(0,0,0,.28); }
.transaction-pin-card .install-dismiss { position:absolute; top:12px; right:12px; }
.transaction-pin-card h2,.transaction-pin-card p { margin:0; }
.transaction-pin-card > .muted { max-width:290px; line-height:1.5; }
.transaction-pin-shield { width:56px; height:56px; display:grid; place-items:center; margin-bottom:3px; border-radius:18px; color:var(--blue); background:rgba(6,59,122,.09); }
.transaction-pin-shield svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.transaction-pin-card form { position:relative; width:100%; display:grid; gap:13px; margin-top:5px; }
.transaction-pin-card input { width:100%; height:52px; border:1px solid var(--line); border-radius:13px; color:transparent; caret-color:transparent; text-align:center; background:var(--surface-solid); }
.transaction-pin-dots { position:absolute; top:21px; left:50%; display:flex; gap:15px; pointer-events:none; transform:translate(-50%,-50%); }
.transaction-pin-dots i { width:10px; height:10px; border:2px solid var(--muted); border-radius:50%; background:transparent; }
.transaction-pin-dots i.filled { border-color:var(--blue); background:var(--blue); }
.transaction-pin-card .compact-actions { justify-content:center; }
.transaction-pin-card .btn { width:auto; min-width:105px; min-height:40px; padding:9px 14px; }
@media(max-width:620px){.more-features-page{padding-left:16px;padding-right:16px}.feature-directory-card{padding:20px 16px;border-radius:21px}.feature-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.feature-directory-item{min-height:128px;padding:14px 7px}.feature-directory-icon{width:52px;height:52px}.feature-directory-item small{display:none}.feature-directory-item strong{font-size:.82rem}.feature-directory-empty{line-height:1.45}}

/* Compact mobile-first service directory. */
.more-features-page{padding-bottom:118px}
.more-features-page .feature-directory-card{gap:0;padding:14px;border-radius:21px;overflow:hidden}
.more-features-page .feature-directory-head{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:12px;border:1px solid rgba(6,59,122,.08);border-radius:16px;background:linear-gradient(135deg,#effff9 0%,#f3f7ff 100%)}
.feature-directory-head-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--blue);box-shadow:0 7px 18px rgba(6,59,122,.16)}
.feature-directory-head-icon svg{width:20px;height:20px}
.more-features-page .feature-directory-head h1{margin-top:1px;font-size:1.2rem;line-height:1.15}
.more-features-page .feature-directory-head p:last-child{margin-top:3px;font-size:.79rem;line-height:1.35}
.more-features-page .feature-directory-head .eyebrow{font-size:.7rem}
.more-features-page .feature-directory-section{gap:9px;padding-top:15px}
.more-features-page .feature-directory-section+.feature-directory-section{margin-top:15px;border-top:1px solid var(--line)}
.feature-directory-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.more-features-page .feature-directory-section-head h2{font-size:.98rem}
.feature-directory-section-head>span{padding:4px 8px;border-radius:999px;color:var(--muted);background:#f1f5f9;font-size:.68rem;font-weight:800}
.more-features-page .feature-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.more-features-page .feature-directory-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:92px;padding:9px 6px;border-color:#dbe6f1;border-radius:14px;background:#f8fbff;box-shadow:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.more-features-page .feature-directory-item:active{transform:scale(.98)}
.more-features-page .feature-directory-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px}
.more-features-page .feature-directory-icon svg{width:20px!important;height:20px!important}
.feature-directory-copy{display:grid;gap:3px;min-width:0;text-align:center}
.more-features-page .feature-directory-item strong{font-size:.74rem;line-height:1.2}
.more-features-page .feature-directory-item small{display:none;color:var(--muted);font-size:.7rem;line-height:1.35}
.feature-directory-arrow{display:none;width:18px;height:18px;flex:0 0 18px;color:#8291a5}
.more-features-page .feature-directory-section.is-single .feature-directory-item{grid-column:1/-1;min-height:64px;flex-direction:row;justify-content:flex-start;padding:9px 11px;text-align:left}
.more-features-page .feature-directory-section.is-single .feature-directory-copy{text-align:left}
.more-features-page .feature-directory-section.is-single .feature-directory-item strong{font-size:.81rem}
.more-features-page .feature-directory-section.is-single .feature-directory-item small{display:block}
.more-features-page .feature-directory-section.is-single .feature-directory-arrow{display:block;margin-left:auto}
@media(min-width:560px){.more-features-page .feature-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.more-features-page .feature-directory-item small{display:block}.more-features-page .feature-directory-item{min-height:112px}}
@media(max-width:359px){.more-features-page{padding-left:10px;padding-right:10px}.more-features-page .feature-directory-card{padding:14px}.more-features-page .feature-directory-head{padding:13px}.more-features-page .feature-directory-item{min-height:110px}}
.task-earn-banner { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 14px; margin: 16px auto; padding: 16px 18px; border: 1px solid rgba(7,86,163,.16); border-radius: 18px; color: var(--ink); background: linear-gradient(135deg,#f5faff,#eef9f5); box-shadow: 0 10px 28px rgba(6,59,122,.06); }
.task-earn-banner > span:nth-child(2) { display: grid; gap: 3px; }
.task-earn-banner small { color: var(--muted); line-height: 1.4; }
.task-earn-banner > b { color: var(--blue); font-size: .84rem; white-space: nowrap; }
.task-earn-page { max-width: 980px; margin: auto; }
.task-flow-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin: 16px 0 24px; }
.task-flow-strip span { display: flex; align-items: center; gap: 8px; padding: 11px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); font-size: .82rem; font-weight: 700; }
.task-flow-strip b { width: 25px; height: 25px; flex: 0 0 25px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); font-size: .72rem; }
.earning-task-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(270px,1fr)); gap: 14px; }
.earning-task-card { display: grid; align-content: start; gap: 13px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: 0 10px 28px rgba(6,59,122,.055); }
.earning-task-card h2,.earning-task-card p { margin: 0; }
.earning-task-card h2 { margin-bottom: 5px; font-size: 1.08rem; }
.earning-task-card p { color: var(--muted); line-height: 1.55; }
.earning-task-head,.task-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.earning-task-card details { padding: 10px 12px; border-radius: 12px; background: #f5f8fc; }
.earning-task-card summary { cursor: pointer; color: var(--blue); font-weight: 700; }
.earning-task-card details p { padding-top: 9px; font-size: .86rem; }
.task-meta { color: var(--muted); font-size: .75rem; }
.earning-task-card form > .btn { width: auto; min-height: 40px; padding: 9px 14px; }
.task-proof-form { display: grid; gap: 10px; }
.task-proof-form label { display: grid; gap: 6px; font-size: .88rem; font-weight: 700; }
.task-proof-form textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--ink); font: inherit; font-size: .95rem; resize: vertical; }
.admin-task-review-form { display: grid; gap: 9px; min-width: min(100%,280px); }
.admin-task-review-form input { min-height: 40px; }
.admin-task-review-form .btn { width: auto; min-height: 37px; padding: 7px 11px; }
.badge-claimed { color: var(--blue); background: rgba(7,86,163,.1); }
.badge-submitted { color: var(--warning); background: rgba(201,131,0,.12); }
.badge-approved { color: var(--success); background: rgba(15,159,110,.1); }

@media (max-width: 600px) {
    .task-earn-banner { grid-template-columns: auto minmax(0,1fr); padding: 14px; }
    .task-earn-banner > b { grid-column: 2; }
    .task-flow-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .earning-task-grid { grid-template-columns: 1fr; }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
    color: var(--ink);
    background: var(--bg);
    transition: background 180ms ease, color 180ms ease;
}

.page-shell {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.page-ready body {
    animation: pageIn 220ms ease both;
}

.page-leaving body {
    opacity: 0.82;
    transition: opacity 140ms ease;
}

@keyframes pageIn {
    from {
        opacity: 0.92;
    }

    to {
        opacity: 1;
    }
}

a {
    color: var(--blue);
    text-decoration: none;
    font-weight: 700;
}

.preloader {
    position: fixed;
    inset: 0;
    z-index: 20;
    display: grid;
    place-items: center;
    background: var(--blue-dark);
    transition: opacity 240ms ease, visibility 240ms ease;
}

.preloader.is-hidden {
    opacity: 0;
    visibility: hidden;
}

.loader-ring {
    width: 64px;
    height: 64px;
    border: 5px solid rgba(255, 255, 255, 0.22);
    border-top-color: var(--green);
    border-radius: 999px;
    animation: spin 780ms linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.splash-page,
.auth-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        radial-gradient(circle at top left, rgba(22, 199, 132, 0.24), transparent 28rem),
        linear-gradient(135deg, var(--blue-dark), var(--blue));
}

.splash-card,
.auth-panel {
    width: min(100%, 460px);
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 8px;
    padding: 34px;
    box-shadow: 0 24px 70px rgba(0, 23, 61, 0.24);
}

.splash-card {
    text-align: center;
}

.brand-mark {
    width: 72px;
    height: 72px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: var(--green);
    color: var(--white);
    font-size: 2rem;
    font-weight: 900;
    box-shadow: 0 12px 32px rgba(22, 199, 132, 0.34);
}

.brand-mark.small {
    width: 38px;
    height: 38px;
    font-size: 1.1rem;
}

.brand-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ink);
    font-size: 1.05rem;
    margin-bottom: 22px;
}

.eyebrow {
    margin: 22px 0 8px;
    color: var(--green);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

h1 {
    margin: 0 0 10px;
    font-size: clamp(1.65rem, 4vw, 2.55rem);
    line-height: 1.05;
}

.auth-panel h1 {
    font-size: 1.75rem;
}

/* Compact, mobile-first sign-in surface. */
.auth-page{padding:20px 14px}.auth-panel{width:min(100%,430px);padding:28px;border-radius:22px}.auth-panel .brand-link{margin-bottom:18px}.auth-heading{margin-bottom:22px}.auth-heading .eyebrow{margin:0 0 7px}.auth-heading h1{margin-bottom:7px}.auth-heading>p:last-child{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.auth-panel .form{gap:15px}.auth-panel .form label>span:first-child{font-size:.82rem}.auth-panel .form input{min-height:54px}.auth-panel .btn-wide{min-height:52px}.auth-panel .switch-text{margin:0;text-align:center;font-size:.83rem}.auth-biometric-return{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin:0;padding:9px}.auth-biometric-return svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}.auth-more-options{margin-top:0}.returning-passkey-card{margin-top:0}.auth-panel:has([data-returning-passkey]:not([hidden])) .auth-heading{display:none}@media(max-width:480px){.auth-page{align-items:start;padding:14px 10px}.auth-panel{padding:23px 18px;border-radius:18px}.auth-panel .brand-link{margin-bottom:15px}.auth-heading{margin-bottom:18px}}

.lead,
.muted,
.switch-text {
    color: var(--muted);
    line-height: 1.6;
}

.splash-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 28px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
}

.btn-primary {
    background: var(--green);
    color: var(--white);
}

.btn-ghost {
    background: rgba(6, 59, 122, 0.08);
    color: var(--blue);
}

.btn-wide {
    width: 100%;
}

.btn.is-loading,
.btn:disabled {
    opacity: 0.72;
    cursor: wait;
}

.btn.is-loading::after {
    content: "";
    width: 14px;
    height: 14px;
    margin-left: 8px;
    display: inline-block;
    vertical-align: -2px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spin 700ms linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.form {
    display: grid;
    gap: 16px;
    margin-top: 22px;
}

.form label {
    display: grid;
    gap: 8px;
    color: var(--ink);
    font-weight: 800;
}

.form small {
    color: var(--muted);
    font-weight: 700;
}

input {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    color: var(--ink);
    font: inherit;
}

input:focus {
    outline: 3px solid rgba(22, 199, 132, 0.22);
    border-color: var(--green);
}

.password-field {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    overflow: hidden;
}

.password-field:focus-within {
    outline: 3px solid rgba(22, 199, 132, 0.22);
    border-color: var(--green);
}

.password-field input {
    border: 0;
    border-radius: 0;
}

.password-field input:focus {
    outline: 0;
}

.password-field button {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    align-self: center;
    margin-right: 8px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(6, 59, 122, 0.08);
    color: var(--blue);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.password-field button svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.password-field button.is-visible {
    background: var(--blue);
    color: #ffffff;
}

.check-row {
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 10px;
}

.check-row input {
    width: 18px;
    min-height: 18px;
}

.alert {
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 8px;
    font-weight: 700;
}

.alert-error {
    background: rgba(217, 68, 68, 0.1);
    color: var(--danger);
}

.alert-success {
    background: rgba(15, 159, 110, 0.12);
    color: var(--success);
}

.alert-warning {
    background: rgba(201, 131, 0, 0.12);
    color: var(--warning);
}

.toast-container {
    position: fixed;
    top: max(18px, env(safe-area-inset-top));
    left: 50%;
    z-index: 3000;
    width: min(calc(100% - 28px), 480px);
    display: grid;
    gap: 10px;
    transform: translateX(-50%);
    pointer-events: none;
}

.toast {
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--surface-solid);
    color: var(--ink);
    box-shadow: 0 18px 46px rgba(6, 59, 122, 0.18);
    font-weight: 800;
    animation: toastIn 260ms ease both;
    pointer-events: auto;
}

.toast-success {
    border-color: rgba(15, 159, 110, 0.25);
    color: var(--success);
}

.toast-error {
    border-color: rgba(217, 68, 68, 0.25);
    color: var(--danger);
}

.toast-warning {
    border-color: rgba(201, 131, 0, 0.25);
    color: var(--warning);
}

.toast.is-leaving {
    animation: toastOut 240ms ease both;
}

@keyframes toastIn {
    from {
        opacity: 0;
        transform: translateY(-14px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes toastOut {
    to {
        opacity: 0;
        transform: translateY(-10px) scale(0.98);
    }
}

.message-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 3200;
    display: grid;
    place-items: center;
    padding: 22px;
    background: rgba(3, 12, 24, 0.48);
    backdrop-filter: blur(10px);
    animation: fadeIn 180ms ease both;
}

.message-modal-backdrop.is-leaving {
    animation: fadeOut 180ms ease both;
}

.message-modal {
    width: min(100%, 440px);
    display: grid;
    gap: 14px;
    padding: 24px;
    border-radius: 22px;
    background: var(--surface-solid);
    color: var(--ink);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.26);
    animation: modalIn 220ms ease both;
}

.message-modal-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: var(--blue);
    color: #ffffff;
    font-weight: 900;
}

.message-modal h2,
.message-modal p {
    margin: 0;
}

.message-modal p {
    color: var(--muted);
    line-height: 1.6;
}

@keyframes modalIn {
    from {
        opacity: 0;
        transform: translateY(16px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fadeOut {
    to { opacity: 0; }
}

.dashboard-page {
    min-height: 100vh;
    padding: 24px 24px 104px;
    background:
        radial-gradient(circle at top left, rgba(22, 199, 132, 0.13), transparent 22rem),
        var(--bg);
}

.topbar {
    max-width: 980px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    position: sticky;
    top: 0;
    z-index: 950;
    padding: 10px 0;
    background:
        linear-gradient(90deg, rgba(244, 248, 252, 0.96), rgba(244, 248, 252, 0.82));
    backdrop-filter: blur(16px);
}

:root[data-theme="dark"] .topbar {
    background:
        linear-gradient(90deg, rgba(7, 17, 31, 0.96), rgba(7, 17, 31, 0.82));
}

.nav-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.header-back-btn {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    color: var(--blue);
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(6, 59, 122, 0.08);
}

.header-back-btn svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dashboard-hero,
.account-grid,
.wallet-balance-card,
.quick-actions,
.transaction-panel {
    max-width: 980px;
    margin: 0 auto;
}

.dashboard-hero {
    padding: 36px;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(6, 59, 122, 0.95), rgba(4, 42, 89, 0.95)),
        var(--blue-dark);
    color: var(--white);
    box-shadow: var(--shadow);
}

:root[data-theme="dark"] .dashboard-hero {
    color: var(--ink);
}

.dashboard-hero .lead {
    color: rgba(255, 255, 255, 0.78);
}

.dashboard-hero.compact h1 {
    font-size: 1.75rem;
}

.wallet-balance-card {
    margin-top: 16px;
    padding: 24px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: var(--white);
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}

.wallet-balance-card span,
.action-card strong {
    display: block;
    color: var(--muted);
    margin-bottom: 8px;
}

.wallet-balance-card strong {
    font-size: 2rem;
}

.quick-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 16px;
}

.action-card {
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}

.account-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 16px;
}

.dashboard-cards {
    grid-template-columns: repeat(4, 1fr);
}

.profile-grid {
    grid-template-columns: repeat(3, 1fr);
}

.info-card {
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}

.info-card span {
    display: block;
    color: var(--muted);
    margin-bottom: 8px;
}

.info-card strong {
    font-size: 1.25rem;
}

.info-card.highlight {
    border-color: rgba(22, 199, 132, 0.42);
    box-shadow: 0 14px 36px rgba(22, 199, 132, 0.12);
}

.transaction-panel {
    margin-top: 16px;
    padding: 22px;
    border-radius: 8px;
    border: 1px solid var(--line);
    background: var(--white);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}

.section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.section-head h2 {
    margin: 0;
}

.transaction-list {
    display: grid;
    gap: 10px;
}

.transaction-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    backdrop-filter: blur(16px);
    color: var(--ink);
}

.transaction-item form[data-savings-close-form],
.transaction-item form[data-savings-move-form] {
    justify-self: end;
}

.form label.checkbox-line,
.checkbox-line {
    display: flex;
    grid-template-columns: none;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(6, 59, 122, 0.05);
    font-weight: 800;
}

.checkbox-line input {
    width: 18px;
    min-height: 18px;
    height: 18px;
    padding: 0;
    accent-color: var(--blue);
}

.purchase-goods-option {
    grid-column: 1 / -1;
    width: fit-content;
    min-height: 42px;
    padding: 9px 12px;
    background: transparent;
    font-size: 0.94rem;
}

.purchase-goods-option input {
    flex: 0 0 auto;
}

.purchase-rule-box[hidden] {
    display: none;
}

.clickable-row {
    transition: transform 160ms ease, border-color 160ms ease;
}

.clickable-row:active {
    transform: scale(0.99);
}

.receipt-card {
    max-width: 640px;
    margin: 16px auto 0;
    display: grid;
    gap: 18px;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.receipt-status {
    display: grid;
    place-items: center;
    gap: 8px;
    padding: 28px 18px;
    border-radius: 22px;
    background: rgba(6, 59, 122, 0.08);
    text-align: center;
}

.receipt-status span {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--blue);
    color: #ffffff;
    font-size: 2rem;
    font-weight: 900;
}

.receipt-status.credit span,
.receipt-status.successful span {
    background: var(--success);
}

.receipt-status.debit {
    background: rgba(217, 68, 68, 0.08);
}

.receipt-status.debit span {
    background: var(--danger);
}

.receipt-status.debit strong {
    color: var(--danger);
}

.receipt-status strong {
    font-size: clamp(1.8rem, 7vw, 2.6rem);
    overflow-wrap: anywhere;
}

.receipt-status small {
    color: var(--muted);
    font-weight: 800;
}

.receipt-details {
    display: grid;
    gap: 12px;
}

.receipt-details div {
    display: grid;
    gap: 4px;
    padding: 14px;
    border-radius: 14px;
    background: rgba(6, 59, 122, 0.05);
}

.receipt-details span {
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 800;
}

.receipt-details strong {
    overflow-wrap: anywhere;
}

.transaction-main {
    display: grid;
    gap: 4px;
}

.transaction-meta,
.empty-state {
    color: var(--muted);
    font-size: 0.92rem;
}

.transaction-amount {
    text-align: right;
    font-weight: 900;
}

.badge {
    display: inline-flex;
    width: fit-content;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 900;
}

.badge-credit,
.badge-successful {
    background: rgba(15, 159, 110, 0.12);
    color: var(--success);
}

.badge-debit,
.badge-failed {
    background: rgba(217, 68, 68, 0.1);
    color: var(--danger);
}

.badge-pending {
    background: rgba(201, 131, 0, 0.12);
    color: var(--warning);
}

@media (max-width: 720px) {
    .dashboard-page {
        padding: 16px 14px 104px;
    }

    .mobile-home {
        padding-top: 22px;
    }

    .home-header {
        margin-bottom: 20px;
    }

    .premium-balance-card {
        padding: 20px;
        border-radius: 24px;
    }

    .balance-card-main,
    .balance-topup-form {
        align-items: flex-start;
        flex-direction: column;
    }

    .balance-topup-form input,
    .balance-topup-form .btn {
        width: 100%;
        max-width: none;
    }

    .recent-row {
        grid-template-columns: auto 1fr;
    }

    .recent-amount {
        grid-column: 2;
        text-align: left;
    }

    .profile-notice,
    .savings-challenge {
        grid-template-columns: 1fr;
    }

    .service-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 18px 8px;
        padding: 16px 10px;
    }

    .service-grid span,
    .action-strip span {
        width: 58px;
        height: 58px;
    }

    .service-grid strong,
    .action-strip strong {
        font-size: 0.9rem;
    }

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

    .account-grid.profile-grid,
    .account-grid.dashboard-cards {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(220px, 78%);
        grid-template-columns: none;
        gap: 12px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
        padding-bottom: 8px;
        scrollbar-width: none;
    }

    .account-grid.profile-grid::-webkit-scrollbar,
    .account-grid.dashboard-cards::-webkit-scrollbar {
        display: none;
    }

    .account-grid.profile-grid .info-card,
    .account-grid.dashboard-cards .info-card {
        scroll-snap-align: start;
        min-height: 128px;
    }

    .dashboard-hero {
        padding: 24px;
    }

    h1 {
        font-size: 1.6rem;
    }

    .splash-card,
    .auth-panel {
        padding: 24px;
    }

    .splash-actions,
    .account-grid,
    .quick-actions,
    .dashboard-cards,
    .profile-grid {
        grid-template-columns: 1fr;
    }

    .topbar,
    .wallet-balance-card,
    .section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .transaction-item {
        grid-template-columns: 1fr;
    }

    .transaction-item form[data-savings-close-form],
    .transaction-item form[data-savings-move-form] {
        justify-self: stretch;
    }

    .transaction-item form[data-savings-close-form] .btn,
    .transaction-item form[data-savings-move-form] .btn {
        width: 100%;
    }

    .notification-item,
    .install-toast {
        grid-template-columns: 1fr;
        align-items: flex-start;
        flex-direction: column;
        right: 12px;
        bottom: calc(96px + env(safe-area-inset-bottom));
        width: min(calc(100% - 24px), 420px);
    }

    .transaction-amount {
        text-align: left;
    }
}

@media (min-width: 721px) {
    .mobile-footer-menu {
        bottom: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Professional blue wallet dashboard overrides */
.mobile-home {
    width: min(100%, 760px);
}

.premium-balance-card {
    gap: 14px;
    padding: 20px;
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.2), transparent 15rem),
        linear-gradient(135deg, var(--blue), var(--blue-dark));
    color: #ffffff;
    box-shadow: 0 18px 44px rgba(6, 59, 122, 0.2);
}

.compact-wallet-card {
    min-height: auto;
}

.balance-card-top span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.95rem;
}

.balance-card-top svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.balance-eye {
    width: 42px;
    height: 36px;
    min-height: 36px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
}

.eye-icon {
    position: relative;
    width: 23px;
    height: 15px;
    display: block;
    border: 2px solid #ffffff;
    border-radius: 999px / 70%;
}

.eye-icon::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ffffff;
    transform: translate(-50%, -50%);
}

.eye-icon::after {
    content: "";
    position: absolute;
    left: -4px;
    top: 6px;
    width: 31px;
    height: 2px;
    border-radius: 999px;
    background: #ffffff;
    transform: rotate(-35deg);
    opacity: 1;
}

.balance-eye.is-visible .eye-icon::after {
    opacity: 0;
}

.balance-card-main {
    align-items: flex-end;
}

.balance-card-main strong {
    font-size: clamp(1.9rem, 7vw, 2.55rem);
    line-height: 1;
}

.balance-card-main a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.92rem;
}

.balance-card-main a::after {
    content: none;
}

.chevron-icon {
    width: 9px;
    height: 9px;
    display: inline-block;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}

.inline-arrow-icon {
    width: 24px;
    height: 12px;
    display: inline-block;
    position: relative;
    margin: 0 6px;
    vertical-align: -1px;
}

.inline-arrow-icon::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.inline-arrow-icon::after {
    content: "";
    position: absolute;
    right: 0;
    top: 2px;
    width: 8px;
    height: 8px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}

.balance-add-money {
    width: fit-content;
    justify-self: end;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 26px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--blue-dark);
    font-weight: 900;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.12);
}

.home-card {
    border-color: rgba(6, 59, 122, 0.08);
    border-radius: 20px;
}

.action-strip span,
.service-grid span,
.notice-icon {
    color: var(--blue);
    background: rgba(6, 59, 122, 0.08);
}

.action-strip svg,
.service-grid svg,
.notice-icon svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.service-grid svg {
    width: 30px;
    height: 30px;
}

.recent-icon.credit {
    background: rgba(6, 59, 122, 0.08);
    color: var(--blue);
}

.savings-challenge {
    background:
        radial-gradient(circle at right, rgba(6, 59, 122, 0.12), transparent 18rem),
        linear-gradient(135deg, rgba(6, 59, 122, 0.08), rgba(255, 255, 255, 0.7));
}

.mobile-footer-menu {
    position: fixed !important;
    left: 50%;
    right: auto;
    bottom: max(10px, env(safe-area-inset-bottom));
    z-index: 999;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.94);
    will-change: auto;
}

:root[data-theme="dark"] .mobile-footer-menu {
    background: rgba(13, 23, 38, 0.94);
}

.mobile-footer-menu a.active {
    background: linear-gradient(135deg, var(--blue), var(--blue-dark));
    box-shadow: 0 12px 28px rgba(6, 59, 122, 0.26);
}

.theme-toggle {
    bottom: 92px;
}

@media (max-width: 720px) {
    .premium-balance-card {
        padding: 18px;
    }

    .balance-card-main {
        flex-direction: row;
        align-items: flex-end;
    }

    .balance-card-main a {
        text-align: right;
    }

    .balance-add-money {
        justify-self: end;
        min-height: 42px;
        padding: 0 22px;
    }
}

/* Overflow protection for long balances and large transaction amounts */
.premium-balance-card,
.home-card,
.recent-row,
.balance-card-main {
    max-width: 100%;
    min-width: 0;
}

.balance-card-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
}

.balance-card-main strong {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.balance-card-main a {
    min-width: 0;
    white-space: nowrap;
}

.recent-row {
    grid-template-columns: auto minmax(0, 1fr) minmax(0, auto);
    min-width: 0;
}

.recent-row > div,
.recent-row strong,
.recent-row span,
.recent-amount {
    min-width: 0;
    max-width: 100%;
}

.recent-row strong,
.recent-row span,
.recent-amount strong {
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 720px) {
    .balance-card-main {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .balance-card-main a {
        justify-self: start;
        white-space: normal;
        text-align: left;
    }
}

@media (max-width: 420px) {
    .balance-card-main strong {
        font-size: clamp(1.35rem, 9vw, 2rem);
    }

    .recent-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .recent-amount {
        grid-column: 2;
        text-align: left;
    }
}

/* Mature reference-style transaction rows */
.recent-card {
    padding: 18px 20px;
}

.recent-row {
    grid-template-columns: 58px minmax(0, 1fr) minmax(112px, auto);
    gap: 16px;
    align-items: center;
    padding: 8px 0;
    color: var(--ink);
}

.recent-row + .recent-row {
    border-top: 1px solid rgba(6, 59, 122, 0.06);
    padding-top: 18px;
}

.recent-icon {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    align-self: center;
}

.recent-icon svg {
    width: 25px;
    height: 25px;
    stroke-width: 3.2;
}

.recent-icon.credit {
    background: rgba(6, 59, 122, 0.08);
    color: var(--blue);
}

.recent-icon.debit {
    background: rgba(217, 68, 68, 0.1);
    color: var(--danger);
}

.recent-row strong {
    font-size: 1rem;
    line-height: 1.25;
}

.recent-row > div:not(.recent-amount) span {
    margin-top: 6px;
    font-size: 0.9rem;
}

.recent-amount {
    text-align: right;
}

.recent-amount strong {
    font-size: 1rem;
    line-height: 1.25;
}

.recent-amount span {
    width: fit-content;
    margin-top: 6px;
    margin-left: auto;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(15, 159, 110, 0.12);
    color: var(--success);
    font-size: 0.82rem;
    font-weight: 800;
}

@media (max-width: 520px) {
    .recent-card {
        padding: 16px;
    }

    .recent-row {
        grid-template-columns: 52px minmax(0, 1fr) minmax(94px, auto);
        gap: 12px;
    }

    .recent-icon {
        width: 48px;
        height: 48px;
    }

    .recent-icon svg {
        width: 23px;
        height: 23px;
    }

    .recent-row strong,
    .recent-amount strong {
        font-size: 0.94rem;
    }

    .recent-row > div:not(.recent-amount) span,
    .recent-amount span {
        font-size: 0.82rem;
    }
}

.broadcast-user-picker{display:grid;gap:9px}.broadcast-user-results{display:grid;gap:7px;max-height:290px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#f7fafc;overflow:auto}.broadcast-user-results>.muted{padding:10px;font-size:.82rem}.broadcast-user-option{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px;padding:10px!important;border:1px solid #dce7ef;border-radius:12px;background:#fff;cursor:pointer}.broadcast-user-option input{width:18px!important;height:18px!important;min-height:0!important;flex:0 0 18px;margin:0;padding:0}.broadcast-user-option>span{min-width:0}.broadcast-user-option strong,.broadcast-user-option small{display:block}.broadcast-user-option strong{font-size:.88rem}.broadcast-user-option small{margin-top:3px;color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.broadcast-selected-users{display:flex;flex-wrap:wrap;gap:7px}.broadcast-selected-users button{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:9px;min-width:150px;max-width:240px;padding:8px 10px;border:1px solid #bfe5d7;border-radius:12px;background:#edfaf5;color:#144f3d;text-align:left}.broadcast-selected-users button span,.broadcast-selected-users button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.broadcast-selected-users button span{font-size:.8rem;font-weight:850}.broadcast-selected-users button small{font-size:.68rem;color:#588173}.broadcast-selected-users button b{grid-column:2;grid-row:1/3;align-self:center;font-size:18px}@media(max-width:520px){.broadcast-user-results{max-height:250px}.broadcast-selected-users button{max-width:100%;width:100%}}

/* Savings and stocks: compact, page-specific responsive layout. */
.savings-page,.stock-page{min-width:0;padding-bottom:118px}.savings-page .profile-grid,.stock-page .profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.savings-page .profile-grid .info-card,.stock-page .profile-grid .info-card{min-width:0;min-height:96px;padding:15px;border-radius:17px}.savings-page .profile-grid strong,.stock-page .profile-grid strong{font-size:clamp(.82rem,2.3vw,1.05rem);line-height:1.25;white-space:normal}.savings-create-panel{padding:19px;border-radius:20px}.savings-create-panel .section-head{margin-bottom:12px}.savings-create-panel h2{margin:3px 0 0;font-size:1.25rem}.savings-create-form{gap:12px}.savings-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;grid-column:1/-1}.savings-preview>span{display:grid;gap:4px;min-width:0;padding:11px 12px;border-radius:13px;background:#f1f6fa}.savings-preview small{color:var(--muted);font-size:.7rem}.savings-preview strong{font-size:.86rem;line-height:1.25;overflow-wrap:anywhere}.savings-page .transaction-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px}.savings-page .transaction-item form{grid-column:1/-1}.savings-page .transaction-item form .btn{width:auto;min-height:36px;padding:8px 12px;font-size:.78rem}.stock-page .plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stock-page .stock-card{display:grid;align-content:start;gap:13px;min-width:0;padding:17px;border-radius:19px}.stock-page .stock-card h2{margin:8px 0 4px;font-size:1.15rem}.stock-page .stock-card p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.4}.stock-page .stock-card .plan-meta{padding:11px 12px;border-radius:13px;background:#f2f7fb}.stock-page .stock-card .plan-meta strong{font-size:1rem}.stock-page .stock-card form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.stock-page .stock-card form input{min-width:0}.stock-page .stock-card form .btn{width:auto;min-height:42px;padding:9px 14px}.stock-page .transaction-panel{padding:17px;border-radius:20px}.stock-page .transaction-panel .section-head{margin-bottom:10px}.stock-page .transaction-panel h2{font-size:1.15rem}.stock-page .transaction-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px}.stock-page .admin-action-block{display:grid;grid-template-columns:minmax(72px,110px) auto;gap:7px;align-items:center}.stock-page .admin-action-block input{min-width:0;padding:9px}.stock-page .admin-action-block .btn{min-height:38px;padding:8px 12px}.stock-page .transaction-meta{line-height:1.4}
@media(max-width:600px){.savings-page .dashboard-hero,.stock-page .dashboard-hero{padding:20px 17px;border-radius:19px}.savings-page .dashboard-hero h1,.stock-page .dashboard-hero h1{font-size:1.55rem;line-height:1.18}.savings-page .dashboard-hero .lead,.stock-page .dashboard-hero .lead{font-size:.82rem;line-height:1.5}.savings-page .profile-grid,.stock-page .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.savings-page .profile-grid .info-card:first-child,.stock-page .profile-grid .info-card:first-child{grid-column:1/-1;min-height:82px}.savings-page .profile-grid .info-card,.stock-page .profile-grid .info-card{min-height:91px;padding:12px}.savings-page .profile-grid strong,.stock-page .profile-grid strong{font-size:.82rem}.savings-create-panel{padding:14px}.savings-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.savings-preview>span:last-child{grid-column:1/-1}.savings-page .transaction-item{grid-template-columns:1fr}.savings-page .transaction-amount{text-align:left}.savings-page .transaction-item form{grid-column:1}.savings-page .transaction-item form .btn{width:100%}.stock-page .plan-grid{grid-template-columns:1fr}.stock-page .stock-card{padding:14px}.stock-page .transaction-panel{padding:13px}.stock-page .transaction-item{grid-template-columns:1fr}.stock-page .transaction-amount{text-align:left}.stock-page .admin-action-block{grid-template-columns:minmax(0,1fr) auto;width:100%}}@media(max-width:380px){.stock-page .stock-card form{grid-template-columns:1fr}.stock-page .stock-card form .btn{width:100%}}

/* Mobile density and account-page refinements */
.transfer-page .flow-panel { max-width: 760px; }
.transfer-page .flow-steps { display: flex; overflow-x: auto; gap: 6px; margin-bottom: 14px; padding-bottom: 3px; scrollbar-width: none; }
.transfer-page .flow-steps::-webkit-scrollbar { display: none; }
.transfer-page .flow-steps li { flex: 0 0 auto; padding: 7px 10px; font-size: .74rem; white-space: nowrap; }

.transactions-page .transaction-panel { padding: 18px; }
.transactions-page .transaction-filter-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.transactions-page .transaction-filter-form select,
.transactions-page .transaction-filter-form input,
.transactions-page .transaction-filter-form .btn { width: 100%; min-width: 0; min-height: 42px; padding: 8px 12px; }
.transactions-page .transaction-filter-form .btn { justify-self: stretch; }

.notification-page .pwa-actions.notification-tools { min-height: 0 !important; height: auto !important; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; }
.notification-page .notification-filters { display: flex; flex-direction: row; align-items: center; overflow-x: auto; }
.notification-page .notification-filters .btn { width: auto; flex: 0 0 auto; }
.notification-page .notification-list,
.notification-page .notification-item { width: 100%; max-width: none; }
.notification-page .notification-item { justify-self: stretch; }

.referral-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.referral-summary-grid .info-card { min-height: 105px; padding: 16px; }
.referral-share-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 18px; }
.referral-share-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.referral-share-actions .btn { width: auto; min-height: 38px; padding: 8px 13px; }

.merchant-page, .kyc-page, .referral-page { max-width: 900px; margin: auto; }
.merchant-form-panel, .kyc-form-panel { max-width: 760px; padding: 22px; }
.merchant-form-panel .split-form, .kyc-form-panel .split-form { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.kyc-page { display:grid; align-content:start; gap:16px; }
.kyc-page > * { width:100%; }
.kyc-page .topbar { margin-bottom:0; }
.kyc-hero { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 28px; }
.kyc-hero-copy { min-width:0; }
.kyc-hero-copy h1 { margin:5px 0 8px; }
.kyc-hero-copy p { margin-top:0; margin-bottom:0; }
.kyc-hero-icon { width:68px; height:68px; flex:0 0 68px; display:grid; place-items:center; border-radius:22px; color:#fff; background:rgba(255,255,255,.13); }
.kyc-hero-icon svg { width:36px; height:36px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.kyc-status-card { max-width:760px; margin:0 auto; display:flex; align-items:center; gap:14px; padding:16px 18px; border:1px solid var(--line); border-radius:18px; background:var(--white); box-shadow:0 8px 24px rgba(6,59,122,.055); }
.kyc-status-icon { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; border-radius:14px; color:var(--blue); background:rgba(6,59,122,.09); }
.kyc-status-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.kyc-status-card > div { display:grid; gap:2px; min-width:0; }
.kyc-status-card small,.kyc-status-card p { color:var(--muted); }
.kyc-status-card strong { font-size:1.05rem; }
.kyc-status-card p { margin:2px 0 0; font-size:.84rem; line-height:1.45; }
.kyc-status-card.status-verified .kyc-status-icon { color:#087d55; background:rgba(22,199,132,.13); }
.kyc-status-card.status-pending .kyc-status-icon { color:#996500; background:rgba(244,174,33,.14); }
.kyc-summary-grid { max-width:760px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:0; }
.kyc-summary-grid .info-card { min-height:92px; padding:15px; display:flex; align-items:center; gap:12px; }
.kyc-summary-grid .info-card > div { min-width:0; }
.kyc-summary-grid .info-card strong { display:block; margin-top:4px; font-size:1.05rem; white-space:nowrap; }
.kyc-limit-icon { width:42px; height:42px; flex:0 0 42px; display:grid!important; place-items:center; margin:0!important; border-radius:13px; color:var(--blue)!important; background:rgba(6,59,122,.08); }
.kyc-limit-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.kyc-page .transaction-panel { max-width: 760px; padding: 18px; }
.kyc-submission-card .section-head { align-items:flex-end; }
.kyc-submission-card .section-head h2,.kyc-submission-card .section-head p { margin:0; }
.kyc-submission-details { margin-top:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.kyc-form-head { align-items:flex-start; margin-bottom:14px; }
.kyc-form-head h2,.kyc-form-head p { margin:0; }
.kyc-form-head h2 { margin:3px 0 4px; }
.kyc-form-head div > span { color:var(--muted); font-size:.84rem; }
.kyc-step-pill { flex:0 0 auto; padding:7px 10px; border-radius:999px; color:var(--blue); background:rgba(6,59,122,.08); font-size:.76rem; font-weight:800; }
.kyc-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-bottom:16px; }
.kyc-steps span { display:flex; align-items:center; gap:7px; padding:8px 9px; border-radius:10px; color:var(--muted); background:rgba(6,59,122,.05); font-size:.78rem; font-weight:750; }
.kyc-steps b { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; color:var(--blue); background:var(--white); }
.kyc-steps .active { color:var(--blue); background:rgba(6,59,122,.1); }
.kyc-upload-field { gap:7px!important; }
.kyc-upload-box { position:relative; display:grid; justify-items:center; gap:5px; padding:18px 14px; border:1.5px dashed rgba(6,59,122,.28); border-radius:15px; color:var(--ink); text-align:center; background:rgba(6,59,122,.035); cursor:pointer; }
.kyc-upload-box svg { width:27px; height:27px; fill:none; stroke:var(--blue); stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.kyc-upload-box strong { font-size:.88rem; }
.kyc-upload-box small { color:var(--muted); font-size:.75rem; font-weight:600; }
.kyc-upload-box input { width:min(100%,290px); min-height:auto; margin-top:5px; padding:7px; border-radius:9px; background:var(--white); font-size:.76rem; }
.kyc-privacy-note { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:.78rem; line-height:1.4; }
.kyc-privacy-note svg { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:var(--green); stroke-width:1.9; }
.kyc-provider-result { display:grid; gap:2px; width:max-content; max-width:100%; padding:8px 10px; border-radius:10px; color:var(--blue); background:rgba(6,59,122,.07); }
.kyc-provider-result small,.kyc-submission-details small { color:var(--muted); font-size:.75rem; line-height:1.4; }
.kyc-form-panel .compact-actions { justify-content:flex-start; }
.kyc-form-panel .compact-actions .btn { width:auto; min-height:42px; padding:10px 16px; }

body:has([data-admin-limit-settings-form]) [data-admin-limit-settings-form] { grid-template-columns: repeat(2,minmax(0,1fr)); }
body:has([data-admin-limit-settings-form]) [data-admin-limit-settings-form] .compact-actions,
body:has([data-admin-dashboard-content-form]) [data-admin-dashboard-content-form] .compact-actions { grid-column: 1 / -1; }

@media (max-width: 600px) {
    .transfer-page .flow-panel { padding: 14px; }
    .transfer-page .split-form { grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
    .transfer-page .split-form label { grid-column: 1 / -1; }
    .transfer-page [data-verify-recipient] { width: auto; justify-self: start; }
    .transactions-page .transaction-panel { padding: 14px; }
    .transactions-page .section-head { align-items: center; }
    .transactions-page .section-head .btn { width: auto; min-height: 36px; padding: 7px 11px; }
    .transactions-page .transaction-filter-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); flex-direction: unset; align-items: end; }
    .transactions-page .transaction-filter-form select:first-child { grid-column: 1 / -1; }
    .notification-page .pwa-actions.notification-tools { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 14px; }
    .notification-page .notification-tools .btn { width: 100%; }
    .notification-page .notification-tools [data-push-status] { grid-column: 1 / -1; text-align: left; }
    .notification-page .notification-filters { flex-direction: row; align-items: center; }
    .notification-page .notification-filters .btn { width: auto; min-width: 82px; }
    .referral-summary-grid, .kyc-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .referral-summary-grid .info-card:last-child { grid-column: 1 / -1; }
    .referral-share-card { grid-template-columns: 1fr; }
    .merchant-form-panel .split-form, .kyc-form-panel .split-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .merchant-form-panel .btn-wide, .kyc-form-panel .btn-wide, .merchant-form-panel .compact-actions, .kyc-form-panel .compact-actions { grid-column: 1 / -1; }
}

@media (max-width: 300px) {
    .transactions-page .transaction-filter-form,
    .merchant-form-panel .split-form,
    .kyc-form-panel .split-form { grid-template-columns: 1fr; }
    .transactions-page .transaction-filter-form > *, .merchant-form-panel .split-form > *, .kyc-form-panel .split-form > * { grid-column: 1 !important; }
}

@media(max-width:520px){
    .kyc-page{gap:12px}.kyc-hero{padding:21px 18px}.kyc-hero-icon{width:52px;height:52px;flex-basis:52px;border-radius:17px}.kyc-hero-icon svg{width:28px;height:28px}.kyc-status-card{padding:14px}.kyc-summary-grid{gap:9px}.kyc-summary-grid .info-card{min-height:82px;padding:12px;gap:9px}.kyc-limit-icon{width:36px;height:36px;flex-basis:36px}.kyc-limit-icon svg{width:20px;height:20px}.kyc-summary-grid .info-card strong{font-size:.88rem}.kyc-summary-grid .info-card span{font-size:.72rem}.kyc-form-panel{padding:17px}.kyc-step-pill{display:none}.kyc-steps span{justify-content:center;padding:7px 5px;font-size:.7rem}.kyc-steps b{width:19px;height:19px}.kyc-submission-details{grid-template-columns:1fr}.kyc-form-panel .compact-actions .btn{width:auto}
}

@media (max-width: 360px) {
    .recent-row {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .recent-amount {
        grid-column: 2;
        text-align: left;
    }

    .recent-amount span {
        margin-left: 0;
    }
}

/* Final mobile polish: fixed header, smaller type, aligned transactions */
:root {
    font-size: 14px;
}

.mobile-home {
    padding-top: 8px;
}

.home-header {
    position: sticky;
    top: 0;
    z-index: 950;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 58px;
    padding: 8px 0;
    margin-bottom: 12px;
    background:
        linear-gradient(90deg, rgba(244, 248, 252, 0.96), rgba(244, 248, 252, 0.8));
    backdrop-filter: blur(16px);
}

.clean-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ink);
    min-width: 0;
    flex: 1 1 auto;
}

.clean-brand strong {
    font-size: 1.02rem;
    white-space: nowrap;
}

.topbar {
    min-height: 58px;
    padding: 8px 0;
    margin-bottom: 14px;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: nowrap;
}

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

.topbar .brand-link .brand-mark,
.clean-brand .brand-mark {
    flex: 0 0 auto;
}

.topbar .brand-link span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.topbar.has-back {
    justify-content: space-between;
}

.topbar.has-back .brand-link {
    display: none !important;
}

.topbar.has-back .nav-actions {
    flex: 0 0 auto;
    margin-left: 0;
}

.home-header .home-header-actions,
.topbar .nav-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: nowrap;
    margin-left: auto;
}

.user-shell .topbar .nav-actions .btn,
.user-shell .topbar .nav-actions a:not(.header-icon-link),
.home-header-actions .home-icon-link {
    display: none !important;
}

.header-icon-link,
.header-back-btn,
.theme-toggle.in-header {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    flex: 0 0 38px;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(6, 59, 122, 0.08);
    color: var(--ink);
    box-shadow: none;
}

@media (max-width: 520px) {
    .dashboard-page {
        padding: 8px 14px 104px;
    }

    .home-header,
    .topbar {
        width: 100%;
        display: flex !important;
        flex-direction: row !important;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        min-height: 54px;
        padding: 7px 0;
    }

    .brand-link,
    .clean-brand {
        flex: 1 1 auto;
        min-width: 0;
        margin-bottom: 0;
        gap: 8px;
    }

    .brand-link span:last-child,
    .clean-brand strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 0.95rem;
    }

    .brand-mark.small {
        width: 38px;
        height: 38px;
        border-radius: 12px;
    }

    .header-icon-link,
    .header-back-btn,
    .theme-toggle.in-header {
        width: 36px;
        min-width: 36px;
        height: 36px;
        min-height: 36px;
        flex-basis: 36px;
        border-radius: 11px;
    }

    .header-icon-link svg,
    .header-back-btn svg {
        width: 17px;
        height: 17px;
    }
}

.header-icon-link svg,
.header-back-btn svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

:root[data-theme="dark"] .home-header {
    background:
        linear-gradient(90deg, rgba(7, 17, 31, 0.96), rgba(7, 17, 31, 0.8));
}

.home-header h1 {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-size: 1.2rem;
    line-height: 1.1;
    text-transform: uppercase;
}

.home-header h1 span {
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 600;
    text-transform: none;
}

.theme-toggle {
    top: 24px;
    right: 82px;
    bottom: auto;
    width: 38px;
    min-height: 38px;
    padding: 0;
    display: grid;
    place-items: center;
    border-radius: 16px;
    font-size: 0;
}

.theme-toggle.in-header {
    position: static;
    width: 38px;
    min-width: 38px;
    min-height: 38px;
    flex: 0 0 38px;
    margin: 0;
    box-shadow: none;
    background: rgba(6, 59, 122, 0.08);
}

:root[data-theme="dark"] .theme-toggle.in-header {
    background: rgba(255, 255, 255, 0.08);
}

.theme-toggle::before {
    content: "";
    width: 17px;
    height: 17px;
    display: block;
    border-radius: 50%;
    border: 2px solid currentColor;
    box-shadow: inset -6px -4px 0 currentColor;
}

:root[data-theme="dark"] .theme-toggle::before {
    box-shadow: none;
}

.recent-card {
    padding: 16px 18px;
}

.recent-row {
    grid-template-columns: 54px minmax(0, 1fr) minmax(118px, auto) !important;
    gap: 14px;
    align-items: center;
    padding: 12px 0;
}

.recent-row + .recent-row {
    padding-top: 16px;
}

.recent-icon {
    width: 48px;
    height: 48px;
    align-self: center;
    justify-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.recent-icon svg {
    width: 28px;
    height: 28px;
    display: block;
    margin: auto;
    transform: none;
}

.recent-row strong {
    font-size: 0.95rem;
}

.recent-row > div:not(.recent-amount) span {
    font-size: 0.86rem;
}

.recent-amount {
    grid-column: auto !important;
    text-align: right !important;
    align-self: center;
}

.recent-amount strong {
    font-size: 0.94rem;
}

.recent-amount span {
    margin-left: auto !important;
    font-size: 0.78rem;
}

@media (max-width: 430px) {
    .home-header h1 {
        font-size: 1.08rem;
    }

    .home-header h1 span {
        font-size: 0.86rem;
    }

    .theme-toggle.in-header {
        width: 36px;
        min-width: 36px;
        min-height: 36px;
    }

    .recent-row {
        grid-template-columns: 48px minmax(0, 1fr) minmax(96px, auto) !important;
        gap: 10px;
    }

    .recent-icon {
        width: 44px;
        height: 44px;
    }

    .recent-amount strong {
        font-size: 0.84rem;
    }

    .recent-amount span {
        padding: 2px 7px;
    }
}

/* Responsive transaction icon sizing */
.recent-card {
    --recent-icon-size: clamp(42px, 10vw, 54px);
}

.recent-row {
    grid-template-columns: var(--recent-icon-size) minmax(0, 1fr) minmax(98px, auto) !important;
    gap: clamp(10px, 3vw, 16px);
}

.recent-icon {
    width: var(--recent-icon-size) !important;
    height: var(--recent-icon-size) !important;
    min-width: var(--recent-icon-size);
    border-radius: 50%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.recent-icon svg {
    width: 52% !important;
    height: 52% !important;
    max-width: 28px;
    max-height: 28px;
    min-width: 20px;
    min-height: 20px;
}

@media (max-width: 430px) {
    .recent-card {
        --recent-icon-size: 44px;
    }
}

@media (max-width: 350px) {
    .recent-row {
        grid-template-columns: var(--recent-icon-size) minmax(0, 1fr) !important;
    }

    .recent-amount {
        grid-column: 2 !important;
        text-align: left !important;
    }

    .recent-amount span {
        margin-left: 0 !important;
    }
}

/* Invite and bind-account polish */
.copy-text,
.referral-link-text {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.45;
}

.referral-link-text {
    font-size: clamp(0.9rem, 3vw, 1.1rem);
}

.wallet-balance-card,
.wallet-balance-card > div {
    min-width: 0;
}

.wallet-balance-card .btn {
    flex: 0 0 auto;
}

.bind-account-form {
    margin-top: 18px;
}

.primary-withdrawal-account {
    width: 100%;
    min-height: auto;
    margin-bottom: 18px;
    cursor: default;
}

/* Profile center */
.profile-page {
    width: min(100%, 760px);
    margin: 0 auto;
    padding-top: 18px;
}

.profile-hero-card,
.profile-menu-card,
.profile-settings-card {
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}

.profile-hero-card {
    display: grid;
    gap: 18px;
    padding: 18px;
    border-radius: 24px;
    background:
        radial-gradient(circle at 85% 24%, rgba(255, 255, 255, 0.18), transparent 11rem),
        linear-gradient(145deg, var(--blue), var(--blue-dark));
    color: #ffffff;
}

.profile-hero-top {
    display: flex;
    align-items: center;
    gap: 12px;
}

.profile-avatar,
.profile-settings-btn,
.profile-menu-icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
}

.profile-avatar {
    width: 58px;
    height: 58px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

.profile-avatar span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--green);
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 900;
}

.profile-identity {
    min-width: 0;
    flex: 1;
}

.profile-identity p {
    margin: 0 0 6px;
    font-size: 1.05rem;
    font-weight: 700;
}

.profile-identity strong {
    font-size: 1.12rem;
    text-transform: uppercase;
    letter-spacing: 0;
}

.tier-badge,
.profile-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 24px;
    padding: 4px 9px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    color: inherit;
    font-size: 0.78rem;
    font-weight: 900;
}

.profile-settings-btn {
    position: relative;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

.profile-settings-btn span {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 21px;
    height: 21px;
    display: grid;
    place-items: center;
    padding: 0 5px;
    border-radius: 999px;
    background: #ff5b78;
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 900;
}

.profile-settings-btn svg,
.profile-menu-icon svg,
.profile-chevron svg,
.profile-eye svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.profile-balance-block {
    display: grid;
    gap: 8px;
    padding: 8px 0;
}

.profile-balance-label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.9rem;
    font-weight: 800;
}

.profile-eye {
    width: 32px;
    height: 30px;
    min-height: 30px;
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
}

.profile-eye.is-visible {
    background: rgba(255, 255, 255, 0.24);
}

.profile-balance-block strong {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: clamp(1.95rem, 8vw, 2.55rem);
    line-height: 1.02;
    letter-spacing: 0;
}

.profile-balance-block small {
    color: rgba(255, 255, 255, 0.72);
    overflow-wrap: anywhere;
}

.profile-security-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.14);
}

.profile-security-strip div {
    min-width: 0;
}

.profile-security-strip strong,
.profile-security-strip span {
    display: block;
}

.profile-security-strip span {
    margin-top: 2px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.84rem;
}

.profile-security-strip .btn {
    min-height: 40px;
    padding: 0 16px;
    background: #ffffff;
    color: var(--blue);
}

.profile-menu-card,
.profile-settings-card {
    margin-top: 14px;
    border-radius: 22px;
    background: var(--white);
    overflow: hidden;
}

.profile-menu-row {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 74px;
    padding: 14px 16px;
    color: var(--ink);
    border-bottom: 1px solid var(--line);
    transition: background 160ms ease, transform 160ms ease;
}

.profile-menu-row:last-child {
    border-bottom: 0;
}

.profile-menu-row:active {
    transform: scale(0.99);
}

.profile-menu-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: rgba(6, 59, 122, 0.09);
    color: var(--blue);
}

.profile-menu-text {
    min-width: 0;
    flex: 1;
    display: grid;
    gap: 3px;
}

.profile-menu-text strong {
    color: var(--ink);
    font-size: 0.98rem;
}

.profile-menu-text small {
    color: var(--muted);
    font-size: 0.83rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.profile-pill {
    background: rgba(6, 59, 122, 0.09);
    color: var(--blue);
    white-space: nowrap;
}

.profile-chevron {
    display: grid;
    place-items: center;
    color: var(--muted);
}

.danger-row .profile-menu-icon {
    background: rgba(217, 68, 68, 0.1);
    color: var(--danger);
}

.profile-settings-card {
    padding: 18px;
}

.profile-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 16px;
}

.profile-detail-grid article {
    min-width: 0;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(6, 59, 122, 0.04);
}

.profile-detail-grid span,
.profile-bound-account small {
    display: block;
    color: var(--muted);
    font-size: 0.82rem;
}

.profile-detail-grid strong {
    display: block;
    margin-top: 5px;
    color: var(--ink);
    font-size: 0.94rem;
    overflow-wrap: anywhere;
}

.compact-form {
    margin-top: 12px;
}

.profile-bound-account {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(6, 59, 122, 0.04);
}

.profile-bound-account > div {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.profile-bound-account strong,
.profile-bound-account small {
    overflow-wrap: anywhere;
}

:root[data-theme="dark"] .profile-menu-card,
:root[data-theme="dark"] .profile-settings-card {
    background: var(--surface-solid);
}

:root[data-theme="dark"] .profile-menu-icon,
:root[data-theme="dark"] .profile-detail-grid article,
:root[data-theme="dark"] .profile-bound-account {
    background: rgba(102, 166, 255, 0.1);
}

@media (max-width: 720px) {
    .profile-page {
        padding-top: 12px;
    }

    .profile-hero-card {
        border-radius: 22px;
        padding: 16px;
    }

    .profile-avatar {
        width: 52px;
        height: 52px;
        border-radius: 18px;
    }

    .profile-avatar span {
        width: 38px;
        height: 38px;
        font-size: 1.1rem;
    }

    .profile-settings-btn {
        width: 42px;
        height: 42px;
        border-radius: 15px;
    }

    .profile-security-strip {
        align-items: flex-start;
        flex-direction: column;
    }

    .profile-security-strip .btn {
        width: 100%;
    }

    .profile-menu-row {
        min-height: 68px;
        padding: 12px 14px;
        gap: 12px;
    }

    .profile-menu-icon {
        width: 40px;
        height: 40px;
        border-radius: 14px;
    }

    .profile-settings-btn svg,
    .profile-menu-icon svg,
    .profile-chevron svg,
    .profile-eye svg {
        width: 19px;
        height: 19px;
    }

    .profile-pill {
        display: none;
    }

    .profile-detail-grid,
    .profile-bound-account,
    .compact-form.split-form {
        grid-template-columns: 1fr;
    }

    .profile-bound-account .profile-menu-icon {
        justify-self: start;
    }

    .profile-bound-account .btn {
        width: 100%;
    }
}

.modal-open {
    overflow: hidden;
}

.choice-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: end center;
    padding: 18px;
}

.choice-modal[hidden] {
    display: none;
}

.choice-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(6, 18, 35, 0.42);
    backdrop-filter: blur(8px);
}

.choice-modal-card {
    position: relative;
    z-index: 1;
    width: min(100%, 520px);
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface-solid);
    box-shadow: 0 24px 70px rgba(0, 23, 61, 0.22);
}

.choice-modal-card h2 {
    margin: 0 44px 8px 0;
    font-size: 1.25rem;
}

.choice-close {
    position: absolute;
    top: 16px;
    right: 16px;
}

.modal-eye {
    position: absolute;
    top: 58px;
    right: 16px;
    width: 36px;
    height: 36px;
}

.balance-choice-grid {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.balance-choice-card {
    position: relative;
    display: grid;
    gap: 4px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(6, 59, 122, 0.05);
    color: var(--ink);
    text-align: left;
    cursor: pointer;
    font: inherit;
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.balance-choice-card strong {
    font-size: 1.15rem;
}

.balance-choice-card small,
.balance-choice-card span {
    color: var(--muted);
}

.balance-choice-card:active {
    transform: scale(0.99);
}

.balance-choice-card.is-selected {
    border-color: rgba(22, 199, 132, 0.72);
    background: rgba(22, 199, 132, 0.08);
}

.balance-choice-tick {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 2px solid var(--line);
    background: var(--surface-solid);
}

.balance-choice-tick::after {
    content: "";
    width: 8px;
    height: 5px;
    border-left: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    opacity: 0;
    transform: rotate(-45deg) translate(1px, -1px);
}

.balance-choice-card.is-selected .balance-choice-tick {
    border-color: var(--green);
    background: var(--green);
}

.balance-choice-card.is-selected .balance-choice-tick::after {
    opacity: 1;
}

/* Header lock: back pages must stay as one compact row */
.topbar.has-back {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-height: 48px;
}

.topbar.has-back .brand-link {
    display: none !important;
}

.topbar.has-back .header-back-btn {
    order: 1;
    margin: 0 !important;
}

.header-page-title {
    order: 1;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 4px;
    overflow: hidden;
    color: var(--ink);
    font-size: .96rem;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bills-hero {
    margin-bottom: 14px;
    padding: 24px;
    border-radius: 24px;
    background: linear-gradient(145deg, #063b7a, #0b579d);
    color: #fff;
}
.bills-hero h1 { margin: 4px 0 8px; color: #fff; font-size: clamp(1.55rem, 7vw, 2.25rem); }
.bills-hero p:last-child { margin: 0; opacity: .88; }
.bill-category-tabs { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 7px; margin-bottom: 14px; }
.bill-category-tabs a { display: grid; min-height: 42px; place-items: center; padding: 7px 4px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--muted); font-size: .72rem; font-weight: 800; text-align: center; text-decoration: none; }
.bill-category-tabs a.active,
.bill-category-tabs a.active:visited { border-color: #063b7a; background: #063b7a; color: #fff !important; box-shadow: 0 7px 16px rgba(6,59,122,.22); }
:root[data-theme="dark"] .bill-category-tabs a.active { border-color: var(--green); background: var(--green); color: #03264d !important; }
.bill-payment-card .form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.bill-payment-card .form > :last-child, .bill-payment-card .verified-box { grid-column: 1 / -1; }
.bill-payment-card .btn { justify-self: start; min-width: 150px; }
.bill-choice-section { display: grid; grid-column: 1 / -1; gap: 9px; min-width: 0; }
.bill-choice-section > span { color: var(--ink); font-size: .9rem; font-weight: 800; }
.bill-provider-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; min-width: 0; }
.bill-provider-card { display: grid; min-width: 0; min-height: 94px; place-items: center; align-content: center; gap: 8px; padding: 10px 7px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); color: var(--ink); font: inherit; cursor: pointer; transition: border-color .18s ease,background .18s ease,transform .18s ease; }
.bill-provider-card:hover { transform: translateY(-1px); border-color: rgba(6,59,122,.3); }
.bill-provider-card.is-selected { border-color: #0b9b70; background: #effbf7; box-shadow: inset 0 0 0 1px #0b9b70; }
.bill-provider-card img,.bill-provider-card .bill-provider-fallback { width: 38px; height: 38px; flex-basis: 38px; border-radius: 11px; object-fit: contain; }
.bill-provider-card strong { width: 100%; overflow: hidden; font-size: .74rem; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.bills-page[data-bill-category="airtime"] .bill-provider-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.bills-page[data-bill-category="airtime"] .bill-provider-card { min-height: 82px; padding: 8px 5px; }
.bill-plan-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.bill-plan-card { position: relative; display: grid; grid-template-columns: 32px minmax(0,1fr); min-width: 0; gap: 8px; padding: 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.bill-plan-icon { display: grid; grid-row: 1/3; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: #eaf3fb; color: #084982; }
.bill-plan-icon svg { width: 17px; height: 17px; }
.bill-plan-info { display: grid; min-width: 0; gap: 2px; }
.bill-plan-info small { color: var(--muted); font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.bill-plan-card .bill-plan-info strong { min-height: 0; color: var(--ink); font-size: .78rem; line-height: 1.3; overflow-wrap: anywhere; }
.bill-plan-price { grid-column: 2; color: var(--primary); font-size: .78rem; font-weight: 850; }
.bill-plan-check { position: absolute; top: 7px; right: 7px; display: none; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: #0b9b70; color: #fff; }
.bill-plan-check svg { width: 13px; height: 13px; }
.bill-plan-card.is-selected { border-color: #0b9b70; background: #effbf7; box-shadow: inset 0 0 0 1px #0b9b70; }
.bill-plan-card.is-selected .bill-plan-check { display: grid; }
.bill-provider-result { display: flex; align-items: center; gap: 12px; padding: 11px 13px; }
.bill-provider-result img,.bill-provider-fallback { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 13px; object-fit: contain; background: #fff; border: 1px solid rgba(6,59,122,.12); }
.bill-provider-fallback { display: grid; place-items: center; color: var(--primary); background: #eaf3fb; }
.bill-provider-fallback svg { width: 23px; height: 23px; }
.bill-provider-result > span:last-child { display: grid; gap: 2px; }
.bill-provider-result small { color: var(--muted); font-size: .72rem; font-weight: 700; }
.bill-provider-result strong { color: var(--ink); font-size: .96rem; }
.bill-history-panel { padding: 18px; }
.bill-history-panel .section-head { margin-bottom: 12px; }
.bill-history-panel .section-head h2 { margin: 2px 0 0; font-size: 1.15rem; }
.bill-history-list { display: grid; gap: 9px; }
.bill-history-card { display: grid; grid-template-columns: 46px minmax(0,1fr) auto 18px; align-items: center; gap: 11px; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); color: var(--ink); text-decoration: none; transition: border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.bill-history-card:hover { transform: translateY(-1px); border-color: rgba(6,59,122,.28); box-shadow: 0 9px 24px rgba(16,51,83,.07); }
.bill-history-icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; background: #eaf3fb; color: #084982; }
.bill-history-card > .bill-history-icon { grid-column: 1; grid-row: 1; }
.bill-history-icon svg { width: 23px; height: 23px; }
.bill-history-copy { display: grid; min-width: 0; gap: 2px; }
.bill-history-card > .bill-history-copy { grid-column: 2; grid-row: 1; }
.bill-history-copy strong,.bill-history-copy small,.bill-history-copy time { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bill-history-copy small,.bill-history-copy time { color: var(--muted); font-size: .73rem; }
.bill-history-value { display: grid; justify-items: end; gap: 5px; white-space: nowrap; }
.bill-history-card > .bill-history-value { grid-column: 3; grid-row: 1; }
.bill-history-value strong { font-size: .9rem; }
.bill-history-value .badge { min-height: 22px; padding: 3px 8px; font-size: .66rem; }
.bill-history-arrow { width: 17px; height: 17px; color: var(--muted); }
.bill-history-card > .bill-history-arrow { grid-column: 4; grid-row: 1; }
.service-order-list { display: grid; gap: 10px; }
.service-order-row { display: grid; grid-template-columns: 1fr minmax(100px,150px); gap: 14px; align-items: end; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-soft); }
.service-order-row small { display: block; color: var(--muted); font-weight: 500; }
.bill-admin-page > .topbar,
.bill-admin-page > .dashboard-hero,
.bill-admin-page > .alert,
.bill-admin-page > .flow-panel {
    width: min(100%, 1180px);
    margin-right: auto;
    margin-left: auto;
}
.bill-admin-page > .alert { margin-bottom: 18px; padding: 14px 18px; border-radius: 12px; line-height: 1.45; }
.bill-admin-page .split-form { align-items: end; }
.bill-admin-page .split-form .btn { width: auto; min-width: 190px; justify-self: start; }
@media(max-width:760px){
    .bill-admin-page { padding-right: 14px; padding-left: 14px; }
    .bill-admin-page .dashboard-hero { padding: 22px 18px; border-radius: 18px; }
    .bill-admin-page .dashboard-hero h1 { font-size: 1.55rem; }
    .bill-admin-page .flow-panel { padding: 18px 14px; border-radius: 18px; }
    .bill-admin-page .split-form { grid-template-columns: 1fr; gap: 13px; }
    .bill-admin-page .split-form > * { grid-column: 1; width: 100%; }
    .bill-admin-page .split-form .btn { width: 100%; min-width: 0; }
    .bill-admin-page > .alert { padding: 12px 14px; font-size: .88rem; }
}
@media(max-width:760px){.bill-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.bill-payment-card .form{grid-template-columns:1fr}.bill-payment-card .form>*{grid-column:1}.bills-hero{padding:20px}.service-order-row{grid-template-columns:1fr 82px;gap:10px}.bill-category-tabs a{font-size:.66rem}.bill-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bills-page[data-bill-category="airtime"] .bill-provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bills-page[data-bill-category="airtime"] .bill-provider-card{min-height:76px}.bills-page[data-bill-category="airtime"] .bill-provider-card img,.bills-page[data-bill-category="airtime"] .bill-provider-card .bill-provider-fallback{width:32px;height:32px}.bills-page[data-bill-category="airtime"] .bill-provider-card strong{font-size:.64rem}.bill-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bill-plan-card{grid-template-columns:28px minmax(0,1fr);padding:10px 8px;gap:7px}.bill-plan-icon{width:28px;height:28px}.bill-plan-price{grid-column:1/-1}.bill-admin-page{padding-right:10px;padding-left:10px}.bill-admin-page .topbar{margin-bottom:10px}.bill-admin-page .service-order-row{padding:10px}.bill-admin-page .checkbox-line{min-width:0}.bill-admin-page .checkbox-line span{min-width:0;overflow-wrap:anywhere}.bill-history-panel{padding:13px}.bill-history-card{grid-template-columns:42px minmax(0,1fr) 16px;grid-template-rows:auto auto;padding:12px;gap:7px 10px}.bill-history-card>.bill-history-icon{grid-column:1;grid-row:1/3;align-self:center;width:42px;height:42px}.bill-history-card>.bill-history-copy{grid-column:2;grid-row:1}.bill-history-card>.bill-history-value{grid-column:2;grid-row:2;display:flex;justify-content:flex-start;align-items:center;gap:8px}.bill-history-card>.bill-history-arrow{grid-column:3;grid-row:1/3;align-self:center}.bill-history-copy strong{font-size:.88rem}.bill-history-copy small,.bill-history-copy time{font-size:.7rem}.bill-history-copy time{white-space:normal}.bill-history-value strong{font-size:.84rem}}

.topbar.has-back .header-back-btn + .header-page-title {
    margin-right: auto;
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.pagination a {
    display: grid;
    min-width: 36px;
    min-height: 36px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 6px;
    color: var(--ink);
    text-decoration: none;
}

.pagination a.active {
    border-color: var(--primary);
    background: var(--primary);
    color: #fff;
}

.member-details {
    border-top: 1px solid var(--line);
    padding-top: 12px;
}

.member-details summary {
    color: var(--primary);
    cursor: pointer;
    font-weight: 700;
}

.member-details .transaction-list {
    margin-top: 10px;
}

.topbar.has-back .nav-actions {
    order: 2;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin: 0 !important;
}

.topbar.has-back .header-icon-link,
.topbar.has-back .theme-toggle.in-header,
.topbar.has-back .header-back-btn {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    flex: 0 0 36px !important;
}

/* Session lock modal */
body.session-locked .dashboard-page,
body.session-locked .mobile-footer-menu,
body.session-locked .install-toast {
    filter: blur(7px);
    pointer-events: none;
    user-select: none;
}

.session-lock-modal {
    position: fixed;
    inset: 0;
    z-index: 1500;
    display: grid;
    place-items: center;
    padding: 20px;
}

.session-lock-modal[hidden] {
    display: none;
}

.session-lock-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 18, 39, 0.42);
    backdrop-filter: blur(10px);
}

.session-lock-card {
    position: relative;
    z-index: 1;
    width: min(100%, 390px);
    display: grid;
    gap: 12px;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: var(--surface-solid);
    box-shadow: 0 26px 80px rgba(0, 18, 47, 0.25);
    text-align: center;
}

.session-lock-avatar {
    width: 78px;
    height: 78px;
    display: grid;
    place-items: center;
    justify-self: center;
    border-radius: 50%;
    background:
        radial-gradient(circle at 72% 24%, rgba(255, 255, 255, 0.35), transparent 1.4rem),
        linear-gradient(135deg, var(--green), var(--blue));
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 900;
    box-shadow: 0 18px 42px rgba(6, 59, 122, 0.2);
}

.session-lock-card h2,
.session-lock-card p {
    margin: 0;
}

.session-lock-card form {
    display: grid;
    gap: 12px;
    margin-top: 4px;
    text-align: left;
}

.password-field {
    position: relative;
    display: grid;
    gap: 8px;
}

.password-field input {
    padding-right: 48px;
}

.password-field button {
    position: absolute;
    right: 8px;
    bottom: 7px;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 12px;
    background: rgba(6, 59, 122, 0.08);
    color: var(--blue);
    cursor: pointer;
}

.password-field button svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.password-field button.is-visible {
    background: var(--blue);
    color: #ffffff;
}

/* Session lock modal layout correction */
.session-lock-modal {
    padding: 16px;
}

.session-lock-card {
    width: min(calc(100vw - 32px), 420px);
    gap: 10px;
    padding: 22px;
    border-radius: 22px;
}

.session-lock-avatar {
    width: 72px;
    height: 72px;
    font-size: 1.35rem;
}

.session-lock-card .eyebrow {
    margin-top: 4px;
    font-size: 0.78rem;
    letter-spacing: 0.12em;
}

.session-lock-card h2 {
    font-size: 1.35rem;
    line-height: 1.2;
}

.session-lock-card .muted {
    line-height: 1.45;
}

.session-lock-card .password-field {
    position: relative;
    display: block;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--white);
    overflow: hidden;
}

.session-lock-card .password-field:focus-within {
    border-color: var(--green);
    box-shadow: 0 0 0 4px rgba(22, 199, 132, 0.18);
    outline: 0;
}

.session-password-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.session-lock-card .password-field input {
    width: 100%;
    height: 54px;
    min-height: 54px;
    padding: 0 54px 0 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font-size: 1rem;
    line-height: 54px;
}

.session-lock-card .password-field input:focus {
    outline: 0;
}

.session-lock-card .password-field button {
    position: absolute;
    top: 50%;
    right: 10px;
    bottom: auto;
    width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 0;
    border-radius: 50%;
    background: rgba(6, 59, 122, 0.08);
    transform: translateY(-50%);
}

.session-lock-card .password-field button svg {
    width: 18px;
    height: 18px;
}

.session-lock-card .btn {
    min-height: 52px;
    border-radius: 12px;
}

@media (max-width: 430px) {
    .session-lock-card {
        width: min(calc(100vw - 24px), 390px);
        padding: 18px;
        border-radius: 20px;
    }

    .session-lock-avatar {
        width: 64px;
        height: 64px;
        font-size: 1.2rem;
    }

    .session-lock-card h2 {
        font-size: 1.16rem;
    }

    .session-lock-card .muted {
        font-size: 0.92rem;
    }
}

/* Clean dashboard header */
.dashboard-greeting {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ink);
}

.dashboard-avatar {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    flex: 0 0 46px;
    border-radius: 50%;
    background: var(--green);
    color: #ffffff;
    font-size: 1.18rem;
    font-weight: 900;
    box-shadow: 0 12px 26px rgba(22, 199, 132, 0.2);
}

.dashboard-greeting strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.98rem;
    letter-spacing: 0;
}

.home-header .header-icon-link {
    position: relative;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ink);
}

.home-header .header-icon-link svg {
    width: 24px;
    height: 24px;
    stroke-width: 2.4;
}

.home-header .header-icon-link.help-link {
    overflow: visible;
}

.home-header .header-icon-link.help-link span {
    position: absolute;
    top: -10px;
    right: -7px;
    padding: 2px 6px;
    border-radius: 999px;
    background: #ff5b9b;
    color: #ffffff;
    font-size: 0.58rem;
    font-weight: 900;
    line-height: 1.2;
}

.home-header .notification-dot {
    top: -7px;
    right: -6px;
}

.balance-eye svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.premium-balance-card .balance-eye {
    position: relative;
}

.premium-balance-card .balance-eye::after {
    content: "";
    position: absolute;
    width: 28px;
    height: 3px;
    border-radius: 999px;
    background: currentColor;
    transform: rotate(-35deg);
    opacity: 1;
}

.premium-balance-card .balance-eye.is-visible::after {
    opacity: 0;
}

@media (max-width: 520px) {
    .dashboard-greeting {
        flex: 1 1 auto;
        gap: 8px;
    }

    .dashboard-avatar {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        font-size: 1.05rem;
    }

    .dashboard-greeting strong {
        max-width: 132px;
        font-size: 0.92rem;
    }

    .home-header .home-header-actions {
        gap: 6px;
    }

    .home-header .header-icon-link {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        flex-basis: 34px !important;
    }

    .home-header .header-icon-link svg {
        width: 22px;
        height: 22px;
    }
}

/* Scan and Pay */
.scan-pay-page {
    width: min(100%, 760px);
    display: grid;
    align-content: start;
    gap: 18px;
}

/* Keep the scan flow header visually attached to its content instead of
   creating a white strip and a double gap above the hero. */
.scan-pay-page > .topbar {
    position: relative;
    top: auto;
    width: 100%;
    min-height: 52px;
    margin: 0 auto;
    padding: 4px 2px;
    background: transparent;
    backdrop-filter: none;
}

.scan-pay-page > .topbar.has-back .header-back-btn,
.scan-pay-page > .topbar.has-back .header-icon-link {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    flex-basis: 40px !important;
    border: 1px solid rgba(6, 59, 122, 0.08);
    border-radius: 13px;
    background: rgba(6, 59, 122, 0.09);
}

.scan-pay-page > .dashboard-hero {
    width: 100%;
    margin-top: -2px;
}

.scan-pay-card {
    max-width: 760px;
    width: 100%;
    margin: 0 auto;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: var(--white);
    box-shadow: var(--shadow);
}

.scan-pay-card h1 {
    margin: 0;
    font-size: clamp(2rem, 9vw, 3rem);
    line-height: 1;
    color: var(--blue);
}

.scan-pay-receiver,
.scan-pay-summary,
.scan-pay-result {
    display: grid;
    gap: 8px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(6, 59, 122, 0.06);
}

.scan-pay-receiver {
    gap: 16px;
}

.scan-pay-receiver > div {
    display: grid;
    gap: 6px;
}

.scan-pay-receiver span,
.scan-pay-summary span {
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 800;
}

.scan-pay-receiver small,
.scan-pay-link span {
    color: var(--muted);
    overflow-wrap: anywhere;
}

.scan-pay-description {
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.scan-pay-summary {
    grid-template-columns: 1fr auto;
}

.scan-pay-result {
    grid-template-columns: 180px minmax(0, 1fr);
    align-items: center;
    margin-top: 16px;
}

.scan-pay-qr {
    display: grid;
    place-items: center;
    padding: 12px;
    border-radius: 18px;
    background: #ffffff;
}

.scan-pay-qr img {
    width: 100%;
    max-width: 170px;
    height: auto;
    display: block;
}

.scan-pay-link {
    min-width: 0;
    display: grid;
    gap: 10px;
}

.scan-pay-owner-result,
.scan-pay-history-head {
    margin-top: 18px;
}

.scan-pay-card .section-head,
.scan-pay-card .transaction-list,
.scan-pay-card .form {
    margin-top: 14px;
}

.qr-scanner {
    position: relative;
    margin-top: 16px;
    overflow: hidden;
    border-radius: 18px;
    background: #07111f;
}

.qr-scanner video {
    width: 100%;
    min-height: 280px;
    max-height: 520px;
    display: block;
    object-fit: cover;
}

.qr-scanner-frame {
    position: absolute;
    width: min(64vw, 240px);
    aspect-ratio: 1;
    top: 50%;
    left: 50%;
    border: 3px solid #fff;
    border-radius: 22px;
    box-shadow: 0 0 0 999px rgba(0, 0, 0, 0.38);
    transform: translate(-50%, -58%);
    pointer-events: none;
}

.qr-scanner p,
.qr-scanner button {
    position: relative;
    margin: 12px;
}

@media (max-width: 620px) {
    .scan-pay-page {
        gap: 12px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .scan-pay-page > .topbar {
        min-height: 48px;
        padding: 2px 0;
    }

    .scan-pay-card {
        padding: 20px;
        border-radius: 20px;
    }

    .scan-pay-result,
    .scan-pay-summary {
        grid-template-columns: 1fr;
    }

    .scan-pay-qr {
        justify-self: center;
        width: min(100%, 194px);
    }
}

/* Modern Scan & Pay workspace. */
.scan-pay-page{gap:13px;padding-bottom:112px}.scan-pay-topbar{margin-bottom:0!important}.scan-pay-hero{display:grid!important;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:15px;padding:22px!important;border-radius:22px!important;background:linear-gradient(135deg,#063b7a,#07588d 68%,#087b67)!important;box-shadow:0 16px 38px rgba(6,59,122,.15)!important}.scan-pay-hero-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid #ffffff2e;border-radius:18px;color:#fff;background:#ffffff18}.scan-pay-hero-icon svg{width:29px;height:29px}.scan-pay-hero .eyebrow{margin:0 0 5px;color:#55e0b3}.scan-pay-hero h1{margin:0 0 6px;font-size:1.42rem;line-height:1.15}.scan-pay-hero .lead{margin:0;color:#dbeaf4;font-size:.76rem;line-height:1.5}.scan-pay-scanner-card{display:grid;gap:15px;padding:18px;background:linear-gradient(145deg,#fff,#f8fcfd);box-shadow:0 10px 28px rgba(10,53,83,.065)}.scan-action-head{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px}.scan-action-head>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#07578d;background:#e8f2f8}.scan-action-head>span svg{width:23px;height:23px}.scan-action-head .eyebrow{margin:0 0 2px;font-size:.6rem}.scan-action-head h2{margin:0 0 3px;font-size:1rem}.scan-action-head p{margin:0;color:#718197;font-size:.69rem;line-height:1.4}.scan-camera-button{display:inline-flex!important;align-items:center;justify-content:center;justify-self:start;gap:7px;min-height:42px!important;width:auto!important;padding:9px 15px!important}.scan-camera-button svg,.qr-scanner button svg,.scan-pay-card .btn svg{width:17px;height:17px}.scan-recent-head{align-items:center!important;margin:0 0 4px!important}.scan-recent-head h2{margin:2px 0 0;font-size:1.08rem}.scan-recent-head>a{display:inline-flex;align-items:center;gap:3px;color:#07558c;font-size:.69rem;font-weight:850;text-decoration:none}.scan-recent-head>a svg{width:14px;height:14px}.scan-payment-list{gap:0!important;margin-top:5px!important;border:1px solid #dce6ed;border-radius:16px;overflow:hidden}.scan-payment-item{grid-template-columns:39px minmax(0,1fr) auto!important;align-items:center;gap:10px!important;padding:12px!important;border:0!important;border-bottom:1px solid #e4ebf0!important;border-radius:0!important;box-shadow:none!important}.scan-payment-item:last-child{border-bottom:0!important}.scan-payment-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;color:#07845f;background:#e2f7ef}.scan-payment-icon svg{width:19px;height:19px}.scan-payment-item .transaction-main{min-width:0}.scan-payment-item .transaction-main strong,.scan-payment-item .transaction-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-payment-item .transaction-main strong{font-size:.78rem}.scan-payment-item .transaction-meta{font-size:.63rem}.scan-payment-item .transaction-amount{color:#07845f;font-size:.77rem;font-weight:900;white-space:nowrap}.scan-pay-card .split-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scan-pay-card .split-form>label{min-width:0}.scan-pay-card .split-form>.btn,.scan-pay-card .split-form>[data-scan-duration]:last-of-type{grid-column:auto}.scan-pay-card .split-form>.btn{grid-column:1/-1;justify-self:start;width:auto!important}.scan-code-item{padding:13px;border-radius:16px}.scan-code-item .transaction-main{min-width:0}.scan-code-item .transaction-main>strong{overflow-wrap:anywhere}.scan-code-actions .btn{display:inline-flex;align-items:center;justify-content:center}.scan-pay-owner-result{border:1px solid #dbe7ee;background:#f7fbfc}.scan-pay-link>span{padding:9px 10px;border-radius:10px;background:#eef4f7;font-size:.67rem}.scan-pay-card>.eyebrow+ h1{margin:6px 0 16px}.qr-scanner button{display:flex;align-items:center;justify-content:center;gap:6px}
@media(max-width:520px){.scan-pay-page{padding-inline:12px!important}.scan-pay-hero{grid-template-columns:48px minmax(0,1fr);padding:17px!important;gap:11px}.scan-pay-hero-icon{width:48px;height:48px;border-radius:15px}.scan-pay-hero-icon svg{width:24px;height:24px}.scan-pay-hero h1{font-size:1.15rem}.scan-pay-card{padding:15px!important;border-radius:18px!important}.scan-pay-card .split-form{grid-template-columns:1fr}.scan-pay-card .split-form>*{grid-column:1!important}.scan-pay-card .split-form>.btn{width:100%!important}.scan-payment-item{grid-template-columns:36px minmax(0,1fr)!important}.scan-payment-icon{width:36px;height:36px}.scan-payment-item .transaction-amount{grid-column:2;text-align:left}.scan-pay-result{padding:12px}.scan-pay-qr{width:156px!important}.scan-pay-summary{grid-template-columns:minmax(0,1fr) auto!important}.scan-pay-summary>span:nth-of-type(2){grid-column:1}.scan-pay-summary>.scan-balance-value{grid-column:2}.scan-code-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important}.scan-code-actions{display:grid;justify-items:end}.scan-code-actions .btn{min-height:34px;padding:7px 10px;font-size:.7rem}}

/* Scan & Pay mobile alignment refinement. */
.scan-pay-page .scan-recent-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;gap:10px;margin:0 0 9px!important;text-align:left!important}.scan-pay-page .scan-recent-head>div{min-width:0}.scan-pay-page .scan-recent-head .eyebrow,.scan-pay-page .scan-recent-head h2{text-align:left!important}.scan-pay-page .scan-recent-head h2{margin:2px 0 0;font-size:1rem}.scan-pay-page .scan-recent-head>a{align-self:center;white-space:nowrap}.scan-pay-page .scan-payment-list{margin-top:0!important}
@media(max-width:520px){.scan-pay-page{gap:11px!important;padding-inline:12px!important}.scan-pay-page>.feature-sticky-header{margin-inline:-2px!important}.scan-pay-page .scan-pay-hero{grid-template-columns:44px minmax(0,1fr);gap:10px;padding:15px!important}.scan-pay-page .scan-pay-hero-icon{width:44px;height:44px;border-radius:14px}.scan-pay-page .scan-pay-hero-icon svg{width:23px;height:23px}.scan-pay-page .scan-pay-hero h1{font-size:1.08rem}.scan-pay-page .scan-pay-hero .lead{font-size:.68rem}.scan-pay-page .scan-pay-card{padding:14px!important}.scan-pay-page .scan-pay-scanner-card{gap:13px}.scan-pay-page .scan-action-head{grid-template-columns:42px minmax(0,1fr);gap:10px}.scan-pay-page .scan-action-head>span{width:42px;height:42px}.scan-pay-page .scan-action-head h2{font-size:.9rem}.scan-pay-page .scan-camera-button{min-height:40px!important;padding:8px 13px!important;font-size:.75rem!important}.scan-pay-page .scan-recent-head{grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important}.scan-pay-page .scan-recent-head h2{font-size:.92rem}.scan-pay-page .scan-recent-head>a{font-size:.61rem}.scan-pay-page .scan-payment-item{padding:10px!important}.scan-pay-page .scan-payment-item .transaction-amount{margin-top:2px}}

/* Smart notification controls, voice choice and cooperative activity. */
.notification-tools[hidden]{display:none!important}.notification-tools{display:grid!important;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:9px;padding:14px!important}.notification-tools .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto!important;min-height:40px!important;padding:8px 13px!important}.notification-tools .btn svg{width:17px;height:17px}.notification-tools>[hidden]{display:none!important}.notification-tools>[data-push-status]{font-size:.68rem;line-height:1.4}
.assistant-voice-picker{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-top:-3px;padding:10px 12px;border:1px solid #dce7ef;border-radius:13px;background:#f6f9fb}.assistant-voice-picker[hidden]{display:none!important}.assistant-voice-picker>span{font-size:.7rem!important;font-weight:850;white-space:nowrap}.assistant-voice-picker select{min-height:40px!important;padding-block:7px!important;font-size:.72rem!important}.cooperative-report-panel{padding:17px!important}.cooperative-report-head{display:flex!important;align-items:center!important;justify-content:space-between;gap:12px;margin-bottom:10px!important}.cooperative-report-head .eyebrow{margin:0 0 3px;font-size:.58rem}.cooperative-report-head h2{margin:0;font-size:1.08rem}.cooperative-report-head>span{padding:5px 8px;border-radius:999px;color:#60758a;background:#edf3f6;font-size:.61rem;font-weight:850}.cooperative-report-panel .transaction-list{gap:0;border:1px solid #dce7ee;border-radius:16px;overflow:hidden}.cooperative-report-item{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center;gap:10px!important;padding:11px 12px!important;border:0!important;border-bottom:1px solid #e3ebf0!important;border-radius:0!important;box-shadow:none!important}.cooperative-report-item:last-child{border-bottom:0!important}.cooperative-report-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#07845f;background:#e2f7ef}.cooperative-report-icon svg{width:19px;height:19px}.cooperative-report-item .transaction-main{display:grid;gap:3px;min-width:0}.cooperative-report-item .transaction-main strong{font-size:.78rem}.cooperative-report-item .transaction-meta{overflow:hidden;font-size:.63rem;text-overflow:ellipsis;white-space:nowrap}.cooperative-report-item .badge{justify-self:start;padding:3px 7px;font-size:.56rem}.cooperative-report-item .transaction-amount{font-size:.75rem;font-weight:900;white-space:nowrap}
@media(max-width:520px){.notification-tools{grid-template-columns:1fr 1fr!important;padding:12px!important}.notification-tools .btn{width:100%!important;padding-inline:8px!important;font-size:.68rem!important}.notification-tools>[data-push-status]{grid-column:1/-1}.assistant-voice-picker{grid-template-columns:1fr;gap:5px}.cooperative-report-panel{padding:13px!important}.cooperative-report-head h2{font-size:.94rem}.cooperative-report-item{grid-template-columns:36px minmax(0,1fr)!important;padding:10px!important}.cooperative-report-icon{width:36px;height:36px}.cooperative-report-item .transaction-amount{grid-column:2;margin-top:2px;color:#087a59;text-align:left}.cooperative-report-item .transaction-meta{white-space:normal;overflow-wrap:anywhere}}

/* Services listing layout */
.services-market-page { max-width: 1080px; margin: 0 auto; }
.services-market-page .topbar { max-width: 1040px; }
.services-market-page .dashboard-hero { max-width: 1040px; margin-left: auto; margin-right: auto; }
.services-market-page .topbar .nav-actions { flex-wrap: nowrap; }
.services-market-page .topbar .btn { min-height: 40px; padding: 8px 14px; white-space: nowrap; }
.services-filter-panel { max-width: 1040px; margin: 0 auto 24px; padding: 16px; border-radius: 20px; }
.services-filter-form { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(180px, .8fr) auto; gap: 10px; }
.services-filter-form input, .services-filter-form select, .services-filter-form .btn { min-height: 46px; margin: 0; }
.services-market-page .market-section { max-width: 1040px; margin-top: 26px; }
.services-market-page .market-section > .section-head { margin-bottom: 14px; }
.services-market-page .market-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.services-market-page .service-card { display: grid; grid-template-columns: minmax(150px, 38%) minmax(0, 1fr); border-radius: 20px; background: var(--white); box-shadow: 0 12px 34px rgba(6,59,122,.08); }
.services-market-page .market-image { height: 100%; min-height: 270px; aspect-ratio: auto; }
.services-market-page .market-image > a, .services-market-page .market-image img { display: block; width: 100%; height: 100%; }
.services-market-page .market-body { align-content: start; gap: 11px; padding: 18px; }
.services-market-page .market-body h2 { font-size: 1.15rem; line-height: 1.28; }
.service-card-description { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; font-size: .9rem; }
.service-card-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.service-card-meta span { color: var(--muted); font-size: .84rem; }
.service-card-meta strong { color: var(--blue); font-size: 1.05rem; }
.service-card-social { flex-wrap: nowrap; min-width: 0; }
.service-card-social .service-heart { flex: 0 0 34px; width: 34px; height: 34px; }
.service-card-social .service-like-count { min-width: 0; font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.service-share-button { margin-left: auto; padding: 6px 0; border: 0; background: transparent; color: var(--blue); font: inherit; font-size: .82rem; font-weight: 900; cursor: pointer; }
.service-card-actions { display: flex; gap: 8px; margin-top: 2px; }
.service-card-actions .btn { min-height: 40px; padding: 8px 14px; }
.service-card-actions .btn:first-child { flex: 1; }

@media (max-width: 820px) {
    .services-market-page .market-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .services-market-page { padding-left: 14px; padding-right: 14px; }
    .services-market-page .topbar { flex-direction: row; align-items: center; gap: 8px; }
    .services-market-page .topbar .brand-link span:last-child { display: inline; }
    .services-market-page .topbar .nav-actions { width: auto; margin-left: auto; gap: 6px; }
    .services-market-page .topbar .btn { min-height: 36px; padding: 7px 9px; font-size: .78rem; }
    .services-filter-form { grid-template-columns: 1fr; }
    .services-filter-form .btn { width: 100%; }
    .services-market-page .market-section > .section-head { flex-direction: row; align-items: center; }
    .services-market-page .service-card { grid-template-columns: 118px minmax(0,1fr); border-radius: 17px; }
    .services-market-page .market-image { min-height: 250px; }
    .services-market-page .market-body { padding: 14px; gap: 9px; }
    .services-market-page .market-body h2 { font-size: 1.03rem; }
    .services-market-page .service-category-icon { width: 30px; height: 30px; }
    .service-card-description { -webkit-line-clamp: 2; font-size: .84rem; }
    .service-card-meta { align-items: flex-start; flex-direction: column; }
    .service-card-social .service-like-count { max-width: 115px; }
    .service-card-actions .btn { min-height: 36px; padding: 7px 10px; font-size: .8rem; }
}

@media (max-width: 410px) {
    .services-market-page .service-card { grid-template-columns: 1fr; }
    .services-market-page .market-image { min-height: 0; aspect-ratio: 16 / 10; }
}

/* Receipt document and export layout */
.btn.ui-icon-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.ui-button-icon { flex: 0 0 17px; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.smtp-form-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }
.smtp-form-actions .btn { flex: 1 1 190px; }
.smtp-test-result { grid-column: 1 / -1; padding: 12px 14px; border-radius: 12px; font-weight: 800; }
.smtp-test-result.is-success { color: var(--success); background: rgba(15,159,110,.1); border: 1px solid rgba(15,159,110,.2); }
.smtp-test-result.is-error { color: var(--danger); background: rgba(217,68,68,.08); border: 1px solid rgba(217,68,68,.18); }

/* Compact user workspace refinements */
.notification-page { max-width: 860px; }
.notification-page .dashboard-hero { padding-bottom: 18px; }
.notification-tools { justify-content: flex-start; padding: 13px 15px; gap: 8px; }
.notification-tools .btn { flex: 0 0 auto; width: auto; min-height: 36px; padding: 7px 12px; font-size: .84rem; }
.notification-tools [data-push-status] { flex: 1 1 240px; font-size: .8rem; }
.notification-panel { padding: 18px; box-shadow: 0 12px 34px rgba(16,35,62,.06); }
.notification-panel .section-head { align-items: center; margin-bottom: 8px; }
.notification-panel .section-head h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 1.05rem; }
.notification-panel .section-head form, .notification-actions { width: auto; flex: 0 0 auto; }
.notification-panel .section-head .btn, .notification-actions .btn { width: auto; min-height: 34px; padding: 6px 11px; font-size: .78rem; }
.notification-list { gap: 9px; }
.notification-item { grid-template-columns: 42px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 14px; border: 1px solid #e4eaf1; background: #fff; }
.notification-item.unread { background: linear-gradient(90deg, rgba(7,86,163,.055), #fff 55%); border-color: rgba(7,86,163,.2); box-shadow: inset 3px 0 #0756a3; }
.notification-icon { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; color: #0756a3; background: #eaf3fc; }
.notification-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.notification-item .transaction-main { gap: 3px; min-width: 0; }
.notification-item .transaction-main strong { font-size: .92rem; }
.notification-item .transaction-main > span:not(.transaction-meta) { color: #52657c; font-size: .84rem; line-height: 1.45; }
.notification-item .transaction-meta { font-size: .72rem; }

.cooperative-create-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(260px,.8fr); gap: 16px; margin-bottom: 24px; }
.cooperative-create-card, .cooperative-side-card { align-items: stretch; padding: 20px; border-radius: 18px; }
.cooperative-side-stack { display: grid; gap: 16px; }
.card-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; }
.card-heading > div { display: grid; gap: 2px; }
.card-heading small { color: var(--muted); font-size: .76rem; }
.feature-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 11px; color: #0756a3; background: #eaf3fc; }
.feature-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cooperative-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.cooperative-form-grid label { display: grid; gap: 6px; color: #52657c; font-size: .78rem; font-weight: 700; }
.cooperative-form-grid .field-wide { grid-column: 1 / -1; }
.compact-actions { display: flex; justify-content: flex-start; margin-top: 14px; }
.compact-actions .btn, .income-subscribe-form .btn { width: auto; min-width: 140px; min-height: 40px; padding: 9px 15px; }
.cooperative-side-card .btn { align-self: flex-start; width: auto; }

.income-summary-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.income-summary-grid .info-card { min-height: 112px; padding: 16px; border-radius: 16px; }
.income-summary-grid .info-card strong { font-size: clamp(1.05rem,2.3vw,1.35rem); }
.income-page .plan-grid { grid-template-columns: repeat(auto-fit,minmax(245px,1fr)); gap: 14px; }
.income-page .plan-card { padding: 18px; border-radius: 18px; }
.income-page .plan-card h2 { font-size: 1.08rem; }
.income-subscribe-form { grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 9px; }

.savings-page .profile-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.savings-page .info-card { min-height: 108px; padding: 16px; }
.savings-create-panel { max-width: 760px; padding: 20px; }
.savings-create-form { align-items: end; }
.savings-preview { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; padding: 12px; border-radius: 14px; background: #f5f8fc; border: 1px solid #e1e8f0; }
.savings-preview span { display: grid; gap: 4px; }
.savings-preview small { color: var(--muted); font-size: .72rem; }
.savings-preview strong { font-size: .9rem; color: #10233e; }

@media (max-width: 760px) {
    .cooperative-create-grid { grid-template-columns: 1fr; }
    .income-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .notification-item { grid-template-columns: 38px minmax(0,1fr); padding: 12px; }
    .notification-icon { width: 36px; height: 36px; }
    .notification-actions { grid-column: 2; justify-self: start; }
}
@media (max-width: 520px) {
    .notification-page, .cooperative-page, .income-page, .savings-page { padding-left: 14px; padding-right: 14px; }
    .notification-panel { padding: 14px; }
    .notification-panel .section-head { align-items: flex-start; }
    .notification-panel .section-head form { margin-left: 0; }
    .cooperative-form-grid { grid-template-columns: 1fr; }
    .cooperative-form-grid .field-wide { grid-column: auto; }
    .income-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .income-summary-grid .info-card { min-height: 96px; padding: 13px; }
    .income-subscribe-form { grid-template-columns: 1fr; }
    .savings-page .profile-grid { grid-template-columns: 1fr; }
    .savings-preview { grid-template-columns: 1fr; }
}
.receipt-page { max-width: 760px; }
.receipt-layout { max-width: 590px; margin: 10px auto 0; }
.receipt-layout .receipt-card { width: 100%; margin: 0; gap: 0; padding: 0; overflow: hidden; border-radius: 22px; background: #fff; color: #10233e; }
.receipt-layout .receipt-brand { padding: 18px 22px; background: linear-gradient(135deg, #063b7a, #0c65c9); color: #fff; border: 0; }
.receipt-layout .receipt-brand small { color: rgba(255,255,255,.76); }
.receipt-layout .receipt-status { margin: 20px 22px 14px; padding: 20px 16px; border-radius: 18px; }
.receipt-layout .receipt-status span { width: 46px; height: 46px; font-size: 1.5rem; }
.receipt-layout .receipt-status strong { font-size: clamp(1.65rem, 6vw, 2.2rem); }
.receipt-layout .receipt-details { gap: 0; margin: 0 22px; border-top: 1px solid #e2e8f0; }
.receipt-layout .receipt-details div { grid-template-columns: minmax(100px,.65fr) minmax(0,1.35fr); align-items: start; gap: 14px; padding: 13px 2px; border-bottom: 1px solid #e2e8f0; border-radius: 0; background: transparent; }
.receipt-layout .receipt-details strong { text-align: right; line-height: 1.45; }
.receipt-layout .receipt-footer-note { margin: 0; padding: 18px 22px; color: #64748b; background: #f8fafc; }
.receipt-layout > .receipt-actions { justify-content: center; margin: 14px 0 0; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.receipt-layout > .receipt-actions .btn { flex: 1 1 auto; }

@media (max-width: 520px) {
    .receipt-page { padding-left: 16px; padding-right: 16px; }
    .receipt-page .home-header { padding-left: 2px; padding-right: 2px; }
    .receipt-layout .receipt-brand { padding: 16px 18px; }
    .receipt-layout .receipt-status { margin: 16px 18px 12px; }
    .receipt-layout .receipt-details { margin: 0 18px; }
    .receipt-layout .receipt-details div { grid-template-columns: 1fr; gap: 5px; }
    .receipt-layout .receipt-details strong { text-align: left; }
    .receipt-layout > .receipt-actions { display: grid; grid-template-columns: 1fr 1fr; }
}

/* Refined receipts, notifications, services, and payment-code management */
.scan-balance-value { display: inline-flex; min-height: 36px; align-items: center; justify-content: flex-end; gap: 10px; }
.scan-balance-value .scan-balance-toggle { position: relative; flex: 0 0 36px; width: 36px; height: 36px; min-height: 36px; padding: 0; border: 1px solid rgba(6,59,122,.14); background: rgba(6,59,122,.08); color: var(--blue); }
.scan-balance-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.scan-balance-toggle::after { content: ''; position: absolute; width: 24px; height: 2px; border-radius: 2px; background: currentColor; transform: rotate(-38deg); }
.scan-balance-toggle.is-visible::after { display: none; }
.scan-pay-summary > .badge { align-self: center; justify-self: end; }
.scan-code-item { align-items: center; }
.scan-code-actions { justify-content: flex-end; flex-wrap: nowrap; }
.scan-code-actions .badge { min-width: 58px; justify-content: center; }
.scan-code-actions, .receipt-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.scan-code-actions .btn, .receipt-actions .btn { min-height: 38px; padding: 8px 13px; font-size: .86rem; }
.receipt-brand { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px dashed var(--line); }
.receipt-brand div { display: grid; gap: 2px; }
.receipt-brand small, .receipt-footer-note { color: var(--muted); }
.receipt-actions { justify-content: center; margin-top: 18px; }
.receipt-footer-note { margin: 18px 0 0; text-align: center; font-size: .82rem; }
.notification-page { max-width: 900px; margin: auto; }
.notification-tools { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 16px 18px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.notification-panel { border-radius: 22px; }
.notification-filters { display: flex; gap: 8px; padding: 4px 0 14px; overflow-x: auto; scrollbar-width: none; }
.notification-filters .btn { flex: 0 0 auto; min-height: 38px; padding: 8px 14px; }
.notification-item { border-radius: 16px; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.notification-item[data-notification-destination] { cursor: pointer; }
.notification-item[data-notification-destination]:hover { transform: translateY(-2px); border-color: rgba(6,59,122,.25); box-shadow: 0 12px 30px rgba(6,59,122,.08); }
.service-page { max-width: 1040px; margin: auto; }
.service-category-line { display: flex; align-items: center; gap: 8px; }
.service-category-icon, .service-detail-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; color: var(--blue); background: rgba(6,59,122,.08); }
.service-category-icon svg, .service-detail-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.service-detail-icon { width: 48px; height: 48px; border-radius: 15px; margin-bottom: 8px; }
.service-gallery { overflow: hidden; }
.service-gallery img { aspect-ratio: 4 / 3; object-fit: cover; }
.service-detail-card { align-content: start; gap: 14px; }

@media print {
    @page { size: A4; margin: 16mm; }
    body { background: #fff !important; }
    body > *:not(.dashboard-page), .home-header, .mobile-footer-menu, .no-print, .install-toast { display: none !important; }
    .dashboard-page { min-height: 0; padding: 0; background: #fff !important; }
    .receipt-card { width: 100%; max-width: 720px; margin: 0 auto; border: 1px solid #dce5ef; box-shadow: none; color: #10233e; }
    .receipt-footer-note { display: block; }
}

@media (max-width: 620px) {
    .receipt-actions .btn { flex: 1 1 calc(50% - 8px); }
    .notification-panel { padding: 18px; }
    .notification-item { grid-template-columns: auto minmax(0,1fr); }
    .notification-actions { grid-column: 2; }
    .scan-code-actions { width: 100%; }
}

/* Final narrow-screen overrides for legacy column rules */
.notification-page .notification-tools { min-height: 0 !important; height: fit-content !important; align-self: start; }
.notification-page .notification-list { width: 100%; }
.notification-page .notification-item { width: 100%; max-width: none; }
@media (max-width: 720px) {
    .transfer-page .flow-steps { display: flex; flex-direction: row; }
    .notification-page .notification-filters { display: flex; flex-direction: row; align-items: center; }
    .notification-page .notification-filters .btn { width: auto; flex: 0 0 auto; }
}

/* Keep form text consistent after all page-specific rules */
.form label,
.cooperative-form-grid label,
.action-card label,
.form label > span,
.cooperative-form-grid label > span,
.action-card label > span { font-family: inherit; font-size: .9rem; font-weight: 700; line-height: 1.35; }
.form input,.form select,.form textarea,
.action-card input,.action-card select,.action-card textarea,
.filter-form input,.filter-form select { font-family: inherit; font-size: .95rem; font-weight: 500; }
.btn { font-family: inherit; font-size: .9rem; font-weight: 750; }
/* 2026 mobile feature-page refinement */
.kyc-source-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;margin-top:14px}
.kyc-source-actions .btn{width:100%;min-height:46px;padding:10px 14px}
.btn-inline-icon{display:inline-flex;width:20px;height:20px;margin-right:7px;vertical-align:middle}
.btn-inline-icon svg,.first-transfer-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.first-transfer-modal{place-items:center;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow-y:auto}
.first-transfer-card{box-sizing:border-box;width:min(410px,100%);max-width:100%;padding:26px 22px 22px;text-align:center;border-radius:22px;overflow:hidden}
.first-transfer-card .muted{display:block;margin:10px auto 18px;max-width:330px;line-height:1.55;text-align:center}.first-transfer-card .muted strong{display:inline;font:inherit;font-weight:850;color:var(--text,#17283e);white-space:normal}.first-transfer-card h2{line-height:1.25;margin-bottom:4px}
.choice-modal-card.first-transfer-card h2{margin:0 0 4px;text-align:center}
.first-transfer-card .two-up-actions{margin:20px 0 0;gap:10px}
.first-transfer-card .two-up-actions .btn{min-width:0;min-height:46px;padding:10px 12px}
.first-transfer-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:18px;background:#eaf3ff;color:#084783}
.first-transfer-icon svg{width:30px;height:30px}
.profile-setting-toggle{width:100%;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.profile-setting-toggle.is-disabled .profile-pill{background:#edf1f5;color:#758297}
.two-up-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.two-up-actions .btn{width:100%}
.field-help{display:block;margin-top:7px;color:var(--muted,#687991);font-size:.82rem;font-weight:600;line-height:1.45}
.google-challenge-wrap{display:flex;justify-content:center;width:100%;min-height:78px;padding:8px 0;overflow:hidden}.google-challenge-wrap .g-recaptcha{max-width:100%}@media(max-width:360px){.google-challenge-wrap{justify-content:flex-start;transform:scale(.9);transform-origin:left top;margin-bottom:-8px}}
.bank-recent-section{margin-top:18px;padding:14px}.bank-recent-section .section-head{margin-bottom:10px}.bank-recent-section h2{margin:0;font-size:1rem}.bank-recent-section .recent-recipient-list{max-height:none}.bank-recent-head{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-direction:row!important;gap:10px}.bank-recent-head .btn-compact{width:auto!important;min-height:34px;padding:7px 11px;font-size:.78rem;white-space:nowrap}.bank-transfer-form .transfer-details{padding:12px;border:1px solid #deE8f0;border-radius:15px;background:#f9fbfd}.bank-transfer-form .transfer-details .review-box{margin:0}.bank-transfer-form .transfer-details .btn{justify-self:start;width:auto;min-width:150px}@media(max-width:600px){.bank-recent-section{padding:11px}.bank-recent-section .recent-recipient-card{padding:9px}.bank-transfer-form .transfer-details{padding:10px}.bank-transfer-form .transfer-details .btn{width:100%}}
[data-transfer-recipient][aria-busy="true"]{background:#f2f6fa;color:#536277;cursor:wait}
.verified-box.is-loading{border-color:#bdd3e8;background:#f3f8fd;color:#526b84}
.referral-page .dashboard-hero,.savings-page .dashboard-hero,.income-page .dashboard-hero,.cooperative-page .dashboard-hero,
.stock-page .dashboard-hero,.bank-page .dashboard-hero{position:relative;overflow:hidden;border-radius:24px;padding:28px;background:linear-gradient(135deg,#073b74,#0c4f8f);color:#fff}
.referral-page .dashboard-hero .lead,.savings-page .dashboard-hero .lead,.income-page .dashboard-hero .lead,.cooperative-page .dashboard-hero .lead,
.stock-page .dashboard-hero .lead,.bank-page .dashboard-hero .lead{color:#dcecff}
.feature-page .info-card,.referral-page .info-card,.savings-page .info-card,.income-page .info-card{min-height:112px;border-radius:20px;padding:18px;box-shadow:0 12px 30px rgba(16,51,83,.07)}
.feature-page .plan-card,.savings-page .flow-panel,.cooperative-page .action-card,.bank-page .flow-panel{border-radius:22px;box-shadow:0 14px 34px rgba(16,51,83,.08)}
.feature-page .form input,.feature-page .form select,.savings-page .form input,.savings-page .form select,.cooperative-page input,.cooperative-page select,.bank-page input,.bank-page select{font-size:1rem;font-weight:600}
.feature-page .btn,.referral-page .btn,.savings-page .btn,.income-page .btn,.cooperative-page .btn,.bank-page .btn{min-height:44px;width:auto;padding:10px 17px}
@media(max-width:520px){.kyc-source-actions{grid-template-columns:1fr 1fr}.kyc-source-actions .btn{font-size:.85rem;padding:9px 8px}.feature-page .account-grid,.referral-page .account-grid,.savings-page .account-grid,.income-page .account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-page .info-card,.referral-page .info-card,.savings-page .info-card,.income-page .info-card{min-height:96px;padding:14px}.feature-page .dashboard-hero,.referral-page .dashboard-hero,.savings-page .dashboard-hero,.income-page .dashboard-hero,.cooperative-page .dashboard-hero,.bank-page .dashboard-hero{padding:22px 18px}.two-up-actions{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.first-transfer-card{padding:22px 16px 18px}.first-transfer-card h2{font-size:1.08rem}.first-transfer-card .muted{font-size:.86rem}.first-transfer-card .two-up-actions .btn{font-size:.82rem}}

.queue-table-panel .section-head{align-items:end;gap:14px}.queue-filter select{min-width:150px}.table-scroll{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:820px}.data-table th{padding:12px 14px;background:#edf3f8;color:#55677d;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;text-align:left}.data-table th:first-child{border-radius:12px 0 0 12px}.data-table th:last-child{border-radius:0 12px 12px 0}.data-table td{padding:14px;border-bottom:1px solid #e5edf3;vertical-align:top;font-size:.88rem}.data-table td small{display:block;margin-top:4px;color:#6c7c91}.queue-error-cell{max-width:320px}.queue-error-cell>span{display:block;line-height:1.45}.queue-error-cell form{margin-top:8px}.pagination{display:flex;justify-content:center;gap:7px;margin-top:18px}.pagination a{display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border-radius:11px;background:#edf3f8;color:#164a7b;text-decoration:none;font-weight:800}.pagination a.active{background:#074681;color:#fff}
.transfer-page .split-form>*{min-width:0}.transfer-recipient-field{order:-3}.transfer-page .verified-box{order:-2}.transfer-details{order:-1}.transfer-recipient-tools{display:grid;order:0;gap:12px;width:100%;max-width:100%;min-width:0;padding:15px;border:1px solid #dbe7f0;border-radius:18px;background:#f8fbfd;overflow:hidden}.recent-recipient-search,.recent-recipient-search input{width:100%;max-width:100%;min-width:0}.recent-recipient-search input{background:#fff}.recent-recipient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%;max-height:225px;overflow:auto}.recent-recipient-card{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:10px;border:1px solid #e0e9f0;border-radius:14px;background:#fff;color:#17283e;text-align:left;cursor:pointer}.recent-recipient-card[hidden]{display:none!important}.recent-recipient-card>span:last-child{min-width:0}.recent-recipient-card:hover{border-color:#0c8f69;background:#f0fbf7}.recent-recipient-avatar{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:13px;background:#e6f3ee;color:#07865f;font-weight:900}.recent-recipient-card strong,.recent-recipient-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-recipient-card small{margin-top:3px;color:#718197;font-size:.76rem}.last-transfer-strip{min-width:0;padding-top:11px;border-top:1px solid #e1eaf1;overflow:hidden}.last-transfer-strip>span{display:block;margin-bottom:8px;color:#5f7188;font-size:.78rem;font-weight:800}.last-transfer-strip>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}.last-transfer-strip button{min-width:0;max-width:100%;padding:9px;border:0;border-radius:12px;background:#eaf2f8;color:#173654;text-align:left;cursor:pointer;overflow:hidden}.last-transfer-strip strong,.last-transfer-strip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.last-transfer-strip small{margin-top:3px;color:#60758b}.transfer-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}.transfer-details[hidden]{display:none!important}.transfer-details>.btn-wide,.transfer-details>.review-box,.transfer-details>.form-actions{grid-column:1/-1}.verified-box.is-loading{display:flex;align-items:center;gap:10px}.recipient-loader{width:19px;height:19px;border:3px solid #c8d9e8;border-top-color:#087f61;border-radius:50%;animation:recipient-spin .75s linear infinite}@keyframes recipient-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.queue-table-panel{padding-left:14px;padding-right:14px}.queue-table-panel .section-head{align-items:stretch;flex-direction:column}.queue-filter select{width:100%}.transfer-page .flow-panel{padding:12px}.transfer-page .split-form{grid-template-columns:minmax(0,1fr)!important;width:100%;max-width:100%}.transfer-page .split-form>*{grid-column:1!important;width:100%;max-width:100%}.transfer-recipient-tools{padding:12px}.recent-recipient-list{grid-template-columns:1fr}.last-transfer-strip>div{grid-template-columns:repeat(3,minmax(0,1fr))}.transfer-details{grid-template-columns:1fr}.transfer-details>*{grid-column:1!important}}
.btn.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:wait;opacity:.85}.button-loader{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:recipient-spin .7s linear infinite}.btn-ghost .button-loader{border-color:rgba(8,66,120,.25);border-top-color:#084278}
/* Keep user-entered and formatted financial values inside mobile cards. */
.review-card,
.review-card *,
.transaction-card,
.transaction-card * {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Compact KYC layout: readable at 320px without clipped limits or hidden content. */
.kyc-page {
    min-width: 0;
    padding-bottom: 118px;
}
.kyc-page > * {
    min-width: 0;
    box-sizing: border-box;
}
.kyc-summary-grid .info-card,
.kyc-summary-grid .info-card * {
    min-width: 0;
}
.kyc-summary-grid .info-card strong {
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
}
.kyc-submission-card .section-head {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    text-align: left;
}
.kyc-submission-card .section-head > div {
    min-width: 0;
}
.kyc-submission-card .section-head h2 {
    line-height: 1.2;
}

@media (max-width: 520px) {
    .kyc-page {
        gap: 10px;
    }
    .kyc-status-card {
        gap: 12px;
        padding: 13px 14px;
        border-radius: 17px;
    }
    .kyc-status-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        border-radius: 13px;
    }
    .kyc-status-card strong {
        font-size: .98rem;
    }
    .kyc-status-card p {
        font-size: .78rem;
        line-height: 1.4;
    }
    .kyc-summary-grid {
        gap: 8px;
    }
    .kyc-summary-grid .info-card {
        display: grid;
        grid-template-columns: 1fr;
        align-content: start;
        justify-items: start;
        gap: 7px;
        min-height: 104px;
        padding: 12px;
        border-radius: 15px;
    }
    .kyc-limit-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        border-radius: 11px;
    }
    .kyc-summary-grid .info-card > div {
        width: 100%;
    }
    .kyc-summary-grid .info-card span {
        font-size: .7rem;
        line-height: 1.25;
    }
    .kyc-summary-grid .info-card strong {
        margin-top: 3px;
        font-size: clamp(.7rem, 3.45vw, .82rem);
        line-height: 1.25;
        letter-spacing: -.015em;
    }
    .kyc-page .transaction-panel {
        padding: 14px;
        border-radius: 18px;
    }
    .kyc-submission-card .section-head {
        gap: 10px;
        margin-bottom: 10px;
    }
    .kyc-submission-card .section-head h2 {
        margin-top: 2px;
        font-size: 1.12rem;
    }
    .kyc-submission-card .section-head .eyebrow {
        font-size: .68rem;
        letter-spacing: .1em;
    }
    .kyc-submission-card .badge {
        flex: 0 0 auto;
        padding: 6px 9px;
        font-size: .7rem;
    }
    .kyc-submission-details {
        gap: 8px;
        margin-top: 8px;
    }
    .kyc-submission-details > div {
        padding: 11px 12px;
        border-radius: 13px;
    }
}
/* 2026 compact product UI (kept last to supersede legacy mobile rules). */
.preloader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#eef7fa;opacity:1;visibility:visible;transform:translateZ(0);transition:opacity .42s ease,visibility .42s ease}.preloader:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(20,204,143,.13),transparent 42%)}.preloader.is-leaving{opacity:0}.preloader.is-hidden{display:none!important;visibility:hidden;pointer-events:none}.preloader-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;width:min(310px,calc(100vw - 40px));padding:15px 17px;border:1px solid rgba(8,66,120,.1);border-radius:20px;background:#fff;box-shadow:0 22px 60px rgba(8,48,86,.16);animation:preloader-arrive .38s ease both;transition:transform .42s ease,opacity .3s ease}.preloader.is-leaving .preloader-card{transform:translateY(-8px) scale(.97);opacity:0}.preloader-brand{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#fff;background:linear-gradient(145deg,#12ca8a,#0879b9);font-weight:900;font-size:1.25rem;box-shadow:0 8px 20px rgba(10,174,121,.2)}.preloader-copy{display:grid;gap:2px}.preloader-copy strong{color:#102338}.preloader-copy small{color:#718198;font-size:.72rem}.preloader-dots{display:flex;gap:4px}.preloader-dots i{width:6px;height:6px;border-radius:50%;background:#10c98a;animation:ep-dot 1s infinite ease-in-out}.preloader-dots i:nth-child(2){animation-delay:.14s}.preloader-dots i:nth-child(3){animation-delay:.28s}@keyframes ep-dot{0%,70%,100%{transform:translateY(0);opacity:.35}35%{transform:translateY(-5px);opacity:1}}@keyframes preloader-arrive{from{transform:translateY(7px) scale(.98);opacity:0}to{transform:none;opacity:1}}.button-loader{position:relative;width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:recipient-spin .65s linear infinite}
.savings-page,.stock-page,.income-page,.referral-page{width:min(100%,900px);min-width:0;overflow:hidden;margin-inline:auto}.savings-page>*,.stock-page>*,.income-page>*,.referral-page>*{min-width:0;max-width:100%}.savings-page .profile-grid,.stock-page .profile-grid,.income-page .income-summary-grid,.referral-page .referral-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:visible;padding:0}.savings-page .info-card,.stock-page .info-card,.income-page .info-card,.referral-page .info-card{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0;min-height:88px;padding:14px 15px;border-radius:17px;overflow:hidden}.savings-page .info-card span,.stock-page .info-card span,.income-page .info-card span,.referral-page .info-card span{font-size:.75rem;line-height:1.2}.savings-page .info-card strong,.stock-page .info-card strong,.income-page .info-card strong,.referral-page .info-card strong{font-size:.94rem;line-height:1.25;overflow-wrap:anywhere}.income-page .income-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.income-page .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.income-page .plan-card{display:grid;gap:13px;padding:17px;border-radius:20px}.income-page .plan-card h2{font-size:1.12rem;margin:9px 0 3px}.income-page .plan-card p{font-size:.79rem;line-height:1.45;margin:0}.income-page .plan-meta{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#f2f7fb;border-radius:14px;overflow:hidden}.income-page .plan-meta span{padding:9px 10px;font-size:.72rem;border-bottom:1px solid #dfe9f2}.income-page .plan-meta span:nth-last-child(-n+2){border-bottom:0}.income-page .income-subscribe-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.income-page .income-subscribe-form .btn{min-height:42px}.referral-share-card{min-width:0}.referral-link-box{display:grid;gap:6px;min-width:0}.referral-link-text{display:block;max-width:100%;padding:10px 12px;border-radius:12px;background:#f1f7fa;font-family:inherit!important;font-size:.78rem!important;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.referral-share-actions{flex-wrap:nowrap}
@media(max-width:600px){.savings-page,.stock-page,.income-page,.referral-page{padding-inline:14px}.savings-page .dashboard-hero,.stock-page .dashboard-hero,.income-page .dashboard-hero,.referral-page .dashboard-hero{padding:20px 17px;border-radius:20px}.savings-page .dashboard-hero h1,.stock-page .dashboard-hero h1,.income-page .dashboard-hero h1,.referral-page .dashboard-hero h1{font-size:1.55rem;line-height:1.16}.savings-page .dashboard-hero .lead,.stock-page .dashboard-hero .lead,.income-page .dashboard-hero .lead,.referral-page .dashboard-hero .lead{font-size:.82rem;line-height:1.48}.savings-page .profile-grid,.stock-page .profile-grid,.referral-page .referral-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.savings-page .profile-grid .info-card:first-child,.stock-page .profile-grid .info-card:first-child,.referral-page .referral-summary-grid .info-card:last-child{grid-column:1/-1}.income-page .income-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.income-page .info-card{min-height:78px;padding:11px 12px}.income-page .plan-grid{grid-template-columns:1fr}.income-page .plan-card{padding:14px}.income-page .income-subscribe-form{grid-template-columns:1fr auto}.referral-share-card{display:grid;grid-template-columns:1fr;padding:14px}.referral-share-actions{display:grid;grid-template-columns:1fr 1fr}.referral-share-actions .btn{justify-content:center}}@media(max-width:380px){.income-page .income-subscribe-form{grid-template-columns:1fr}.income-page .income-subscribe-form .btn{width:100%}}
 .btn-google{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:#17283d;background:#fff;border:1px solid #d8e2ec;box-shadow:0 5px 16px rgba(11,47,80,.06)}.btn-google svg{width:20px;height:20px}.auth-divider{display:flex;align-items:center;gap:10px;color:#8290a3;font-size:.75rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#dfe7ee}

/* Mobile-first card foundation: explicitly cancel the legacy horizontal card rail. */
.income-page .account-grid,.savings-page .account-grid,.stock-page .account-grid,.referral-page .account-grid{
 display:grid!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:9px!important;width:100%!important;max-width:100%!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important
}
.income-page .account-grid .info-card,.savings-page .account-grid .info-card,.stock-page .account-grid .info-card,.referral-page .account-grid .info-card{
 grid-column:auto;align-self:stretch;min-width:0!important;width:auto!important;max-width:100%!important;height:auto!important;min-height:82px!important;aspect-ratio:auto!important;
 padding:12px!important;border-radius:16px!important;scroll-snap-align:none!important
}
.income-page .account-grid .info-card span,.savings-page .account-grid .info-card span,.stock-page .account-grid .info-card span,.referral-page .account-grid .info-card span{margin:0 0 5px;font-size:.7rem;white-space:normal}
.income-page .account-grid .info-card strong,.savings-page .account-grid .info-card strong,.stock-page .account-grid .info-card strong,.referral-page .account-grid .info-card strong{font-size:clamp(.78rem,3.7vw,.92rem);white-space:normal;overflow-wrap:anywhere}
.income-page .account-grid .info-card:first-child,.savings-page .account-grid .info-card:first-child,.stock-page .account-grid .info-card:first-child{grid-column:auto!important}
.income-page .account-grid .info-card:last-child:nth-child(odd),.savings-page .account-grid .info-card:last-child:nth-child(odd),.stock-page .account-grid .info-card:last-child:nth-child(odd),.referral-page .account-grid .info-card:last-child:nth-child(odd){grid-column:1/-1!important}
.income-page .plan-grid,.stock-page .plan-grid,.cooperative-page .plan-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%;min-width:0}
.income-page .plan-card,.stock-page .plan-card,.cooperative-page .plan-card{min-width:0!important;width:100%!important;max-width:100%!important;height:auto!important;padding:14px!important;border-radius:18px!important;overflow:hidden}
.income-page .plan-meta,.cooperative-page .plan-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-radius:13px;background:#f1f6fa;overflow:hidden}
.income-page .plan-meta span,.cooperative-page .plan-meta span{min-width:0;padding:9px;font-size:.71rem;line-height:1.35;overflow-wrap:anywhere;border-bottom:1px solid #dfe8ef}
.income-page .income-subscribe-form,.stock-page .stock-card form{display:grid!important;grid-template-columns:minmax(0,1fr)!important}.income-page .income-subscribe-form .btn,.stock-page .stock-card form .btn{width:100%!important}
.cooperative-page{width:100%;min-width:0;overflow:hidden;padding-inline:14px}.cooperative-page>*{min-width:0;max-width:100%}.cooperative-create-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}.cooperative-create-card,.cooperative-side-card{min-width:0;width:100%;padding:14px!important;border-radius:18px!important}.cooperative-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.cooperative-form-grid .field-wide{grid-column:1/-1!important}.cooperative-page input,.cooperative-page select{min-width:0;width:100%;font-size:.88rem!important}.cooperative-page .row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cooperative-page .row-actions .btn{width:100%;min-width:0;padding:9px 7px;font-size:.74rem}.cooperative-page .transaction-item{min-width:0}
@media(max-width:339px){.cooperative-form-grid{grid-template-columns:minmax(0,1fr)!important}.cooperative-form-grid>*{grid-column:1!important}}
@media(min-width:700px){.income-page .account-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.savings-page .account-grid,.stock-page .account-grid,.referral-page .account-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.income-page .account-grid .info-card:last-child:nth-child(odd),.savings-page .account-grid .info-card:last-child:nth-child(odd),.stock-page .account-grid .info-card:last-child:nth-child(odd),.referral-page .account-grid .info-card:last-child:nth-child(odd){grid-column:auto!important}.income-page .plan-grid,.stock-page .plan-grid,.cooperative-page .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cooperative-create-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr)!important}}
.signup-progress{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px}.signup-progress span{display:flex;align-items:center;gap:7px;padding:9px;border-radius:12px;background:#edf2f7;color:#77869a;font-size:.72rem;font-weight:800}.signup-progress b{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#dce6ee;color:#52657c}.signup-progress span.active{background:#e9f8f2;color:#087956}.signup-progress span.active b{background:#14c98a;color:#fff}.signup-step{display:grid;gap:14px;animation:signup-step-in .25s ease}.signup-step[hidden]{display:none!important}.signup-final-actions{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:9px}.signup-final-actions .btn{width:100%}@keyframes signup-step-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}.totp-setup{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:16px;border:1px solid #dce7ef;border-radius:18px;background:#f6fafc}.totp-setup #admin-totp-qr{padding:8px;border-radius:12px;background:#fff}.totp-setup code{display:block;max-width:100%;margin-top:9px;padding:9px;border-radius:9px;background:#e8f1f7;overflow-wrap:anywhere;font-size:.72rem}.mfa-enabled-card{padding:16px;border:1px solid #bce8d8;border-radius:16px;background:#edfaf5}.mfa-enabled-card strong,.mfa-enabled-card span{display:block}.mfa-enabled-card span{margin-top:5px;color:#56766b;font-size:.8rem}@media(max-width:560px){.totp-setup{grid-template-columns:1fr;justify-items:center;text-align:center}}
.auth-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* Data bundle duration filters and balanced dashboard shortcuts. */
.bill-plan-tabs{display:flex;gap:7px;max-width:100%;padding:2px 0 4px;overflow-x:auto;scrollbar-width:none}
.bill-plan-tabs::-webkit-scrollbar{display:none}
.bill-plan-tabs button{flex:0 0 auto;min-height:34px;padding:7px 13px;border:1px solid #dbe6ef;border-radius:999px;color:#607188;background:#f4f7fa;font:inherit;font-size:.72rem;font-weight:850;cursor:pointer}
.bill-plan-tabs button.active{border-color:var(--blue);color:#fff;background:var(--blue);box-shadow:0 6px 15px rgba(6,59,122,.16)}
.bill-plan-card[hidden]{display:none!important}
.bills-page[data-bill-category="data"] .bill-provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.bills-page[data-bill-category="data"] .bill-provider-card{min-height:76px;padding:8px 5px}
.bills-page[data-bill-category="data"] .bill-provider-card img,.bills-page[data-bill-category="data"] .bill-provider-card .bill-provider-fallback{width:32px;height:32px}
.bills-page[data-bill-category="data"] .bill-provider-card strong{font-size:.65rem}
.mobile-home .service-grid:has(>a:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
.recent-icon svg{width:25px!important;height:25px!important;stroke-width:2.2!important}
@media(min-width:560px){.bill-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Refined dashboard transaction icon badge. */
.mobile-home .recent-icon{position:relative;border-radius:15px!important;border:1px solid transparent;isolation:isolate;box-shadow:0 7px 16px rgba(18,48,78,.08),inset 0 1px 0 rgba(255,255,255,.75)}
.mobile-home .recent-icon:before{content:"";position:absolute;inset:5px;z-index:-1;border-radius:11px;background:rgba(255,255,255,.56)}
.mobile-home .recent-icon svg{width:23px!important;height:23px!important;min-width:23px;min-height:23px;stroke-width:2.35!important}
.mobile-home .recent-icon.debit{color:#df4450;border-color:#f7d9dd;background:linear-gradient(145deg,#fff4f5,#fee7e9)}
.mobile-home .recent-icon.credit{color:#07885f;border-color:#cdeee2;background:linear-gradient(145deg,#effcf7,#dff7ee)}
@media(max-width:430px){.mobile-home .recent-card{--recent-icon-size:42px}.mobile-home .recent-icon{border-radius:14px!important}.mobile-home .recent-icon:before{inset:4px;border-radius:10px}.mobile-home .recent-icon svg{width:21px!important;height:21px!important;min-width:21px;min-height:21px}}

/* Final interaction polish: lighter dashboard labels, clear switches and compact toasts. */
.mobile-home .service-grid strong,.mobile-home .action-strip strong{font-size:.82rem!important;font-weight:680!important;line-height:1.25;letter-spacing:-.01em}.mobile-home .service-grid svg,.mobile-home .action-strip svg{stroke-width:2.15!important}.mobile-home .service-grid span,.mobile-home .action-strip span{font-weight:700!important}
.btn.is-loading::after{margin-left:0}.btn.is-loading:has(.button-loader)::after{display:none!important}
[data-session-lock-setting] .profile-pill{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:25px;padding:0 9px;border-radius:999px;color:#fff;background:#0aaf7d;font-size:.65rem;font-weight:850;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}[data-session-lock-setting].is-disabled .profile-pill{color:#68788c;background:#dfe6ec}
.toast{position:relative!important;display:grid!important;grid-template-columns:34px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:12px 12px 14px!important;border-radius:16px!important;font-size:.84rem;font-weight:650!important;line-height:1.4;overflow:hidden}.toast-status-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eaf2f8;color:#0a4d82;font-weight:900}.toast-success .toast-status-icon{background:#e1f7ee;color:#07865f}.toast-error .toast-status-icon{background:#feecee;color:#d9434c}.toast-warning .toast-status-icon{background:#fff4d9;color:#b97800}.toast-message{min-width:0}.toast-close{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:9px;color:#718197;background:#edf2f6;font-size:1rem;cursor:pointer}.toast-progress{position:absolute;right:0;bottom:0;left:0;height:3px;background:currentColor;opacity:.28;transform-origin:left;animation:toast-progress 7s linear both}@keyframes toast-progress{to{transform:scaleX(0)}}

/* Mobile-first transaction history cards. */
.transactions-page{padding-bottom:122px}
.transactions-page .transaction-list{gap:10px}
.transactions-page .transaction-card-modern{grid-template-columns:46px minmax(0,1fr) auto 18px;align-items:center;gap:11px;padding:13px;border-color:#dce6ef;border-radius:17px;background:#fff;box-shadow:0 7px 18px rgba(15,48,78,.045);text-decoration:none;overflow:hidden}
.transaction-list-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #dce7f0;border-radius:14px;color:#0a477f;background:linear-gradient(145deg,#eff6fc,#e5f0f8)}
.transaction-list-icon svg{width:22px;height:22px}
.transaction-card-modern.type-debit .transaction-list-icon{color:#db4650;border-color:#f4dadd;background:linear-gradient(145deg,#fff5f6,#fde8ea)}
.transaction-card-modern.type-credit .transaction-list-icon{color:#07885f;border-color:#cfece2;background:linear-gradient(145deg,#f0fcf7,#e1f7ef)}
.transaction-card-modern .transaction-main{display:grid;gap:6px;min-width:0}
.transaction-card-modern .transaction-main>strong{font-size:.9rem;line-height:1.3}
.transaction-card-modern .transaction-meta{display:grid;gap:2px;min-width:0;color:var(--muted);font-size:.7rem;font-weight:700}
.transaction-card-modern .transaction-reference{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#526881;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.67rem}
.transaction-card-modern .transaction-meta time{font:inherit}
.transaction-badges{display:flex!important;align-items:center;gap:5px}
.transaction-card-modern .badge{padding:4px 8px;font-size:.65rem}
.transaction-card-modern .transaction-amount{display:grid;gap:4px;min-width:94px;text-align:right}
.transaction-card-modern .transaction-amount strong{font-size:.89rem;white-space:nowrap}
.transaction-card-modern .transaction-amount small{color:var(--muted);font-size:.66rem;font-weight:700}
.transaction-list-arrow{width:17px;height:17px;color:#8a9aab}
@media(max-width:520px){.transactions-page .transaction-panel{padding:12px}.transactions-page .transaction-card-modern{grid-template-columns:42px minmax(0,1fr) 17px;gap:9px;padding:12px}.transaction-list-icon{width:40px;height:40px;border-radius:13px}.transaction-list-icon svg{width:20px;height:20px}.transaction-card-modern .transaction-main{grid-column:2}.transaction-card-modern .transaction-list-arrow{grid-column:3;grid-row:1/3;align-self:center}.transaction-card-modern .transaction-amount{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;text-align:left}.transaction-card-modern .transaction-amount small{white-space:nowrap}.transaction-card-modern .transaction-main>strong{font-size:.85rem}}

/* Compact savings plans and stock workspace. */
.savings-page .savings-plan-card{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border-radius:16px;background:linear-gradient(145deg,#fff,#f9fcfe)}
.savings-plan-icon,.stock-list-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:#087c5c;background:#e5f7f0}
.savings-plan-icon svg,.stock-list-icon svg{width:21px;height:21px}
.savings-plan-card .transaction-main{display:grid;gap:4px;min-width:0}
.savings-plan-card .transaction-main>strong{font-size:.85rem;line-height:1.25;overflow-wrap:anywhere}
.savings-plan-card .transaction-main .badge{justify-self:start;padding:4px 8px;font-size:.64rem}
.savings-plan-card .transaction-amount{display:grid;gap:2px;text-align:right}
.savings-plan-card .transaction-amount small{color:var(--muted);font-size:.65rem;font-weight:700}
.savings-plan-card .transaction-amount span{font-size:.85rem;font-weight:900;white-space:nowrap}
.savings-page .savings-plan-card form{grid-column:2/-1!important;justify-self:start!important}
.savings-page .savings-plan-card form .btn{display:inline-flex;align-items:center;gap:6px;width:auto!important;min-height:34px!important;padding:7px 10px!important;border-radius:10px;font-size:.7rem!important}
.savings-plan-card form .btn svg{width:15px;height:15px}
.stock-page .stock-card{gap:10px!important;padding:13px!important;border:1px solid #dce7ef!important;background:linear-gradient(145deg,#fff,#f7fbfd)!important;box-shadow:0 8px 22px rgba(15,48,78,.05)!important}
.stock-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.stock-page .stock-card .stock-card-head h2{margin:0;font-size:1.02rem}
.stock-card-head .badge{order:2;font-size:.65rem;padding:5px 8px}
.stock-metric-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:6px}
.stock-metric-grid>span{display:grid;gap:3px;min-width:0;padding:9px;border-radius:12px;background:#eef4f8}
.stock-metric-grid small{color:var(--muted);font-size:.62rem;font-weight:700}
.stock-metric-grid strong{font-size:.78rem;overflow-wrap:anywhere}
.stock-metric-grid .gain{background:#eaf8f2}.stock-metric-grid .loss{background:#fff0f1}
.stock-page .stock-card>.form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important}
.stock-page .stock-card>.form input{height:42px;padding:9px 11px;font-size:.8rem!important}
.stock-page .stock-card>.form .btn{width:auto!important;min-width:94px;min-height:42px!important;padding:8px 12px!important;font-size:.76rem}
.stock-page .stock-holding-card{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:12px;border-radius:16px}
.stock-holding-card .transaction-main{min-width:0}
.stock-inline-metrics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
.stock-inline-metrics>span{display:grid;gap:2px;min-width:0;padding:7px 8px;border-radius:10px;background:#f0f5f8}
.stock-inline-metrics small{color:var(--muted);font-size:.61rem}.stock-inline-metrics b{font-size:.72rem;overflow-wrap:anywhere}
.stock-holding-card .admin-action-block{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto!important}
.stock-page .stock-history-card{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:12px;border-radius:16px}
.stock-history-card .transaction-main>strong{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.stock-history-card .transaction-main .badge{font-size:.61rem;padding:3px 7px}
.stock-history-card .transaction-amount{font-size:.82rem;font-weight:900;white-space:nowrap}
@media(max-width:520px){.savings-page .savings-plan-card{grid-template-columns:40px minmax(0,1fr)}.savings-plan-card .transaction-amount{grid-column:2;display:flex;align-items:center;justify-content:space-between;text-align:left}.savings-page .savings-plan-card form{grid-column:2!important}.stock-page .stock-history-card{grid-template-columns:38px minmax(0,1fr)}.stock-history-card .transaction-amount{grid-column:2;text-align:left}.stock-list-icon{width:38px;height:38px}.stock-page .transaction-panel{padding:12px!important}}
@media(max-width:340px){.stock-page .stock-card>.form{grid-template-columns:1fr!important}.stock-page .stock-card>.form .btn{width:100%!important}.stock-metric-grid{grid-template-columns:1fr 1fr}.stock-metric-grid>span:first-child{grid-column:1/-1}}

/* Compact smart-earnings subscriptions. */
.income-page .smart-earning-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:13px!important;border-color:#dce7ef;border-radius:17px;background:linear-gradient(145deg,#fff,#f8fcfd);box-shadow:0 8px 20px rgba(15,48,78,.045)}
.smart-earning-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px}
.smart-earning-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:#087e5c;background:#e4f7ef}
.smart-earning-icon svg{width:21px;height:21px}
.smart-earning-head>span:nth-child(2){display:grid;gap:2px;min-width:0}
.smart-earning-head strong{font-size:.88rem;line-height:1.25}.smart-earning-head small{color:var(--muted);font-size:.68rem;font-weight:700}
.smart-earning-head>.badge{padding:5px 8px;font-size:.64rem}
.smart-earning-metrics{display:grid;grid-template-columns:1.25fr .8fr .65fr;gap:6px}
.smart-earning-metrics>span{display:grid;gap:3px;min-width:0;padding:8px 9px;border-radius:11px;background:#eff5f8}
.smart-earning-metrics small,.smart-earning-date small,.smart-earning-action small{color:var(--muted);font-size:.61rem;font-weight:700}
.smart-earning-metrics strong{font-size:.73rem;line-height:1.25;overflow-wrap:anywhere}
.smart-cycle-progress{height:5px;overflow:hidden;border-radius:999px;background:#e5edf2}
.smart-cycle-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#12c989,#068a68)}
.smart-earning-date{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border-radius:12px;background:#f7fafc}
.smart-earning-date>svg{width:19px;height:19px;color:#0a4c82}
.smart-earning-date>span:nth-child(2){display:grid;gap:2px}.smart-earning-date strong{font-size:.7rem;line-height:1.3}
.smart-earning-date .countdown{padding:5px 7px;border-radius:9px;color:#075f49;background:#dff5ed;font-size:.63rem;font-weight:850;white-space:nowrap}
.smart-next-cycle{color:var(--muted);font-size:.65rem;font-weight:700}
.smart-earning-action{display:flex;align-items:center;justify-content:flex-end;padding-top:8px;border-top:1px solid #e4ebf1}
.smart-earning-action>span{display:flex;align-items:center;gap:7px}.smart-earning-action strong{font-size:.86rem}.smart-earning-action form{width:auto}.smart-earning-action .btn{min-height:35px!important;padding:7px 11px!important;font-size:.72rem!important}
@media(max-width:430px){.income-page .transaction-panel{padding:12px}.smart-earning-metrics{grid-template-columns:1.2fr .8fr .7fr}.smart-earning-head{grid-template-columns:38px minmax(0,1fr) auto}.smart-earning-icon{width:38px;height:38px}.smart-earning-date{grid-template-columns:28px minmax(0,1fr)}.smart-earning-date .countdown{grid-column:2;justify-self:start}.smart-earning-action{justify-content:space-between}}

/* Contained, scrollable mobile-data plan catalogue. */
.bills-page[data-bill-category="data"] [data-bill-plan-section]{gap:9px;padding:12px;border:1px solid #dce8f1;border-radius:18px;background:linear-gradient(180deg,#f8fcff,#f1f7fb)}
.bills-page[data-bill-category="data"] .bill-plan-tabs{margin:0 -2px;padding:1px 2px 5px}
.bills-page[data-bill-category="data"] .bill-plan-tabs button{border-color:#d4e1ec;background:#fff;box-shadow:0 3px 9px rgba(14,53,88,.04)}
.bills-page[data-bill-category="data"] .bill-plan-tabs button.active{border-color:#074a86;background:linear-gradient(145deg,#0a5598,#063b7a);box-shadow:0 7px 16px rgba(6,59,122,.2)}
.bills-page[data-bill-category="data"] .bill-plan-grid{max-height:clamp(290px,52dvh,470px);padding:2px 5px 88px 2px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9eb5c8 transparent;scroll-padding-bottom:88px}
.bills-page[data-bill-category="data"] .bill-plan-grid::-webkit-scrollbar{width:5px}
.bills-page[data-bill-category="data"] .bill-plan-grid::-webkit-scrollbar-thumb{border-radius:999px;background:#9eb5c8}
.bills-page[data-bill-category="data"] .bill-plan-card{min-height:142px;align-content:start;border-color:#d7e4ef;background:linear-gradient(145deg,#fff,#f8fbfe);box-shadow:0 5px 13px rgba(15,54,88,.04)}
.bills-page[data-bill-category="data"] .bill-plan-card:nth-child(3n+2){background:linear-gradient(145deg,#fff,#f5fbf8)}
.bills-page[data-bill-category="data"] .bill-plan-card:nth-child(3n+3){background:linear-gradient(145deg,#fff,#f8f6ff)}
.bills-page[data-bill-category="data"] .bill-plan-icon{color:#09639e;background:#e4f2fb}
.bills-page[data-bill-category="data"] .bill-plan-info small{color:#67809a;font-size:.63rem;letter-spacing:.04em;text-transform:uppercase}
.bills-page[data-bill-category="data"] .bill-plan-info strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;font-size:.75rem;line-height:1.35}
.bills-page[data-bill-category="data"] .bill-plan-price{align-self:end;justify-self:start;margin-top:auto;padding:5px 8px;border-radius:9px;color:#06477e;background:#e8f3fb;font-size:.74rem;font-weight:900}
.bills-page[data-bill-category="data"] .bill-plan-card.is-selected{border-color:#0a9a70;background:linear-gradient(145deg,#f0fcf7,#e5f8f0);box-shadow:inset 0 0 0 1px #0a9a70,0 7px 16px rgba(10,154,112,.1)}
.bills-page[data-bill-category="data"] .bill-plan-card.is-selected .bill-plan-price{color:#087657;background:#d5f2e7}
@media(max-width:390px){.bills-page[data-bill-category="data"] [data-bill-plan-section]{padding:10px}.bills-page[data-bill-category="data"] .bill-plan-grid{gap:8px;max-height:48dvh;padding-bottom:84px}.bills-page[data-bill-category="data"] .bill-plan-card{min-height:132px;padding:9px 7px}.bills-page[data-bill-category="data"] .bill-plan-info strong{font-size:.71rem}.bills-page[data-bill-category="data"] .bill-plan-price{font-size:.69rem}}

/* Application-wide iOS-style custom select. */
.app-select{position:relative;display:block;width:100%;min-width:0}
.app-select-native{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;opacity:0!important;pointer-events:none!important}
.app-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #d7e3ed;border-radius:14px;color:var(--ink);background:linear-gradient(180deg,#fff,#f9fbfd);font:inherit;font-size:.88rem;font-weight:650;text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.app-select-trigger:hover,.app-select-trigger:focus-visible{outline:none;border-color:#77a4c8;box-shadow:0 0 0 3px rgba(9,84,145,.1)}
.app-select-trigger:disabled{color:#8b99a9;background:#f0f4f7;cursor:not-allowed}
.app-select-trigger.is-placeholder{color:#718197;font-weight:550}
.app-select-trigger>span{display:flex;align-items:center;gap:9px;min-width:0;overflow:hidden;white-space:nowrap}
.app-select-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis}
.app-select-trigger>svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:#164d7d;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.app-select-layer[hidden]{display:none!important}
.app-select-layer{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px}
.app-select-backdrop{position:absolute;inset:0;border:0;background:rgba(8,22,38,.45);backdrop-filter:blur(5px)}
.app-select-sheet{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr);width:min(430px,100%);max-height:min(640px,78dvh);overflow:hidden;border:1px solid rgba(255,255,255,.6);border-radius:24px;background:#f4f7fa;box-shadow:0 28px 70px rgba(4,25,44,.28);animation:app-select-in .22s ease both}
.app-select-sheet header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px 12px;border-bottom:1px solid #dfe7ed;background:rgba(255,255,255,.82)}
.app-select-sheet header>span{display:grid;gap:2px}.app-select-sheet header small{color:#718197;font-size:.65rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.app-select-sheet header strong{font-size:1rem}
.app-select-sheet header button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:11px;color:#174d79;background:#e8f0f6;cursor:pointer}
.app-select-sheet header svg,.app-select-option>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.app-select-options{display:grid;align-content:start;gap:1px;padding:10px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.app-select-search{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:9px;margin:10px 12px 0;padding:0 12px;border:1px solid #d8e4ed;border-radius:13px;background:#fff}
.app-select-search[hidden]{display:none!important}.app-select-search svg{width:19px;height:19px;fill:none;stroke:#688099;stroke-width:2;stroke-linecap:round}.app-select-search input{width:100%;min-width:0;min-height:43px;padding:8px 0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font:inherit;font-size:.82rem}
.app-select-option{display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:10px;width:100%;min-height:52px;padding:9px 12px;border:0;border-bottom:1px solid #e5ebf0;color:var(--ink);background:#fff;font:inherit;text-align:left;cursor:pointer}
.app-select-option[hidden]{display:none!important}
.passkey-button{display:flex!important;align-items:center;justify-content:center;gap:9px}.passkey-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.passkey-settings .section-head{align-items:flex-start}.passkey-settings>.btn{width:auto;min-width:190px}.passkey-settings .field-help{margin-top:11px}.auth-more-options{border:1px solid #dce6ee;border-radius:14px;background:#f8fafc}.auth-more-options summary{padding:12px 14px;color:#08477f;font-size:.82rem;font-weight:850;text-align:center;cursor:pointer;list-style:none}.auth-more-options summary::-webkit-details-marker{display:none}.auth-more-options summary:after{content:'+';margin-left:8px;font-size:1rem}.auth-more-options[open] summary:after{content:'−'}.auth-more-options-body{display:grid;gap:10px;padding:0 10px 10px}.field-inline-link{align-self:flex-start;margin-top:7px;padding:0;border:0;color:#0864a5;background:none;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.clipboard-number{margin:14px 0;padding:12px;border-radius:12px;background:#edf5fb;color:#073e70;font-size:1.05rem;font-weight:900;letter-spacing:.08em;text-align:center}.clipboard-action-modal{display:grid}
.app-select-option:first-child{border-radius:14px 14px 0 0}.app-select-option:last-child{border-bottom:0;border-radius:0 0 14px 14px}.app-select-option:only-child{border-radius:14px}
.app-select-option:hover{background:#edf6fc}.app-select-option.is-selected{color:#075b43;background:#e8f8f2}.app-select-option.is-selected>svg{justify-self:end;color:#07956c}
.app-select-option:disabled{color:#9aa5b2;background:#f4f6f8;cursor:not-allowed}
.app-select-option strong{display:block;font-size:.84rem;line-height:1.35}
.app-select-media{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;flex:0 0 36px;border:1px solid #dbe7ef;border-radius:11px;color:#0a4f84;background:#edf5fa;overflow:hidden}
.app-select-media{position:relative}.app-select-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#fff}.app-select-media svg{width:19px!important;height:19px!important;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.app-select-trigger .app-select-media{width:30px!important;height:30px!important;flex-basis:30px;border-radius:9px}.app-select-trigger .app-select-media svg{width:16px!important;height:16px!important}
.app-select-check{justify-self:end;color:#07956c}
.app-select-open{overflow:hidden}
@keyframes app-select-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:560px){.app-select-layer{align-items:end;padding:0}.app-select-sheet{width:100%;max-height:72dvh;border-radius:24px 24px 0 0;padding-bottom:max(10px,env(safe-area-inset-bottom));animation-name:app-select-up}.app-select-sheet header{padding:16px}.app-select-options{padding:10px 12px 14px}.app-select-option{min-height:50px}@keyframes app-select-up{from{opacity:.7;transform:translateY(100%)}to{opacity:1;transform:none}}}

/* Currency-prefixed amount controls. */
.money-input-wrap{position:relative;display:block;width:100%;min-width:0}
.money-input-prefix{position:absolute;left:13px;top:50%;z-index:2;transform:translateY(-50%);color:#0b4b7f;font-size:.92rem;font-weight:900;pointer-events:none}
.money-input-wrap>input{width:100%!important;padding-left:31px!important}
.money-input-wrap:focus-within .money-input-prefix{color:#07885f}
.toast-status-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.returning-passkey-card{text-align:center;padding:24px 18px;border:1px solid #dce7f1;border-radius:24px;background:linear-gradient(155deg,#f2fbf8,#fff);box-shadow:0 16px 35px rgba(13,65,110,.09)}
.returning-passkey-avatar{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 14px;border-radius:24px;background:#e5f3ee;color:#087b59}.returning-passkey-avatar svg,.passkey-primary-button svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.returning-passkey-card p{margin:0;color:#718197}.returning-passkey-card h2{margin:5px 0;font-size:1.35rem}.returning-passkey-card>span:not(.returning-passkey-avatar){color:#61738b}.passkey-primary-button{margin-top:20px}.passkey-primary-button svg{width:23px;height:23px}.auth-text-button{margin-top:12px;border:0;background:transparent;color:#064781;font-weight:700;cursor:pointer}
[data-password-login-panel][hidden],[data-returning-passkey][hidden]{display:none!important}.auth-panel:has([data-returning-passkey]:not([hidden]))>h1{display:none}.returning-passkey-card{margin-top:20px}.returning-passkey-card .passkey-primary-button{min-height:54px;border-radius:15px}.returning-passkey-card .auth-text-button{padding:10px 6px;font-size:.82rem}.returning-passkey-card [data-passkey-profile-phone]{display:block;margin-top:2px;font-size:.88rem;letter-spacing:.04em}
.support-page{max-width:1000px}.support-hero,.support-compose-card,.support-chat-card,.support-ticket-list{margin:18px 0;padding:22px;border:1px solid #d9e5ef;border-radius:24px;background:#fff}.support-hero{color:#fff;background:linear-gradient(135deg,#073d77,#0b5794)}.support-hero h1{margin:6px 0;font-size:1.65rem}.support-hero p:last-child{margin-bottom:0;color:#dceafa}.support-ticket-head,.support-ticket-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.support-ticket-head h2{margin:4px 0}.support-status{flex:none;padding:6px 9px;border-radius:999px;background:#edf2f6;color:#53667d;font-size:.72rem;font-weight:800;text-transform:capitalize}.support-status.is-open{background:#e2f7ef;color:#07835f}.support-status.is-pending_user{background:#fff1d7;color:#a66c00}.support-status.is-resolved{background:#e6f0ff;color:#155b9c}.support-thread{display:flex;flex-direction:column;gap:10px;max-height:440px;margin:18px 0;padding:12px;overflow:auto;background:#f5f8fb;border-radius:18px}.support-bubble{max-width:82%;padding:12px 14px;border-radius:17px;background:#fff;box-shadow:0 4px 12px rgba(12,49,82,.06)}.support-bubble.user{align-self:flex-end;color:#fff;background:#074882}.support-bubble p{margin:5px 0;white-space:normal;overflow-wrap:anywhere}.support-bubble time{font-size:.68rem;opacity:.7}.support-ticket-row{padding:13px 2px;border-bottom:1px solid #edf1f5;color:#102239;text-decoration:none}.support-ticket-row>span:first-child{display:grid;gap:3px}.support-ticket-row small{color:#718197}.admin-support-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(380px,1.2fr);gap:18px}.bank-transfer-form [data-bank-select-wrap][hidden]{display:none!important}@media(max-width:700px){.support-hero,.support-compose-card,.support-chat-card,.support-ticket-list{padding:16px;border-radius:19px}.admin-support-grid{grid-template-columns:1fr}.support-bubble{max-width:90%}}
.onboarding-security-page{align-items:flex-start;padding-top:clamp(24px,7vh,70px)}.onboarding-security-card{max-width:580px}.onboarding-progress{display:flex;align-items:center;justify-content:center;margin-bottom:24px}.onboarding-progress span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#718197;background:#e8eef4;font-weight:900}.onboarding-progress span.complete,.onboarding-progress span.active{color:#fff;background:#10bb83}.onboarding-progress i{width:80px;height:3px;background:#bfeadd}.onboarding-choice-list{display:grid;gap:12px;margin:24px 0}.onboarding-choice{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #dbe6ee;border-radius:17px;background:#fbfdff}.onboarding-choice-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#07528c;background:#eaf2f8}.onboarding-choice-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.onboarding-choice div{display:grid;gap:3px}.onboarding-choice small{color:#718197}.onboarding-pin-form{margin:0 0 18px;padding:16px;border-radius:17px;background:#f3f7fa}.onboarding-skip{display:block;text-align:center;text-decoration:none}
.biometric-lock-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 85% 15%,rgba(20,192,132,.22),transparent 30%),radial-gradient(circle at 5% 85%,rgba(12,84,145,.24),transparent 35%),#031321}.biometric-lock-card{width:min(100%,420px);padding:30px 24px;text-align:center;color:#fff}.lock-brand{display:inline-flex;align-items:center;gap:9px;color:#fff;text-decoration:none}.lock-user{margin-top:32px}.lock-user span,.lock-user p,.lock-prompt{color:#b9cada}.lock-user h1{margin:5px 0;font-size:1.75rem}.lock-prompt{max-width:300px;margin:24px auto 20px}.lock-biometric-panel{display:grid;transition:opacity .2s ease,transform .24s ease}.fingerprint-orb{display:grid;place-items:center;width:132px;height:132px;margin:0 auto 26px;border:2px solid rgba(23,204,144,.42);border-radius:50%;color:#05283a;background:#19cc91;box-shadow:0 0 0 14px rgba(25,204,145,.08),0 18px 48px rgba(0,0,0,.3);cursor:pointer;animation:fingerprint-breathe 2.4s ease-in-out infinite}.fingerprint-orb svg{width:66px;height:66px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.lock-biometric-button{width:100%;min-height:54px;color:#042b3b;background:#19cc91}.lock-other-method{margin-top:14px}.lock-other-method summary{display:flex;justify-content:center;align-items:center;gap:8px;padding:15px;color:#d9e6ee;cursor:pointer;list-style:none}.lock-other-method summary::-webkit-details-marker{display:none}.lock-other-method summary:before{content:'⌄';font-size:1.15rem;transition:transform .2s ease}.lock-other-method[open] summary:before{transform:rotate(180deg)}.lock-other-method .form{margin-top:8px;padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:20px;text-align:left;color:#102239;background:#fff;box-shadow:0 18px 42px rgba(0,0,0,.2);animation:lock-form-in .24s ease}.lock-other-method .auth-text-button{display:inline-block;margin-top:18px;color:#bcd3e1;text-decoration:none}.biometric-lock-card.alternative-active .lock-biometric-panel{display:none}.biometric-lock-card.alternative-active .lock-user{margin-top:24px}.biometric-lock-card.alternative-active .lock-other-method{margin-top:24px}.biometric-lock-card.alternative-active .lock-other-method summary{font-weight:800;color:#fff}@keyframes fingerprint-breathe{50%{box-shadow:0 0 0 21px rgba(25,204,145,.035),0 20px 52px rgba(0,0,0,.34);transform:scale(1.025)}}@keyframes lock-form-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:480px){.biometric-lock-page{padding:0}.biometric-lock-card{min-height:100dvh;padding:24px 22px}.lock-user{margin-top:25px}.fingerprint-orb{width:118px;height:118px}.lock-other-method .form{padding:17px}}
.support-page .page-topbar{position:sticky;top:0;z-index:5;margin:0;padding:10px 4px;background:rgba(242,248,251,.94);backdrop-filter:blur(12px)}.support-reply{grid-template-columns:minmax(0,1fr) auto!important;align-items:end}.support-reply label{min-width:0}.support-reply .btn{min-height:46px}.support-thread{scroll-behavior:smooth}.support-bubble.staff{border-bottom-left-radius:5px}.support-bubble.user{border-bottom-right-radius:5px}
body:has(.admin-stat-grid) .dashboard-hero{border-radius:22px;background:linear-gradient(135deg,#073d77,#0b5a91)}body:has(.admin-stat-grid) .admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}body:has(.admin-stat-grid) .info-card{min-height:112px;padding:18px;border:1px solid #dce6ef;border-radius:18px;box-shadow:0 9px 24px rgba(15,53,84,.06)}body:has(.admin-stat-grid) .module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}body:has(.admin-stat-grid) .module-card{position:relative;min-height:112px;padding:18px;border:1px solid #dce7ee;border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(15,53,84,.05)}body:has(.admin-stat-grid) .module-card:after{content:'→';position:absolute;right:15px;bottom:14px;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#07598f;background:#e8f3f8}@media(max-width:800px){body:has(.admin-stat-grid) .admin-stat-grid,body:has(.admin-stat-grid) .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-reply{grid-template-columns:1fr!important}.onboarding-choice{grid-template-columns:44px minmax(0,1fr)}.onboarding-choice .btn{grid-column:2;justify-self:start}}
.support-topbar{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px}.support-topbar>strong{min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.support-topbar .icon-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:14px}.support-topbar .icon-button svg,.page-topbar .icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.support-presence{display:inline-flex;align-items:center;gap:6px;margin-top:5px;color:#7a8999;font-size:.72rem;font-weight:700}.support-presence i{width:8px;height:8px;border-radius:50%;background:#aab5bf}.support-presence.is-online{color:#07835f}.support-presence.is-online i{background:#10bd82;box-shadow:0 0 0 4px rgba(16,189,130,.12)}.support-attachment{display:flex;align-items:center;gap:6px;margin:7px 0;padding:9px 10px;border-radius:10px;color:#07548b;background:#eaf3f8;font-size:.75rem;font-weight:800;text-decoration:none}.support-bubble.user .support-attachment{color:#073d70;background:rgba(255,255,255,.9)}.support-file-button{display:grid!important;place-items:center!important;width:46px;height:46px;align-self:end;border:1px solid #d8e4ed;border-radius:13px;color:#07548b;background:#edf5fa;cursor:pointer}.support-file-button input{position:absolute;width:1px;height:1px;opacity:0}.support-file-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.admin-support-page .support-reply{grid-template-columns:minmax(0,1fr) 46px minmax(145px,.45fr) auto!important}.navigation-progress-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-content:center;justify-items:center;gap:12px;color:#073d70;background:rgba(238,247,250,.72);backdrop-filter:blur(3px);opacity:0;transition:opacity .16s ease}.navigation-progress-overlay.is-visible{opacity:1}.navigation-progress-spinner{width:48px;height:48px;border:4px solid rgba(7,77,126,.16);border-top-color:#10bd82;border-radius:50%;animation:navigation-spin .72s linear infinite}.navigation-progress-overlay strong{font-size:.82rem}@keyframes navigation-spin{to{transform:rotate(360deg)}}
.devices-page{max-width:820px}.device-session-list{display:grid;gap:12px;margin-top:18px}.device-session-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px;border:1px solid #dbe6ee;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(14,54,85,.05)}.device-session-card.is-current{border-color:#9ce4cc;background:#f4fcf9}.device-session-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#07548b;background:#eaf3f8}.device-session-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}.device-session-title{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.device-session-title span{padding:4px 7px;border-radius:999px;color:#07835f;background:#dff6ee;font-size:.65rem;font-weight:850}.device-session-title span.is-revoked{color:#718197;background:#edf1f4}.device-session-card small{display:block;margin-top:4px;color:#718197}.icon-button.is-placeholder{visibility:hidden}@media(max-width:650px){.admin-support-page .support-reply{grid-template-columns:minmax(0,1fr) 46px!important}.admin-support-page .support-reply label:nth-of-type(3),.admin-support-page .support-reply .btn{grid-column:1/-1}.device-session-card{grid-template-columns:44px minmax(0,1fr)}.device-session-card>.btn{grid-column:2;justify-self:start}}
.support-page:not(.admin-support-page) .support-reply{grid-template-columns:minmax(0,1fr) 46px auto!important}
.onboarding-complete-actions{display:grid;gap:8px}.onboarding-complete-actions .onboarding-skip{justify-self:center;padding:10px 16px}
.admin-portal-shell{--admin-navy:#071d34;--admin-blue:#0b4f86;--admin-green:#17c88b;--admin-bg:#f3f7fb;background:var(--admin-bg);overflow-x:hidden}.admin-layout{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100dvh}.admin-sidebar{position:sticky;top:0;z-index:90;display:flex;flex-direction:column;height:100dvh;padding:18px 14px;color:#d8e5f0;background:linear-gradient(180deg,#071d34,#092945);box-shadow:14px 0 40px rgba(3,25,44,.09);transition:width .25s ease,transform .25s ease}.admin-sidebar-brand{display:grid;grid-template-columns:44px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:4px 5px 18px;border-bottom:1px solid rgba(255,255,255,.09)}.admin-brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#05283b;background:var(--admin-green);font-size:1.25rem;font-weight:950;box-shadow:0 8px 20px rgba(23,200,139,.25)}.admin-sidebar-brand>span:nth-child(2){display:grid}.admin-sidebar-brand strong{color:#fff;font-size:1.03rem}.admin-sidebar-brand small{color:#8eabc1;font-size:.67rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.admin-sidebar-brand button,.admin-mobile-menu{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:10px;color:#abc0d0;background:rgba(255,255,255,.07);cursor:pointer}.admin-sidebar svg,.admin-global-header svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.admin-sidebar-nav{flex:1;display:grid;align-content:start;gap:15px;margin:16px -3px;padding:0 3px 30px;overflow-y:auto;scrollbar-width:thin}.admin-sidebar-nav section{display:grid;gap:3px}.admin-sidebar-nav section>p{margin:0;padding:4px 11px;color:#6688a1;font-size:.61rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.admin-sidebar-nav a{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) 5px;align-items:center;gap:11px;min-height:42px;padding:9px 11px;border-radius:12px;color:#aebfcd;font-size:.78rem;font-weight:730;text-decoration:none;transition:color .18s ease,background .18s ease,transform .18s ease}.admin-sidebar-nav a:hover{color:#fff;background:rgba(255,255,255,.07);transform:translateX(2px)}.admin-sidebar-nav a.active{color:#fff;background:linear-gradient(100deg,rgba(23,200,139,.24),rgba(23,200,139,.08));box-shadow:inset 3px 0 var(--admin-green)}.admin-sidebar-nav a.active b{width:5px;height:5px;border-radius:50%;background:var(--admin-green)}.admin-sidebar-footer{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:7px;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.045)}.admin-sidebar-footer a{display:flex;align-items:center;gap:9px;color:#dbe7ef;text-decoration:none}.admin-sidebar-footer>a:first-child span{display:grid}.admin-sidebar-footer strong{font-size:.72rem}.admin-sidebar-footer small{color:#7595ac;font-size:.59rem}.admin-signout{justify-content:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.07)}.admin-workspace{min-width:0}.admin-global-header{position:sticky;top:0;z-index:70;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:76px;padding:12px clamp(18px,3vw,36px);border-bottom:1px solid #dce6ee;background:rgba(247,250,252,.9);backdrop-filter:blur(14px)}.admin-page-identity{display:grid;gap:2px}.admin-page-identity small{color:#7b8da1;font-size:.65rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.admin-page-identity h1{margin:0;color:#10233e;font-size:clamp(1.15rem,2.2vw,1.48rem);line-height:1.2}.admin-global-actions{display:flex;gap:8px}.admin-global-actions a{display:grid;place-items:center;width:40px;height:40px;border:1px solid #dce6ee;border-radius:12px;color:#315d7f;background:#fff;text-decoration:none;box-shadow:0 5px 15px rgba(16,52,81,.05);transition:.18s ease}.admin-global-actions a:hover{color:#087a59;border-color:#a8e3cf;transform:translateY(-2px)}.admin-mobile-menu{display:none}.admin-content{width:100%;max-width:1540px;margin:0 auto;padding:clamp(18px,3vw,34px)}.admin-content>.dashboard-page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.admin-content>.dashboard-page>.topbar,.admin-content>.dashboard-page>.page-topbar{display:none!important}.admin-content .dashboard-hero{margin:0 0 20px!important;padding:clamp(22px,3vw,34px)!important;border:0!important;border-radius:22px!important;background:linear-gradient(125deg,#0a4477,#0a6386)!important;box-shadow:0 18px 42px rgba(8,66,111,.16)}.admin-content .dashboard-hero h1{font-size:clamp(1.5rem,3vw,2.25rem)!important}.admin-content .dashboard-hero .lead{max-width:760px;color:#d6e9f4!important}.admin-content .flow-panel,.admin-content .transaction-panel,.admin-content .support-chat-card,.admin-content .support-ticket-list{border:1px solid #dce6ee!important;border-radius:19px!important;background:#fff!important;box-shadow:0 9px 30px rgba(12,53,84,.055)!important;animation:admin-card-enter .38s ease both}.admin-content .flow-panel,.admin-content .transaction-panel{padding:clamp(17px,2.4vw,25px)!important}.admin-content .module-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important;gap:13px!important}.admin-content .module-card{min-height:112px!important;border:1px solid #dce6ee!important;border-radius:17px!important;background:#fff!important;box-shadow:0 7px 22px rgba(12,53,84,.045)!important;transition:transform .2s ease,box-shadow .2s ease!important}.admin-content .module-card:hover{transform:translateY(-4px)!important;box-shadow:0 15px 34px rgba(12,53,84,.1)!important}.admin-content .account-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:13px!important}.admin-content .info-card{min-width:0!important;border-radius:17px!important}.admin-content .data-table{min-width:760px}.admin-content .data-table th{position:sticky;top:0;color:#64788d;background:#eef4f8;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.admin-content .data-table td{padding-top:13px;padding-bottom:13px}.admin-content .btn{width:auto;min-height:40px;padding:9px 14px;border-radius:11px}.admin-content .btn-wide{width:100%}.admin-content input,.admin-content select,.admin-content textarea{border-radius:12px!important}.admin-drawer-backdrop{display:none}.admin-layout.is-collapsed{grid-template-columns:82px minmax(0,1fr)}.admin-layout.is-collapsed .admin-sidebar{padding-inline:11px}.admin-layout.is-collapsed .admin-sidebar-brand{grid-template-columns:44px}.admin-layout.is-collapsed .admin-sidebar-brand>span:nth-child(2),.admin-layout.is-collapsed .admin-sidebar-brand button,.admin-layout.is-collapsed .admin-sidebar-nav p,.admin-layout.is-collapsed .admin-sidebar-nav a span,.admin-layout.is-collapsed .admin-sidebar-nav a b,.admin-layout.is-collapsed .admin-sidebar-footer span,.admin-layout.is-collapsed .admin-signout{display:none}.admin-layout.is-collapsed .admin-sidebar-nav a{grid-template-columns:1fr;justify-items:center;padding-inline:8px}.admin-layout.is-collapsed .admin-sidebar-footer{display:grid;grid-template-columns:1fr;justify-items:center;padding:9px}.admin-layout.is-collapsed .admin-sidebar-footer>a:first-child{justify-content:center}@keyframes admin-card-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(max-width:980px){.admin-layout{display:block}.admin-sidebar{position:fixed;left:0;top:0;width:min(82vw,290px);transform:translateX(-105%)}.admin-layout.drawer-open .admin-sidebar{transform:none}.admin-drawer-backdrop{position:fixed;inset:0;z-index:85;display:block;border:0;background:rgba(4,24,42,.48);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .22s ease}.admin-layout.drawer-open .admin-drawer-backdrop{opacity:1;pointer-events:auto}.admin-mobile-menu{display:grid;grid-column:1}.admin-global-header{grid-template-columns:40px minmax(0,1fr) auto;padding:11px 16px}.admin-global-actions a:nth-child(2){display:none}.admin-page-identity small{display:none}.admin-content{padding:16px}.admin-layout.is-collapsed{display:block}.admin-layout.is-collapsed .admin-sidebar{width:min(82vw,290px);padding:18px 14px}.admin-layout.is-collapsed .admin-sidebar-brand{grid-template-columns:44px minmax(0,1fr) 34px}.admin-layout.is-collapsed .admin-sidebar-brand>span:nth-child(2),.admin-layout.is-collapsed .admin-sidebar-brand button,.admin-layout.is-collapsed .admin-sidebar-nav p,.admin-layout.is-collapsed .admin-sidebar-nav a span,.admin-layout.is-collapsed .admin-sidebar-nav a b,.admin-layout.is-collapsed .admin-sidebar-footer span,.admin-layout.is-collapsed .admin-signout{display:initial}.admin-layout.is-collapsed .admin-sidebar-nav a{grid-template-columns:22px minmax(0,1fr) 5px;justify-items:initial;padding:9px 11px}.admin-layout.is-collapsed .admin-sidebar-footer{display:grid;grid-template-columns:minmax(0,1fr) 38px;justify-items:initial;padding:11px}}

.admin-content .admin-support-grid{grid-template-columns:minmax(270px,340px) minmax(0,1fr);gap:18px;align-items:stretch}.admin-content .support-ticket-list,.admin-content .support-chat-card{min-height:calc(100dvh - 145px)}.admin-content .support-ticket-list{padding:18px!important}.admin-content .support-ticket-list h2{margin:2px 4px 14px}.admin-content .support-ticket-row{margin:5px 0;padding:13px;border:1px solid transparent;border-radius:13px;transition:.18s ease}.admin-content .support-ticket-row:hover{background:#f3f8fb;transform:translateX(2px)}.admin-content .support-ticket-row.is-active{border-color:#a7e7d2;background:#eafaf4;box-shadow:inset 3px 0 #17c88b}.admin-content .support-chat-card{overflow:hidden}.admin-content .support-ticket-head{padding:19px 22px;border-bottom:1px solid #e2eaf0;background:linear-gradient(100deg,#f8fbfd,#eefaf6)}.admin-content .support-thread{min-height:360px;max-height:calc(100dvh - 360px);padding:20px;background:#f7fafc}.admin-content .support-reply{padding:15px 18px;border-top:1px solid #e2eaf0;background:#fff}
@media(max-width:820px){.admin-content .admin-support-grid{grid-template-columns:1fr}.admin-content .support-ticket-list,.admin-content .support-chat-card{min-height:auto}.admin-content .support-ticket-list{max-height:290px;overflow:auto}.admin-content .support-thread{max-height:440px}}

/* Compact biometric-first lock screen */
.biometric-lock-page{min-height:100dvh;padding:24px;background:linear-gradient(155deg,#075372 0%,#073f72 46%,#073770 100%)}.biometric-lock-card{width:min(100%,440px);padding:26px 28px;border:1px solid rgba(255,255,255,.7);border-radius:20px;color:#102239;background:rgba(255,255,255,.96);box-shadow:0 28px 80px rgba(0,26,55,.28);animation:lock-card-enter .35s ease}.lock-brand{display:flex;width:max-content;color:#102239}.lock-brand .brand-mark{box-shadow:0 10px 24px rgba(20,200,139,.2)}.lock-auth-surface{margin-top:24px;padding:28px 25px 24px;border:1px solid #e1e9ed;border-radius:28px;background:linear-gradient(160deg,#f4fcf9,#fff 62%);box-shadow:0 16px 38px rgba(12,51,77,.09)}.lock-user{margin:0}.lock-user span{color:#738597;font-size:.88rem}.lock-user h1{margin:5px 0 2px;color:#102239;font-size:1.45rem;line-height:1.2}.lock-user p{margin:0;color:#718396;font-size:.95rem;letter-spacing:.035em}.lock-prompt{display:none}.lock-biometric-panel{display:grid;justify-items:center;margin-top:22px}.fingerprint-orb{width:90px;height:90px;margin:0 auto 24px;border:0;border-radius:24px;color:#07885e;background:#e7f8f2;box-shadow:none;animation:lock-fingerprint-pulse 2.5s ease-in-out infinite}.fingerprint-orb svg{width:47px;height:47px}.lock-biometric-button{display:flex;justify-content:center;gap:9px;width:100%;min-height:54px;border-radius:13px;color:#fff;background:#18c98d;box-shadow:0 10px 22px rgba(24,201,141,.18)}.lock-biometric-button svg{width:20px;height:20px}.lock-other-method{margin-top:14px}.lock-other-method summary{padding:12px 6px 3px;color:#104978;font-size:.78rem;font-weight:850}.lock-other-method summary:before{display:none}.lock-other-method .form{margin-top:18px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.lock-other-method .form label span{color:#102239}.lock-other-method .form input{background:#fff}.lock-other-method .auth-text-button{margin-top:17px;color:#365f7e;font-size:.78rem;font-weight:800}.biometric-lock-card.alternative-active .lock-biometric-panel{display:none}.biometric-lock-card.alternative-active .lock-auth-surface{padding-top:24px}.biometric-lock-card.alternative-active .lock-other-method{margin-top:18px}.biometric-lock-card.alternative-active .lock-other-method summary{color:#667c8f}.biometric-lock-card.password-only .lock-other-method{margin-top:22px}@keyframes lock-card-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes lock-fingerprint-pulse{50%{color:#066f50;background:#d9f4ea;transform:scale(1.035)}}@media(max-width:480px){.biometric-lock-page{padding:20px;place-items:center}.biometric-lock-card{min-height:0;padding:22px 20px;border-radius:16px}.lock-auth-surface{margin-top:20px;padding:25px 20px 22px;border-radius:24px}.fingerprint-orb{width:84px;height:84px}.lock-biometric-button{min-height:52px}.lock-user h1{font-size:1.35rem}}
@media(max-width:560px){.admin-global-actions a{width:36px;height:36px}.admin-global-actions a:nth-child(1){display:none}.admin-content{padding:12px}.admin-content .dashboard-hero{padding:21px 18px!important;border-radius:17px!important}.admin-content .flow-panel,.admin-content .transaction-panel,.admin-content .support-chat-card,.admin-content .support-ticket-list{padding:15px!important;border-radius:16px!important}.admin-content .admin-columns{grid-template-columns:1fr!important}.admin-content .account-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-content .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-content .module-card{min-height:105px!important;padding:14px!important}.admin-content .form.split-form{grid-template-columns:1fr!important}.admin-content .btn{font-size:.74rem}.admin-page-identity h1{font-size:1.05rem}}

/* One-card lock layout: remove the nested card treatment. */
.biometric-lock-card{padding:25px 27px 28px}.lock-auth-surface{margin-top:20px;padding:24px 0 0;border:0;border-top:1px solid #e4ebef;border-radius:0;background:transparent;box-shadow:none}.biometric-lock-card.alternative-active .lock-auth-surface{padding-top:23px}.biometric-lock-card.alternative-active .lock-other-method{margin-top:14px}.lock-other-method .form{padding-top:17px;border-top:1px solid #e8eef2}.lock-other-method .auth-text-button{padding:8px 12px}.biometric-lock-card:not(.alternative-active) .lock-other-method .form{border-top:0}@media(max-width:480px){.biometric-lock-card{padding:22px 21px 25px}.lock-auth-surface{margin-top:18px;padding:21px 0 0;border-radius:0}.biometric-lock-card.alternative-active .lock-auth-surface{padding-top:20px}}

/* Balanced full-width control-panel dashboard. */
.admin-content>.admin-dashboard-page>.dashboard-hero,.admin-content>.admin-dashboard-page>.admin-stat-grid,.admin-content>.admin-dashboard-page>.module-grid,.admin-content>.admin-dashboard-page>.admin-columns,.admin-content>.admin-dashboard-page>.admin-dashboard-section-head{width:100%!important;max-width:none!important;margin-inline:0!important}.admin-dashboard-page>.dashboard-hero{min-height:210px;display:grid;align-content:center}.admin-content .admin-dashboard-page>.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:13px!important;margin-top:16px!important}.admin-dashboard-page .admin-stat-grid .info-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:11px;min-height:106px!important;padding:16px!important;overflow:hidden}.admin-dashboard-page .admin-stat-grid .info-card>svg{grid-row:1/3;align-self:center;width:21px;height:21px;padding:10px;border-radius:13px;color:#07578d;background:#e9f3f9;box-sizing:content-box}.admin-dashboard-page .admin-stat-grid .info-card.highlight>svg{color:#07835f;background:#e2f7ef}.admin-dashboard-page .admin-stat-grid .info-card>span{margin:0;color:#718197;font-size:.7rem}.admin-dashboard-page .admin-stat-grid .info-card>strong{min-width:0;font-size:clamp(.9rem,1.25vw,1.12rem);line-height:1.2;overflow-wrap:anywhere}.admin-dashboard-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:22px!important;margin-bottom:10px!important}.admin-dashboard-section-head .eyebrow{margin:0 0 3px;font-size:.6rem}.admin-dashboard-section-head h2{margin:0;font-size:1.16rem}.admin-dashboard-section-head>span{padding:6px 9px;border-radius:999px;color:#60758b;background:#e6eef4;font-size:.63rem;font-weight:850}.admin-content .admin-dashboard-page>.admin-dashboard-modules{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-top:0!important}.admin-dashboard-page .module-card{min-height:96px!important;padding:15px 16px!important}.admin-dashboard-page .module-card strong{padding-right:32px;font-size:.78rem}.admin-dashboard-page .module-card span{font-size:.68rem}.admin-dashboard-page>.admin-columns{margin-top:18px!important;gap:14px}.admin-dashboard-page>.admin-columns>.transaction-panel{min-width:0}
@media(min-width:1500px){.admin-content .admin-dashboard-page>.admin-dashboard-modules{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:1100px){.admin-content .admin-dashboard-page>.admin-stat-grid,.admin-content .admin-dashboard-page>.admin-dashboard-modules{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.admin-dashboard-page>.dashboard-hero{min-height:0}.admin-dashboard-page .admin-stat-grid .info-card{grid-template-columns:36px minmax(0,1fr);min-height:88px!important;padding:12px!important}.admin-dashboard-page .admin-stat-grid .info-card>svg{width:18px;height:18px;padding:8px}.admin-dashboard-page .admin-stat-grid .info-card>strong{font-size:.78rem}.admin-dashboard-section-head{margin-top:17px!important}.admin-content .admin-dashboard-page>.admin-dashboard-modules{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-dashboard-page .module-card{min-height:88px!important;padding:13px!important}.admin-dashboard-page .module-card strong{font-size:.7rem}}

/* Login devices header alignment */
.devices-page>.page-topbar{position:sticky;top:0;z-index:950;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;min-height:64px;margin:0 0 12px;padding:10px 4px;border-bottom:1px solid rgba(210,225,236,.82);background:rgba(244,248,252,.96);box-shadow:0 7px 18px rgba(14,54,85,.045);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.devices-page>.page-topbar .icon-button{display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border-radius:14px}.devices-page>.page-topbar>strong{min-width:0;margin:0;text-align:center;color:#102239;font-size:1rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.devices-page>.dashboard-hero{margin-top:0}@media(max-width:480px){.devices-page>.page-topbar{grid-template-columns:42px minmax(0,1fr) 42px;min-height:58px;margin-bottom:9px;padding:8px 0}.devices-page>.page-topbar .icon-button{width:42px;height:42px}.devices-page>.page-topbar>strong{font-size:.92rem}}

/* Fixed mobile feature headers shared by Cooperatives and Smart Earnings. */
.feature-sticky-header{position:sticky;top:0;z-index:950;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;min-height:64px;margin:0 0 12px;padding:10px 4px;border-bottom:1px solid rgba(210,225,236,.82);background:rgba(244,248,252,.96);box-shadow:0 7px 18px rgba(14,54,85,.045);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.feature-sticky-header .icon-button{display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border-radius:14px}.feature-sticky-header>strong{min-width:0;text-align:center;color:#102239;font-size:1rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feature-sticky-header svg{width:21px;height:21px}

/* Cooperative workspace: compact, structured and touch friendly. */
.cooperative-page .dashboard-hero{margin-bottom:14px!important}.cooperative-page .cooperative-create-card{border:1px solid #d8e7ef!important;background:linear-gradient(145deg,#fff,#f8fcfb)!important;box-shadow:0 12px 30px rgba(11,55,85,.07)!important}.cooperative-page .cooperative-side-card{border:1px solid #dce7ee!important;background:#fff!important;box-shadow:0 8px 22px rgba(11,55,85,.05)!important}.cooperative-page .card-heading{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px}.cooperative-page .card-heading .feature-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#07815d;background:#e3f7ef}.cooperative-page .card-heading .feature-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2}.cooperative-page .card-heading strong{font-size:.9rem}.cooperative-page .card-heading small{display:block;margin-top:2px;color:#73849a;font-size:.67rem}.cooperative-page .cooperative-form-grid label>span{color:#233b53;font-size:.69rem;font-weight:800}.cooperative-page .plan-card{border:1px solid #dbe7ee!important;background:linear-gradient(150deg,#fff,#f8fcfd)!important;box-shadow:0 9px 24px rgba(12,54,83,.055)!important}.cooperative-page .plan-card h2{margin:8px 0 4px;font-size:1rem}.cooperative-page .member-details summary{padding:10px 0;color:#07538c;font-size:.74rem;font-weight:850;cursor:pointer}.cooperative-page .compact-actions .btn,.cooperative-page .cooperative-side-card>.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}.cooperative-page .compact-actions .btn svg,.cooperative-page .cooperative-side-card>.btn svg{width:17px;height:17px}

/* Keep long stock values readable without squeezing the description column. */
@media(max-width:520px){body .stock-page .stock-history-card{grid-template-columns:35px minmax(0,1fr)!important;align-items:start!important}body .stock-page .stock-history-card .transaction-main{grid-column:2;min-width:0}body .stock-page .stock-history-card .transaction-amount{grid-column:2!important;grid-row:auto!important;margin-top:4px;color:#0b624c!important;font-size:.76rem!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere}body .stock-page .stock-history-card .transaction-meta{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.35}.stock-history-head{align-items:center}.stock-history-head>span{flex:0 0 auto}}
@media(max-width:480px){.feature-sticky-header{grid-template-columns:42px minmax(0,1fr) 42px;min-height:58px;margin-bottom:9px;padding:8px 0}.feature-sticky-header .icon-button{width:42px;height:42px}.feature-sticky-header>strong{font-size:.92rem}.cooperative-page .dashboard-hero{padding:18px 16px!important}.cooperative-page .dashboard-hero h1{font-size:1.28rem}.cooperative-page .dashboard-hero .lead{font-size:.76rem}.cooperative-page .cooperative-form-grid{grid-template-columns:1fr!important}.cooperative-page .cooperative-form-grid>*{grid-column:1!important}}

.lock-other-method .password-field{position:relative;display:block}.lock-other-method .password-field input{width:100%;padding-right:52px}.lock-other-method .password-field button{position:absolute;top:50%;right:8px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:11px;color:#285879;background:#edf4f7;transform:translateY(-50%);cursor:pointer}.lock-other-method .password-field button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lock-other-method .password-field button.is-visible{color:#07835f;background:#e1f7ef}
.lock-other-method .lock-password-field{position:relative!important;display:block!important}.lock-other-method .lock-password-field input{height:54px!important;min-height:54px!important;padding:0 58px 0 14px!important}.lock-other-method .lock-password-field .lock-password-toggle{position:absolute!important;top:1px!important;right:1px!important;bottom:1px!important;display:grid!important;place-items:center!important;width:48px!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-left:1px solid #dce8e4!important;border-radius:0 12px 12px 0!important;color:#087a59!important;background:#e8f8f2!important;transform:none!important;cursor:pointer}.lock-password-toggle svg{grid-area:1/1;width:20px!important;height:20px!important}.lock-password-toggle .lock-eye-hide{display:none}.lock-password-toggle.is-visible .lock-eye-show{display:none}.lock-password-toggle.is-visible .lock-eye-hide{display:block}.lock-password-toggle:hover,.lock-password-toggle:focus-visible{color:#075f49!important;background:#d9f4ea!important;outline:0;box-shadow:inset 0 0 0 2px rgba(8,131,95,.14)}

/* Compact, mobile-first registration */
.registration-panel .signup-progress:has(span:nth-child(2).active):after{background:#16c98d}
.registration-panel .password-field button{top:50%!important;right:7px!important;width:36px!important;height:36px!important;margin:0!important;transform:translateY(-50%)!important}.registration-panel .password-field button svg{display:block;width:18px;height:18px}.pin-reset-link{display:inline-flex;align-items:center;gap:7px;margin-top:13px}.pin-reset-link svg{width:17px;height:17px}.pin-reset-panel{margin-top:14px;padding:16px;border:1px solid #cfe5dc;border-radius:16px;background:#f3fbf8}.pin-reset-panel[hidden]{display:none}.pin-reset-panel>div>strong{display:block}.pin-reset-panel>div>p{margin:4px 0 0;font-size:.76rem}.pin-reset-panel .form{gap:11px;margin-top:13px}.pin-reset-panel .password-field{position:relative;display:block}.pin-reset-panel .password-field input{padding-right:48px}.pin-reset-panel .password-field button{position:absolute;top:50%;right:6px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:9px;transform:translateY(-50%)}.pin-reset-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:420px){.pin-reset-grid{grid-template-columns:1fr}}

/* Onboarding security form refinement */
.onboarding-pin-form[hidden]{display:none!important}
.onboarding-security-card{width:min(100%,520px);padding:27px}.onboarding-pin-form{gap:12px;margin:8px 0 16px;padding:15px;border:1px solid #d7e7e1;border-radius:16px;background:#f5fbf9}.onboarding-pin-head{display:flex;align-items:center;gap:10px;margin-bottom:1px}.onboarding-pin-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#087b59;background:#ddf6ed}.onboarding-pin-head svg{width:20px;height:20px}.onboarding-pin-head>div{display:grid;gap:2px}.onboarding-pin-head strong{font-size:.82rem}.onboarding-pin-head small{color:#718197;font-size:.69rem}.onboarding-pin-form label{gap:5px}.onboarding-pin-form label>span:first-child{font-size:.72rem}.onboarding-pin-form input{height:46px;min-height:46px;padding:0 12px;border-radius:11px;font-size:.82rem}.onboarding-pin-form .two-up-fields{gap:9px}.onboarding-pin-form .password-field{position:relative;display:block}.onboarding-pin-form .password-field input{padding-right:45px}.onboarding-pin-form .password-field button{position:absolute;top:50%;right:6px;display:grid;place-items:center;width:34px;height:34px;margin:0;padding:0;border:0;border-radius:9px;color:#315d7f;background:#eaf2f6;transform:translateY(-50%);cursor:pointer}.onboarding-pin-form .password-field button svg{width:17px;height:17px}.onboarding-save-pin{justify-self:start;min-height:42px!important;padding:8px 15px!important}.onboarding-save-pin svg,.onboarding-complete-actions .btn svg{width:17px;height:17px}.onboarding-complete-actions{justify-items:center;padding-top:14px;border-top:1px solid #dfe8ed}.onboarding-complete-actions>.btn{width:auto!important;min-width:220px;min-height:46px;padding:9px 18px}.onboarding-complete-actions .onboarding-skip{margin:0;padding:8px 14px;font-size:.72rem}@media(max-width:560px){.onboarding-security-page{padding:12px}.onboarding-security-card{padding:21px 18px}.onboarding-pin-form .two-up-fields{grid-template-columns:1fr 1fr}.onboarding-pin-form{padding:13px}.onboarding-complete-actions>.btn{width:100%!important;min-width:0}}@media(max-width:360px){.onboarding-pin-form .two-up-fields{grid-template-columns:1fr}}
.onboarding-complete-actions{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:center;gap:9px}.onboarding-complete-actions>.btn,.onboarding-complete-actions .onboarding-skip{width:100%!important;min-width:0;min-height:42px;margin:0;padding:8px 11px;justify-content:center;border-radius:11px}.onboarding-complete-actions .onboarding-skip{display:inline-flex;align-items:center;color:#315d7f;background:#eaf1f5}.onboarding-choice [data-onboarding-pin-toggle].is-active{color:#8a5a00;border-color:#f1d69d;background:#fff7e5}@media(max-width:360px){.onboarding-complete-actions{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.onboarding-complete-actions>.btn,.onboarding-complete-actions .onboarding-skip{font-size:.65rem;padding-inline:7px}}
.onboarding-pin-form .password-field button{top:1px!important;right:1px!important;bottom:1px!important;width:44px!important;height:auto!important;margin:0!important;border-left:1px solid #dbe6ec!important;border-radius:0 10px 10px 0!important;background:#f0f6f8!important;transform:none!important}.onboarding-pin-form .password-field button:hover,.onboarding-pin-form .password-field button.is-visible{color:#087b59;background:#e2f6ef!important}.onboarding-pin-form .password-field input{padding-right:51px!important}

/* Compact stock activity ledger */
.stock-page .transaction-panel:has(.stock-history-card){padding:18px!important}.stock-history-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:13px}.stock-history-head .eyebrow{margin:0 0 3px;font-size:.6rem}.stock-history-head h2{font-size:1.12rem}.stock-history-head>span{padding:5px 8px;border-radius:999px;color:#63768b;background:#edf3f6;font-size:.62rem;font-weight:800}.stock-page .transaction-list:has(.stock-history-card){gap:0;border:1px solid #dce6ed;border-radius:16px;background:#fff;overflow:hidden}.stock-page .stock-history-card{grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center;gap:11px!important;min-height:76px;padding:11px 13px!important;border:0!important;border-bottom:1px solid #e4ebf0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}.stock-page .stock-history-card:last-child{border-bottom:0!important}.stock-page .stock-history-card:hover{background:#f8fbfc!important}.stock-history-card .stock-list-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#07875f;background:#e3f7ef}.stock-history-card .stock-list-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}.stock-history-card:has(.badge-debit) .stock-list-icon{color:#d34850;background:#fcebed}.stock-history-card .transaction-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 7px;min-width:0}.stock-history-card .transaction-main>strong{grid-column:1/-1;gap:6px!important;font-size:.82rem}.stock-history-card .transaction-main .badge{font-size:.55rem;padding:3px 6px}.stock-history-card .transaction-meta{min-width:0;color:#718197;font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-history-card .transaction-meta:last-child{padding-left:7px;border-left:1px solid #dce5eb}.stock-history-card .transaction-amount{align-self:center;color:#102239;font-size:.78rem!important;font-weight:900;text-align:right;white-space:nowrap}@media(max-width:520px){.stock-page .transaction-panel:has(.stock-history-card){padding:13px!important}.stock-page .stock-history-card{grid-template-columns:35px minmax(0,1fr) auto!important;min-height:72px;padding:10px!important;gap:9px!important}.stock-history-card .stock-list-icon{width:35px;height:35px}.stock-history-card .transaction-main{grid-template-columns:1fr}.stock-history-card .transaction-main>strong,.stock-history-card .transaction-meta{grid-column:1}.stock-history-card .transaction-meta:last-child{padding-left:0;border-left:0}.stock-history-card .transaction-amount{grid-column:3!important;grid-row:1!important;font-size:.7rem!important}.stock-history-head h2{font-size:1rem}}

/* Compact stock quote cards; override the legacy 280px minimum. */
.stock-page .plan-grid:has(.stock-card){align-items:start}.stock-page .stock-card{min-height:0!important;height:auto!important;align-self:start;align-content:start;gap:11px!important;padding:15px!important;border-radius:18px!important}.stock-page .stock-card-head{padding-bottom:9px;border-bottom:1px solid #e4ebef}.stock-page .stock-card .stock-card-head h2{font-size:1rem}.stock-page .stock-card .stock-card-head .badge{font-size:.58rem;padding:4px 7px}.stock-page .stock-metric-grid{gap:7px}.stock-page .stock-metric-grid>span{min-height:58px;padding:9px 10px;border-radius:12px}.stock-page .stock-metric-grid small{font-size:.58rem}.stock-page .stock-metric-grid strong{font-size:.73rem}.stock-page .stock-card>.form{margin-top:2px!important;padding-top:11px;border-top:1px solid #e4ebef}.stock-page .stock-card>.form input{height:44px!important}.stock-page .stock-card>.form .btn{height:44px;min-height:44px!important;border-radius:11px}@media(max-width:520px){.stock-page .stock-card{padding:13px!important}.stock-page .stock-card>.form{grid-template-columns:minmax(0,1fr) auto!important}.stock-page .stock-card>.form .btn{min-width:91px!important}.stock-page .stock-metric-grid>span{min-height:54px;padding:8px}.stock-page .stock-metric-grid strong{font-size:.69rem}}@media(max-width:350px){.stock-page .stock-card>.form{grid-template-columns:1fr!important}.stock-page .stock-card>.form .btn{width:100%!important}}
.register-page{padding:18px;background:radial-gradient(circle at 10% 5%,rgba(23,201,140,.18),transparent 28rem),linear-gradient(145deg,#073a69,#075482)}.registration-panel{width:min(100%,430px);padding:25px 27px 23px;border-radius:20px}.registration-panel .brand-link{margin-bottom:16px}.registration-panel .brand-mark.small{width:42px;height:42px;border-radius:13px}.registration-heading>span{display:block;margin-bottom:5px;color:#08a878;font-size:.65rem;font-weight:900;letter-spacing:.12em}.registration-panel h1{margin-bottom:7px;font-size:1.65rem;line-height:1.12}.registration-panel .registration-heading>.muted{margin:0;font-size:.79rem;line-height:1.48}.registration-panel>.form{gap:12px;margin-top:18px}.registration-panel .signup-progress{position:relative;gap:6px;margin:0 0 3px;padding-bottom:10px}.registration-panel .signup-progress:after{content:'';position:absolute;left:16px;right:16px;bottom:0;height:3px;border-radius:4px;background:linear-gradient(90deg,#16c98d 0 50%,#e2eaf0 50%)}.registration-panel .signup-progress span{min-width:0;padding:7px 8px;border-radius:10px;font-size:.65rem;white-space:nowrap}.registration-panel .signup-progress b{width:25px;height:25px;flex:0 0 25px;border-radius:8px}.registration-panel .signup-step{gap:11px}.registration-panel .signup-step label{gap:6px}.registration-panel .signup-step label>span:first-child{font-size:.76rem}.registration-panel .signup-step input{min-height:50px;padding:0 13px;border-radius:11px;font-size:.84rem}.registration-panel .signup-step>.btn{min-height:48px;margin-top:2px;border-radius:11px}.registration-panel .btn svg{width:18px;height:18px}.registration-panel .password-field{position:relative;display:block}.registration-panel .password-field input{padding-right:50px}.registration-panel .password-field button{position:absolute;top:50%;right:7px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:10px;color:#315d7f;background:#edf4f7;transform:translateY(-50%);cursor:pointer}.registration-panel .password-field button svg{width:19px;height:19px}.registration-panel .auth-divider{margin:4px 0}.registration-panel .switch-text{margin:3px 0 0;font-size:.74rem;text-align:center}.registration-panel .signup-final-actions .btn{min-height:47px;padding:8px 11px}.registration-panel .google-challenge-wrap{min-height:72px;padding:3px 0}.registration-panel .btn-google{min-height:48px}.registration-panel .muted:last-of-type{font-size:.73rem}@media(max-width:480px){.register-page{padding:12px;place-items:start center}.registration-panel{padding:21px 19px 20px;border-radius:17px}.registration-panel .brand-link{margin-bottom:13px}.registration-panel h1{font-size:1.48rem}.registration-panel .registration-heading>.muted{font-size:.75rem}.registration-panel>.form{margin-top:15px}.registration-panel .signup-progress span{padding:6px;font-size:.59rem}.registration-panel .signup-progress b{width:23px;height:23px;flex-basis:23px}.registration-panel .signup-step input{min-height:48px}.registration-panel .signup-step{gap:10px}}@media(max-width:350px){.registration-panel .signup-progress span{gap:4px;font-size:.54rem}.registration-panel{padding-inline:15px}}

/* Platform control plane and smart-money experience */
.transaction-timeline ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.transaction-timeline li{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:0 0 18px}.transaction-timeline li:not(:last-child):before{content:'';position:absolute;left:7px;top:15px;bottom:0;width:2px;background:#dce9e4}.transaction-timeline li>span{position:relative;z-index:1;width:16px;height:16px;border:4px solid #dff7ee;border-radius:50%;background:#11b97f}.transaction-timeline li div{display:grid;gap:3px}.transaction-timeline li small{color:#718197;font-size:.7rem}
.admin-page{display:grid;gap:18px}.admin-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:26px;border-radius:21px;color:#fff;background:linear-gradient(125deg,#073d75,#075d82);box-shadow:0 18px 42px rgba(8,66,111,.15)}.admin-hero h2{margin:5px 0 8px;color:#fff;font-size:clamp(1.35rem,3vw,2rem)}.admin-hero p{max-width:720px;margin:0;color:#d8eaf3}.admin-hero .compact-actions{margin-top:17px}.admin-hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.1)}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.stat-card,.admin-card{padding:20px;border:1px solid #dce7ee;border-radius:18px;background:#fff;box-shadow:0 9px 26px rgba(12,53,84,.055)}.stat-card{display:grid;gap:5px}.stat-card span,.stat-card small{color:#718197}.stat-card strong{font-size:1.42rem}.admin-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:16px}.compact-list{display:grid;gap:8px}.compact-list>div{display:flex;justify-content:space-between;padding:11px 13px;border-radius:11px;background:#f1f6f9}.status-healthy,.status-matched{color:#087d59!important;background:#dcf6ec!important}.status-degraded,.status-pending,.status-mismatch{color:#9a6500!important;background:#fff2d5!important}.status-down,.status-missing{color:#c33f49!important;background:#fde6e9!important}.admin-inline-form{grid-template-columns:minmax(220px,1fr) minmax(240px,1fr) auto;align-items:end}.admin-inline-form fieldset{display:flex;flex-wrap:wrap;gap:9px;padding:10px;border:1px solid #dce6ed;border-radius:12px}.admin-inline-form legend{padding:0 5px;font-size:.7rem;font-weight:850}.admin-inline-form .check-row{width:auto}.assistant-answer{padding:14px;border-left:4px solid #17c88b;border-radius:10px;background:#eafaf4;color:#17344a;line-height:1.55}@media(max-width:820px){.admin-grid,.stats-grid{grid-template-columns:1fr}.admin-inline-form{grid-template-columns:1fr}.admin-hero{display:grid;padding:21px}.admin-hero>.status-pill{justify-self:start}}

/* Money insights: isolated mobile-first workspace. */
.insights-page{width:min(100%,900px);margin-inline:auto;overflow:hidden}.insights-topbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;max-width:900px;margin-bottom:14px}.insights-topbar>strong{text-align:center;color:var(--ink);font-size:.94rem}.insights-hero{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:16px;padding:26px}.insights-hero h1{margin:3px 0 7px;font-size:clamp(1.55rem,5vw,2rem);line-height:1.12}.insights-hero p{margin-block:0}.insights-hero-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:19px;color:#073b63;background:linear-gradient(145deg,#35e0aa,#17c784);box-shadow:0 10px 24px rgba(23,199,132,.24)}.insights-hero-icon svg{width:29px;height:29px}.insights-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:900px;margin:14px auto 0}.insights-summary .info-card{display:grid;align-content:center;gap:5px;min-width:0;min-height:102px;padding:15px;border-radius:17px;overflow:hidden}.insights-summary .info-card span,.insights-summary .info-card small{color:var(--muted);font-size:.7rem}.insights-summary .info-card strong{font-size:.96rem;line-height:1.25;overflow-wrap:anywhere}.insights-tools{max-width:900px;margin:15px auto 0}.insights-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:6px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(10,53,84,.05)}.insights-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;padding:8px;border:0;border-radius:11px;color:var(--muted);background:transparent;font:inherit;font-size:.74rem;font-weight:750;cursor:pointer}.insights-tabs button svg{width:17px;height:17px}.insights-tabs button.is-active{color:#fff;background:var(--blue);box-shadow:0 7px 16px rgba(6,59,122,.2)}.insights-panel{display:none;margin-top:10px;padding:22px;border-radius:20px}.insights-panel.is-active{display:block;animation:insights-in .2s ease}.insights-panel .section-head{margin-bottom:16px}.insights-panel .section-head h2{margin:3px 0 4px;font-size:1.22rem}.insights-panel .section-head p{margin-block:0}.insights-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.insights-form>label{min-width:0}.insights-full{grid-column:1/-1}.insights-panel .form-actions{display:flex;justify-content:flex-start}.insights-panel .btn{width:auto;min-height:43px;padding:10px 15px}.insights-mini-list{display:grid;gap:8px;margin-top:21px;padding-top:17px;border-top:1px solid var(--line)}.insights-mini-list h3{margin:0 0 3px;font-size:.88rem}.insights-mini-list article{display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border-radius:14px;background:#f4f8fb}.insights-mini-list article>div{display:grid;min-width:0}.insights-mini-list article strong{font-size:.8rem;overflow:hidden;text-overflow:ellipsis}.insights-mini-list article small{color:var(--muted);font-size:.66rem}.insights-list-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;color:#07885f;background:#e3f7ef}.insights-list-icon svg{width:19px;height:19px}@keyframes insights-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:600px){.insights-page{padding-inline:13px}.insights-topbar{margin-inline:0}.insights-hero{grid-template-columns:47px minmax(0,1fr);gap:12px;padding:19px 17px;border-radius:20px}.insights-hero-icon{width:47px;height:47px;border-radius:15px}.insights-hero-icon svg{width:24px;height:24px}.insights-hero h1{font-size:1.42rem}.insights-hero .lead{font-size:.78rem;line-height:1.45}.insights-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.insights-summary .info-card{min-height:84px;padding:12px}.insights-summary .insights-total{grid-column:1/-1;min-height:92px}.insights-summary .info-card strong{font-size:.88rem}.insights-tabs button{font-size:.7rem}.insights-panel{padding:16px 14px;border-radius:18px}.insights-form{grid-template-columns:1fr;gap:11px}.insights-full{grid-column:auto}.insights-panel .form-actions .btn{width:100%}.insights-mini-list article{grid-template-columns:36px minmax(0,1fr) auto;padding:9px}.insights-list-icon{width:36px;height:36px}.insights-mini-list .badge{font-size:.58rem;padding:5px 7px}}@media(max-width:360px){.insights-tabs button{gap:4px;padding-inline:5px}.insights-tabs button svg{width:15px;height:15px}.insights-summary{grid-template-columns:1fr}.insights-summary .insights-total{grid-column:auto}}

/* QuickTask Bot */
.task-bot-card{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:15px;max-width:980px;margin:15px auto;padding:18px;border:1px solid #bfead9;border-radius:21px;background:linear-gradient(135deg,#f1fcf8,#e4f7f1);box-shadow:0 12px 30px rgba(9,105,75,.08)}.task-bot-card.is-active{border-color:#66d8b1;background:linear-gradient(135deg,#e9fbf4,#f7fcfa)}.task-bot-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:19px;color:#fff;background:linear-gradient(145deg,#0b4a7d,#10bd82);box-shadow:0 10px 22px rgba(8,92,103,.2)}.task-bot-icon svg{width:31px;height:31px}.task-bot-copy{min-width:0}.task-bot-copy p{margin:3px 0;color:var(--muted);font-size:.76rem;line-height:1.45}.task-bot-copy .eyebrow{color:#079568;font-size:.62rem}.task-bot-copy h2{margin:2px 0;font-size:1.08rem}.task-bot-card .btn{width:auto;white-space:nowrap}.task-bot-card .status-pill{display:flex;align-items:center;gap:6px;color:#087b59;background:#d8f5e9}.task-bot-card .status-pill svg{width:15px;height:15px}.task-bot-badge{display:inline-flex!important;align-items:center;gap:4px;margin-right:5px;color:#075e82!important;background:#e4f3fa!important}.task-bot-badge svg{width:13px;height:13px}.task-history-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;color:#315d7f;background:#eaf1f6}.task-history-icon.bot{color:#087b59;background:#dff7ee}.task-history-icon svg{width:21px;height:21px}.task-bot-admin{border-color:#bfead9!important}.task-bot-admin>.section-head{align-items:flex-start}.task-bot-admin .split-form{align-items:end}.admin-earning-tasks-page .badge svg{width:13px;height:13px;vertical-align:-2px}
@media(max-width:680px){.task-bot-card{grid-template-columns:50px minmax(0,1fr);gap:11px;padding:15px}.task-bot-icon{width:50px;height:50px;border-radius:16px}.task-bot-icon svg{width:25px;height:25px}.task-bot-card form,.task-bot-card>.status-pill{grid-column:1/-1}.task-bot-card .btn{width:100%}.task-bot-card>.status-pill{justify-self:start}.task-bot-copy h2{font-size:.98rem}.task-bot-copy p{font-size:.72rem}}

/* OpenAI rollout center */
.admin-ai-page{display:grid;gap:16px}.ai-rollout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ai-rollout-item{position:relative;display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;min-height:105px;padding:14px!important;border:1px solid #dbe6ed;border-radius:15px;background:#f8fbfc;cursor:pointer}.ai-rollout-item:has(input:checked){border-color:#8cdec3;background:#eefbf6;box-shadow:inset 0 0 0 1px #b7ecd9}.ai-rollout-item input{width:18px!important;height:18px!important;min-height:0!important;margin-top:2px}.ai-rollout-item>span{display:grid;gap:3px}.ai-rollout-item small{color:#079568;font-size:.6rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ai-rollout-item strong{font-size:.82rem}.ai-rollout-item em{color:var(--muted);font-size:.68rem;font-style:normal;line-height:1.4}.ai-safety-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ai-safety-list>span{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:4px 9px;padding:13px;border-radius:14px;background:#f1f7fa}.ai-safety-list svg{grid-row:1/3;width:22px;height:22px;color:#07885f}.ai-safety-list b{font-size:.76rem}.ai-safety-list small{color:var(--muted);font-size:.63rem}@media(max-width:760px){.ai-rollout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-safety-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.ai-rollout-grid{grid-template-columns:1fr}.ai-rollout-item{min-height:82px}.ai-safety-list{grid-template-columns:1fr}}
/* Platform operations */
.admin-platform-page{display:grid;gap:20px;max-width:1440px;margin:0 auto;padding-bottom:40px}
.platform-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:32px;padding:34px;border-radius:28px;color:#fff;background:linear-gradient(135deg,#062f60 0%,#0a4b88 58%,#087e75 130%);box-shadow:0 22px 50px rgba(4,44,84,.18)}
.platform-hero:after{content:"";position:absolute;width:280px;height:280px;right:-105px;top:-125px;border:48px solid rgba(255,255,255,.07);border-radius:50%}
.platform-hero-copy{position:relative;z-index:1;max-width:780px}.platform-kicker{display:inline-flex;align-items:center;gap:8px;color:#68f0bd;font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.platform-kicker svg{width:17px;height:17px}.platform-hero h1{margin:10px 0 9px;color:#fff;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}.platform-hero p{max-width:670px;margin:0;color:#d9eaff;line-height:1.65}
.platform-export-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.platform-export-actions .btn{min-height:42px;color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.platform-export-actions .btn:hover{background:rgba(255,255,255,.18)}
.platform-health-orb{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:20px;border:1px solid rgba(255,255,255,.16);border-radius:24px;text-align:center;background:rgba(255,255,255,.1);backdrop-filter:blur(12px)}.platform-health-orb>span{display:grid;place-items:center;width:52px;height:52px;margin-bottom:10px;border-radius:17px;color:#073c70;background:#72efbd}.platform-health-orb svg{width:25px;height:25px}.platform-health-orb small{color:#cde1f5}.platform-health-orb strong{margin:3px 0;color:#fff;font-size:1.35rem}.platform-health-orb em{color:#bcd2e7;font-size:.74rem;font-style:normal}
.platform-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.platform-metric{display:flex;align-items:center;gap:14px;min-width:0;padding:18px;border:1px solid #d9e6f2;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(6,48,89,.07)}.platform-metric-icon,.platform-head-icon{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:15px;color:#0a538c;background:#eaf3fb}.platform-metric-icon svg,.platform-head-icon svg{width:22px;height:22px}.platform-metric div{display:grid;min-width:0}.platform-metric small{color:#738399;font-size:.76rem}.platform-metric strong{overflow:hidden;color:#10233b;font-size:1.28rem;text-overflow:ellipsis}.platform-metric em{color:#6c7e93;font-size:.74rem;font-style:normal}.platform-metric.is-good .platform-metric-icon{color:#07885f;background:#e4f8ef}.platform-metric.is-good em{color:#07885f}.platform-metric.is-alert .platform-metric-icon{color:#d54848;background:#ffeded}.platform-metric.is-alert em{color:#c73b3b}
.platform-content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:18px}.platform-card{min-width:0;padding:24px!important;border-radius:24px!important;box-shadow:0 12px 32px rgba(7,47,84,.07)!important}.platform-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.platform-card-head h2,.platform-credential-copy h2{margin:3px 0 4px;color:#10233b;font-size:1.35rem}.platform-card-head p,.platform-credential-copy p{margin:0;color:#718299;font-size:.86rem}.platform-head-icon.is-warm{color:#ba7a00;background:#fff4d8}
.platform-table-wrap{border:1px solid #e0e9f2;border-radius:17px;background:#fff}.platform-table{margin:0}.platform-table th{padding:12px 14px;color:#738399;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;background:#f5f8fb}.platform-table td{padding:14px;border-color:#e8eef5;color:#53667d;font-size:.82rem}.platform-provider,.platform-client{display:flex;align-items:center;gap:10px;color:#172b43;font-weight:800}.platform-provider>svg,.platform-client>svg{flex:0 0 auto;width:34px;height:34px;padding:8px;border-radius:10px;color:#0a5e98;background:#eaf4fc}.platform-client>span{display:grid}.platform-client small{color:#8090a4;font-size:.67rem;font-weight:500}.platform-table code{display:inline-block;max-width:220px;overflow:hidden;padding:6px 9px;border-radius:8px;color:#17496f;background:#edf5fb;text-overflow:ellipsis;vertical-align:middle}
.platform-risk-list{display:grid;gap:10px}.platform-risk-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #e3ebf3;border-radius:15px;background:#fbfdff}.platform-risk-item>div{display:grid}.platform-risk-item small{color:#75869b;font-size:.72rem}.platform-risk-item>b{min-width:38px;padding:6px 9px;border-radius:10px;color:#0a4b7e;text-align:center;background:#eaf3fa}.risk-tone{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:#0c8a64;background:#e5f7f0}.risk-tone svg{width:19px}.risk-tone-high,.risk-tone-critical{color:#d43c46;background:#ffebed}.risk-tone-medium{color:#b77700;background:#fff3d5}
.platform-empty,.platform-empty-row td{padding:30px!important;text-align:center!important}.platform-empty{display:grid;justify-items:center;color:#74859a}.platform-empty svg,.platform-empty-row svg{width:34px;height:34px;margin-bottom:8px;color:#0a8a65}.platform-empty strong,.platform-empty-row strong{display:block;color:#20344b}.platform-empty span,.platform-empty-row span{display:block;margin-top:4px;color:#78899c;font-size:.8rem}
.platform-credential-card{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:30px;background:linear-gradient(135deg,#f7fbff,#fff)!important}.platform-credential-copy{padding:6px}.platform-credential-copy .platform-head-icon{margin-bottom:16px}.platform-credential-copy ul{display:grid;gap:9px;margin:20px 0 0;padding:0;list-style:none}.platform-credential-copy li{display:flex;align-items:center;gap:8px;color:#52667d;font-size:.82rem}.platform-credential-copy li svg{width:16px;color:#0a9b70}.platform-credential-form{min-width:0;padding:20px;border:1px solid #dce8f2;border-radius:20px;background:#fff}.platform-client-form{display:grid;gap:16px}.platform-scope-fieldset{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0!important;border:0!important}.platform-scope-fieldset legend{grid-column:1/-1;margin-bottom:2px;color:#172b43;font-size:.82rem;font-weight:800}.platform-scope-option{position:relative;margin:0!important}.platform-scope-option>input{position:absolute;opacity:0;pointer-events:none}.platform-scope-option>span{display:grid!important;grid-template-columns:32px 1fr;align-items:center;gap:2px 9px;min-height:78px;padding:12px!important;border:1px solid #dce7f1;border-radius:14px;background:#f9fbfd;cursor:pointer}.platform-scope-option svg{grid-row:1/3;width:20px;color:#176399}.platform-scope-option b{color:#1a2e45;font-size:.78rem}.platform-scope-option small{color:#7b8ca0;font-size:.65rem}.platform-scope-option input:checked+span{border-color:#18b986;box-shadow:0 0 0 2px rgba(24,185,134,.12);background:#effbf7}.platform-scope-option input:checked+span svg{color:#079267}.platform-client-form>.btn{justify-self:start;min-height:44px}.platform-secret-box{display:grid;gap:8px;margin-bottom:16px;padding:14px;border:1px solid #f0cf78;border-radius:14px;background:#fff9e9}.platform-secret-box>span{display:flex;align-items:center;gap:7px;color:#875c00;font-weight:800}.platform-secret-box svg{width:18px}.platform-secret-box label{display:grid;gap:3px;color:#6f6041;font-size:.72rem}.platform-secret-box code{overflow-wrap:anywhere;color:#27384b}
@media(max-width:1000px){.platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-content-grid{grid-template-columns:1fr}.platform-credential-card{grid-template-columns:1fr}.platform-credential-copy ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.admin-platform-page{gap:14px}.platform-hero{grid-template-columns:1fr;padding:22px;border-radius:22px}.platform-health-orb{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;justify-items:start;min-height:0;text-align:left}.platform-health-orb>span{grid-row:1/3;width:40px;height:40px;margin:0 10px 0 0}.platform-health-orb small{align-self:end}.platform-health-orb strong{align-self:start;margin:0}.platform-health-orb em{display:none}.platform-export-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.platform-export-actions .btn{min-width:0;padding:9px 6px;font-size:.67rem}.platform-export-actions .btn svg{width:15px}.platform-metrics{gap:9px}.platform-metric{align-items:flex-start;padding:13px;border-radius:16px}.platform-metric-icon{width:37px;height:37px;border-radius:12px}.platform-metric-icon svg{width:18px}.platform-metric strong{font-size:1rem}.platform-metric em{font-size:.65rem}.platform-card{padding:17px!important;border-radius:20px!important}.platform-card-head{align-items:center}.platform-card-head h2{font-size:1.12rem}.platform-card-head .btn span{display:none}.platform-table-wrap{overflow:visible;border:0}.platform-table,.platform-table tbody{display:block}.platform-table thead{display:none}.platform-table tr{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;padding:13px;border:1px solid #e0e9f2;border-radius:15px;background:#fff}.platform-table td{display:grid;gap:4px;padding:0!important;border:0!important;text-align:left!important}.platform-table td:before{content:attr(data-label);color:#8391a3;font-size:.62rem;font-weight:800;text-transform:uppercase}.platform-table td:first-child{grid-column:1/-1}.platform-empty-row{display:block!important}.platform-empty-row td:before{display:none}.platform-api-table td:nth-child(2){grid-column:1/-1}.platform-table code{max-width:100%}.platform-credential-copy ul{grid-template-columns:1fr}.platform-credential-form{padding:14px}.platform-scope-fieldset{grid-template-columns:1fr}.platform-scope-option>span{min-height:64px}.platform-client-form>.btn{width:100%}}

/* Consistent fixed headers and assistant response */
.user-shell .topbar{position:sticky!important;top:0!important;z-index:950!important;width:100%;border-bottom:1px solid rgba(210,225,236,.82);background:rgba(244,248,252,.94)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
:root[data-theme="dark"] .user-shell .topbar{background:rgba(7,17,31,.94)!important}
.user-shell .page-topbar{position:sticky!important;top:0!important;z-index:950!important;width:100%;border-bottom:1px solid rgba(210,225,236,.82);background:rgba(244,248,252,.96)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
:root[data-theme="dark"] .user-shell .page-topbar{background:rgba(7,17,31,.95)!important}
.user-shell .savings-page,.user-shell .stock-page,.user-shell .income-page,.user-shell .referral-page,.user-shell .cooperative-page,.user-shell .insights-page{overflow:visible!important;overflow-x:clip!important}
.topbar.has-back>.header-page-title{order:1;flex:1 1 auto;min-width:0;margin:0!important;padding:0 6px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar.has-back>.header-icon-link,.topbar.has-back>.nav-actions{order:2}.insights-topbar>.header-icon-link{display:grid!important}
.assistant-response-card{display:grid;gap:0;margin-top:4px;overflow:hidden;border:1px solid #cfe8df;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(8,74,62,.08)}.assistant-response-card:has(.assistant-answer[hidden]){display:none}.assistant-response-card>header{display:flex;align-items:center;gap:11px;padding:13px 15px;border-bottom:1px solid #dceee8;background:linear-gradient(135deg,#eefbf7,#f7fcff)}.assistant-avatar{display:grid;place-items:center;width:39px;height:39px;flex:0 0 39px;border-radius:13px;color:#fff;background:linear-gradient(145deg,#18ca90,#078b66);box-shadow:0 7px 16px rgba(10,151,106,.2)}.assistant-avatar svg{width:20px;height:20px}.assistant-response-card>header>span:last-child{display:grid;gap:1px}.assistant-response-card>header strong{color:#133047;font-size:.84rem}.assistant-response-card>header small{color:#70869a;font-size:.67rem}.assistant-response-card .assistant-answer{max-height:min(42vh,360px);margin:0;padding:17px 18px;overflow-y:auto;border:0;border-radius:0;color:#18364a;background:#fff;font-size:.91rem;line-height:1.72;white-space:pre-wrap;overflow-wrap:anywhere;scrollbar-width:thin;scrollbar-color:#8fd7c1 #edf7f4}.assistant-response-card>footer{display:flex;align-items:center;gap:7px;padding:10px 15px;border-top:1px solid #e3eee9;color:#718498;background:#f8fbfc;font-size:.66rem;font-weight:700}.assistant-response-card>footer svg{width:15px;height:15px;color:#079269}.insights-assistant-form{padding-bottom:8px}.insights-assistant-form .form-actions{margin-bottom:2px}
@media(max-width:600px){.user-shell .topbar{margin-bottom:12px!important;padding:8px 4px!important}.topbar.has-back>.header-page-title{text-align:center;font-size:.9rem}.insights-page{overflow:visible}.insights-topbar{margin-inline:0!important}.assistant-response-card{margin-bottom:18px;border-radius:16px}.assistant-response-card .assistant-answer{max-height:38vh;padding:15px;font-size:.84rem;line-height:1.65}.assistant-response-card>header{padding:11px 13px}.assistant-response-card>footer{padding:9px 13px}.insights-panel[data-insights-panel="assistant"]{padding-bottom:20px}}

/* Smart investment clarity */
.income-page .plan-card{align-content:start;border:1px solid #d9e7ef!important;background:linear-gradient(150deg,#fff 0%,#f8fcfb 100%);box-shadow:0 11px 28px rgba(10,50,79,.07)}.income-page .plan-card>.plan-meta{border:1px solid #dfebf1;background:#f4f8fb}.income-page .plan-meta span:nth-child(odd){border-right:1px solid #dfebf1}.income-plan-note{display:flex!important;align-items:center;gap:7px;padding:9px 10px!important;border-radius:11px;color:#087657!important;background:#e7f8f1;font-size:.69rem!important;font-weight:750}.income-plan-note svg{width:16px;height:16px;flex:0 0 auto}.income-page .income-subscribe-form{padding-top:11px;border-top:1px solid #e1eaf0}.income-page .income-subscribe-form .money-input-wrap{min-width:0}.income-page .income-subscribe-form .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.income-page .income-subscribe-form .btn svg{width:17px;height:17px}.smart-earning-naira{font-size:1.25rem;font-weight:950}.assistant-voice-button{display:inline-flex!important;align-items:center;gap:6px}.assistant-voice-button.is-listening{color:#fff!important;background:#d94352!important;animation:voice-pulse 1s ease-in-out infinite}.assistant-voice-button svg{width:17px}@keyframes voice-pulse{50%{box-shadow:0 0 0 7px rgba(217,67,82,.13)}}
@media(max-width:430px){.income-page .plan-meta span{padding:8px!important;font-size:.66rem!important}.income-plan-note{font-size:.64rem!important}.insights-assistant-form .form-actions{display:grid;grid-template-columns:1fr auto}.insights-assistant-form .form-actions .assistant-voice-button{width:auto!important}.smart-earning-naira{font-size:1.12rem}}

/* Structured AI answers and playback controls */
.assistant-message>[data-answer-content],.assistant-message.assistant>span{display:block;min-width:0;white-space:normal!important}.assistant-message p{margin:0 0 10px}.assistant-message p:last-child{margin-bottom:0}.assistant-message h3{margin:5px 0 9px;font-size:.88rem}.assistant-message ul,.assistant-message ol{margin:7px 0;padding-left:20px}.assistant-message li+li{margin-top:5px}.assistant-table-wrap{width:100%;margin:9px 0 12px;overflow-x:auto;border:1px solid #d6e4ec;border-radius:12px;background:#fff;-webkit-overflow-scrolling:touch}.assistant-data-table{width:100%;min-width:390px;border-collapse:collapse;font-size:.7rem}.assistant-data-table th,.assistant-data-table td{padding:9px 10px;border-right:1px solid #e1eaf0;border-bottom:1px solid #e1eaf0;text-align:left;vertical-align:top}.assistant-data-table th{color:#084c7c;background:#eaf3f8;font-size:.66rem;text-transform:uppercase;letter-spacing:.03em}.assistant-data-table tr:last-child td{border-bottom:0}.assistant-data-table th:last-child,.assistant-data-table td:last-child{border-right:0}.assistant-speech-controls{display:flex!important;justify-content:flex-start!important;gap:5px;flex-wrap:wrap}.assistant-speech-controls .assistant-read{padding:6px 8px;border-radius:9px;background:#dff5ed}.assistant-speech-controls .assistant-read.is-stop{color:#b83946;background:#fdebed}
@media(max-width:480px){.assistant-chat{min-width:0;overflow:hidden}.assistant-messages{max-height:410px!important;padding:6px!important}.assistant-message{max-width:96%!important;min-width:0}.assistant-data-table{min-width:340px}.assistant-data-table th,.assistant-data-table td{padding:8px;font-size:.65rem}.assistant-speech-controls .assistant-read{font-size:.62rem}}

/* Responsive biometric lock screen */
@media(max-width:600px){.biometric-lock-page{display:flex!important;align-items:flex-start!important;justify-content:center!important;min-height:100dvh!important;padding:16px 12px 28px!important;overflow-y:auto}.biometric-lock-card{width:100%!important;max-width:430px!important;min-height:0!important;margin:0!important;padding:20px 18px 22px!important;border-radius:18px!important}.lock-brand{margin-left:2px}.lock-auth-surface{margin-top:17px!important;padding-top:20px!important}.lock-user h1{font-size:1.28rem!important}.lock-biometric-panel{margin-top:17px!important}.fingerprint-orb{width:76px!important;height:76px!important;margin-bottom:18px!important;border-radius:22px!important}.fingerprint-orb svg{width:41px!important;height:41px!important}.lock-biometric-button{min-height:50px!important}.lock-other-method{margin-top:9px!important}.lock-other-method summary{padding:11px 4px 2px!important}}
@media(max-width:380px){.biometric-lock-page{padding:10px 8px 22px!important}.biometric-lock-card{padding:17px 14px 19px!important}.lock-auth-surface{margin-top:14px!important;padding-top:17px!important}.fingerprint-orb{width:70px!important;height:70px!important}}
@media(max-height:680px) and (max-width:600px){.biometric-lock-page{padding-top:8px!important}.biometric-lock-card{padding-top:15px!important}.lock-auth-surface{margin-top:12px!important;padding-top:14px!important}.lock-biometric-panel{margin-top:12px!important}.fingerprint-orb{width:64px!important;height:64px!important;margin-bottom:13px!important}.fingerprint-orb svg{width:35px!important;height:35px!important}}

/* Unified financial confirmation and payment dialogs */
.choice-modal,.transaction-pin-modal{box-sizing:border-box;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain}.choice-modal-backdrop,.transaction-pin-backdrop{background:rgba(7,22,40,.52)!important;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.choice-modal-card,.transaction-pin-card{box-sizing:border-box;width:min(100%,430px)!important;max-width:430px;margin:auto;padding:25px 24px 23px!important;overflow:hidden;border:1px solid rgba(210,225,236,.95)!important;border-radius:24px!important;background:#fff!important;box-shadow:0 26px 75px rgba(5,27,50,.27)!important;animation:payment-modal-in .22s ease both}.choice-modal-card>.eyebrow,.transaction-pin-card>.eyebrow{margin:0 50px 7px 0;color:#06a879;font-size:.7rem;font-weight:900;letter-spacing:.13em}.choice-modal-card>h2,.transaction-pin-card>h2{max-width:330px;margin:0 48px 8px 0!important;color:#14273d;font-size:1.35rem;line-height:1.28}.choice-modal-card>.muted,.transaction-pin-card>.muted{margin:0;color:#6d8095;font-size:.87rem;line-height:1.52}.choice-modal-card .choice-close,.choice-modal-card>.install-dismiss,.transaction-pin-card>.install-dismiss{top:17px!important;right:17px!important;display:grid;place-items:center;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0;border:1px solid #d8e4ed;border-radius:13px;color:#18334d;background:#eff5f8}.choice-modal-card .choice-close svg,.choice-modal-card>.install-dismiss svg,.transaction-pin-card>.install-dismiss svg{width:20px;height:20px}.choice-modal-card .modal-eye{top:72px;right:18px;width:38px;height:38px;border-radius:12px}.balance-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:19px}.balance-choice-card{grid-template-columns:42px minmax(0,1fr) auto;grid-template-rows:auto auto auto;column-gap:11px;align-items:center;min-width:0;min-height:112px;padding:14px!important;border:1px solid #dae5ed!important;border-radius:17px!important;background:#f6f9fb!important;box-shadow:none}.balance-choice-card:before{content:'₦';grid-column:1;grid-row:1/4;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#07568a;background:#e3eef6;font-size:1rem;font-weight:950}.balance-choice-card>span:not(.balance-choice-tick),.balance-choice-card>strong,.balance-choice-card>small{grid-column:2;min-width:0}.balance-choice-card>span:not(.balance-choice-tick){color:#64788e;font-size:.73rem;font-weight:800}.balance-choice-card>strong{overflow:hidden;color:#13283f;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.balance-choice-card>small{color:#718399;font-size:.67rem;line-height:1.35}.balance-choice-card .balance-choice-tick{grid-column:3;grid-row:1/4;position:static;width:22px;height:22px}.balance-choice-card.is-selected{border-color:#62d5ae!important;background:#effbf7!important;box-shadow:0 0 0 2px rgba(20,195,137,.08)}.balance-choice-card.is-selected:before{color:#fff;background:#11b980}.payment-confirm-note{margin:13px 0 0!important;padding:10px 12px;border-radius:11px;background:#f4f8fb;font-size:.72rem!important}.choice-modal-card>.btn-wide{min-height:48px;margin-top:14px;border-radius:13px}.choice-modal-card .compact-actions,.transaction-pin-card .compact-actions{gap:9px;margin-top:19px}.choice-modal-card .compact-actions .btn,.transaction-pin-card .compact-actions .btn{min-height:44px;border-radius:12px}.transaction-pin-shield{width:52px;height:52px;margin-bottom:1px;border-radius:16px}.transaction-pin-card form{margin-top:8px}.withdrawal-confirm-card,.bank-confirm-card{width:min(100%,410px)!important}.withdrawal-confirm-card .review-box,.bank-confirm-card .review-box,.withdrawal-confirm-card .balance-review,.bank-confirm-card .balance-review{margin-top:17px;border-radius:16px!important;background:#f4f8fb!important}.clipboard-action-modal .clipboard-number{margin-top:15px;border-radius:14px;background:#f3f7fa}.first-transfer-card{width:min(100%,410px)!important}.first-transfer-card>.eyebrow,.first-transfer-card>h2{margin-right:0!important}.first-transfer-card>.muted{font-size:.87rem}@keyframes payment-modal-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:600px){.choice-modal{place-items:end center!important;padding:0!important}.choice-modal-card{width:100%!important;max-width:none!important;margin:0!important;padding:23px 18px calc(20px + env(safe-area-inset-bottom))!important;border-width:1px 0 0!important;border-radius:25px 25px 0 0!important}.choice-modal-card:before{content:'';display:block;width:38px;height:4px;margin:-10px auto 17px;border-radius:99px;background:#d6e0e7}.choice-modal-card .choice-close,.choice-modal-card>.install-dismiss{top:19px!important;right:17px!important}.choice-modal-card>.eyebrow{margin-top:0}.balance-choice-grid{grid-template-columns:1fr;gap:9px}.balance-choice-card{min-height:88px}.transaction-pin-modal{padding:14px!important}.transaction-pin-card{padding:23px 17px 18px!important}.withdrawal-confirm-card,.bank-confirm-card,.first-transfer-card{width:100%!important;max-width:none!important}.two-up-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:360px){.choice-modal-card{padding-inline:15px!important}.choice-modal-card>h2{font-size:1.17rem}.choice-modal-card>.muted{font-size:.8rem}.balance-choice-card{grid-template-columns:38px minmax(0,1fr) auto;padding:12px!important}.balance-choice-card:before{width:38px;height:38px}.choice-modal-card .compact-actions .btn{padding-inline:9px;font-size:.79rem}}

/* Responsive control-panel foundation */
.admin-portal-shell{min-width:0}.admin-layout,.admin-workspace,.admin-content,.admin-content>*{min-width:0}.admin-workspace{width:100%;overflow:hidden}.admin-content{max-width:1480px;padding:clamp(18px,2.25vw,32px)}.admin-content>.dashboard-page,.admin-content>.admin-page{display:grid;gap:18px;width:100%;min-width:0}.admin-content>.dashboard-page>*,.admin-content>.admin-page>*{min-width:0;max-width:100%}.admin-content .dashboard-hero{min-height:0!important;margin-bottom:0!important;padding:clamp(21px,2.6vw,31px)!important}.admin-content .dashboard-hero h1{margin:.2rem 0 .45rem!important;font-size:clamp(1.4rem,2.35vw,2rem)!important;line-height:1.17}.admin-content .dashboard-hero .lead{margin:0;line-height:1.55}.admin-content .section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}.admin-content .section-head>div{min-width:0}.admin-content .section-head h2{margin-top:0;line-height:1.25}.admin-content .section-head p{max-width:760px;line-height:1.5}.admin-content .section-head>.btn,.admin-content .section-head>a.btn,.admin-content .section-head>form{flex:0 0 auto}.admin-content .flow-panel,.admin-content .transaction-panel,.admin-content .admin-card,.admin-content .stat-card{min-width:0;overflow:hidden}.admin-content .form,.admin-content .filter-form,.admin-content .row-actions{min-width:0}.admin-content .form>*{min-width:0}.admin-content .form input,.admin-content .form select,.admin-content .form textarea,.admin-content .filter-form input,.admin-content .filter-form select,.admin-content .row-actions input,.admin-content .row-actions select{max-width:100%;min-width:0}.admin-content .form.split-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-content .form.split-form>.btn-wide,.admin-content .form.split-form>.form-actions,.admin-content .form.split-form>fieldset,.admin-content .form.split-form>.alert,.admin-content .form.split-form>.mfa-enabled-card,.admin-content .form.split-form>.totp-setup{grid-column:1/-1}.admin-content .filter-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;margin-bottom:16px}.admin-content .filter-form .btn{min-width:100px}.admin-content .compact-actions,.admin-content .row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-content .row-actions{justify-content:flex-end}.admin-content .row-actions .btn{flex:0 0 auto}.admin-content .transaction-list{min-width:0}.admin-content .transaction-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0}.admin-content .transaction-main{min-width:0}.admin-content .transaction-main strong,.admin-content .transaction-main span{max-width:100%;overflow-wrap:anywhere}.admin-content .transaction-meta{white-space:normal}.admin-content .table-scroll,.admin-content .table-wrap{position:relative;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;border-radius:13px}.admin-content table{max-width:none}.admin-content .data-table{min-width:720px}.admin-content img,.admin-content svg,.admin-content canvas{max-width:100%}.admin-content fieldset{min-width:0}.admin-content .checkbox-line{min-width:0}.admin-content .checkbox-line span{min-width:0;overflow-wrap:anywhere}.admin-content .module-card,.admin-content .info-card{overflow:hidden}.admin-content .module-card strong,.admin-content .module-card span,.admin-content .info-card strong,.admin-content .info-card span{max-width:100%;overflow-wrap:anywhere}.admin-content .pagination{max-width:100%;overflow-x:auto;justify-content:flex-start;padding-bottom:4px}.admin-content .pagination a{flex:0 0 auto}.admin-sidebar-nav{padding-bottom:max(30px,env(safe-area-inset-bottom))}.admin-global-header{width:100%;min-width:0}.admin-page-identity{min-width:0}.admin-page-identity h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(min-width:981px) and (max-width:1250px){.admin-layout{grid-template-columns:230px minmax(0,1fr)}.admin-sidebar{padding-inline:11px}.admin-sidebar-nav a{gap:8px;padding-inline:9px}.admin-content .account-grid,.admin-content .admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.admin-content .module-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:1500px){.admin-content{padding-inline:38px}.admin-content .flow-panel,.admin-content .transaction-panel{padding:26px!important}.admin-content .form.split-form{grid-template-columns:repeat(2,minmax(260px,1fr))}}
@media(max-width:980px){body.admin-nav-open{overflow:hidden}.admin-workspace{width:100%}.admin-sidebar{height:100dvh;overflow:hidden}.admin-sidebar-nav{overscroll-behavior:contain}.admin-global-header{min-height:64px}.admin-content{max-width:none;padding:16px}.admin-content .dashboard-hero{padding:22px!important}.admin-content .admin-grid,.admin-content .admin-columns{grid-template-columns:1fr!important}.admin-content .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content .row-actions{justify-content:flex-start}}
@media(max-width:700px){.admin-global-header{grid-template-columns:38px minmax(0,1fr) auto;gap:9px;padding:9px 11px}.admin-global-actions{gap:5px}.admin-global-actions a{width:36px;height:36px}.admin-content{padding:11px}.admin-content>.dashboard-page,.admin-content>.admin-page{gap:12px}.admin-content .dashboard-hero{padding:18px 16px!important;border-radius:16px!important}.admin-content .dashboard-hero .lead{font-size:.78rem}.admin-content .flow-panel,.admin-content .transaction-panel,.admin-content .admin-card,.admin-content .stat-card{padding:14px!important;border-radius:15px!important}.admin-content .section-head{align-items:stretch;flex-wrap:wrap;gap:9px}.admin-content .section-head>.btn,.admin-content .section-head>a.btn,.admin-content .section-head>form{flex:0 1 auto}.admin-content .form.split-form,.admin-content .admin-inline-form{grid-template-columns:1fr!important;gap:11px}.admin-content .form.split-form>*{grid-column:1/-1}.admin-content .filter-form{grid-template-columns:minmax(0,1fr) auto}.admin-content .filter-form .btn{min-width:0}.admin-content .transaction-item{grid-template-columns:1fr;gap:10px;padding:13px!important}.admin-content .transaction-item>.transaction-amount,.admin-content .transaction-item>.badge,.admin-content .transaction-item>.row-actions{justify-self:start}.admin-content .row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.admin-content .row-actions>*{width:100%!important;min-width:0!important}.admin-content .row-actions select,.admin-content .row-actions input{grid-column:1/-1}.admin-content .row-actions .inline-check{grid-column:1/-1}.admin-content .compact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.admin-content .compact-actions .btn{width:100%;min-width:0}.admin-content .data-table{min-width:660px}.admin-content .table-scroll:after,.admin-content .table-wrap:after{content:'Swipe to view more →';position:sticky;left:8px;display:inline-flex;margin:8px;padding:5px 8px;border-radius:999px;color:#5e7186;background:#eaf1f5;font-size:.62rem;font-weight:800}.admin-content .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-content .module-card{min-height:90px!important;padding:12px!important}.admin-content .account-grid,.admin-content .admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-content .info-card,.admin-content .stat-card{min-height:88px!important}.admin-content .info-card strong,.admin-content .stat-card strong{font-size:clamp(.8rem,3.8vw,1rem)!important}.admin-content .totp-setup{grid-template-columns:1fr!important;text-align:center}.admin-content .totp-setup code{max-width:100%;overflow-wrap:anywhere}}
@media(max-width:390px){.admin-page-identity h1{font-size:.92rem}.admin-global-actions a:not(:last-child){display:none}.admin-content .module-grid{grid-template-columns:1fr!important}.admin-content .account-grid,.admin-content .admin-stat-grid,.admin-content .stats-grid{grid-template-columns:1fr!important}.admin-content .compact-actions,.admin-content .row-actions{grid-template-columns:1fr}.admin-content .filter-form{grid-template-columns:1fr}.admin-content .filter-form .btn{width:100%}.admin-content .data-table{min-width:620px}}
/* Visible AI rollout controls on Money Insights. */
.ai-feature-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px}.ai-feature-strip>span{display:grid;grid-template-columns:38px 1fr;column-gap:10px;align-items:center;padding:12px;border:1px solid #dbe6ef;border-radius:15px;background:#f7fafc}.ai-feature-strip svg{grid-row:1/3;width:21px;height:21px;padding:8px;border-radius:11px;color:#557087;background:#eaf0f5;box-sizing:content-box}.ai-feature-strip b{font-size:.78rem}.ai-feature-strip small{color:#708197;font-size:.68rem}.ai-feature-strip .is-on{border-color:#bcebdc;background:#effbf7}.ai-feature-strip .is-on svg{color:#07875e;background:#dff6ed}.assistant-suggestions{display:flex;gap:7px;overflow-x:auto;padding:1px 0 5px;scrollbar-width:none}.assistant-suggestions::-webkit-scrollbar{display:none}.assistant-suggestions button{flex:0 0 auto;padding:8px 11px;border:1px solid #d8e5ef;border-radius:999px;color:#0a4c80;background:#f6f9fc;font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}@media(max-width:480px){.ai-feature-strip{grid-template-columns:1fr}.insights-assistant-form .form-actions{display:grid;grid-template-columns:1fr 1fr}.insights-assistant-form .form-actions .btn{min-width:0}}
/* AI usage control-panel dashboard. */
.ai-usage-page{display:grid;gap:18px}.ai-usage-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px;border-radius:22px;color:#fff;background:linear-gradient(130deg,#063b7a,#075c91 62%,#08745f);box-shadow:0 20px 45px rgba(6,59,122,.18)}.ai-usage-hero h1{margin:10px 0 8px;font-size:clamp(1.7rem,3vw,2.45rem)}.ai-usage-hero p{max-width:720px;margin:0;color:#d7e7f4;line-height:1.55}.ai-usage-hero form{min-width:190px}.ai-usage-hero label span{display:block;margin-bottom:7px;font-size:.72rem;font-weight:800;color:#d9e8f5}.ai-usage-hero select{min-height:46px;border:1px solid #ffffff42;color:#fff;background:#ffffff18}.ai-usage-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.ai-usage-metrics article{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center;padding:18px;border:1px solid #dce7ef;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(12,55,86,.06)}.ai-usage-metrics article>span{grid-row:1/4;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#075493;background:#eaf3fa}.ai-usage-metrics article>span svg{width:21px}.ai-usage-metrics small{color:#718197;font-size:.7rem}.ai-usage-metrics strong{font-size:1.35rem}.ai-usage-metrics em{color:#587087;font-size:.68rem;font-style:normal}.ai-usage-metrics .is-success>span{color:#07805a;background:#e2f7ef}.ai-usage-metrics .is-token>span{color:#6a46b6;background:#f0eafd}.ai-usage-metrics .is-failed>span{color:#c43e4c;background:#fcecef}.ai-usage-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px}.ai-usage-chart,.ai-feature-usage,.ai-usage-recent{padding:21px}.ai-usage-chart>header,.ai-feature-usage>header,.ai-usage-recent>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:17px}.ai-usage-chart header h2,.ai-feature-usage header h2,.ai-usage-recent header h2{margin:3px 0;font-size:1.2rem}.ai-usage-chart header>svg,.ai-feature-usage header>svg,.ai-usage-recent header>svg{width:21px;color:#087a5a}.ai-bars{display:flex;align-items:flex-end;gap:8px;min-height:190px;padding:16px 8px 0;border-bottom:1px solid #dce7ef;background:linear-gradient(#edf3f7 1px,transparent 1px);background-size:100% 25%}.ai-bars>div{display:grid;grid-template-rows:150px 22px;align-items:end;justify-items:center;flex:1;min-width:22px}.ai-bars span{display:block;width:min(28px,75%);min-height:5px;border-radius:8px 8px 3px 3px;background:linear-gradient(#14c88b,#075a97)}.ai-bars small{white-space:nowrap;color:#718197;font-size:.61rem}.ai-feature-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e4ebf1}.ai-feature-row:last-child{border:0}.ai-feature-row span{display:grid;gap:3px}.ai-feature-row span:last-child{text-align:right}.ai-feature-row small{color:#718197;font-size:.67rem}.ai-usage-recent header p{margin:3px 0;color:#718197;font-size:.75rem}.ai-usage-recent td small{display:block;margin-top:3px;color:#75859a;font-size:.65rem}.ai-usage-recent .ai-error{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#bd3947}.status-pill.status-successful{color:#087957;background:#e3f7ef}.status-pill.status-failed{color:#bd3947;background:#fcebed}@media(max-width:1050px){.ai-usage-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-usage-grid{grid-template-columns:1fr}}@media(max-width:650px){.ai-usage-hero{align-items:stretch;flex-direction:column;padding:21px}.ai-usage-hero form{min-width:0}.ai-usage-metrics{grid-template-columns:1fr 1fr}.ai-usage-metrics article{grid-template-columns:36px 1fr;padding:13px;column-gap:9px}.ai-usage-metrics article>span{width:36px;height:36px}.ai-usage-metrics strong{font-size:1.05rem}.ai-usage-chart,.ai-feature-usage,.ai-usage-recent{padding:16px}.ai-bars{overflow-x:auto}.ai-bars>div{flex:0 0 36px}.ai-usage-recent table thead{display:none}.ai-usage-recent table,.ai-usage-recent tbody,.ai-usage-recent tr,.ai-usage-recent td{display:block}.ai-usage-recent tr{padding:12px;border:1px solid #dfe8ef;border-radius:14px;margin-bottom:10px}.ai-usage-recent td{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border:0;text-align:right}.ai-usage-recent td:before{content:attr(data-label);color:#748398;font-size:.67rem;font-weight:800;text-align:left}}@media(max-width:390px){.ai-usage-metrics{grid-template-columns:1fr}}
/* Compact mobile-first task cards. */
.task-earn-page{padding-bottom:110px}.task-earn-page .market-section,.task-earn-page .transaction-panel{padding:18px;border-radius:20px}.task-earn-page .section-head{margin-bottom:13px}.task-earn-page .section-head h2{font-size:1.15rem}.earning-task-grid{gap:11px}.earning-task-card{gap:10px;padding:14px;border-radius:16px;box-shadow:0 7px 20px rgba(6,59,122,.045)}.task-card-primary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px}.task-card-primary .feature-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#0b5488;background:#e8f1f7}.task-card-primary .feature-icon svg{width:21px;height:21px}.task-card-primary>div{min-width:0}.earning-task-card .task-card-primary h2{margin:0 0 3px;font-size:.95rem;line-height:1.3}.earning-task-card .task-card-primary p{display:-webkit-box;overflow:hidden;margin:0;color:#708197;font-size:.75rem;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.task-reward{display:grid;gap:2px;justify-items:end;white-space:nowrap}.task-reward small{color:#77879a;font-size:.61rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.task-reward strong{color:#07835d;font-size:.84rem}.earning-task-card>.task-bot-badge{justify-self:start;margin:0}.earning-task-card details{padding:9px 11px}.earning-task-card summary{font-size:.75rem}.task-meta{padding-top:1px;font-size:.68rem}.earning-task-card>form:not(.task-proof-form){display:flex}.earning-task-card>form>.btn{min-height:37px;padding:8px 13px;font-size:.76rem}.earning-task-card>.badge{justify-self:start}.earning-task-card.task-status-submitted,.earning-task-card.task-status-approved{border-left:3px solid #e3a11c}.earning-task-card.task-status-approved{border-left-color:#13a978}.task-history-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #e4ebf1}.task-history-card:last-child{border-bottom:0}.task-history-copy{display:grid;gap:4px;min-width:0}.task-history-copy>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.task-history-copy small{display:flex;align-items:center;gap:4px;color:#75859a;font-size:.67rem}.task-history-copy small svg{width:13px;height:13px}.task-history-result{display:grid;justify-items:end;gap:6px}.task-history-result>strong{font-size:.8rem;color:#12304d}.task-history-result .badge{font-size:.6rem}.task-earn-page .transaction-list{gap:0}@media(max-width:520px){.task-earn-page .market-section,.task-earn-page .transaction-panel{padding:14px}.task-flow-strip{display:flex;gap:7px;overflow-x:auto;margin:12px 0 17px;scrollbar-width:none}.task-flow-strip span{flex:0 0 auto;padding:8px 10px;font-size:.7rem}.task-flow-strip b{width:21px;height:21px;flex-basis:21px}.task-card-primary{grid-template-columns:38px minmax(0,1fr) auto;gap:9px}.task-card-primary .feature-icon{width:38px;height:38px}.task-reward strong{font-size:.77rem}.task-history-card{grid-template-columns:38px minmax(0,1fr) auto;gap:9px}.task-history-icon{width:38px;height:38px;flex-basis:38px}}
/* Login device security centre. */
.devices-page{max-width:820px;padding-bottom:110px}.devices-hero{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:15px;padding:21px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#063b7a,#07568f 62%,#08745e);box-shadow:0 17px 40px rgba(6,59,122,.16)}.devices-hero-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;color:#fff;background:#ffffff1c;border:1px solid #ffffff2e}.devices-hero-icon svg{width:29px;height:29px}.devices-hero .eyebrow{margin:0 0 5px;color:#5de0b6;font-size:.66rem}.devices-hero h1{margin:0 0 6px;font-size:1.45rem}.devices-hero p{max-width:520px;margin:0;color:#d7e7f2;font-size:.78rem;line-height:1.5}.devices-active-count{display:grid;justify-items:center;min-width:82px;padding:11px;border-radius:16px;background:#ffffff14}.devices-active-count strong{font-size:1.35rem}.devices-active-count small{color:#d7e7f2;font-size:.62rem}.device-security-note{display:flex;align-items:center;gap:11px;margin:13px 0;padding:12px 14px;border:1px solid #bcebdc;border-radius:15px;background:#effbf7}.device-security-note>svg{width:21px;color:#07815c}.device-security-note div{display:grid;gap:2px}.device-security-note strong{font-size:.78rem}.device-security-note span{color:#688095;font-size:.68rem}.device-session-section{padding:18px;border:1px solid #dbe6ee;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(14,54,85,.055)}.device-session-section>.section-head{margin-bottom:4px}.device-session-section>.section-head h2{margin:3px 0;font-size:1.12rem}.device-session-section>.section-head>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:#07528a;background:#eaf2f8;font-size:.72rem;font-weight:900}.device-session-list{gap:0;margin:0}.device-session-card{grid-template-columns:46px minmax(0,1fr) auto;gap:12px;padding:14px 2px;border:0;border-bottom:1px solid #e5ecf1;border-radius:0;box-shadow:none}.device-session-card:last-child{border-bottom:0}.device-session-card.is-current{padding-inline:11px;border:1px solid #aee7d4;border-radius:16px;background:linear-gradient(135deg,#f0fbf7,#fff)}.device-session-icon{width:46px;height:46px;border-radius:14px}.device-session-icon svg{width:22px}.device-session-copy{min-width:0}.device-session-title strong{font-size:.86rem}.device-session-title span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px}.device-session-title span svg{width:12px;height:12px}.device-browser{display:flex;align-items:center;gap:5px;margin-top:3px;color:#516c83;font-size:.72rem;font-weight:750}.device-browser svg{width:13px;height:13px}.device-session-meta{display:flex;flex-wrap:wrap;gap:5px 13px;margin-top:6px}.device-session-meta small{display:flex;align-items:center;gap:4px;margin:0;color:#7a899b;font-size:.64rem}.device-session-meta svg{width:12px;height:12px}.device-signout-button{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #f1cbd0;border-radius:11px;color:#bd3947;background:#fff7f8;font:inherit;font-size:.68rem;font-weight:850;cursor:pointer}.device-signout-button svg{width:14px;height:14px}.device-current-lock{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#07815c;background:#ddf6ed}.device-current-lock svg{width:16px}.revoked-device-section{margin-top:13px;border:1px solid #dce6ed;border-radius:17px;background:#fff}.revoked-device-section summary{display:flex;align-items:center;justify-content:space-between;padding:14px;cursor:pointer;list-style:none}.revoked-device-section summary::-webkit-details-marker{display:none}.revoked-device-section summary>span{display:flex;align-items:center;gap:8px;font-size:.78rem}.revoked-device-section summary svg{width:17px;color:#688096}.revoked-device-section summary small{color:#78889b;font-size:.67rem}.revoked-device-list{padding:0 14px 8px}.revoked-device-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #e7edf2}.revoked-device-list article>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#77889a;background:#edf2f5}.revoked-device-list article svg{width:16px}.revoked-device-list article div{display:grid;gap:2px}.revoked-device-list article strong{font-size:.72rem}.revoked-device-list article small{color:#7a899a;font-size:.62rem}.device-help-link{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:10px;margin-top:13px;padding:13px;border:1px solid #d8e5ee;border-radius:16px;color:#12304c;background:#fff;text-decoration:none}.device-help-link>svg:first-child{width:19px;padding:8px;border-radius:11px;color:#07538c;background:#eaf3f9;box-sizing:content-box}.device-help-link>svg:last-child{width:17px;color:#7990a2}.device-help-link span{display:grid;gap:2px}.device-help-link strong{font-size:.77rem}.device-help-link small{color:#75879a;font-size:.65rem}@media(max-width:580px){.devices-hero{grid-template-columns:48px minmax(0,1fr);padding:17px;gap:11px}.devices-hero-icon{width:48px;height:48px}.devices-hero h1{font-size:1.2rem}.devices-active-count{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:8px}.devices-active-count strong{font-size:.95rem}.device-session-section{padding:14px}.device-session-card,.device-session-card.is-current{grid-template-columns:40px minmax(0,1fr);padding:12px 8px;gap:9px}.device-session-icon{width:40px;height:40px}.device-signout-button,.device-current-lock{grid-column:2;justify-self:start}.device-current-lock{display:none}.device-session-meta{display:grid;gap:4px}.revoked-device-list article{grid-template-columns:32px minmax(0,1fr)}.revoked-device-list .badge{grid-column:2;justify-self:start}}
