:root {
    --rewaa-navy: #0f2744;
    --rewaa-blue: #1d4f91;
    --rewaa-amber: #d97706;
    --rewaa-surface: #f7f9fc;
    --rewaa-card: rgb(255 255 255 / 92%);
}

.fi-body {
    background:
        radial-gradient(circle at 15% 0%, rgb(29 79 145 / 8%), transparent 28rem),
        linear-gradient(180deg, #fbfcfe 0%, var(--rewaa-surface) 100%);
}

.dark .fi-body {
    background:
        radial-gradient(circle at 15% 0%, rgb(59 130 246 / 10%), transparent 28rem),
        #0b1220;
}

.fi-topbar nav {
    border-bottom: 1px solid rgb(15 39 68 / 8%);
    height: 4rem;
    min-height: 4rem;
    position: relative;
    box-shadow: 0 8px 30px rgb(15 39 68 / 5%);
}

.fi-sidebar {
    background:
        radial-gradient(circle at 100% 0%, rgb(29 79 145 / 7%), transparent 15rem),
        rgb(255 255 255 / 96%);
    border-inline-start: 1px solid rgb(15 39 68 / 7%);
    box-shadow: -12px 0 35px rgb(15 39 68 / 7%);
}

.fi-sidebar-header {
    background: rgb(255 255 255 / 88%);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgb(15 39 68 / 7%);
    height: 4rem;
    min-height: 4rem;
    padding-inline: 1.15rem;
}

.fi-sidebar-header .fi-logo {
    filter: drop-shadow(0 5px 10px rgb(29 79 145 / 12%));
    max-width: 9rem;
    object-fit: contain;
}

.rewaa-print-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
}

.rewaa-invoice-logo {
    height: 4.5rem;
    max-width: 13rem;
    object-fit: contain;
}

/* Financial invoice view */
.rewaa-order-invoice {
    --invoice-bg: #eef4fb;
    --invoice-surface: #ffffff;
    --invoice-surface-soft: #f7faff;
    --invoice-border: #dbe6f2;
    --invoice-text: #102544;
    --invoice-muted: #708099;
    --invoice-blue: #0866e8;
    --invoice-blue-soft: #eaf3ff;
    --invoice-orange: #ea7200;
    --invoice-green: #059669;
    --invoice-red: #dc2626;
    --invoice-shadow: 0 18px 48px rgb(15 39 68 / 8%);
    background: linear-gradient(145deg, var(--invoice-bg), #f7faff 55%, var(--invoice-bg));
    border: 1px solid var(--invoice-border);
    border-radius: 1.5rem;
    color: var(--invoice-text);
    overflow: hidden;
    padding: 1.25rem;
}

.dark .rewaa-order-invoice {
    --invoice-bg: #0b1423;
    --invoice-surface: #111d2f;
    --invoice-surface-soft: #16253a;
    --invoice-border: #2a3c55;
    --invoice-text: #eef5ff;
    --invoice-muted: #9fb0c6;
    --invoice-blue: #60a5fa;
    --invoice-blue-soft: #17345b;
    --invoice-orange: #fb923c;
    --invoice-green: #34d399;
    --invoice-red: #fb7185;
    --invoice-shadow: 0 20px 55px rgb(0 0 0 / 26%);
    background: linear-gradient(145deg, #09111e, var(--invoice-bg));
}

.dark .rewaa-order-invoice .rewaa-invoice-logo {
    background: #fff;
    border-radius: 0.65rem;
    box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
    padding: 0.25rem 0.45rem;
}

.dark .fi-sidebar-header .fi-logo {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

.rewaa-invoice-toolbar {
    align-items: center;
    border-bottom: 1px solid var(--invoice-border);
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 0.25rem 0.4rem 1rem;
}

.rewaa-invoice-title-row { align-items: center; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.rewaa-invoice-title-row h1 { color: var(--invoice-text); font-size: 1.75rem; font-weight: 900; line-height: 1.2; margin: 0; }
.rewaa-invoice-heading-copy p { color: var(--invoice-muted); font-size: 0.82rem; margin: 0.35rem 0 0; }
.rewaa-order-invoice .rewaa-invoice-logo { height: 4rem; max-width: 11rem; }

.rewaa-status-pill {
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    padding: 0.4rem 0.75rem;
}
.rewaa-status-pill.is-success { background: rgb(16 185 129 / 14%); color: var(--invoice-green); }
.rewaa-status-pill.is-warning { background: rgb(245 158 11 / 14%); color: #d97706; }
.dark .rewaa-status-pill.is-warning { color: #fbbf24; }
.rewaa-status-pill.is-info { background: var(--invoice-blue-soft); color: var(--invoice-blue); }
.rewaa-status-pill.is-danger { background: rgb(239 68 68 / 14%); color: var(--invoice-red); }
.rewaa-status-pill.is-neutral { background: rgb(100 116 139 / 14%); color: var(--invoice-muted); }

.rewaa-invoice-layout { align-items: start; direction: ltr; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) 18.5rem; }
.rewaa-invoice-main, .rewaa-invoice-aside { direction: rtl; min-width: 0; }
.rewaa-invoice-aside { display: grid; gap: 0.85rem; }
.rewaa-invoice-paper, .rewaa-side-card, .rewaa-related-card {
    background: var(--invoice-surface);
    border: 1px solid var(--invoice-border);
    border-radius: 1.05rem;
    box-shadow: var(--invoice-shadow);
}
.rewaa-invoice-paper { padding: 1.15rem; }

.rewaa-invoice-meta { border-bottom: 1px solid var(--invoice-border); display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); padding: 0.15rem 0 1rem; }
.rewaa-invoice-meta div { min-width: 0; }
.rewaa-invoice-meta div + div { border-inline-start: 1px solid var(--invoice-border); padding-inline-start: 1rem; }
.rewaa-invoice-meta span { color: var(--invoice-muted); display: block; font-size: 0.72rem; margin-bottom: 0.28rem; }
.rewaa-invoice-meta strong { color: var(--invoice-text); display: block; font-size: 0.9rem; overflow-wrap: anywhere; }

.rewaa-party-grid { align-items: stretch; display: grid; gap: 0.85rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }
.rewaa-party-card { background: var(--invoice-surface-soft); border: 1px solid var(--invoice-border); border-radius: 0.85rem; color: inherit; display: grid; grid-template-rows: auto 1fr; padding: 0.9rem; transition: border-color 160ms, transform 160ms; }
.rewaa-party-card:hover { border-color: var(--invoice-blue); transform: translateY(-1px); }
.rewaa-card-heading { align-items: center; display: flex; gap: 0.5rem; margin-bottom: 0.7rem; }
.rewaa-card-heading h2, .rewaa-side-card > h2 { color: var(--invoice-text); font-size: 0.9rem; font-weight: 850; margin: 0; }
.rewaa-card-icon { align-items: center; background: var(--invoice-blue-soft); border-radius: 0.55rem; color: var(--invoice-blue); display: inline-flex; height: 1.75rem; justify-content: center; width: 1.75rem; }
.rewaa-card-icon.is-building { color: var(--invoice-orange); }
.rewaa-card-icon svg { height: 1.05rem; width: 1.05rem; }
.rewaa-party-card dl, .rewaa-payment-summary dl { display: grid; gap: 0.42rem; margin: 0; }
.rewaa-party-card dl { grid-template-rows: repeat(4, minmax(1.35rem, auto)); }
.rewaa-party-card dl div, .rewaa-payment-summary dl div { align-items: center; display: grid; font-size: 0.73rem; gap: 0.5rem; grid-template-columns: 7.5rem minmax(0, 1fr); }
.rewaa-party-card dt, .rewaa-payment-summary dt { color: var(--invoice-muted); }
.rewaa-party-card dd, .rewaa-payment-summary dd { color: var(--invoice-text); font-weight: 650; line-height: 1.35; margin: 0; min-width: 0; overflow-wrap: anywhere; }

.rewaa-invoice-items { margin-top: 1rem; }
.rewaa-section-title { align-items: center; display: flex; justify-content: space-between; margin-bottom: 0.6rem; }
.rewaa-section-title h2, .rewaa-invoice-totals h2 { color: var(--invoice-text); font-size: 0.9rem; font-weight: 850; margin: 0; }
.rewaa-section-title span { background: var(--invoice-blue-soft); border-radius: 999px; color: var(--invoice-blue); font-size: 0.68rem; font-weight: 750; padding: 0.25rem 0.55rem; }
.rewaa-invoice-table-wrap { border: 1px solid var(--invoice-border); border-radius: 0.8rem; overflow-x: auto; }
.rewaa-invoice-table { border-collapse: collapse; min-width: 780px; width: 100%; }
.rewaa-invoice-table th { background: var(--invoice-surface-soft); color: var(--invoice-muted); font-size: 0.67rem; font-weight: 750; padding: 0.65rem 0.55rem; text-align: right; white-space: nowrap; }
.rewaa-invoice-table td { border-top: 1px solid var(--invoice-border); color: var(--invoice-text); font-size: 0.7rem; padding: 0.7rem 0.55rem; vertical-align: middle; white-space: nowrap; }
.rewaa-invoice-table td a { color: inherit; display: block; min-width: 9rem; white-space: normal; }
.rewaa-invoice-table td strong { display: block; font-size: 0.73rem; }
.rewaa-invoice-table td small { color: var(--invoice-muted); display: block; font-size: 0.62rem; margin-top: 0.15rem; }
.rewaa-invoice-table .is-discount { color: var(--invoice-red); }
.rewaa-invoice-table .is-purchase { color: var(--invoice-green); font-weight: 800; }
.rewaa-invoice-table .is-current { color: var(--invoice-blue); font-weight: 800; }
.rewaa-empty-row { color: var(--invoice-muted) !important; padding: 2rem !important; text-align: center; }

.rewaa-invoice-totals { background: var(--invoice-surface-soft); border: 1px solid var(--invoice-border); border-radius: 0.85rem; margin-top: 0.85rem; padding: 0.85rem; }
.rewaa-invoice-totals h2 { margin-bottom: 0.55rem; }
.rewaa-invoice-totals dl { display: grid; gap: 0.35rem; margin: 0; }
.rewaa-invoice-totals dl div { align-items: center; display: flex; font-size: 0.74rem; justify-content: space-between; }
.rewaa-invoice-totals dt { color: var(--invoice-muted); }
.rewaa-invoice-totals dd { color: var(--invoice-text); font-weight: 750; margin: 0; }
.rewaa-invoice-totals dd.is-discount { color: var(--invoice-red); }
.rewaa-invoice-totals dd.is-paid { color: var(--invoice-green); }
.rewaa-invoice-totals .is-grand-total { background: var(--invoice-blue-soft); border-radius: 0.55rem; margin: 0.15rem -0.35rem; padding: 0.55rem 0.35rem; }
.rewaa-invoice-totals .is-grand-total dt, .rewaa-invoice-totals .is-grand-total dd { color: var(--invoice-blue); font-size: 0.88rem; font-weight: 900; }

.rewaa-side-card { padding: 0.9rem; }
.rewaa-order-timeline > h2 { border-bottom: 1px solid var(--invoice-border); margin-bottom: 0.75rem; padding-bottom: 0.65rem; }
.rewaa-order-timeline ol { display: grid; gap: 0; margin: 0; padding: 0; }
.rewaa-order-timeline li { display: grid; gap: 0.65rem; grid-template-columns: 1.65rem minmax(0, 1fr); list-style: none; min-height: 4.35rem; position: relative; }
.rewaa-order-timeline li:not(:last-child)::before { background: var(--invoice-border); content: ''; height: calc(100% - 1.4rem); position: absolute; right: 0.79rem; top: 1.55rem; width: 2px; }
.rewaa-order-timeline li.is-complete:not(:last-child)::before { background: var(--invoice-blue); }
.rewaa-order-timeline li i { align-items: center; background: var(--invoice-surface-soft); border: 2px solid var(--invoice-border); border-radius: 50%; color: var(--invoice-muted); display: flex; font-size: 0.7rem; font-style: normal; font-weight: 900; height: 1.65rem; justify-content: center; width: 1.65rem; z-index: 1; }
.rewaa-order-timeline li.is-complete i { background: var(--invoice-blue); border-color: var(--invoice-blue); color: #fff; }
.rewaa-order-timeline li.is-rejected i { background: var(--invoice-red); border-color: var(--invoice-red); color: #fff; }
.rewaa-order-timeline strong, .rewaa-order-timeline time, .rewaa-order-timeline span { display: block; }
.rewaa-order-timeline strong { color: var(--invoice-text); font-size: 0.76rem; }
.rewaa-order-timeline time { color: var(--invoice-muted); font-size: 0.65rem; margin-top: 0.1rem; text-align: right; }
.rewaa-order-timeline span { color: var(--invoice-muted); font-size: 0.65rem; margin-top: 0.1rem; }

.rewaa-payment-summary dl div { font-size: 0.68rem; grid-template-columns: 5rem minmax(0, 1fr); }
.rewaa-payment-summary dd.is-paid { color: var(--invoice-green); font-size: 0.78rem; font-weight: 900; }
.rewaa-record-link { color: var(--invoice-blue); font-weight: 850; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--invoice-blue) 35%, transparent); text-underline-offset: 0.18rem; }
.rewaa-record-link:hover { text-decoration-color: var(--invoice-blue); }
.rewaa-inline-link { border-top: 1px solid var(--invoice-border); color: var(--invoice-blue); display: block; font-size: 0.68rem; font-weight: 750; margin-top: 0.7rem; padding-top: 0.65rem; }

.rewaa-proof-preview { background: var(--invoice-surface-soft); border: 1px solid var(--invoice-border); border-radius: 0.7rem; display: block; height: 9rem; overflow: hidden; position: relative; }
.rewaa-proof-preview img { height: 100%; object-fit: contain; width: 100%; }
.rewaa-proof-preview span { background: rgb(15 39 68 / 82%); border-radius: 0.45rem; bottom: 0.45rem; color: #fff; font-size: 0.62rem; padding: 0.28rem 0.45rem; position: absolute; right: 0.45rem; }
.rewaa-proof-meta { display: grid; margin-top: 0.55rem; }
.rewaa-proof-meta strong { color: var(--invoice-text); font-size: 0.65rem; overflow-wrap: anywhere; }
.rewaa-proof-meta small { color: var(--invoice-muted); font-size: 0.6rem; margin-top: 0.15rem; }
.rewaa-proof-actions { display: grid; gap: 0.45rem; grid-template-columns: 1fr 1fr; margin-top: 0.6rem; }
.rewaa-proof-actions a { border: 1px solid var(--invoice-blue); border-radius: 0.5rem; color: var(--invoice-blue); font-size: 0.62rem; font-weight: 750; padding: 0.42rem 0.3rem; text-align: center; }
.rewaa-proof-actions a:first-child { background: var(--invoice-blue); color: #fff; }
.rewaa-proof-empty { align-items: center; background: var(--invoice-surface-soft); border: 1px dashed var(--invoice-border); border-radius: 0.7rem; color: var(--invoice-muted); display: flex; font-size: 0.68rem; justify-content: center; min-height: 6rem; padding: 1rem; text-align: center; }

.rewaa-related-card { color: inherit; display: grid; gap: 0.2rem; padding: 0.85rem; }
.rewaa-related-card span { color: var(--invoice-muted); font-size: 0.65rem; }
.rewaa-related-card strong { color: var(--invoice-text); font-size: 0.82rem; }
.rewaa-related-card em { color: var(--invoice-blue); font-size: 0.65rem; font-style: normal; font-weight: 750; }

@media (max-width: 1279px) {
    .rewaa-invoice-layout { grid-template-columns: 1fr; }
    .rewaa-invoice-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rewaa-order-timeline { grid-row: span 2; }
}

@media (max-width: 767px) {
    .rewaa-order-invoice { border-radius: 1rem; padding: 0.75rem; }
    .rewaa-invoice-toolbar { align-items: flex-start; }
    .rewaa-order-invoice .rewaa-invoice-logo { height: 2.75rem; max-width: 7rem; }
    .rewaa-invoice-title-row h1 { font-size: 1.3rem; }
    .rewaa-invoice-meta, .rewaa-party-grid, .rewaa-invoice-aside { grid-template-columns: 1fr; }
    .rewaa-invoice-meta div + div { border-inline-start: 0; border-top: 1px solid var(--invoice-border); padding-inline-start: 0; padding-top: 0.7rem; }
    .rewaa-party-card dl div { grid-template-columns: 6.5rem minmax(0, 1fr); }
}

/* Exact invoice composition selected from the approved visual reference. */
.rewaa-order-invoice {
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
    padding: 0;
}

.dark .rewaa-order-invoice { background: transparent; }

.rewaa-invoice-layout {
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) 17.5rem;
}

.rewaa-invoice-paper {
    border-radius: 0.95rem;
    padding: 1.15rem;
}

.rewaa-invoice-toolbar {
    border-bottom: 0;
    margin: 0 0 0.85rem;
    min-height: 4.4rem;
    padding: 0 0.15rem 0.65rem;
}

.rewaa-invoice-heading-copy h1 {
    color: var(--invoice-text);
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.25;
    margin: 0;
}

.rewaa-invoice-heading-copy p {
    font-size: 0.8rem;
    margin-top: 0.3rem;
}

.rewaa-order-invoice .rewaa-invoice-logo {
    height: 3.5rem;
    max-width: 8.8rem;
}

.rewaa-invoice-meta {
    gap: 0;
    padding: 0 0 0.85rem;
}

.rewaa-invoice-meta div {
    padding-inline: 1rem;
}

.rewaa-invoice-meta div:first-child { padding-inline-start: 0; }
.rewaa-invoice-meta div:last-child { padding-inline-end: 0; }

.rewaa-invoice-meta div + div {
    border-inline-start: 1px solid var(--invoice-border);
    padding-inline-start: 1rem;
}

.rewaa-invoice-meta span {
    font-size: 0.75rem;
    margin-bottom: 0.32rem;
}

.rewaa-invoice-meta strong {
    font-size: 0.88rem;
    font-weight: 850;
}

.rewaa-party-grid { margin-top: 0.85rem; }

.rewaa-party-card {
    border-radius: 0.75rem;
    padding: 0.8rem;
}

.rewaa-card-heading {
    gap: 0.42rem;
    margin-bottom: 0.55rem;
}

.rewaa-card-heading h2 {
    font-size: 0.92rem;
    line-height: 1.25;
}

.rewaa-card-icon {
    border-radius: 0.48rem;
    height: 1.55rem;
    width: 1.55rem;
}

.rewaa-card-icon svg {
    height: 0.95rem;
    width: 0.95rem;
}

.rewaa-party-card dl {
    gap: 0.25rem;
    grid-template-rows: repeat(4, 1.35rem);
}

.rewaa-party-card dl div {
    align-items: center;
    font-size: 0.76rem;
    gap: 0.65rem;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    min-height: 1.35rem;
}

.rewaa-party-card dt {
    justify-self: stretch;
    line-height: 1.2;
    text-align: right;
    white-space: nowrap;
}

.rewaa-party-card dd {
    justify-self: stretch;
    line-height: 1.2;
    text-align: left;
    white-space: nowrap;
}

.rewaa-section-title h2,
.rewaa-invoice-totals h2,
.rewaa-side-card > h2 {
    font-size: 0.92rem;
}

.rewaa-section-title span { font-size: 0.7rem; }

.rewaa-invoice-table th {
    font-size: 0.7rem;
    padding: 0.55rem 0.45rem;
}

.rewaa-invoice-table td {
    font-size: 0.74rem;
    padding: 0.6rem 0.45rem;
}

.rewaa-invoice-table td strong { font-size: 0.77rem; }
.rewaa-invoice-table td small { font-size: 0.65rem; }

.rewaa-invoice-totals { padding: 0.75rem; }
.rewaa-invoice-totals dl div { font-size: 0.76rem; }
.rewaa-invoice-totals .is-grand-total dt,
.rewaa-invoice-totals .is-grand-total dd { font-size: 0.92rem; }

.rewaa-side-card { border-radius: 0.95rem; padding: 0.8rem; }
.rewaa-order-timeline li { min-height: 4rem; }
.rewaa-order-timeline strong { font-size: 0.78rem; }
.rewaa-order-timeline time,
.rewaa-order-timeline span { font-size: 0.67rem; }

.rewaa-payment-summary dl div {
    font-size: 0.76rem;
    gap: 0.75rem;
    grid-template-columns: 5.75rem minmax(0, 1fr);
}

.rewaa-payment-summary dt {
    font-size: 0.72rem;
    line-height: 1.45;
    text-align: right;
}

.rewaa-payment-summary dd {
    font-size: 0.76rem;
    font-weight: 750;
    justify-self: stretch;
    line-height: 1.45;
    text-align: left;
    white-space: nowrap;
}

.rewaa-payment-summary .rewaa-card-heading h2 {
    font-size: 0.92rem;
}

.dark .rewaa-invoice-paper,
.dark .rewaa-side-card,
.dark .rewaa-related-card {
    box-shadow: 0 18px 48px rgb(0 0 0 / 22%);
}

@media (max-width: 1279px) {
    .rewaa-invoice-layout { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .rewaa-party-card dd { white-space: normal; }
    .rewaa-party-card dl div { grid-template-columns: 6rem minmax(0, 1fr); }
}

/* Unified record view pages ------------------------------------------------- */
.rewaa-view-page .fi-main {
    padding-inline: clamp(1rem, 1.6vw, 1.75rem) !important;
}

.rewaa-view-page .fi-page {
    gap: 1.25rem;
}

.rewaa-view-page .fi-header {
    border-bottom: 1px solid rgb(148 163 184 / 18%);
    padding-bottom: 1.15rem;
}

.rewaa-view-page .fi-header-heading {
    color: #102544;
    font-size: clamp(1.75rem, 2.25vw, 2.35rem);
    font-weight: 900;
    letter-spacing: -0.035em;
}

.rewaa-view-page .fi-header-actions {
    gap: 0.65rem;
}

.rewaa-view-page .fi-header-actions .fi-btn {
    border-radius: 0.7rem;
    min-height: 2.65rem;
    padding-inline: 1rem;
}

.rewaa-view-page .fi-fo-component-ctn {
    gap: 1rem;
}

.rewaa-view-page .fi-section:not(.fi-aside) {
    background: #fff;
    border: 1px solid #dbe6f2;
    border-radius: 1rem;
    box-shadow: 0 14px 38px rgb(15 39 68 / 7%);
    overflow: hidden;
}

.rewaa-view-page .fi-section-header {
    background: linear-gradient(180deg, #fff, #fbfdff);
    padding: 1rem 1.15rem;
}

.rewaa-view-page .fi-section-header-icon {
    background: #eaf3ff;
    border-radius: 0.6rem;
    color: #0866e8 !important;
    height: 2.15rem !important;
    margin: 0 !important;
    padding: 0.48rem;
    width: 2.15rem !important;
}

.rewaa-view-page .fi-section-header-heading {
    color: #102544;
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.45;
}

.rewaa-view-page .fi-section-header-description {
    color: #708099;
    font-size: 0.8rem;
}

.rewaa-view-page .fi-section-content-ctn {
    border-color: #e3ebf4;
}

.rewaa-view-page .fi-section-content {
    padding: 1rem;
}

.rewaa-view-page .fi-in-entry-wrp {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #e2eaf3;
    border-radius: 0;
    min-height: 4.2rem;
    padding: 0.85rem 0;
}

.rewaa-view-page .fi-in-entry-wrp-label > span {
    color: #708099;
    font-size: 0.79rem;
    font-weight: 650;
    line-height: 1.4;
}

.rewaa-view-page .fi-in-entry-wrp dd,
.rewaa-view-page .fi-in-text-item {
    color: #102544;
    font-size: 0.94rem;
    font-weight: 750;
    line-height: 1.55;
}

.rewaa-view-page .fi-in-entry-wrp a {
    color: #0866e8;
    font-weight: 800;
    text-underline-offset: 0.2rem;
}

.rewaa-view-page .fi-in-placeholder {
    font-size: 0.88rem;
}

.rewaa-view-page .fi-in-repeatable-item {
    border: 0;
    border-bottom: 1px solid #dbe6f2;
    border-radius: 0;
    box-shadow: none;
}

.dark.rewaa-view-page .fi-header,
.dark .rewaa-view-page .fi-header {
    border-color: rgb(148 163 184 / 16%);
}

.dark.rewaa-view-page .fi-header-heading,
.dark .rewaa-view-page .fi-header-heading,
.dark.rewaa-view-page .fi-section-header-heading,
.dark .rewaa-view-page .fi-section-header-heading,
.dark.rewaa-view-page .fi-in-entry-wrp dd,
.dark .rewaa-view-page .fi-in-entry-wrp dd,
.dark.rewaa-view-page .fi-in-text-item,
.dark .rewaa-view-page .fi-in-text-item {
    color: #eef5ff;
}

.dark.rewaa-view-page .fi-section:not(.fi-aside),
.dark .rewaa-view-page .fi-section:not(.fi-aside) {
    background: #111d2f;
    border-color: #2a3c55;
    box-shadow: 0 18px 44px rgb(0 0 0 / 22%);
}

.dark.rewaa-view-page .fi-section-header,
.dark .rewaa-view-page .fi-section-header {
    background: #111d2f;
}

.dark.rewaa-view-page .fi-section-header-icon,
.dark .rewaa-view-page .fi-section-header-icon {
    background: #17345b;
    color: #60a5fa !important;
}

.dark.rewaa-view-page .fi-section-content-ctn,
.dark .rewaa-view-page .fi-section-content-ctn {
    border-color: #2a3c55;
}

.dark.rewaa-view-page .fi-in-entry-wrp,
.dark .rewaa-view-page .fi-in-entry-wrp {
    background: transparent;
    border-color: #2a3c55;
}

.dark.rewaa-view-page .fi-in-entry-wrp-label > span,
.dark .rewaa-view-page .fi-in-entry-wrp-label > span,
.dark.rewaa-view-page .fi-section-header-description,
.dark .rewaa-view-page .fi-section-header-description {
    color: #9fb0c6;
}

@media (max-width: 767px) {
    .rewaa-view-page .fi-main { padding-inline: 0.75rem !important; }
    .rewaa-view-page .fi-header { align-items: stretch; }
    .rewaa-view-page .fi-header-heading { font-size: 1.55rem; }
    .rewaa-view-page .fi-header-actions { width: 100%; }
    .rewaa-view-page .fi-header-actions .fi-btn { flex: 1 1 auto; }
    .rewaa-view-page .fi-section-content { padding: 0.75rem; }
}

/* Rich profile and exam analytics views ------------------------------------ */
.rewaa-view-page .rewaa-profile-hero {
    align-items: stretch;
    background: #fff;
    border-color: #dbe6f2;
    border-radius: 1rem;
    gap: 1.15rem;
    padding: 1.15rem;
}

.rewaa-view-page .rewaa-profile-avatar {
    align-self: center;
    background: linear-gradient(145deg, #0866e8, #2b8cff);
    border-radius: 1rem;
    box-shadow: 0 12px 26px rgb(8 102 232 / 20%);
    flex-basis: 5.5rem;
    height: 5.5rem;
    width: 5.5rem;
}

.rewaa-view-page .rewaa-profile-heading-line {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 0.35rem;
}

.rewaa-view-page .rewaa-profile-eyebrow { margin: 0; }
.rewaa-view-page .rewaa-profile-title-row { justify-content: flex-start; }
.rewaa-view-page .rewaa-profile-title-row h2 { color: #102544; font-size: 1.65rem; font-weight: 900; }
.rewaa-view-page .rewaa-profile-subtitle { color: #708099; font-size: 0.95rem; }

.rewaa-view-page .rewaa-profile-details {
    display: grid;
    gap: 0.7rem;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    margin-top: 0.9rem;
}

.rewaa-view-page .rewaa-profile-details span {
    background: #f7faff;
    border-color: #dbe6f2;
    display: grid;
    gap: 0.25rem;
    min-height: 3.75rem;
    padding: 0.65rem 0.8rem;
}

.rewaa-view-page .rewaa-profile-details small { color: #708099; font-size: 0.72rem; }
.rewaa-view-page .rewaa-profile-details strong { color: #102544; font-size: 0.88rem; overflow-wrap: anywhere; }

.rewaa-exam-statistics {
    background: #fff;
    border: 1px solid #dbe6f2;
    border-radius: 1rem;
    box-shadow: 0 14px 38px rgb(15 39 68 / 7%);
    padding: 1rem;
}

.rewaa-view-section-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1rem; }
.rewaa-view-section-heading > div { align-items: center; display: flex; gap: 0.55rem; }
.rewaa-view-section-heading h2 { color: #102544; font-size: 1rem; font-weight: 850; margin: 0; }
.rewaa-view-section-heading p { color: #708099; font-size: 0.78rem; margin: 0; }

.rewaa-stat-grid { display: grid; gap: 0.75rem; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.rewaa-stat-grid article { background: #f7faff; border: 1px solid #dbe6f2; border-radius: 0.8rem; display: grid; gap: 0.3rem; padding: 0.8rem; }
.rewaa-stat-grid span { color: #708099; font-size: 0.75rem; }
.rewaa-stat-grid strong { color: #102544; font-size: 1.15rem; font-weight: 900; }
.rewaa-stat-grid article.is-success strong { color: #059669; }

.rewaa-distribution-card { border-top: 1px solid #e3ebf4; margin-top: 1rem; padding-top: 0.9rem; }
.rewaa-distribution-card h3 { color: #102544; font-size: 0.9rem; font-weight: 850; margin: 0 0 0.75rem; }
.rewaa-distribution-row { align-items: center; display: grid; gap: 0.65rem; grid-template-columns: 6rem minmax(0, 1fr) 2rem; margin-top: 0.5rem; }
.rewaa-distribution-row span, .rewaa-distribution-row strong { color: #708099; font-size: 0.72rem; }
.rewaa-distribution-row > div { background: #eaf3ff; border-radius: 999px; height: 0.55rem; overflow: hidden; }
.rewaa-distribution-row i { background: #0866e8; border-radius: inherit; display: block; height: 100%; min-width: 2px; }

.rewaa-difficulty-grid { display: grid; gap: 0.75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1rem; }
.rewaa-difficulty-grid article { background: #f7faff; border: 1px solid #dbe6f2; border-radius: 0.8rem; display: grid; gap: 0.28rem; padding: 0.8rem; }
.rewaa-difficulty-grid span { color: #708099; font-size: 0.74rem; }
.rewaa-difficulty-grid strong { color: #102544; font-size: 0.95rem; }
.rewaa-difficulty-grid small { color: #0866e8; font-size: 0.7rem; }
.rewaa-stat-results { border-top: 1px solid #e3ebf4; margin-top: 1rem; padding-top: 0.9rem; }
.rewaa-stat-results .rewaa-section-title h3 { color: #102544; font-size: 0.92rem; font-weight: 850; margin: 0; }
.rewaa-result-badge { border-radius: 999px; display: inline-flex; font-size: 0.68rem; font-weight: 800; padding: 0.25rem 0.55rem; }
.rewaa-result-badge.is-passed { background: rgb(5 150 105 / 12%); color: #059669; }
.rewaa-result-badge.is-failed { background: rgb(220 38 38 / 12%); color: #dc2626; }

.dark .rewaa-view-page .rewaa-profile-hero,
.dark .rewaa-view-page .rewaa-exam-statistics { background: #111d2f; border-color: #2a3c55; }
.dark .rewaa-view-page .rewaa-profile-details span,
.dark .rewaa-view-page .rewaa-stat-grid article,
.dark .rewaa-view-page .rewaa-difficulty-grid article { background: #16253a; border-color: #2a3c55; }
.dark .rewaa-view-page .rewaa-profile-title-row h2,
.dark .rewaa-view-page .rewaa-profile-details strong,
.dark .rewaa-view-page .rewaa-view-section-heading h2,
.dark .rewaa-view-page .rewaa-stat-grid strong,
.dark .rewaa-view-page .rewaa-difficulty-grid strong,
.dark .rewaa-view-page .rewaa-stat-results .rewaa-section-title h3,
.dark .rewaa-view-page .rewaa-distribution-card h3 { color: #eef5ff; }
.dark .rewaa-view-page .rewaa-distribution-card,
.dark .rewaa-view-page .rewaa-stat-results { border-color: #2a3c55; }

@media (max-width: 1100px) { .rewaa-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .rewaa-view-page .rewaa-profile-hero { flex-direction: column; }
    .rewaa-view-page .rewaa-profile-avatar { flex-basis: 4.5rem; height: 4.5rem; width: 4.5rem; }
    .rewaa-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rewaa-difficulty-grid { grid-template-columns: 1fr; }
    .rewaa-view-section-heading { align-items: flex-start; flex-direction: column; gap: 0.4rem; }
}

/* Exam attempt paper and inline grading ------------------------------------ */
.rewaa-exam-builder-page .fi-main { padding-inline:clamp(1rem,1.6vw,1.75rem)!important; }
.rewaa-exam-builder-page .fi-page { margin-inline:auto; max-width:78rem; }
.rewaa-exam-builder-page .rewaa-exam-builder-paper { border:1px solid #dbe6f2; border-radius:1.1rem; box-shadow:0 18px 48px rgb(15 39 68 / 8%); overflow:hidden; }
.rewaa-exam-builder-page .rewaa-exam-builder-paper>.fi-section-header { background:#f7faff; border-bottom:1px solid #dbe6f2; }
.rewaa-exam-builder-page .rewaa-exam-builder-paper>.fi-section-content-ctn { background:#fff; }
.rewaa-exam-builder-preview { align-items:center; background:linear-gradient(135deg,#fff,#f7faff); border:1px solid #dbe6f2; border-radius:.9rem; display:grid; gap:1rem; grid-template-columns:8rem minmax(0,1fr) auto; padding:1rem 1.2rem; }
.rewaa-exam-builder-preview img { height:3.6rem; max-width:7.5rem; object-fit:contain; }
.rewaa-exam-builder-preview div { display:grid; gap:.2rem; }
.rewaa-exam-builder-preview small { color:#0866e8; font-size:.72rem; font-weight:850; }
.rewaa-exam-builder-preview strong { color:#102544; font-size:1.25rem; font-weight:900; }
.rewaa-exam-builder-preview span { color:#708099; font-size:.72rem; }
.rewaa-exam-builder-preview em { background:rgb(245 158 11 / 12%); border-radius:999px; color:#d97706; font-size:.7rem; font-style:normal; font-weight:800; padding:.4rem .7rem; }
.dark .rewaa-exam-builder-page .rewaa-exam-builder-paper { border-color:#2a3c55; }
.dark .rewaa-exam-builder-page .rewaa-exam-builder-paper>.fi-section-header,.dark .rewaa-exam-builder-page .rewaa-exam-builder-paper>.fi-section-content-ctn { background:#111d2f; }
.dark .rewaa-exam-builder-preview { background:linear-gradient(135deg,#111d2f,#16253a); border-color:#2a3c55; }
.dark .rewaa-exam-builder-preview img { background:#fff; border-radius:.5rem; padding:.15rem; }
.dark .rewaa-exam-builder-preview strong { color:#eef5ff; }
.dark .rewaa-exam-builder-preview span { color:#9fb0c6; }
@media(max-width:640px){.rewaa-exam-builder-preview{grid-template-columns:1fr}.rewaa-exam-builder-preview img{height:3rem}.rewaa-exam-builder-preview em{justify-self:start}}
.rewaa-exam-paper { --paper-border:#dbe6f2; --paper-soft:#f7faff; --paper-text:#102544; --paper-muted:#708099; --paper-blue:#0866e8; --paper-green:#059669; --paper-red:#dc2626; background:#fff; border:1px solid var(--paper-border); border-radius:1.1rem; box-shadow:0 18px 48px rgb(15 39 68 / 8%); color:var(--paper-text); margin-inline:auto; max-width:78rem; overflow:hidden; }
.rewaa-exam-definition-paper { max-width:78rem; overflow:visible; width:100%; }
.rewaa-exam-paper__header { align-items:center; border-bottom:1px solid var(--paper-border); display:grid; gap:1rem; grid-template-columns:9rem minmax(0,1fr) auto; padding:1.25rem 1.5rem; }
.rewaa-exam-paper__logo { height:4rem; max-width:8.5rem; object-fit:contain; }
.rewaa-exam-paper__header p { color:var(--paper-blue); font-size:.78rem; font-weight:800; margin:0 0 .2rem; }
.rewaa-exam-paper__header h1 { color:var(--paper-text); font-size:1.45rem; font-weight:900; margin:0; }
.rewaa-exam-paper__header div>span { color:var(--paper-muted); display:block; font-size:.78rem; margin-top:.25rem; }
.rewaa-exam-status { border-radius:999px; font-size:.76rem; font-weight:850; padding:.45rem .75rem; }
.rewaa-exam-status.is-success { background:rgb(5 150 105 / 12%); color:var(--paper-green); }
.rewaa-exam-status.is-warning { background:rgb(245 158 11 / 14%); color:#d97706; }
.rewaa-exam-status.is-info { background:rgb(8 102 232 / 10%); color:var(--paper-blue); }
.rewaa-exam-candidate { background:var(--paper-soft); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:.4rem 1.5rem; }
.rewaa-exam-candidate div { border-bottom:1px solid var(--paper-border); display:grid; gap:.2rem; min-height:4.35rem; padding:.75rem; }
.rewaa-exam-candidate span { color:var(--paper-muted); font-size:.72rem; }
.rewaa-exam-candidate strong { color:var(--paper-text); font-size:.9rem; }
.rewaa-exam-candidate .rewaa-exam-date { direction:ltr; text-align:right; unicode-bidi:isolate; width:100%; }
.rewaa-exam-candidate strong.is-pass { color:var(--paper-green); }
.rewaa-exam-candidate strong.is-fail { color:var(--paper-red); }
.rewaa-exam-paper__instructions { align-items:center; border-bottom:1px solid var(--paper-border); display:flex; flex-wrap:wrap; gap:1rem; padding:.8rem 1.5rem; }
.rewaa-exam-paper__instructions strong,.rewaa-exam-paper__instructions span { color:var(--paper-muted); font-size:.78rem; }
.rewaa-exam-paper__instructions em { background:rgb(245 158 11 / 12%); border-radius:999px; color:#d97706; font-size:.7rem; font-style:normal; margin-inline-start:auto; padding:.3rem .6rem; }
.rewaa-answer-sheet { display:grid; gap:1rem; padding:1.25rem 1.5rem 1.5rem; }
.rewaa-exam-definition-paper .rewaa-answer-sheet { grid-template-columns:minmax(0,1fr); }
.rewaa-exam-definition-paper .rewaa-answer-question { width:100%; }
.rewaa-answer-question { border:1px solid var(--paper-border); border-radius:.9rem; overflow:hidden; position:relative; }
.rewaa-answer-question::before { background:#94a3b8; content:''; inset-block:0; inset-inline-start:0; position:absolute; width:4px; }
.rewaa-answer-question.is-correct::before { background:var(--paper-green); }
.rewaa-answer-question.is-wrong::before { background:var(--paper-red); }
.rewaa-answer-question.is-pending::before { background:#f59e0b; }
.rewaa-answer-question>header { align-items:center; background:var(--paper-soft); border-bottom:1px solid var(--paper-border); display:flex; justify-content:space-between; padding:.7rem 1rem; }
.rewaa-answer-question>header div { align-items:center; display:flex; gap:.55rem; }
.rewaa-answer-question>header b { align-items:center; background:var(--paper-blue); border-radius:50%; color:#fff; display:inline-flex; font-size:.78rem; height:1.8rem; justify-content:center; width:1.8rem; }
.rewaa-answer-question>header span { color:var(--paper-muted); font-size:.72rem; }
.rewaa-answer-question>header strong { color:var(--paper-text); font-size:.78rem; }
.rewaa-question-copy { padding:1rem; }
.rewaa-question-copy h2 { color:var(--paper-text); font-size:1rem; font-weight:850; line-height:1.65; margin:0; }
.rewaa-question-body { color:var(--paper-muted); font-size:.82rem; line-height:1.7; margin-top:.5rem; }
.rewaa-answer-options { display:grid; gap:.55rem; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 1rem 1rem; }
.rewaa-answer-options.is-boolean { grid-template-columns:repeat(2,minmax(0,14rem)); }
.rewaa-answer-option { align-items:center; background:var(--paper-soft); border:1px solid var(--paper-border); border-radius:.7rem; display:grid; gap:.55rem; grid-template-columns:1.35rem minmax(0,1fr) auto; min-height:3rem; padding:.55rem .7rem; }
.rewaa-answer-option i { align-items:center; border:1px solid var(--paper-border); border-radius:50%; color:#fff; display:flex; font-size:.68rem; font-style:normal; height:1.25rem; justify-content:center; width:1.25rem; }
.rewaa-answer-option span { color:var(--paper-text); font-size:.82rem; }
.rewaa-answer-option em { color:var(--paper-green); font-size:.65rem; font-style:normal; font-weight:750; }
.rewaa-answer-option.is-selected { border-color:var(--paper-blue); box-shadow:0 0 0 2px rgb(8 102 232 / 8%); }
.rewaa-answer-option.is-selected i { background:var(--paper-blue); border-color:var(--paper-blue); }
.rewaa-answer-option.is-correct-option { background:rgb(5 150 105 / 7%); border-color:rgb(5 150 105 / 32%); }
.rewaa-answer-option.is-correct-option.is-selected i { background:var(--paper-green); border-color:var(--paper-green); }
.rewaa-answer-option.is-answer-key { background:rgb(5 150 105 / 7%); border-color:rgb(5 150 105 / 45%); }
.rewaa-answer-option.is-answer-key em { margin-inline-start:auto; }
.rewaa-exam-directions { background:#fffdf6; border-bottom:1px solid var(--paper-border); padding:1rem 1.5rem; }
.rewaa-exam-directions h2 { color:var(--paper-text); font-size:.88rem; font-weight:900; margin:0 0 .35rem; }
.rewaa-exam-directions div { color:var(--paper-muted); font-size:.78rem; line-height:1.9; }
.rewaa-exam-section-divider { align-items:center; background:#eaf3ff; border:1px solid #cfe0f5; border-radius:.75rem; display:flex; gap:.65rem; margin:.5rem 0; padding:.65rem .85rem; }
.rewaa-exam-section-divider span { background:var(--paper-blue); border-radius:999px; color:#fff; font-size:.65rem; font-weight:850; padding:.25rem .5rem; }
.rewaa-exam-section-divider h2 { color:var(--paper-text); font-size:.9rem; font-weight:900; margin:0; }
.rewaa-answer-question.is-paper-question { border-inline-start:1px solid var(--paper-border); }
.rewaa-answer-question.is-paper-question::before { display:none; }
.rewaa-paper-writing-lines { display:grid; gap:.8rem; padding:0 1rem 1rem; }
.rewaa-paper-writing-lines span { color:var(--paper-muted); font-size:.7rem; }
.rewaa-paper-writing-lines i { border-bottom:1px dashed #cbd7e6; display:block; height:1rem; }
.rewaa-answer-key { background:rgb(5 150 105 / 6%); border:1px dashed rgb(5 150 105 / 40%); border-radius:.65rem; margin:0 1rem 1rem; padding:.6rem .75rem; }
.rewaa-answer-key summary { color:var(--paper-green); cursor:pointer; font-size:.72rem; font-weight:850; }
.rewaa-answer-key p { color:var(--paper-text); font-size:.78rem; line-height:1.8; margin:.5rem 0 0; }
.rewaa-statistics-anchor { scroll-margin-top:6rem; }
.rewaa-exam-statistics-empty { align-items:center; display:flex; flex-direction:column; justify-content:center; min-height:18rem; padding:2rem; text-align:center; }
.rewaa-exam-statistics-empty>span { align-items:center; background:#eaf3ff; border-radius:50%; color:#0866e8; display:flex; font-size:1.35rem; font-weight:900; height:3.75rem; justify-content:center; width:3.75rem; }
.rewaa-exam-statistics-empty h3 { color:#102544; font-size:1.05rem; font-weight:900; margin:.85rem 0 .35rem; }
.rewaa-exam-statistics-empty p { color:#708099; font-size:.78rem; line-height:1.8; margin:0; max-width:28rem; }
.rewaa-essay-review { display:grid; gap:.75rem; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 13rem; padding:0 1rem 1rem; }
.rewaa-student-essay,.rewaa-model-answer { border:1px solid var(--paper-border); border-radius:.75rem; min-height:7rem; padding:.8rem; }
.rewaa-student-essay { background:#fff; }
.rewaa-model-answer { background:rgb(5 150 105 / 6%); border-color:rgb(5 150 105 / 22%); }
.rewaa-student-essay span,.rewaa-model-answer span,.rewaa-grade-field>span { color:var(--paper-muted); font-size:.7rem; font-weight:750; }
.rewaa-student-essay p,.rewaa-model-answer p { color:var(--paper-text); font-size:.84rem; line-height:1.7; margin:.5rem 0 0; white-space:pre-wrap; }
.rewaa-grade-field { align-self:stretch; background:var(--paper-soft); border:1px solid var(--paper-border); border-radius:.75rem; display:grid; gap:.6rem; padding:.8rem; }
.rewaa-grade-field>div { align-items:center; display:flex; gap:.5rem; }
.rewaa-grade-field input { background:#fff; border:1px solid var(--paper-border); border-radius:.55rem; color:var(--paper-text); font-size:1rem; font-weight:850; min-width:0; padding:.55rem; text-align:center; width:100%; }
.rewaa-grade-field b { color:var(--paper-muted); font-size:.7rem; white-space:nowrap; }
.rewaa-grade-field small { color:var(--paper-red); font-size:.68rem; }
.rewaa-answer-question>footer { align-items:center; border-top:1px solid var(--paper-border); display:flex; flex-wrap:wrap; gap:1rem; padding:.65rem 1rem; }
.rewaa-answer-question>footer span { color:var(--paper-muted); font-size:.7rem; }
.rewaa-answer-question>footer b { color:var(--paper-text); }
.rewaa-answer-question>footer .is-flagged { color:#d97706; margin-inline-start:auto; }
.rewaa-grading-bar { align-items:center; background:#eef5ff; border:1px solid #cfe0f5; border-radius:.85rem .85rem 0 0; bottom:0; display:flex; gap:1.25rem; padding:.85rem 1rem; position:sticky; z-index:5; }
.rewaa-grading-bar div { display:grid; gap:.15rem; }
.rewaa-grading-bar span { color:var(--paper-muted); font-size:.7rem; }
.rewaa-grading-bar strong { color:var(--paper-text); font-size:1rem; }
.rewaa-grading-bar button { background:#e87800; border-radius:.65rem; color:#fff; font-size:.8rem; font-weight:850; margin-inline-start:auto; padding:.7rem 1rem; }
.rewaa-grading-bar button.is-secondary { background:#fff; border:1px solid var(--paper-border); color:var(--paper-text); margin-inline-start:auto; }
.rewaa-grading-bar button.is-secondary+button { margin-inline-start:0; }
.rewaa-grading-bar button:disabled { opacity:.6; }
.rewaa-grading-complete { background:rgb(5 150 105 / 12%); border-radius:999px; color:var(--paper-green)!important; font-weight:850; margin-inline-start:auto; padding:.45rem .75rem; }
.dark .rewaa-view-page .rewaa-exam-paper { --paper-border:#2a3c55; --paper-soft:#16253a; --paper-text:#eef5ff; --paper-muted:#9fb0c6; --paper-blue:#60a5fa; --paper-green:#34d399; --paper-red:#fb7185; background:#111d2f; }
.dark .rewaa-view-page .rewaa-exam-paper__logo { background:#fff; border-radius:.55rem; padding:.2rem; }
.dark .rewaa-view-page .rewaa-student-essay,.dark .rewaa-view-page .rewaa-grade-field input { background:#111d2f; }
.dark .rewaa-view-page .rewaa-grading-bar { background:#17345b; border-color:#2a4f7d; }
.dark .rewaa-view-page .rewaa-exam-directions { background:#1e293b; }
.dark .rewaa-view-page .rewaa-exam-section-divider { background:#17345b; border-color:#2a4f7d; }
.dark .rewaa-view-page .rewaa-paper-writing-lines i { border-color:#344760; }
.dark .rewaa-exam-statistics-empty>span { background:#17345b; color:#60a5fa; }
.dark .rewaa-exam-statistics-empty h3 { color:#eef5ff; }
.dark .rewaa-exam-statistics-empty p { color:#9fb0c6; }
@media (max-width:900px) { .rewaa-exam-paper__header { grid-template-columns:6.5rem minmax(0,1fr); } .rewaa-exam-status { grid-column:1/-1; justify-self:start; } .rewaa-exam-candidate { grid-template-columns:repeat(2,minmax(0,1fr)); } .rewaa-essay-review { grid-template-columns:1fr; } }
@media (max-width:640px) { .rewaa-exam-paper__header,.rewaa-exam-candidate,.rewaa-answer-sheet { padding-inline:.75rem; } .rewaa-exam-paper__header { grid-template-columns:1fr; } .rewaa-exam-paper__logo { height:3rem; } .rewaa-exam-candidate,.rewaa-answer-options { grid-template-columns:1fr; } .rewaa-answer-options.is-boolean { grid-template-columns:1fr 1fr; } .rewaa-grading-bar { align-items:stretch; flex-wrap:wrap; } .rewaa-grading-bar button,.rewaa-grading-complete { margin-inline-start:0; width:100%; } }

.fi-sidebar-header .fi-icon-btn {
    background: linear-gradient(145deg, #fff, #f1f5f9);
    border: 1px solid rgb(15 39 68 / 10%);
    border-radius: 0.8rem;
    box-shadow: 0 7px 18px rgb(15 39 68 / 9%);
    color: var(--rewaa-blue);
    height: 2.5rem;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
    width: 2.5rem;
}

.fi-sidebar-header .fi-icon-btn:hover {
    background: linear-gradient(145deg, #fff7ed, #fffbeb);
    border-color: rgb(217 119 6 / 28%);
    box-shadow: 0 9px 22px rgb(217 119 6 / 15%);
    color: var(--rewaa-amber);
    transform: translateX(-2px);
}

.fi-sidebar-header .fi-icon-btn:focus-visible {
    outline: 3px solid rgb(245 158 11 / 22%);
    outline-offset: 2px;
}

.fi-sidebar-header .fi-icon-btn svg {
    height: 1.15rem;
    stroke-width: 2.2;
    transition: transform 160ms ease;
    width: 1.15rem;
}

.fi-sidebar-header .fi-icon-btn:hover svg {
    transform: scale(1.08);
}

.fi-sidebar-nav {
    gap: 0.55rem;
    padding: 1.1rem 0.85rem 1.75rem;
    scrollbar-color: transparent transparent;
    scrollbar-width: thin;
}

.fi-sidebar-nav::-webkit-scrollbar {
    width: 5px;
}

.fi-sidebar-nav::-webkit-scrollbar-track {
    background: transparent;
}

.fi-sidebar-nav::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 999px;
}

.fi-sidebar-nav:hover {
    scrollbar-color: rgb(148 163 184 / 38%) transparent;
}

.fi-sidebar-nav:hover::-webkit-scrollbar-thumb {
    background: rgb(148 163 184 / 38%);
}

.fi-sidebar-group {
    border-bottom: 1px solid rgb(15 39 68 / 6%);
    gap: 0.3rem;
    padding: 0.55rem 0 0.8rem;
}

.fi-sidebar-group:last-child {
    border-bottom: 0;
}

.fi-sidebar-group-label {
    color: var(--rewaa-blue);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    padding-inline: 0.65rem;
}

.fi-sidebar-group-collapse-button {
    color: #94a3b8;
    transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.fi-sidebar-group-collapse-button:hover {
    background: rgb(29 79 145 / 7%);
    color: var(--rewaa-blue);
}

.dark .fi-sidebar-group-label {
    color: #94a3b8;
}

.fi-sidebar-group-items {
    gap: 0.22rem;
}

.fi-sidebar-item-button {
    border: 1px solid transparent;
    border-radius: 0.75rem;
    min-height: 2.55rem;
    padding: 0.55rem 0.7rem;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

.fi-sidebar-item-button:hover {
    background: rgb(29 79 145 / 6%);
    border-color: rgb(29 79 145 / 8%);
    transform: none;
}

.fi-sidebar-item-label {
    color: #475569;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.45;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.fi-sidebar-item-icon {
    color: #94a3b8;
    height: 1.2rem;
    transition: color 160ms ease, transform 160ms ease;
    width: 1.2rem;
}

.fi-sidebar-item-button:hover .fi-sidebar-item-label,
.fi-sidebar-item-button:hover .fi-sidebar-item-icon {
    color: var(--rewaa-blue);
}

.fi-sidebar-item-active .fi-sidebar-item-button {
    background: linear-gradient(135deg, rgb(217 119 6 / 15%), rgb(245 158 11 / 7%));
    border-color: rgb(217 119 6 / 12%);
    box-shadow: inset 3px 0 0 var(--rewaa-amber), 0 6px 16px rgb(217 119 6 / 7%);
}

.fi-sidebar-item-active .fi-sidebar-item-label,
.fi-sidebar-item-active .fi-sidebar-item-icon {
    color: var(--rewaa-amber);
    font-weight: 800;
}

.fi-sidebar-item-active .fi-sidebar-item-icon {
    transform: scale(1.05);
}

.dark .fi-sidebar {
    background:
        radial-gradient(circle at 100% 0%, rgb(59 130 246 / 10%), transparent 15rem),
        rgb(15 23 42 / 97%);
    border-color: rgb(148 163 184 / 10%);
}

.dark .fi-sidebar-header {
    background: rgb(15 23 42 / 90%);
    border-color: rgb(148 163 184 / 10%);
}

.dark .fi-sidebar-header .fi-icon-btn {
    background: linear-gradient(145deg, #1e293b, #0f172a);
    border-color: rgb(148 163 184 / 18%);
    color: #93c5fd;
}

.dark .fi-sidebar-group {
    border-color: rgb(148 163 184 / 9%);
}

.dark .fi-sidebar-item-label {
    color: #cbd5e1;
}

* {
    scrollbar-color: rgb(148 163 184 / 48%) transparent;
    scrollbar-width: thin;
}

*::-webkit-scrollbar {
    height: 6px;
    width: 6px;
}

*::-webkit-scrollbar-track {
    background: transparent;
}

*::-webkit-scrollbar-thumb {
    background: rgb(148 163 184 / 48%);
    background-clip: padding-box;
    border-radius: 999px;
}

*::-webkit-scrollbar-thumb:hover {
    background: rgb(100 116 139 / 65%);
}

.dark * {
    scrollbar-color: rgb(100 116 139 / 58%) transparent;
}

.fi-sidebar .fi-sidebar-nav {
    scrollbar-color: transparent transparent;
}

.fi-sidebar .fi-sidebar-nav::-webkit-scrollbar-thumb {
    background: transparent;
}

.fi-sidebar .fi-sidebar-nav:hover {
    scrollbar-color: rgb(148 163 184 / 38%) transparent;
}

.fi-sidebar .fi-sidebar-nav:hover::-webkit-scrollbar-thumb {
    background: rgb(148 163 184 / 38%);
}

.fi-global-search-field .fi-input-wrp {
    background: rgb(255 255 255 / 92%);
    border-color: rgb(29 79 145 / 10%);
    box-shadow: 0 8px 24px rgb(15 39 68 / 8%);
    min-width: min(28rem, 42vw);
}

.fi-global-search-field .fi-input-wrp:focus-within {
    border-color: rgb(217 119 6 / 45%);
    box-shadow: 0 0 0 3px rgb(245 158 11 / 12%), 0 10px 28px rgb(15 39 68 / 9%);
}

@media (min-width: 1024px) {
    .fi-topbar .fi-global-search {
        left: 50%;
        position: absolute;
        transform: translateX(-50%);
    }
}

.fi-header-heading {
    color: var(--rewaa-navy);
    font-weight: 800;
    letter-spacing: -0.025em;
}

.dark .fi-header-heading {
    color: #f8fafc;
}

.fi-header-subheading {
    color: #64748b;
    font-size: 0.95rem;
}

.fi-main > .fi-header {
    background: linear-gradient(135deg, rgb(255 255 255 / 92%), rgb(248 250 252 / 78%));
    border: 1px solid rgb(15 39 68 / 7%);
    border-radius: 1.1rem;
    box-shadow: 0 12px 35px rgb(15 39 68 / 5%);
    padding: 1.25rem 1.4rem;
}

.dark .fi-main > .fi-header {
    background: linear-gradient(135deg, rgb(17 24 39 / 92%), rgb(15 23 42 / 82%));
    border-color: rgb(148 163 184 / 12%);
}

.fi-breadcrumbs-list {
    background: rgb(255 255 255 / 72%);
    border: 1px solid rgb(15 39 68 / 6%);
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
    width: fit-content;
}

.fi-wi-stats-overview-stat,
.fi-section,
.fi-ta-ctn,
.fi-wi-chart {
    background: var(--rewaa-card);
    backdrop-filter: blur(18px);
    border: 1px solid rgb(15 39 68 / 7%);
    border-radius: 1rem;
    box-shadow: 0 12px 35px rgb(15 39 68 / 6%);
}

.fi-wi-stats-overview-stat {
    overflow: hidden;
    position: relative;
    transition: box-shadow 180ms ease, transform 180ms ease;
}

.fi-wi-stats-overview-stat::before {
    background: linear-gradient(90deg, var(--rewaa-amber), #fbbf24);
    content: '';
    height: 3px;
    inset-inline: 0;
    position: absolute;
    top: 0;
}

.fi-wi-stats-overview-stat:nth-child(2)::before {
    background: linear-gradient(90deg, #2563eb, #60a5fa);
}

.fi-wi-stats-overview-stat:nth-child(3)::before {
    background: linear-gradient(90deg, #0891b2, #22d3ee);
}

.fi-wi-stats-overview-stat:nth-child(4)::before {
    background: linear-gradient(90deg, #ea580c, #fb923c);
}

.fi-wi-stats-overview-stat:nth-child(5)::before {
    background: linear-gradient(90deg, #059669, #34d399);
}

.fi-wi-stats-overview-stat:nth-child(6)::before {
    background: linear-gradient(90deg, #7c3aed, #a78bfa);
}

.fi-wi-stats-overview-stat:hover {
    box-shadow: 0 18px 45px rgb(15 39 68 / 10%);
    transform: translateY(-3px);
}

.fi-input-wrp,
.fi-btn {
    border-radius: 0.75rem;
}

.fi-form {
    gap: 1.5rem;
}

.fi-form .fi-section {
    border-radius: 1.15rem;
    overflow: visible;
}

/* Searchable selects render inside their field. Raise the complete section while
   a menu is open so following sections cannot paint over or clip the options. */
.fi-form .fi-grid-col:has(.choices.is-open),
.fi-form .fi-section:has(.choices.is-open),
.fi-form .fi-fo-field-wrp:has(.choices.is-open) {
    overflow: visible;
    position: relative;
    z-index: 60;
}

.fi-form .choices.is-open,
.fi-form .choices__list--dropdown,
.fi-form .choices__list[aria-expanded] {
    z-index: 70;
}

.fi-form .fi-section-header,
.fi-in .fi-section-header {
    background: linear-gradient(135deg, rgb(15 39 68 / 4%), rgb(217 119 6 / 4%));
    border-bottom: 1px solid rgb(15 39 68 / 6%);
    padding-block: 1.05rem;
}

.fi-section-header-heading {
    color: var(--rewaa-navy);
    font-size: 1rem;
    font-weight: 800;
}

.dark .fi-section-header-heading {
    color: #f8fafc;
}

.fi-section-header-icon {
    color: var(--rewaa-amber);
}

.fi-fo-field-wrp-label {
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
}

.dark .fi-fo-field-wrp-label {
    color: #cbd5e1;
}

.fi-input-wrp {
    background: rgb(248 250 252 / 72%);
    border: 1px solid transparent;
    box-shadow: inset 0 1px 2px rgb(15 23 42 / 3%), 0 0 0 1px rgb(15 39 68 / 8%);
    min-height: 2.8rem;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.fi-input-wrp:hover {
    background: #fff;
    border-color: rgb(217 119 6 / 20%);
}

.fi-input-wrp:focus-within {
    background: #fff;
    border-color: rgb(217 119 6 / 45%);
    box-shadow: 0 0 0 3px rgb(245 158 11 / 12%);
}

.dark .fi-input-wrp,
.dark .fi-input-wrp:hover,
.dark .fi-input-wrp:focus-within {
    background: rgb(15 23 42 / 75%);
}

.fi-tabs {
    background: rgb(241 245 249 / 75%);
    border: 1px solid rgb(15 39 68 / 7%);
    border-radius: 0.9rem;
    padding: 0.35rem;
}

.fi-tabs-item {
    border-radius: 0.65rem;
}

.fi-tabs-item-active {
    background: #fff;
    box-shadow: 0 4px 14px rgb(15 39 68 / 8%);
}

.dark .fi-tabs,
.dark .fi-tabs-item-active {
    background: rgb(15 23 42 / 75%);
}

.fi-btn-color-primary {
    box-shadow: 0 7px 18px rgb(217 119 6 / 20%);
}

.fi-ta-header,
.fi-section-header {
    background: linear-gradient(180deg, rgb(248 250 252 / 75%), transparent);
}

.fi-ta-ctn {
    overflow: hidden;
}

.fi-ta-header {
    border-bottom: 1px solid rgb(15 39 68 / 7%);
    padding-block: 1.1rem;
}

.fi-ta-table thead {
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
}

.fi-ta-header-cell-label {
    color: #334155;
    font-size: 0.75rem;
    font-weight: 800;
}

.fi-ta-row {
    transition: background-color 140ms ease, transform 140ms ease;
}

.fi-ta-row:hover {
    background: rgb(245 158 11 / 4%) !important;
}

.fi-ta-cell {
    padding-block: 0.9rem;
}

.fi-ta-actions .fi-icon-btn,
.fi-ta-actions .fi-link {
    opacity: 0.68;
    transition: opacity 140ms ease, transform 140ms ease;
}

.fi-ta-row:hover .fi-ta-actions .fi-icon-btn,
.fi-ta-row:hover .fi-ta-actions .fi-link {
    opacity: 1;
}

.fi-ta-actions .fi-icon-btn:hover,
.fi-ta-actions .fi-link:hover {
    transform: translateY(-1px);
}

.fi-ta-actions .fi-icon-btn {
    background: rgb(29 79 145 / 7%);
    border: 1px solid rgb(29 79 145 / 12%);
    height: 2.15rem;
    opacity: 0.86;
    width: 2.15rem;
}

.fi-ta-actions .fi-icon-btn:hover {
    background: rgb(29 79 145 / 13%);
    border-color: rgb(29 79 145 / 24%);
    box-shadow: 0 6px 16px rgb(15 39 68 / 10%);
}

.dark .fi-ta-actions .fi-icon-btn {
    background: rgb(30 64 111 / 42%);
    border-color: rgb(96 165 250 / 18%);
}

.dark .fi-ta-actions .fi-icon-btn:hover {
    background: rgb(38 79 137 / 62%);
    border-color: rgb(96 165 250 / 32%);
}

.tippy-box,
.tippy-box[data-theme~="light"] {
    background-color: #ffffff;
    border: 1px solid rgb(15 39 68 / 14%);
    border-radius: 0.65rem;
    box-shadow: 0 10px 28px rgb(15 39 68 / 14%);
    color: var(--rewaa-navy);
    max-width: min(18rem, calc(100vw - 1.5rem)) !important;
}

.tippy-content {
    overflow-wrap: anywhere;
    padding: 0.48rem 0.7rem;
    text-align: center;
}

.tippy-box > .tippy-arrow {
    color: #ffffff;
}

.tippy-box[data-theme~="light"][data-placement^="top"] > .tippy-arrow::before {
    border-top-color: #ffffff;
}

.tippy-box[data-theme~="light"][data-placement^="bottom"] > .tippy-arrow::before {
    border-bottom-color: #ffffff;
}

.tippy-box[data-theme~="light"][data-placement^="left"] > .tippy-arrow::before {
    border-left-color: #ffffff;
}

.tippy-box[data-theme~="light"][data-placement^="right"] > .tippy-arrow::before {
    border-right-color: #ffffff;
}

.dark .tippy-box,
.dark .tippy-box[data-theme~="light"] {
    background-color: #102a49;
    border-color: rgb(96 165 250 / 18%);
    box-shadow: 0 10px 28px rgb(4 15 32 / 24%);
    color: #f8fafc;
}

.dark .tippy-box > .tippy-arrow {
    color: #102a49;
}

.dark .tippy-box[data-theme~="light"][data-placement^="top"] > .tippy-arrow::before {
    border-top-color: #102a49;
}

.dark .tippy-box[data-theme~="light"][data-placement^="bottom"] > .tippy-arrow::before {
    border-bottom-color: #102a49;
}

.dark .tippy-box[data-theme~="light"][data-placement^="left"] > .tippy-arrow::before {
    border-left-color: #102a49;
}

.dark .tippy-box[data-theme~="light"][data-placement^="right"] > .tippy-arrow::before {
    border-right-color: #102a49;
}

.fi-ta-filters-above-content-ctn {
    background: rgb(248 250 252 / 78%);
    border-bottom: 1px solid rgb(15 39 68 / 7%);
}

.fi-ta-pagination {
    background: rgb(248 250 252 / 62%);
    border-top: 1px solid rgb(15 39 68 / 7%);
}

.fi-ta-empty-state {
    min-height: 18rem;
}

.fi-ta-empty-state-icon-ctn {
    background: linear-gradient(135deg, rgb(217 119 6 / 12%), rgb(29 79 145 / 10%));
}

.fi-in .fi-section {
    border-radius: 1.15rem;
    overflow: hidden;
}

.fi-in-entry-wrp {
    background: rgb(248 250 252 / 65%);
    border: 1px solid rgb(15 39 68 / 6%);
    border-radius: 0.8rem;
    min-height: 5rem;
    padding: 0.9rem 1rem;
}

.fi-in-entry-wrp-label {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 700;
}

.fi-in-entry-wrp-state {
    color: var(--rewaa-navy);
    font-size: 0.92rem;
    font-weight: 700;
    margin-top: 0.35rem;
}

.dark .fi-ta-table thead,
.dark .fi-ta-header,
.dark .fi-ta-pagination,
.dark .fi-ta-filters-above-content-ctn,
.dark .fi-in-entry-wrp {
    background: rgb(15 23 42 / 70%);
}

.dark .fi-ta-header-cell-label,
.dark .fi-in-entry-wrp-state {
    color: #e2e8f0;
}

.dark .fi-wi-stats-overview-stat,
.dark .fi-section,
.dark .fi-ta-ctn,
.dark .fi-wi-chart {
    border-color: rgb(148 163 184 / 12%);
    box-shadow: 0 12px 35px rgb(0 0 0 / 18%);
}

.dark {
    --rewaa-card: rgb(17 24 39 / 88%);
}

.rewaa-quick-actions {
    background: linear-gradient(145deg, #102a49, #153d68 58%, #1d4f91);
    border: 1px solid rgb(255 255 255 / 10%);
    border-radius: 1rem;
    box-shadow: 0 18px 45px rgb(15 39 68 / 18%);
    color: #fff;
    height: 100%;
    overflow: hidden;
    padding: 1.5rem;
    position: relative;
}

.rewaa-settings-hero {
    background: linear-gradient(135deg, #0f2744 0%, #1d4f91 68%, #2563a8 100%);
    border: 1px solid rgb(255 255 255 / 14%);
    border-radius: 1.25rem;
    box-shadow: 0 20px 45px rgb(15 39 68 / 20%);
    color: #fff;
    overflow: hidden;
    padding: 1.75rem;
    position: relative;
}

.rewaa-settings-hero::after {
    background: #f59e0b;
    border-radius: 999px;
    content: '';
    filter: blur(1px);
    height: 12rem;
    inset-inline-start: -5rem;
    opacity: 0.16;
    position: absolute;
    top: -6rem;
    width: 12rem;
}

.rewaa-settings-hero__content {
    align-items: center;
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}

.rewaa-settings-hero__copy {
    max-width: 46rem;
}

.rewaa-settings-hero__eyebrow {
    color: #fbbf24;
    font-size: 0.75rem;
    font-weight: 800;
    margin-bottom: 0.4rem;
}

.rewaa-settings-hero h2 {
    color: #fff;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.5;
}

.rewaa-settings-hero__copy > p:last-child {
    color: rgb(226 232 240 / 90%);
    font-size: 0.88rem;
    line-height: 1.8;
    margin-top: 0.35rem;
}

.rewaa-settings-stats,
.rewaa-settings-notes {
    display: grid;
    gap: 1rem;
}

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

.rewaa-settings-stat {
    align-items: center;
    background: #fff;
    border: 1px solid rgb(15 39 68 / 8%);
    border-radius: 1rem;
    box-shadow: 0 10px 28px rgb(15 39 68 / 6%);
    display: flex;
    gap: 1rem;
    min-height: 7.5rem;
    padding: 1.1rem;
}

.rewaa-settings-stat__icon {
    align-items: center;
    background: #eff6ff;
    border-radius: 0.85rem;
    color: #1d4f91;
    display: flex;
    flex: 0 0 auto;
    font-size: 1.15rem;
    font-weight: 900;
    height: 3rem;
    justify-content: center;
    width: 3rem;
}

.rewaa-settings-stat p,
.rewaa-settings-stat small,
.rewaa-settings-stat a {
    display: block;
}

.rewaa-settings-stat p {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
}

.rewaa-settings-stat strong {
    color: #0f2744;
    display: block;
    font-size: 1.8rem;
    line-height: 1.3;
}

.rewaa-settings-stat small,
.rewaa-settings-stat a {
    color: #64748b;
    font-size: 0.7rem;
    line-height: 1.5;
}

.rewaa-settings-stat a {
    color: #d97706;
    font-weight: 800;
}

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

.rewaa-settings-note {
    border: 1px solid;
    border-radius: 1rem;
    padding: 1.15rem;
}

.rewaa-settings-note h3 {
    font-size: 0.9rem;
    font-weight: 800;
}

.rewaa-settings-note p {
    font-size: 0.78rem;
    line-height: 1.8;
    margin-top: 0.35rem;
}

.rewaa-settings-note--success {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #065f46;
}

.rewaa-settings-note--warning {
    background: #fffbeb;
    border-color: #fde68a;
    color: #92400e;
}

.dark .rewaa-settings-stat {
    background: rgb(17 24 39 / 92%);
    border-color: rgb(148 163 184 / 15%);
}

.dark .rewaa-settings-stat strong {
    color: #f8fafc;
}

.dark .rewaa-settings-note--success,
.dark .rewaa-settings-note--warning {
    background: rgb(15 23 42 / 82%);
}

@media (max-width: 900px) {
    .rewaa-settings-hero__content {
        align-items: stretch;
        flex-direction: column;
    }

    .rewaa-settings-stats,
    .rewaa-settings-notes {
        grid-template-columns: 1fr;
    }
}

.rewaa-quick-actions::after {
    background: rgb(245 158 11 / 18%);
    border-radius: 999px;
    content: '';
    filter: blur(2px);
    height: 11rem;
    left: -4rem;
    position: absolute;
    top: -5rem;
    width: 11rem;
}

.rewaa-quick-actions__header,
.rewaa-quick-actions__list {
    position: relative;
    z-index: 1;
}

.rewaa-quick-actions__eyebrow {
    color: #fbbf24;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.rewaa-quick-actions__header h2 {
    font-size: 1.25rem;
    font-weight: 800;
    margin-top: 0.35rem;
}

.rewaa-quick-actions__header p {
    color: rgb(226 232 240 / 80%);
    font-size: 0.82rem;
    margin-top: 0.25rem;
}

.rewaa-quick-actions__list {
    display: grid;
    gap: 0.65rem;
    margin-top: 1.25rem;
}

.rewaa-quick-actions__list a {
    align-items: center;
    background: rgb(255 255 255 / 8%);
    border: 1px solid rgb(255 255 255 / 8%);
    border-radius: 0.85rem;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto 1fr auto;
    padding: 0.75rem;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.rewaa-quick-actions__list a:hover {
    background: rgb(255 255 255 / 14%);
    border-color: rgb(255 255 255 / 18%);
    transform: translateX(-3px);
}

.rewaa-quick-actions__list strong,
.rewaa-quick-actions__list small {
    display: block;
}

.rewaa-quick-actions__list strong {
    font-size: 0.88rem;
    font-weight: 700;
}

.rewaa-quick-actions__list small {
    color: rgb(226 232 240 / 72%);
    font-size: 0.72rem;
    margin-top: 0.15rem;
}

.rewaa-quick-actions__icon {
    align-items: center;
    border-radius: 0.7rem;
    display: flex;
    height: 2.25rem;
    justify-content: center;
    width: 2.25rem;
}

.rewaa-quick-actions__icon svg,
.rewaa-quick-actions__arrow {
    height: 1.15rem;
    width: 1.15rem;
}

.rewaa-quick-actions__icon--blue { background: rgb(59 130 246 / 22%); color: #93c5fd; }
.rewaa-quick-actions__icon--teal { background: rgb(20 184 166 / 22%); color: #5eead4; }
.rewaa-quick-actions__icon--amber { background: rgb(245 158 11 / 22%); color: #fcd34d; }
.rewaa-quick-actions__icon--rose { background: rgb(244 63 94 / 22%); color: #fda4af; }
.rewaa-quick-actions__arrow { color: rgb(226 232 240 / 55%); }

@media (max-width: 768px) {
    .fi-main {
        padding-inline: 1rem;
    }

    .fi-header-heading {
        font-size: 1.5rem;
    }
}

.rewaa-profile-hero { display:flex; align-items:center; gap:1.25rem; padding:1.5rem; border:1px solid rgb(226 232 240 / 90%); border-radius:1.25rem; background:linear-gradient(135deg,#fff 0%,#fffaf3 55%,#f3f7ff 100%); box-shadow:0 12px 36px rgb(15 23 42 / 6%); }
.rewaa-profile-avatar { display:grid; width:5rem; height:5rem; flex:0 0 5rem; place-items:center; border-radius:1.25rem; background:linear-gradient(135deg,#e47b00,#f4a62a); color:#fff; font-size:2rem; font-weight:800; box-shadow:0 10px 24px rgb(228 123 0 / 22%); }
.rewaa-profile-content { min-width:0; flex:1; }
.rewaa-profile-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.rewaa-profile-eyebrow { margin:0 0 .25rem; color:#e47b00; font-size:.75rem; font-weight:800; }
.rewaa-profile-title-row h2 { margin:0; color:#111827; font-size:1.5rem; font-weight:800; }
.rewaa-profile-subtitle { margin:.35rem 0 0; color:#64748b; font-size:.9rem; }
.rewaa-profile-status { display:inline-flex; align-items:center; gap:.45rem; padding:.45rem .75rem; border-radius:999px; font-size:.78rem; font-weight:700; }
.rewaa-profile-status span { width:.5rem; height:.5rem; border-radius:999px; background:currentColor; }
.rewaa-profile-status.is-active { background:#ecfdf3; color:#15803d; }
.rewaa-profile-status.is-inactive { background:#fef2f2; color:#dc2626; }
.rewaa-profile-details { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1rem; }
.rewaa-profile-details span { padding:.45rem .7rem; border:1px solid #e2e8f0; border-radius:.7rem; background:rgb(255 255 255 / 78%); color:#475569; font-size:.82rem; }

@media (max-width: 640px) {
    .rewaa-profile-hero { align-items:flex-start; padding:1rem; }
    .rewaa-profile-avatar { width:3.75rem; height:3.75rem; flex-basis:3.75rem; font-size:1.4rem; }
    .rewaa-profile-title-row { flex-direction:column; }
}

/* Unified dark surfaces and filter toolbar -------------------------------- */
:root {
    --rewaa-dark-canvas: #0b1120;
    --rewaa-dark-shell: #0f172a;
    --rewaa-dark-surface: #111c30;
    --rewaa-dark-surface-raised: #162238;
    --rewaa-dark-border: rgb(148 163 184 / 14%);
}

.dark .rewaa-profile-hero {
    background: linear-gradient(135deg, #111c30 0%, #162238 58%, #102a49 100%);
    border-color: rgb(147 197 253 / 20%);
    box-shadow: 0 16px 42px rgb(4 19 42 / 24%);
}

.dark .rewaa-profile-title-row h2 {
    color: #f8fafc;
}

.dark .rewaa-profile-subtitle {
    color: #bfdbfe;
}

.dark .rewaa-profile-details span {
    background: rgb(15 39 68 / 58%);
    border-color: rgb(147 197 253 / 20%);
    color: #dbeafe;
}

.rewaa-generated-reset-link {
    display: grid;
    gap: 1rem;
}

.rewaa-generated-reset-link__success {
    align-items: flex-start;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 0.9rem;
    color: #065f46;
    display: flex;
    gap: 0.75rem;
    padding: 1rem;
}

.rewaa-generated-reset-link__success svg {
    flex: 0 0 auto;
    height: 1.35rem;
    margin-top: 0.1rem;
    width: 1.35rem;
}

.rewaa-generated-reset-link__success strong,
.rewaa-generated-reset-link__success p {
    display: block;
}

.rewaa-generated-reset-link__success p {
    font-size: 0.78rem;
    line-height: 1.75;
    margin-top: 0.25rem;
}

.rewaa-generated-reset-link__value {
    align-items: stretch;
    display: flex;
    gap: 0.65rem;
}

.rewaa-generated-reset-link__value input {
    background: #f8fafc;
    border: 1px solid #d9e2ec;
    border-radius: 0.75rem;
    color: #334155;
    flex: 1;
    font-size: 0.78rem;
    min-width: 0;
    padding: 0.75rem;
}

.rewaa-generated-reset-link__value button,
.rewaa-generated-reset-link > a {
    background: #f59e0b;
    border-radius: 0.75rem;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 800;
    padding: 0.75rem 1rem;
    text-align: center;
}

.rewaa-generated-reset-link > a {
    background: transparent;
    border: 1px solid #d9e2ec;
    color: #1d4f91;
}

.dark .rewaa-generated-reset-link__success {
    background: rgb(16 185 129 / 12%);
    border-color: rgb(52 211 153 / 28%);
    color: #a7f3d0;
}

.dark .rewaa-generated-reset-link__value input {
    background: var(--rewaa-dark-shell);
    border-color: rgb(147 197 253 / 22%);
    color: #dbeafe;
}

.dark .rewaa-generated-reset-link > a {
    border-color: rgb(147 197 253 / 22%);
    color: #bfdbfe;
}

@media (max-width: 640px) {
    .rewaa-generated-reset-link__value {
        flex-direction: column;
    }
}

/* Unified edit and table controls. These overrides intentionally come last. */
.rewaa-avatar-upload.fi-fo-file-upload {
    align-items: center !important;
    background: linear-gradient(145deg, #f4f8fd, #fffaf1) !important;
    border: 1px solid rgb(29 79 145 / 18%);
    border-radius: 1rem;
    box-shadow: none !important;
    justify-content: center;
    min-height: 12rem;
    padding: 1rem;
    width: 12rem;
}

.rewaa-avatar-upload.fi-fo-file-upload > div:first-child {
    height: 9rem !important;
    width: 9rem !important;
}

.rewaa-avatar-upload.fi-fo-file-upload .filepond--root {
    height: 9rem !important;
    margin: 0 !important;
    width: 9rem !important;
}

.rewaa-avatar-upload.fi-fo-file-upload .filepond--drop-label {
    padding-inline: 0.75rem;
}

.dark .rewaa-avatar-upload.fi-fo-file-upload {
    background: linear-gradient(145deg, #17263d, #1c2d48) !important;
    border-color: rgb(96 165 250 / 24%);
}

.fi-resource-edit-record-page .fi-header-actions .fi-btn,
.fi-resource-edit-record-page .fi-form-actions .fi-btn {
    min-height: 2.75rem;
    padding-inline: 1.15rem;
}

.fi-ta-filters-above-content-ctn {
    background: linear-gradient(135deg, #f8fbff, #fffaf2) !important;
    border: 1px solid rgb(29 79 145 / 12%) !important;
    border-radius: 1rem 1rem 0 0 !important;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 80%);
    padding: 1rem 1.2rem !important;
}

.fi-ta-filters-above-content-ctn .fi-ta-filters {
    align-items: end;
    column-gap: 1.25rem !important;
    display: grid !important;
    grid-template-columns: minmax(8rem, 0.25fr) minmax(0, 1fr);
    row-gap: 0.75rem !important;
}

.fi-ta-filters-above-content-ctn .fi-ta-filters > .flex:first-child {
    align-items: flex-start;
    align-self: stretch;
    border: 0 !important;
    flex-direction: column;
    justify-content: center;
    min-height: auto;
    padding: 0 !important;
}

.fi-ta-filters-above-content-ctn .fi-ta-filters-form {
    min-width: 0;
}

.fi-ta-filters-above-content-ctn .fi-input-wrp {
    background: #fff !important;
    border-color: rgb(29 79 145 / 15%) !important;
    box-shadow: 0 5px 15px rgb(15 39 68 / 5%) !important;
}

.fi-ta-header-toolbar {
    background: #fff !important;
    border-bottom: 1px solid rgb(29 79 145 / 10%) !important;
    border-top: 0 !important;
    min-height: 4.4rem;
    padding: 0.75rem 1.2rem !important;
}

.fi-ta-search-field {
    width: min(26rem, 100%) !important;
}

.fi-ta-search-field .fi-input-wrp {
    background: #f8fafc !important;
    border: 1px solid rgb(29 79 145 / 15%) !important;
    box-shadow: none !important;
    min-height: 2.9rem;
}

.fi-ta-search-field .fi-input-wrp:focus-within {
    background: #fff !important;
    border-color: rgb(245 158 11 / 65%) !important;
    box-shadow: 0 0 0 3px rgb(245 158 11 / 12%) !important;
}

.dark .fi-ta-filters-above-content-ctn {
    background: linear-gradient(135deg, #16243a, #192a44) !important;
    border-color: rgb(96 165 250 / 18%) !important;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 3%);
}

.dark .fi-ta-filters-above-content-ctn .fi-input-wrp,
.dark .fi-ta-header-toolbar,
.dark .fi-ta-search-field .fi-input-wrp {
    background: #111f34 !important;
    border-color: rgb(96 165 250 / 18%) !important;
}

@media (max-width: 768px) {
    .fi-ta-filters-above-content-ctn .fi-ta-filters {
        grid-template-columns: 1fr;
    }

    .fi-ta-filters-above-content-ctn .fi-ta-filters > .flex:first-child {
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
    }

    .rewaa-avatar-upload.fi-fo-file-upload {
        margin-inline: auto;
    }
}

.rewaa-profile-avatar {
    overflow: hidden;
}

.rewaa-profile-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

/* Authentication ---------------------------------------------------------- */
.dark .fi-simple-layout {
    isolation: isolate;
    overflow: hidden;
    position: relative;
    background:
        radial-gradient(circle at 18% 18%, rgb(37 99 235 / 16%), transparent 26rem),
        radial-gradient(circle at 82% 78%, rgb(217 119 6 / 10%), transparent 24rem),
        linear-gradient(145deg, #08101f 0%, var(--rewaa-dark-canvas) 46%, #0d1b31 100%);
}

.dark .fi-simple-layout::before,
.dark .fi-simple-layout::after {
    content: '';
    pointer-events: none;
    position: absolute;
    border: 1px solid rgb(96 165 250 / 9%);
    border-radius: 999px;
    z-index: -1;
}

.dark .fi-simple-layout::before {
    height: 28rem;
    inset: -12rem auto auto -9rem;
    width: 28rem;
}

.dark .fi-simple-layout::after {
    bottom: -14rem;
    height: 32rem;
    inset-inline-end: -12rem;
    width: 32rem;
}

.dark .fi-simple-main-ctn {
    padding: 1.5rem;
    position: relative;
    z-index: 1;
}

.dark .fi-simple-main {
    background:
        linear-gradient(145deg, rgb(22 34 56 / 98%), rgb(15 23 42 / 98%)) !important;
    border: 1px solid rgb(148 163 184 / 16%);
    border-radius: 1.35rem;
    box-shadow:
        0 28px 80px rgb(0 0 0 / 38%),
        0 0 0 1px rgb(255 255 255 / 2%) inset;
    padding-block: 2.5rem;
}

.dark .fi-simple-header .fi-logo {
    filter: drop-shadow(0 8px 18px rgb(59 130 246 / 24%));
}

.dark .fi-simple-header-heading {
    color: #f8fafc;
    font-size: 1.65rem;
    line-height: 1.4;
}

.dark .fi-simple-main .fi-input-wrp {
    background: rgb(8 16 31 / 62%) !important;
    border: 1px solid rgb(148 163 184 / 18%);
    box-shadow: none;
}

.dark .fi-simple-main .fi-input-wrp:hover {
    border-color: rgb(96 165 250 / 34%);
}

.dark .fi-simple-main .fi-input-wrp:focus-within {
    border-color: rgb(245 158 11 / 72%);
    box-shadow: 0 0 0 3px rgb(245 158 11 / 12%);
}

.dark .fi-simple-main .fi-form-actions {
    background: transparent !important;
    border: 0;
    padding: 0;
}

.dark .fi-simple-main .fi-form-actions .fi-btn {
    background: linear-gradient(135deg, #e47b00, #f59e0b);
    box-shadow: 0 10px 24px rgb(217 119 6 / 22%);
    min-height: 2.8rem;
}

.dark .fi-simple-main .fi-form-actions .fi-btn:hover {
    background: linear-gradient(135deg, #f08a00, #fbbf24);
    box-shadow: 0 12px 30px rgb(217 119 6 / 30%);
}

@media (max-width: 640px) {
    .dark .fi-simple-main-ctn {
        padding: 1rem;
    }

    .dark .fi-simple-main {
        border-radius: 1.1rem;
        padding-block: 2rem;
    }
}

.dark .fi-body,
.dark body,
.dark .fi-layout,
.dark .fi-main-ctn {
    background-color: var(--rewaa-dark-canvas);
}

.dark .fi-main-ctn {
    background:
        radial-gradient(circle at 16% 0%, rgb(59 130 246 / 8%), transparent 32rem),
        var(--rewaa-dark-canvas);
    min-height: 100vh;
}

.dark .fi-topbar nav,
.dark .fi-sidebar,
.dark .fi-sidebar-header {
    background: var(--rewaa-dark-shell) !important;
    border-color: var(--rewaa-dark-border);
}

.dark .fi-sidebar {
    box-shadow: -12px 0 35px rgb(0 0 0 / 16%);
}

.dark .fi-main > .fi-header,
.dark .fi-section,
.dark .fi-ta-ctn,
.dark .fi-wi-chart,
.dark .fi-wi-stats-overview-stat {
    background: var(--rewaa-dark-surface);
    border-color: var(--rewaa-dark-border);
}

.dark .fi-section-header,
.dark .fi-ta-header,
.dark .fi-ta-table thead,
.dark .fi-ta-pagination,
.dark .fi-ta-filters-above-content-ctn,
.dark .fi-ta-filters-form {
    background: var(--rewaa-dark-surface-raised);
    border-color: var(--rewaa-dark-border);
}

.dark .fi-ta-row,
.dark .fi-ta-row:nth-child(even),
.dark .fi-section-content,
.dark .fi-in .fi-section-content {
    background: var(--rewaa-dark-surface);
}

.dark .fi-ta-row:hover {
    background: #1b2941 !important;
}

.dark .fi-dropdown-panel,
.dark .choices__list--dropdown,
.dark .choices__list[aria-expanded],
.dark select option,
.dark select optgroup {
    background: var(--rewaa-dark-surface-raised) !important;
    color: #f1f5f9;
}

.fi-ta-filters-above-content-ctn {
    background:
        linear-gradient(135deg, rgb(255 251 235 / 72%), rgb(248 250 252 / 96%) 42%, rgb(239 246 255 / 72%));
    border-bottom: 1px solid rgb(15 39 68 / 8%);
    gap: 1rem;
    padding: 1.15rem 1.35rem 1.3rem;
}

.fi-ta-filters-above-content-ctn::before {
    content: none;
}

.fi-ta-filters-form,
.fi-ta-filters {
    gap: 0.8rem 1rem;
}

.fi-ta-filters > .flex:first-child {
    border-bottom: 1px solid rgb(148 163 184 / 16%);
    padding-bottom: 0.7rem;
}

.fi-ta-filters > .flex:first-child h4 {
    color: #172033;
    font-size: 0.9rem;
    font-weight: 800;
}

.fi-ta-filters-above-content-ctn .fi-fo-field-wrp {
    min-width: 0;
}

.fi-ta-filters-above-content-ctn .fi-fo-field-wrp-label {
    color: #475569;
    font-size: 0.74rem;
    margin-bottom: 0.38rem;
}

.fi-ta-filters-above-content-ctn .fi-input-wrp {
    background: rgb(255 255 255 / 92%);
    border: 1px solid #dce4ee;
    box-shadow: 0 5px 14px rgb(15 23 42 / 4%);
    min-height: 2.7rem;
}

.fi-ta-filters-above-content-ctn .fi-input-wrp:hover {
    border-color: #f0bc78;
}

.fi-ta-filters-above-content-ctn .fi-input-wrp:focus-within {
    border-color: #e48a1c;
    box-shadow: 0 0 0 3px rgb(245 158 11 / 12%), 0 7px 18px rgb(15 23 42 / 5%);
}

.fi-ta-filters-above-content-ctn .fi-link {
    align-self: end;
    border-radius: 0.65rem;
    font-weight: 750;
    min-height: 2.55rem;
    padding-inline: 0.8rem;
}

.dark .fi-ta-filters-above-content-ctn {
    background:
        radial-gradient(circle at 100% 0%, rgb(59 130 246 / 9%), transparent 18rem),
        var(--rewaa-dark-surface-raised);
}

.dark .fi-ta-filters-above-content-ctn::before {
    color: #f1f5f9;
}

.dark .fi-ta-filters > .flex:first-child h4 {
    color: #f1f5f9;
}

.dark .fi-ta-filters-above-content-ctn .fi-fo-field-wrp-label {
    color: #cbd5e1;
}

.dark .fi-ta-filters-above-content-ctn .fi-input-wrp {
    background: #111c30;
    border-color: rgb(148 163 184 / 18%);
    box-shadow: 0 6px 16px rgb(0 0 0 / 10%);
}

@media (max-width: 640px) {
    .fi-ta-filters-above-content-ctn {
        padding: 1rem;
    }
}

/* Unified admin design system ------------------------------------------------ */
.fi-main {
    padding-bottom: 3.5rem;
}

.fi-main-ctn {
    min-width: 0;
    background:
        radial-gradient(circle at 18% 0%, rgb(37 99 235 / 4%), transparent 28rem),
        linear-gradient(180deg, #f8fafc 0%, #f4f7fb 100%);
}

.fi-page > .fi-header,
.fi-header {
    align-items: center;
    gap: 1.25rem;
}

.fi-header-heading {
    color: #0f172a;
    font-size: clamp(1.65rem, 2.1vw, 2.15rem);
    font-weight: 850;
    letter-spacing: -0.035em;
    line-height: 1.25;
}

.fi-header-subheading {
    color: #64748b;
    line-height: 1.75;
    margin-top: 0.4rem;
}

.fi-breadcrumbs-list {
    background: rgb(255 255 255 / 74%);
    border: 1px solid rgb(226 232 240 / 84%);
    border-radius: 999px;
    box-shadow: 0 4px 14px rgb(15 23 42 / 3%);
    padding: 0.35rem 0.75rem;
    width: fit-content;
}

.fi-breadcrumbs-item-label {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 650;
}

.fi-header-actions,
.fi-ac-actions {
    align-items: center;
    gap: 0.65rem;
}

.fi-btn {
    border-radius: 0.72rem;
    font-weight: 750;
    min-height: 2.45rem;
    padding-inline: 1rem;
    transition: box-shadow 160ms ease, transform 160ms ease, filter 160ms ease;
}

.fi-btn:hover {
    filter: saturate(1.05);
    transform: translateY(-1px);
}

.fi-btn:active {
    transform: translateY(0);
}

.fi-btn-color-primary {
    box-shadow: 0 7px 18px rgb(228 123 0 / 20%);
}

.fi-btn-color-success {
    box-shadow: 0 7px 18px rgb(22 163 74 / 14%);
}

.fi-btn-color-danger {
    box-shadow: 0 7px 18px rgb(220 38 38 / 14%);
}

.fi-icon-btn {
    border-radius: 0.65rem;
    transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.fi-icon-btn:hover {
    transform: translateY(-1px);
}

.fi-badge {
    border-radius: 999px;
    font-weight: 750;
    letter-spacing: 0;
    padding: 0.28rem 0.62rem;
}

.fi-section,
.fi-ta-ctn,
.fi-wi-chart,
.fi-wi-stats-overview-stat {
    isolation: isolate;
}

.fi-section {
    overflow: visible;
}

.fi-section-header {
    background: linear-gradient(135deg, #fffdf9 0%, #fff 64%, #f8fbff 100%);
    border-bottom: 1px solid rgb(226 232 240 / 82%);
    padding: 1.15rem 1.45rem;
}

.fi-section-header-description {
    color: #7c8799;
    line-height: 1.7;
    margin-top: 0.25rem;
}

.fi-section-content {
    padding: 1.45rem;
}

.fi-fo-field-wrp {
    min-width: 0;
}

.fi-fo-field-wrp-label label,
.fi-fo-field-wrp-label span {
    color: #27364a;
    font-weight: 720;
}

.fi-fo-field-wrp-helper-text {
    color: #8491a5;
    line-height: 1.7;
}

.fi-fo-field-wrp-error-message {
    font-weight: 650;
}

.fi-input-wrp,
.fi-fo-rich-editor,
.fi-fo-file-upload {
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 0 0 1px rgb(203 213 225 / 82%), 0 3px 10px rgb(15 23 42 / 2%);
}

.fi-input-wrp-input,
.fi-input,
.fi-select-input {
    min-height: 2.75rem;
}

textarea.fi-input {
    line-height: 1.75;
    min-height: 7rem;
    padding-block: 0.8rem;
}

.fi-checkbox-input,
.fi-radio-input {
    border-color: #cbd5e1;
    box-shadow: 0 1px 3px rgb(15 23 42 / 5%);
}

.fi-toggle {
    box-shadow: inset 0 0 0 1px rgb(100 116 139 / 13%);
}

.fi-fo-file-upload .filepond--panel-root {
    background: linear-gradient(135deg, #f8fafc, #fffaf3);
    border: 1px dashed #cbd5e1;
    border-radius: 0.85rem;
}

.choices__list--dropdown,
.choices__list[aria-expanded],
.fi-dropdown-panel,
.fi-global-search-results-ctn {
    background: rgb(255 255 255 / 98%);
    border: 1px solid rgb(226 232 240 / 92%);
    border-radius: 0.85rem;
    box-shadow: 0 22px 48px rgb(15 23 42 / 16%);
    overflow: auto;
    z-index: 100;
}

.choices__item--choice,
.fi-dropdown-list-item {
    border-radius: 0.6rem;
    margin: 0.2rem 0.3rem;
    transition: background-color 140ms ease, color 140ms ease;
}

.choices__item--choice.is-highlighted,
.fi-dropdown-list-item:hover {
    background: #fff4e6;
    color: #b85f00;
}

.fi-form-actions {
    align-items: center;
    background: rgb(255 255 255 / 88%);
    border: 1px solid rgb(226 232 240 / 90%);
    border-radius: 1rem;
    box-shadow: 0 10px 28px rgb(15 23 42 / 5%);
    gap: 0.65rem;
    padding: 0.8rem;
}

.fi-tabs {
    gap: 0.3rem;
    overflow-x: auto;
    padding: 0.35rem;
}

.fi-tabs-item {
    border-radius: 0.65rem;
    font-weight: 700;
    padding: 0.62rem 0.9rem;
}

.fi-tabs-item-active {
    background: #fff4e6;
    box-shadow: inset 0 0 0 1px rgb(228 123 0 / 14%);
    color: #c56600;
}

.fi-ta-header {
    background: linear-gradient(135deg, #fff 0%, #fffdf9 58%, #f7faff 100%);
    border-bottom: 1px solid rgb(226 232 240 / 85%);
    gap: 1rem;
    padding: 1.15rem 1.35rem;
}

.fi-ta-header-heading {
    color: #172033;
    font-size: 1.05rem;
    font-weight: 800;
}

.fi-ta-header-description {
    color: #7c8799;
    line-height: 1.65;
}

.fi-ta-search-field .fi-input-wrp {
    background: #f8fafc;
    min-width: min(18rem, 100%);
}

.fi-ta-search-field .fi-input-wrp:focus-within {
    background: #fff;
}

.fi-ta-filter-indicators {
    background: #fffbeb;
    border-block: 1px solid #fde7b0;
    color: #92400e;
    padding: 0.7rem 1.35rem;
}

.fi-ta-filters-above-content-ctn,
.fi-ta-filters-form {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 1rem 1.35rem;
}

.fi-ta-content {
    overflow-x: auto;
}

.fi-ta-table {
    border-collapse: separate;
    border-spacing: 0;
}

.fi-ta-table thead {
    background: #f7f9fc;
}

.fi-ta-header-cell {
    border-bottom: 1px solid #dfe5ee;
    padding-block: 0.82rem;
}

.fi-ta-header-cell-label {
    color: #344054;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.fi-ta-row {
    background: rgb(255 255 255 / 94%);
}

.fi-ta-row:nth-child(even) {
    background: rgb(248 250 252 / 72%);
}

.fi-ta-row:hover {
    background: #fffaf3;
}

.fi-ta-cell {
    border-bottom-color: rgb(226 232 240 / 78%);
    padding-block: 0.82rem;
}

.fi-ta-text-item-label {
    line-height: 1.55;
}

.fi-ta-actions {
    flex-wrap: nowrap;
}

.fi-ta-actions .fi-link {
    border-radius: 0.55rem;
    font-weight: 720;
    padding: 0.38rem 0.5rem;
}

.fi-ta-pagination {
    background: linear-gradient(180deg, #fff, #f8fafc);
    min-height: 4rem;
    padding: 0.8rem 1.25rem;
}

.fi-pagination-item button,
.fi-pagination-item a,
.fi-pagination-previous-btn,
.fi-pagination-next-btn {
    border-radius: 0.6rem;
}

.fi-ta-empty-state {
    background:
        radial-gradient(circle at 50% 34%, rgb(228 123 0 / 8%), transparent 9rem),
        #fff;
    min-height: 18rem;
    padding: 3.5rem 1.5rem;
}

.fi-ta-empty-state-icon-ctn {
    background: linear-gradient(135deg, #fff0dc, #edf4ff);
    box-shadow: 0 10px 26px rgb(15 23 42 / 7%);
    height: 4rem;
    width: 4rem;
}

.fi-ta-empty-state-heading {
    color: #1e293b;
    font-size: 1.05rem;
    font-weight: 800;
}

.fi-ta-empty-state-description {
    color: #7c8799;
    line-height: 1.7;
    max-width: 30rem;
}

.fi-in .fi-section-content {
    background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
}

.fi-in-entry-wrp {
    min-height: 5.4rem;
    padding: 1rem 1.05rem;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fi-in-entry-wrp:hover {
    border-color: #cbd5e1;
    box-shadow: 0 7px 18px rgb(15 23 42 / 5%);
    transform: translateY(-1px);
}

.fi-modal-close-overlay {
    backdrop-filter: blur(5px);
}

.fi-modal-window {
    border: 1px solid rgb(226 232 240 / 90%);
    border-radius: 1.1rem;
    box-shadow: 0 30px 80px rgb(15 23 42 / 25%);
    overflow: hidden;
}

/* Searchable Filament selects are rendered inside the modal DOM. While one is
   open, let its options escape the scroll/content boundary instead of being
   clipped by the sticky footer. The closed modal keeps overflow hidden so its
   rounded corners and normal scrolling are unchanged. */
.fi-modal-window:has(.choices.is-open),
.fi-modal-window:has(.choices.is-open) .fi-modal-content,
.fi-modal-window:has(.choices.is-open) .fi-form,
.fi-modal-window:has(.choices.is-open) .fi-grid,
.fi-modal-window:has(.choices.is-open) .fi-grid-col {
    overflow: visible !important;
}

.fi-modal-window:has(.choices.is-open) .choices,
.fi-modal-window:has(.choices.is-open) .choices__list--dropdown,
.fi-modal-window:has(.choices.is-open) .choices__list[aria-expanded] {
    z-index: 250 !important;
}

.fi-modal-window:has(.choices.is-open) .fi-modal-footer {
    position: relative;
    z-index: 1;
}

.fi-modal-header {
    background: linear-gradient(135deg, #fffaf3, #fff 62%, #f3f7ff);
    border-bottom: 1px solid #e8edf4;
    padding-bottom: 1.15rem;
}

.fi-modal-heading {
    color: #14213a;
    font-size: 1.08rem;
    font-weight: 800;
}

.fi-modal-description {
    line-height: 1.7;
}

.fi-modal-content {
    padding-inline: 1.5rem;
}

.fi-modal-footer {
    background: #f8fafc;
    border-top: 1px solid #e8edf4;
    padding: 1rem 1.5rem;
}

.fi-modal-close-btn {
    background: rgb(255 255 255 / 70%);
    border: 1px solid #e2e8f0;
}

.fi-no-notification {
    background: rgb(255 255 255 / 96%);
    border: 1px solid rgb(226 232 240 / 92%);
    border-radius: 0.9rem;
    box-shadow: 0 18px 42px rgb(15 23 42 / 15%);
}

.fi-no-notification-title {
    color: #172033;
    font-weight: 800;
}

.fi-wi-stats-overview-stat {
    background: linear-gradient(135deg, #fff 0%, #fff 58%, #f8fbff 100%);
    border-color: rgb(226 232 240 / 88%);
    min-height: 8.4rem;
    overflow: hidden;
    position: relative;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.fi-wi-stats-overview-stat::after {
    background: rgb(37 99 235 / 5%);
    border-radius: 999px;
    content: '';
    height: 7rem;
    inset-inline-end: -2.5rem;
    position: absolute;
    top: -3rem;
    width: 7rem;
    z-index: -1;
}

.fi-wi-stats-overview-stat:hover {
    border-color: #d6dee9;
    box-shadow: 0 16px 36px rgb(15 23 42 / 9%);
    transform: translateY(-2px);
}

.fi-wi-stats-overview-stat-label {
    color: #64748b;
    font-weight: 720;
}

.fi-wi-stats-overview-stat-value {
    color: #102348;
    font-weight: 850;
    letter-spacing: -0.025em;
}

.dark .fi-main-ctn {
    background:
        radial-gradient(circle at 18% 0%, rgb(59 130 246 / 7%), transparent 30rem),
        #0b1120;
}

.dark .fi-header-heading,
.dark .fi-fo-field-wrp-label label,
.dark .fi-fo-field-wrp-label span,
.dark .fi-ta-header-heading,
.dark .fi-ta-empty-state-heading,
.dark .fi-modal-heading,
.dark .fi-no-notification-title,
.dark .fi-wi-stats-overview-stat-value {
    color: #f8fafc;
}

.dark .fi-breadcrumbs-list,
.dark .fi-form-actions,
.dark .fi-input-wrp,
.dark .fi-dropdown-panel,
.dark .fi-global-search-results-ctn,
.dark .choices__list--dropdown,
.dark .choices__list[aria-expanded],
.dark .fi-no-notification {
    background: rgb(17 24 39 / 96%);
    border-color: rgb(148 163 184 / 16%);
}

.dark .fi-section-header,
.dark .fi-ta-header,
.dark .fi-modal-header,
.dark .fi-wi-stats-overview-stat {
    background: linear-gradient(135deg, #111827 0%, #111827 64%, #14213b 100%);
    border-color: rgb(148 163 184 / 14%);
}

.dark .fi-section-content,
.dark .fi-in .fi-section-content,
.dark .fi-modal-content,
.dark .fi-ta-empty-state {
    background: #111827;
}

.dark .fi-ta-table thead,
.dark .fi-ta-filters-above-content-ctn,
.dark .fi-ta-filters-form,
.dark .fi-modal-footer,
.dark .fi-ta-pagination {
    background: #0f172a;
    border-color: rgb(148 163 184 / 14%);
}

.dark .fi-ta-row,
.dark .fi-ta-row:nth-child(even) {
    background: rgb(17 24 39 / 92%);
}

.dark .fi-ta-row:hover {
    background: rgb(30 41 59 / 94%);
}

.dark .fi-in-entry-wrp {
    background: rgb(15 23 42 / 70%);
    border-color: rgb(148 163 184 / 14%);
}

@media (max-width: 1024px) {
    .fi-section-content,
    .fi-ta-header {
        padding-inline: 1rem;
    }

    .fi-header-actions {
        flex-wrap: wrap;
    }
}

@media (max-width: 640px) {
    .fi-main {
        padding-bottom: 2rem;
    }

    .fi-header-heading {
        font-size: 1.55rem;
    }

    .fi-breadcrumbs-list {
        max-width: 100%;
        overflow-x: auto;
    }

    .fi-header-actions,
    .fi-form-actions {
        align-items: stretch;
        width: 100%;
    }

    .fi-header-actions .fi-btn,
    .fi-form-actions .fi-btn {
        justify-content: center;
    }

    .fi-section-header,
    .fi-section-content,
    .fi-modal-content,
    .fi-modal-footer {
        padding-inline: 1rem;
    }

    .fi-ta-header {
        align-items: stretch;
    }

    .fi-ta-search-field,
    .fi-ta-search-field .fi-input-wrp {
        max-width: none;
        width: 100%;
    }

    .fi-ta-pagination {
        gap: 0.75rem;
    }
}

/* Flat information architecture -------------------------------------------- */
/*
 * View pages should read like structured records, not a wall of nested cards.
 * Sections remain the visual grouping level; individual values use rhythm and
 * dividers, while repeatable relationships become compact list rows.
 */
.fi-in .fi-section {
    border-radius: 0.9rem;
}

.fi-in .fi-section-header {
    padding-block: 1rem;
}

.fi-in .fi-section-content {
    background: #fff;
    padding-block: 0.35rem;
}

.fi-in .fi-section-content > .grid {
    column-gap: 2rem;
    row-gap: 0;
}

.fi-in-entry-wrp {
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgb(226 232 240 / 82%);
    border-radius: 0;
    min-height: 4.65rem;
    padding: 1rem 0.25rem;
    transition: background-color 160ms ease;
}

.fi-in-entry-wrp:hover {
    background: linear-gradient(90deg, transparent, rgb(248 250 252 / 92%), transparent);
    border-color: rgb(226 232 240 / 82%);
    box-shadow: none;
    transform: none;
}

.fi-in-entry-wrp > .grid {
    align-content: start;
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.4rem;
}

.fi-in-entry-wrp > .grid > .grid {
    grid-column: 1 / -1;
    min-width: 0;
}

.fi-in-entry-wrp dd {
    margin: 0;
    overflow-wrap: anywhere;
    text-align: start;
}

.rewaa-view-page .fi-in-entry-wrp:hover {
    background: transparent;
}

.fi-in-entry-wrp-label {
    color: #718096;
    font-size: 0.73rem;
    font-weight: 700;
}

.fi-in-entry-wrp-state {
    color: #172033;
    font-size: 0.91rem;
    font-weight: 700;
    margin-top: 0.3rem;
}

.fi-in-entry-wrp:has(.fi-in-repeatable) {
    border-bottom: 0;
    min-height: auto;
    padding: 0.85rem 0;
}

.fi-in-repeatable > ul > .grid {
    gap: 0;
}

.fi-in-repeatable-item {
    background: transparent !important;
    border: 0;
    border-bottom: 1px solid rgb(226 232 240 / 88%);
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.fi-in-repeatable-item:hover {
    box-shadow: none !important;
}

.fi-in-repeatable-item > .grid {
    column-gap: 1.5rem;
    row-gap: 0;
}

.fi-in-repeatable-item .fi-in-entry-wrp {
    background: transparent;
    border: 0;
    border-radius: 0;
    min-height: 4.4rem;
    padding-block: 0.85rem;
}

.fi-in-repeatable-item .fi-in-entry-wrp:last-child {
    border-bottom-color: transparent;
}

.fi-in-key-value {
    border: 1px solid rgb(226 232 240 / 92%);
    border-radius: 0.7rem;
    box-shadow: none;
    overflow: hidden;
}

.fi-in-key-value thead {
    background: #f8fafc;
}

.dark .fi-in .fi-section-content {
    background: #111827;
}

.dark .fi-in-entry-wrp,
.dark .fi-in-entry-wrp:hover {
    background: transparent;
    border-bottom-color: rgb(148 163 184 / 14%);
}

.dark .fi-in-entry-wrp-state {
    color: #e5edf8;
}

.dark .fi-in-repeatable-item {
    background: transparent !important;
    border-color: rgb(148 163 184 / 16%);
}

.dark .fi-in-repeatable-item:hover {
    border-color: rgb(148 163 184 / 28%);
}

.dark .fi-in-key-value,
.dark .fi-in-key-value thead {
    background: rgb(15 23 42 / 72%);
    border-color: rgb(148 163 184 / 16%);
}

@media (max-width: 640px) {
    .fi-in .fi-section-content {
        padding-block: 0.25rem;
    }

    .fi-in .fi-section-content > .grid {
        column-gap: 0;
    }

    .fi-in-entry-wrp {
        min-height: 4.2rem;
        padding-inline: 0;
    }

    .fi-in-repeatable-item {
        padding-inline: 0 !important;
    }
}

.rewaa-provider-courses {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
}

.rewaa-provider-courses:focus-visible {
    outline: 2px solid var(--rewaa-blue);
    outline-offset: 2px;
}

.rewaa-provider-courses table {
    border-collapse: collapse;
    width: 100%;
    text-align: start;
}

.rewaa-provider-courses th,
.rewaa-provider-courses td {
    border-bottom: 1px solid #e2eaf3;
    padding: 0.9rem 0.65rem;
    text-align: start;
}

.rewaa-provider-courses thead th {
    color: #708099;
    font-size: 0.78rem;
    font-weight: 650;
    white-space: nowrap;
}

.rewaa-provider-courses tbody th {
    min-width: 12rem;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.rewaa-provider-courses td {
    white-space: nowrap;
}

.rewaa-provider-courses tr:last-child > * {
    border-bottom: 0;
}

.rewaa-provider-courses .fi-badge {
    display: inline-flex;
}

.rewaa-provider-courses-empty {
    color: #708099;
    text-align: center !important;
    white-space: normal !important;
}

.rewaa-course-price {
    font-variant-numeric: tabular-nums;
}

.rewaa-visually-hidden {
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.dark .rewaa-provider-courses th,
.dark .rewaa-provider-courses td {
    border-color: var(--rewaa-dark-border);
}

.dark .rewaa-provider-courses thead th,
.dark .rewaa-provider-courses-empty {
    color: #9fb0c6;
}

/* Metric sections ---------------------------------------------------------- */
.fi-in .rewaa-metrics-section .fi-section-content {
    background:
        radial-gradient(circle at 92% 0%, rgb(29 79 145 / 5%), transparent 14rem),
        #fff;
    padding: 0;
}

.fi-in .rewaa-metrics-section .fi-section-content > .grid {
    column-gap: 0;
    row-gap: 0;
}

.fi-in .rewaa-metrics-section .fi-section-content > .grid > div {
    height: 100%;
}

.rewaa-metrics-section .fi-in-entry-wrp {
    align-items: center;
    border-bottom: 1px solid rgb(226 232 240 / 78%);
    border-inline-start: 1px solid rgb(226 232 240 / 78%);
    display: flex;
    height: 100%;
    min-height: 7.25rem;
    padding: 1.25rem 1.45rem;
    position: relative;
}

.rewaa-metrics-section .fi-in-entry-wrp::before {
    background: linear-gradient(180deg, var(--rewaa-amber), #fbbf24);
    border-radius: 999px;
    content: '';
    height: 1.8rem;
    inset-inline-start: 0;
    opacity: 0;
    position: absolute;
    top: calc(50% - 0.9rem);
    transition: opacity 160ms ease;
    width: 3px;
}

.rewaa-metrics-section .fi-in-entry-wrp:hover {
    background: rgb(248 250 252 / 76%);
}

.rewaa-metrics-section .fi-in-entry-wrp:hover::before {
    opacity: 1;
}

.rewaa-metrics-section .fi-in-entry-wrp > .grid {
    align-content: center;
    gap: 0.48rem;
    width: 100%;
}

.rewaa-metrics-section .fi-in-entry-wrp-label {
    color: #667085;
    font-size: 0.78rem;
    font-weight: 700;
}

.rewaa-metrics-section .fi-in-entry-wrp-state {
    color: #102348;
    font-size: 1.16rem;
    font-weight: 850;
    letter-spacing: -0.02em;
    line-height: 1.35;
    margin-top: 0;
}

.rewaa-metrics-section .fi-in-entry-wrp-helper-text {
    color: #8a96a8;
    font-size: 0.72rem;
    line-height: 1.55;
}

.dark .fi-in .rewaa-metrics-section .fi-section-content {
    background:
        radial-gradient(circle at 92% 0%, rgb(59 130 246 / 8%), transparent 14rem),
        #111827;
}

.dark .rewaa-metrics-section .fi-in-entry-wrp {
    border-bottom-color: rgb(148 163 184 / 14%);
    border-inline-start-color: rgb(148 163 184 / 14%);
}

.dark .rewaa-metrics-section .fi-in-entry-wrp-state {
    color: #f1f5f9;
}

.dark .rewaa-metrics-section .fi-in-entry-wrp:hover {
    background: rgb(30 41 59 / 58%);
}

/* Security/session entries share one baseline even when an identifier wraps. */
.fi-in .rewaa-security-section .fi-section-content > .grid {
    align-items: stretch;
}

.fi-in .rewaa-security-section .fi-section-content > .grid > div {
    height: 100%;
}

.rewaa-security-section .fi-in-entry-wrp {
    align-items: center;
    display: flex;
    height: 100%;
}

.rewaa-security-section .fi-in-entry-wrp > .grid {
    align-content: center;
    width: 100%;
}

.rewaa-security-section .rewaa-device-id-entry .fi-in-entry-wrp-state {
    direction: ltr;
    overflow-wrap: anywhere;
    text-align: end;
}

@media (max-width: 640px) {
    .rewaa-metrics-section .fi-in-entry-wrp {
        border-inline-start-color: transparent;
        min-height: 5.75rem;
        padding: 1rem;
    }

    .rewaa-metrics-section .fi-in-entry-wrp-state {
        font-size: 1.05rem;
    }
}

/* Record details ----------------------------------------------------------- */
.fi-in .rewaa-details-section {
    border-radius: 1rem;
    overflow: hidden;
}

.fi-in .rewaa-details-section .fi-section-header {
    background: linear-gradient(135deg, #102a49, #1d4f91);
    border-bottom: 0;
    color: #fff;
    padding: 1.15rem 1.4rem;
}

.rewaa-details-section .fi-section-header-heading,
.rewaa-details-section .fi-section-header-icon {
    color: #fff;
}

.fi-in .rewaa-details-section .fi-section-content {
    background: #fff;
    padding: 0.75rem 1.4rem 1rem;
}

.fi-in .rewaa-details-section .fi-section-content > .grid {
    column-gap: 2.5rem;
    row-gap: 0;
}

.fi-in .rewaa-details-section .fi-section-content > .grid > div {
    height: 100%;
}

.rewaa-details-section .fi-in-entry-wrp {
    border-bottom: 1px solid #e8edf4;
    height: 100%;
    min-height: 4.5rem;
    padding: 0.85rem 0.2rem;
}

.rewaa-details-section .fi-in-entry-wrp > .grid {
    align-items: start;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.4rem;
}

.rewaa-details-section .fi-in-entry-wrp-label {
    color: #7a879a;
    font-size: 0.76rem;
}

.rewaa-details-section .fi-in-entry-wrp-state {
    color: #172033;
    font-size: 0.9rem;
    margin-top: 0;
    text-align: start;
}

.rewaa-details-section .rewaa-detail-emphasis .fi-in-entry-wrp-state {
    color: #102a49;
    font-size: 1.05rem;
    font-weight: 850;
}

.rewaa-details-section .rewaa-detail-status .fi-in-entry-wrp-state {
    align-items: center;
    display: flex;
    justify-content: flex-start;
}

/* Chart range controls ----------------------------------------------------- */
.fi-wi-chart .fi-section-header-end .fi-input-wrp,
.fi-wi-chart .fi-section-header .fi-input-wrp {
    background: #fff;
    border: 1px solid #dce3ed;
    border-radius: 0.72rem;
    box-shadow: 0 6px 18px rgb(15 23 42 / 6%);
    min-width: 9.5rem;
    overflow: hidden;
}

.fi-wi-chart .fi-section-header select.fi-select-input,
.fi-wi-chart .fi-section-header select {
    background-color: #fff;
    color: #344054;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 750;
    min-height: 2.65rem;
    padding-inline: 0.9rem 2.3rem;
}

.fi-wi-chart .fi-section-header select:hover {
    background: #f8fafc;
    color: #1d4f91;
}

.fi-wi-chart .fi-section-header select:focus {
    box-shadow: inset 0 0 0 2px rgb(228 123 0 / 18%);
    outline: 0;
}

.fi-wi-chart .fi-section-header select option {
    background: #fff;
    color: #27364a;
    font-size: 0.86rem;
    padding: 0.75rem 1rem;
}

.rewaa-chart-filter-trigger {
    align-items: center;
    background: #fff;
    border: 1px solid #dce3ed;
    border-radius: 0.72rem;
    box-shadow: 0 6px 18px rgb(15 23 42 / 6%);
    color: #344054;
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 750;
    gap: 0.75rem;
    justify-content: space-between;
    min-height: 2.65rem;
    min-width: 9.5rem;
    padding: 0.55rem 0.8rem;
    transition: border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
}

.rewaa-chart-filter-trigger:hover {
    border-color: #f2bf7f;
    box-shadow: 0 9px 22px rgb(217 119 6 / 12%);
    color: #bf6200;
    transform: translateY(-1px);
}

.rewaa-chart-filter-trigger:focus-visible {
    outline: 3px solid rgb(245 158 11 / 20%);
    outline-offset: 2px;
}

.rewaa-chart-filter-trigger svg {
    height: 1rem;
    width: 1rem;
}

.dark .rewaa-chart-filter-trigger {
    background: #111827;
    border-color: rgb(148 163 184 / 18%);
    color: #dbe4f0;
}

/* Notification center ----------------------------------------------------- */
.fi-topbar-database-notifications-btn {
    background: #f8fafc;
    border: 1px solid #e1e7ef;
    border-radius: 0.78rem;
    box-shadow: 0 5px 14px rgb(15 23 42 / 5%);
    color: #526176;
    height: 2.6rem;
    width: 2.6rem;
}

.fi-topbar-database-notifications-btn:hover {
    background: #fff5e8;
    border-color: #f4c98f;
    color: #cf6b00;
}

.fi-topbar-database-notifications-btn .fi-badge {
    box-shadow: 0 0 0 2px #fff;
    font-size: 0.62rem;
    min-height: 1.1rem;
    min-width: 1.1rem;
}

[data-fi-modal-id="database-notifications"] .fi-modal-window {
    border-inline-start: 1px solid #e5eaf1;
    border-radius: 0;
}

[data-fi-modal-id="database-notifications"] .fi-modal-header {
    background: linear-gradient(135deg, #102a49, #1d4f91);
    border-bottom: 0;
    color: #fff;
}

[data-fi-modal-id="database-notifications"] .fi-modal-header h2,
[data-fi-modal-id="database-notifications"] .fi-modal-header button {
    color: #fff;
}

[data-fi-modal-id="database-notifications"] .fi-no-notification {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding-block: 1rem;
}

[data-fi-modal-id="database-notifications"] .fi-no-notification:hover {
    background: #f8fafc;
}

.dark [data-fi-modal-id="database-notifications"] .fi-modal-window {
    background: var(--rewaa-dark-surface) !important;
    border-color: var(--rewaa-dark-border);
}

.dark [data-fi-modal-id="database-notifications"] .fi-modal-header {
    background: linear-gradient(135deg, #102a49, #1d4f91) !important;
}

.dark [data-fi-modal-id="database-notifications"] .fi-no-notification:hover {
    background: var(--rewaa-dark-surface-raised) !important;
}

.dark .fi-in .rewaa-details-section .fi-section-content,
.dark .fi-wi-chart .fi-section-header .fi-input-wrp,
.dark .fi-wi-chart .fi-section-header select,
.dark .fi-wi-chart .fi-section-header select option {
    background: #111827;
}

.dark .rewaa-details-section .fi-in-entry-wrp {
    border-bottom-color: rgb(148 163 184 / 14%);
}

.dark .rewaa-details-section .fi-in-entry-wrp-state,
.dark .rewaa-details-section .rewaa-detail-emphasis .fi-in-entry-wrp-state {
    color: #eef2f8;
}

.dark .fi-topbar-database-notifications-btn {
    background: #111827;
    border-color: rgb(148 163 184 / 18%);
    color: #cbd5e1;
}

@media (max-width: 640px) {
    .fi-in .rewaa-details-section .fi-section-content {
        padding-inline: 1rem;
    }

    .rewaa-details-section .fi-in-entry-wrp > .grid {
        grid-template-columns: 1fr;
        row-gap: 0.35rem;
    }

    .rewaa-details-section .fi-in-entry-wrp-state {
        text-align: start;
    }

    .rewaa-details-section .rewaa-detail-status .fi-in-entry-wrp-state {
        justify-content: flex-start;
    }
}

/* Final theme normalization: keep every Filament shell on one navy scale. */
.dark .fi-body,
.dark body,
.dark .fi-layout,
.dark .fi-main-ctn {
    background: var(--rewaa-dark-canvas);
}

.dark .fi-main-ctn {
    background-image: radial-gradient(circle at 16% 0%, rgb(59 130 246 / 8%), transparent 32rem);
    min-height: 100vh;
}

.dark .fi-topbar nav,
.dark .fi-sidebar,
.dark .fi-sidebar-header {
    background: var(--rewaa-dark-shell) !important;
    border-color: var(--rewaa-dark-border);
}

.dark .fi-main > .fi-header,
.dark .fi-section,
.dark .fi-ta-ctn,
.dark .fi-wi-chart,
.dark .fi-wi-stats-overview-stat,
.dark .fi-section-content,
.dark .fi-in .fi-section-content,
.dark .fi-ta-row,
.dark .fi-ta-row:nth-child(even) {
    background: var(--rewaa-dark-surface) !important;
    border-color: var(--rewaa-dark-border);
}

.dark .fi-section-header,
.dark .fi-ta-header,
.dark .fi-ta-table thead,
.dark .fi-ta-pagination,
.dark .fi-ta-filters-above-content-ctn,
.dark .fi-ta-filters-form {
    background: var(--rewaa-dark-surface-raised) !important;
    border-color: var(--rewaa-dark-border);
}

.dark .fi-ta-row:hover {
    background: #1b2941 !important;
}

.fi-ta-filters-above-content-ctn {
    background:
        linear-gradient(135deg, rgb(255 251 235 / 72%), rgb(248 250 252 / 96%) 42%, rgb(239 246 255 / 72%));
    gap: 1rem;
    padding: 1.15rem 1.35rem 1.3rem;
}

.dark .fi-ta-filters-above-content-ctn {
    background:
        radial-gradient(circle at 100% 0%, rgb(59 130 246 / 9%), transparent 18rem),
        var(--rewaa-dark-surface-raised);
}

.dark .fi-ta-filters-above-content-ctn .fi-input-wrp {
    background: var(--rewaa-dark-surface);
    border-color: rgb(148 163 184 / 18%);
}

/* Polished table controls and empty states -------------------------------- */
.fi-ta-filters-above-content-ctn > span.ms-auto {
    align-items: center;
    align-self: center;
    display: flex;
    justify-content: center;
    margin-block: 0 !important;
    min-height: 2.75rem;
}

.fi-ta-filters-above-content-ctn > span.ms-auto .fi-icon-btn {
    background: rgb(255 255 255 / 82%);
    border: 1px solid #dce4ee;
    border-radius: 0.78rem;
    box-shadow: 0 5px 14px rgb(15 23 42 / 5%);
    color: #526176;
    height: 2.6rem;
    width: 2.6rem;
}

.fi-ta-filters-above-content-ctn > span.ms-auto .fi-icon-btn:hover {
    background: #fff5e8;
    border-color: #f4c98f;
    color: #cf6b00;
}

.fi-ta-empty-state-icon-ctn {
    align-items: center;
    background: linear-gradient(135deg, #fff4e5, #edf5ff) !important;
    border: 1px solid rgb(228 123 0 / 12%);
    box-shadow: 0 12px 28px rgb(15 23 42 / 8%);
    display: flex;
    justify-content: center;
}

.fi-ta-empty-state-icon {
    color: #cf6b00 !important;
    height: 1.75rem;
    width: 1.75rem;
}

.dark .fi-ta-filters-above-content-ctn > span.ms-auto .fi-icon-btn {
    background: var(--rewaa-dark-surface);
    border-color: rgb(148 163 184 / 20%);
    box-shadow: 0 6px 16px rgb(0 0 0 / 16%);
    color: #aeb9ca;
}

.dark .fi-ta-filters-above-content-ctn > span.ms-auto .fi-icon-btn:hover {
    background: #1b2941;
    border-color: rgb(245 158 11 / 42%);
    color: #fbbf24;
}

.dark .fi-ta-empty-state {
    background:
        radial-gradient(circle at 50% 32%, rgb(59 130 246 / 9%), transparent 10rem),
        var(--rewaa-dark-surface) !important;
}

.dark .fi-ta-empty-state-icon-ctn {
    background: linear-gradient(135deg, rgb(245 158 11 / 14%), rgb(59 130 246 / 13%)) !important;
    border-color: rgb(245 158 11 / 20%);
    box-shadow: 0 12px 30px rgb(0 0 0 / 18%);
}

.dark .fi-ta-empty-state-icon {
    color: #fbbf24 !important;
}

/* Notification center: consistent, compact, and readable in both themes. */
[data-fi-modal-id="database-notifications"] .fi-modal-window {
    background: #f8fafc !important;
    border-inline-start: 1px solid #e2e8f0;
    box-shadow: -18px 0 48px rgb(15 23 42 / 14%);
    max-width: min(28rem, 100vw);
}

[data-fi-modal-id="database-notifications"] .fi-modal-header {
    background: #fff !important;
    border-bottom: 1px solid #e7ecf2;
    color: #172033;
    padding: 1.25rem 1.5rem;
}

[data-fi-modal-id="database-notifications"] .fi-modal-header h2,
[data-fi-modal-id="database-notifications"] .fi-modal-header button {
    color: #172033;
}

[data-fi-modal-id="database-notifications"] .fi-modal-header:has(.fi-modal-icon) {
    background:
        radial-gradient(circle at 50% 0%, rgb(29 79 145 / 12%), transparent 11rem),
        #f8fafc !important;
    border: 1px dashed #ced8e5;
    border-radius: 1rem;
    margin: 1.25rem;
    min-height: 15rem;
    padding: 2.75rem 1.5rem;
}

[data-fi-modal-id="database-notifications"] .fi-modal-icon {
    background: linear-gradient(135deg, #eaf3ff, #fff2df) !important;
    border: 1px solid rgb(29 79 145 / 12%);
    box-shadow: 0 12px 28px rgb(15 23 42 / 9%);
    color: #1d4f91 !important;
}

[data-fi-modal-id="database-notifications"] .fi-modal-content {
    background: #f8fafc;
}

[data-fi-modal-id="database-notifications"] .fi-modal-close-btn {
    background: #f8fafc;
    border: 1px solid #dce4ee;
    border-radius: 0.7rem;
}

.dark [data-fi-modal-id="database-notifications"] .fi-modal-window,
.dark [data-fi-modal-id="database-notifications"] .fi-modal-content {
    background: var(--rewaa-dark-surface) !important;
    border-color: var(--rewaa-dark-border);
}

.dark [data-fi-modal-id="database-notifications"] .fi-modal-header {
    background: var(--rewaa-dark-surface-raised) !important;
    border-color: var(--rewaa-dark-border);
    color: #f8fafc;
}

.dark [data-fi-modal-id="database-notifications"] .fi-modal-header h2,
.dark [data-fi-modal-id="database-notifications"] .fi-modal-header button {
    color: #f8fafc;
}

.dark [data-fi-modal-id="database-notifications"] .fi-modal-header:has(.fi-modal-icon) {
    background:
        radial-gradient(circle at 50% 0%, rgb(59 130 246 / 13%), transparent 12rem),
        var(--rewaa-dark-surface-raised) !important;
    border-color: rgb(148 163 184 / 22%);
}

.dark [data-fi-modal-id="database-notifications"] .fi-modal-icon {
    background: linear-gradient(135deg, rgb(59 130 246 / 16%), rgb(245 158 11 / 13%)) !important;
    border-color: rgb(96 165 250 / 20%);
    box-shadow: 0 12px 30px rgb(0 0 0 / 20%);
    color: #60a5fa !important;
}

.dark [data-fi-modal-id="database-notifications"] .fi-modal-close-btn {
    background: var(--rewaa-dark-surface);
    border-color: rgb(148 163 184 / 20%);
}

@media (max-width: 640px) {
    [data-fi-modal-id="database-notifications"] .fi-modal-header:has(.fi-modal-icon) {
        margin: 0.85rem;
        min-height: 13rem;
    }
}

/* Dark-mode final pass: use the Rewaa navy palette, never black or white surfaces. */
.dark .fi-modal-window,
.dark .fi-modal-content {
    background: var(--rewaa-dark-surface) !important;
    border-color: var(--rewaa-dark-border) !important;
}

.dark .fi-modal-header,
.dark .fi-modal-footer {
    background: var(--rewaa-dark-surface-raised) !important;
    border-color: var(--rewaa-dark-border) !important;
}

.dark .fi-modal-close-btn {
    background: var(--rewaa-dark-surface) !important;
    border-color: var(--rewaa-dark-border) !important;
}

.dark .fi-no-notification:not(.fi-inline) {
    background: var(--rewaa-dark-surface-raised) !important;
    border-color: var(--rewaa-dark-border) !important;
    box-shadow: 0 18px 46px rgb(4 19 42 / 36%) !important;
}

.dark .rewaa-profile-hero {
    background: linear-gradient(135deg, #111c30 0%, #162238 58%, #102a49 100%) !important;
    border-color: rgb(147 197 253 / 20%) !important;
}

.dark .fi-tabs {
    background: var(--rewaa-dark-surface-raised) !important;
    border-color: var(--rewaa-dark-border) !important;
}

.dark .fi-tabs-item:not(.fi-active):hover {
    background: #1b2941 !important;
}

.dark .fi-tabs-item:not(.fi-active):hover .fi-tabs-item-label,
.dark .fi-tabs-item:not(.fi-active):hover .fi-tabs-item-icon {
    color: #f8fafc !important;
}

.dark .fi-sidebar-item-button:hover {
    background: #162238 !important;
    border-color: rgb(96 165 250 / 18%) !important;
}

.dark .fi-sidebar-item-button:hover .fi-sidebar-item-label {
    color: #f8fafc !important;
}

.dark .fi-sidebar-item-button:hover .fi-sidebar-item-icon {
    color: #fbbf24 !important;
}

.dark .fi-sidebar-item-active .fi-sidebar-item-button:hover .fi-sidebar-item-label,
.dark .fi-sidebar-item-active .fi-sidebar-item-button:hover .fi-sidebar-item-icon {
    color: #fbbf24 !important;
}

/* Final table controls pass: clear action spacing and a compact, consistent search/filter bar. */
.fi-ta-actions {
    column-gap: 0.9rem !important;
    row-gap: 0.6rem !important;
}

.fi-ta-actions .fi-icon-btn {
    flex: 0 0 auto;
}

.fi-ta-actions > * + * {
    margin-inline-start: 0.25rem !important;
}

.fi-ta-actions-cell > div {
    padding-inline: 1rem !important;
}

.rewaa-avatar-upload .fi-fo-file-upload {
    background: transparent !important;
    box-shadow: none !important;
}

.rewaa-avatar-upload .filepond--root {
    margin-inline: auto;
    max-width: 11rem;
}

.rewaa-avatar-upload .filepond--panel-root {
    background: linear-gradient(145deg, #f2f7ff, #fff8eb) !important;
    border: 1px dashed rgb(29 79 145 / 28%) !important;
    border-radius: 9999px !important;
}

.dark .rewaa-avatar-upload .filepond--panel-root {
    background: linear-gradient(145deg, #162842, #1b2941) !important;
    border-color: rgb(96 165 250 / 28%) !important;
}

.fi-resource-edit-record-page .fi-form-actions {
    bottom: 1rem;
    position: sticky;
    z-index: 20;
}

.fi-ta-filters-above-content-ctn {
    gap: 0.9rem !important;
    padding: 1rem 1.25rem !important;
}

.fi-ta-filters-above-content-ctn .fi-ta-filters {
    gap: 0.85rem !important;
}

.fi-ta-filters-above-content-ctn .fi-ta-filters > .flex:first-child {
    margin: 0 !important;
    min-height: 2.25rem;
    padding: 0 0 0.75rem !important;
}

.fi-ta-filters-form > .grid {
    align-items: end;
    column-gap: 1rem !important;
    row-gap: 0.85rem !important;
}

.fi-ta-filters-above-content-ctn .fi-input-wrp,
.fi-ta-search-field .fi-input-wrp {
    min-height: 2.85rem;
    border-radius: 0.8rem !important;
}

.fi-ta-header-toolbar {
    min-height: 4.5rem;
    align-items: center !important;
    gap: 0.85rem !important;
    padding: 0.8rem 1.25rem !important;
}

.fi-ta-header-toolbar > .ms-auto {
    align-items: center;
    gap: 0.75rem !important;
}

.fi-ta-search-field {
    width: min(22rem, 100%);
}

.fi-ta-filters-above-content-ctn > span.ms-auto {
    align-self: end;
    margin: 0 !important;
}

@media (max-width: 640px) {
    .fi-ta-actions {
        column-gap: 0.7rem !important;
    }

    .fi-ta-filters-above-content-ctn,
    .fi-ta-header-toolbar {
        padding: 0.85rem !important;
    }

    .fi-ta-header-toolbar,
    .fi-ta-header-toolbar > .ms-auto {
        align-items: stretch !important;
        flex-direction: column;
        width: 100%;
    }

    .fi-ta-search-field,
    .fi-ta-search-field .fi-input-wrp {
        width: 100% !important;
    }
}

/* Wallet movement overview */
.rewaa-wallet-summary {
    --wallet-surface: #fff;
    --wallet-soft: #f5f8fc;
    --wallet-border: #dbe6f2;
    --wallet-text: #102544;
    --wallet-muted: #64748b;
    --wallet-accent: #047857;
    --wallet-tint: rgb(5 150 105 / 9%);
    background: var(--wallet-surface);
    border: 1px solid var(--wallet-border);
    border-radius: 1rem;
    color: var(--wallet-text);
    overflow: hidden;
}
.rewaa-wallet-summary.is-debit { --wallet-accent: #be123c; --wallet-tint: rgb(225 29 72 / 8%); }
.rewaa-wallet-summary__header { align-items: center; border-bottom: 1px solid var(--wallet-border); display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; padding: 1.15rem 1.5rem; }
.rewaa-wallet-summary__type { align-items: center; display: flex; gap: .8rem; min-width: 0; }
.rewaa-wallet-summary__icon { align-items: center; background: var(--wallet-tint); border-radius: .8rem; color: var(--wallet-accent); display: flex; flex: 0 0 2.8rem; height: 2.8rem; justify-content: center; }
.rewaa-wallet-summary__icon svg { height: 1.4rem; width: 1.4rem; }
.rewaa-wallet-summary__type h2 { font-size: 1rem; font-weight: 850; margin: 0; }
.rewaa-wallet-summary__type p { color: var(--wallet-muted); font-size: .8rem; margin-top: .25rem; }
.rewaa-wallet-summary__reference { color: var(--wallet-muted); font-size: .78rem; }
.rewaa-wallet-summary__reference bdi { color: var(--wallet-text); font-weight: 750; margin-inline-start: .35rem; }
.rewaa-wallet-summary__body { align-items: center; display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); padding: 1.6rem 1.5rem; }
.rewaa-wallet-summary__amount { display: grid; gap: .5rem; min-width: 0; }
.rewaa-wallet-summary__amount > span { color: var(--wallet-muted); font-size: .8rem; }
.rewaa-wallet-summary__amount strong { color: var(--wallet-accent); font-size: clamp(1.8rem, 2.8vw, 2.7rem); font-weight: 900; line-height: 1.4; overflow-wrap: anywhere; }
.rewaa-wallet-summary__amount small { color: var(--wallet-muted); font-size: .75rem; }
.rewaa-wallet-summary__balances { background: var(--wallet-soft); border: 1px solid var(--wallet-border); border-radius: .8rem; display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 1.25rem; position: relative; }
.rewaa-wallet-summary__balances::before { color: var(--wallet-muted); content: '←'; inset-inline-start: 50%; position: absolute; top: 50%; transform: translate(50%, -50%); }
[dir="ltr"] .rewaa-wallet-summary__balances::before { content: '→'; transform: translate(-50%, -50%); }
.rewaa-wallet-summary__balances > div { display: grid; gap: .6rem; min-width: 0; }
.rewaa-wallet-summary__balances dt { color: var(--wallet-muted); font-size: .78rem; }
.rewaa-wallet-summary__balances dd { font-size: 1.15rem; font-weight: 850; margin: 0; overflow-wrap: anywhere; }
.rewaa-wallet-summary__balances > div:last-child dd { color: var(--wallet-accent); }
.dark .rewaa-wallet-summary { --wallet-surface: #111d2f; --wallet-soft: #16253a; --wallet-border: #2a3c55; --wallet-text: #eef5ff; --wallet-muted: #a7b6cb; --wallet-accent: #34d399; --wallet-tint: rgb(52 211 153 / 10%); }
.dark .rewaa-wallet-summary.is-debit { --wallet-accent: #fb7185; --wallet-tint: rgb(251 113 133 / 10%); }
@media (max-width: 767px) {
    .rewaa-wallet-summary__header { padding: 1rem; }
    .rewaa-wallet-summary__body { gap: 1.25rem; grid-template-columns: minmax(0, 1fr); padding: 1.25rem 1rem; }
    .rewaa-wallet-summary__balances { gap: 1.25rem; padding: 1rem .75rem; }
    .rewaa-wallet-summary__balances dd { font-size: 1rem; }
    .rewaa-wallet-summary__reference { width: 100%; }
}

/* Compact record facts, with linked records present only when available. */
.rewaa-record-details {
    --record-surface: #fff;
    --record-border: #e2e8f0;
    --record-text: #102544;
    --record-muted: #64748b;
    --record-accent: #2563eb;
    --record-icon-bg: #eff6ff;
    background: var(--record-surface);
    border: 1px solid var(--record-border);
    border-radius: 1rem;
    color: var(--record-text);
    container-type: inline-size;
    overflow: hidden;
}
.rewaa-record-details__heading { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; padding: 1.2rem 1.5rem 0; }
.rewaa-record-details__heading h2 { font-size: 1rem; font-weight: 800; margin: 0; }
.rewaa-record-details__status { align-items: center; border: 1px solid var(--record-border); border-radius: 999px; color: var(--record-muted); display: inline-flex; font-size: .72rem; gap: .4rem; padding: .3rem .65rem; }
.rewaa-record-details__status svg { height: .9rem; width: .9rem; }
.rewaa-record-details__facts { column-gap: 1.5rem; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.75rem 1.5rem; row-gap: 1.5rem; }
.rewaa-record-details__fact { min-width: 0; padding-inline-start: 3.15rem; position: relative; }
.rewaa-record-details__icon { align-items: center; background: var(--record-icon-bg); border-radius: .75rem; color: var(--record-accent); display: flex; height: 2.4rem; inset-inline-start: 0; justify-content: center; position: absolute; top: 0; width: 2.4rem; }
.rewaa-record-details__icon svg { height: 1.15rem; width: 1.15rem; }
.rewaa-record-details__fact dt { color: var(--record-muted); font-size: .73rem; line-height: 1.5; margin-bottom: .4rem; }
.rewaa-record-details__fact dd { font-size: .88rem; font-weight: 750; line-height: 1.65; margin: 0; overflow-wrap: anywhere; }
.rewaa-record-details__fact dd a { color: inherit; text-decoration: none; }
.rewaa-record-details__fact dd a svg { color: var(--record-muted); display: inline-block; height: .8rem; margin-inline-start: .2rem; vertical-align: middle; width: .8rem; }
.rewaa-record-details__fact dd a:hover { color: var(--record-accent); text-decoration: underline; text-underline-offset: .25rem; }
.rewaa-record-details a:focus-visible { border-radius: .2rem; outline: 2px solid var(--record-accent); outline-offset: 4px; }
.rewaa-record-details time { display: inline-block; font-size: .8rem; font-variant-numeric: tabular-nums; }
.rewaa-record-details__notes { border-top: 1px solid var(--record-border); margin-inline: 1.5rem; padding-block: 1rem; }
.rewaa-record-details__notes h3 { align-items: center; color: var(--record-muted); display: flex; font-size: .78rem; font-weight: 650; gap: .5rem; margin: 0; }
.rewaa-record-details__notes h3 svg { color: var(--record-accent); height: 1rem; width: 1rem; }
.rewaa-record-details__notes p { font-size: .84rem; line-height: 1.9; margin: .6rem 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.dark .rewaa-record-details { --record-surface: #111d2f; --record-border: #29394f; --record-text: #edf3fc; --record-muted: #9eafc5; --record-accent: #7db4fa; --record-icon-bg: #1a304b; }
@container (max-width: 54rem) {
    .rewaa-record-details__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .rewaa-record-details__heading { padding: 1rem 1rem 0; }
    .rewaa-record-details__facts { column-gap: 1rem; padding: 1.5rem 1rem; }
    .rewaa-record-details__fact { padding-inline-start: 2.6rem; }
    .rewaa-record-details__icon { height: 2rem; width: 2rem; }
    .rewaa-record-details__notes { margin-inline: 1rem; }
}
@container (max-width: 28rem) {
    .rewaa-record-details__facts { grid-template-columns: minmax(0, 1fr); row-gap: 1.25rem; }
}
.rewaa-record-details__badges { display: flex; flex-wrap: wrap; gap: .5rem; }
.rewaa-record-details__fact dd:has(.rewaa-record-details__copy) { align-items: baseline; display: flex; gap: .5rem; }
.rewaa-record-details__fact dd > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.rewaa-record-details__facts:has(> .rewaa-record-details__fact:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@container (max-width: 28rem) {
    .rewaa-record-details__facts:has(> .rewaa-record-details__fact:nth-child(2):last-child) { grid-template-columns: minmax(0, 1fr); }
}
.rewaa-record-details__copy { display: inline-flex; flex: 0 0 auto; position: relative; }
.rewaa-record-details__copy button { align-items: center; border-radius: .35rem; color: var(--record-muted); display: inline-flex; justify-content: center; min-height: 1.8rem; min-width: 1.8rem; }
.rewaa-record-details__copy button svg { height: 1rem; width: 1rem; }
.rewaa-record-details__copy button:hover { background: var(--record-icon-bg); color: var(--record-accent); }
.rewaa-record-details__copy button:focus-visible { outline: 2px solid var(--record-accent); outline-offset: 2px; }
.rewaa-record-details__copy-status { background: var(--record-icon-bg); border-radius: .35rem; color: var(--record-text); font-size: .7rem; inset-inline-end: 0; padding: .25rem .5rem; position: absolute; top: 100%; white-space: nowrap; z-index: 1; }
.rewaa-record-details__copy-status:empty { display: none; }

/* Payment destination identity and a separate transfer-information rail. */
.rewaa-payment-destination {
    --destination-accent: #dc3549;
    --destination-tint: rgb(220 53 73 / 9%);
    --destination-hero: #fff;
    --destination-well: rgb(255 255 255 / 80%);
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
}
.rewaa-payment-destination[data-payment-type="instapay"] { --destination-accent: #7760cd; --destination-tint: rgb(119 96 205 / 12%); }
.rewaa-payment-destination[data-payment-type="bank_account"] { --destination-accent: #248d89; --destination-tint: rgb(36 141 137 / 12%); }
.rewaa-payment-destination[data-payment-type="other"] { --destination-accent: #3979c9; --destination-tint: rgb(57 121 201 / 12%); }
.rewaa-payment-destination__layout { align-items: start; display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.rewaa-payment-destination__identity { background: radial-gradient(ellipse at 100% 0%, var(--destination-tint), transparent 70%), var(--destination-hero); border: 1px solid var(--record-border); border-radius: 1.35rem; box-shadow: 0 14px 34px rgb(15 23 42 / 5%); min-width: 0; overflow: hidden; padding: 1.6rem; }
.rewaa-payment-destination__identity > header { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.35rem; }
.rewaa-payment-destination__brand { align-items: center; background: var(--destination-accent); border: 1px solid rgb(255 255 255 / 12%); border-radius: 1rem; color: white; display: flex; height: 3.5rem; justify-content: center; width: 3.5rem; }
.rewaa-payment-destination__brand svg { height: 1.85rem; width: 1.85rem; }
.rewaa-payment-destination__type { color: var(--record-muted); font-size: .75rem; margin: 0 0 .3rem; }
.rewaa-payment-destination__identity h2 { color: var(--record-text); font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 850; line-height: 1.6; margin: 0; overflow-wrap: anywhere; }
.rewaa-payment-destination__identifier { background: var(--destination-well); border: 1px solid var(--record-border); border-radius: .85rem; margin-block: 1.5rem; padding: 1rem 1.1rem; }
.rewaa-payment-destination__identifier > span { color: var(--record-muted); display: block; font-size: .73rem; margin-bottom: .5rem; }
.rewaa-payment-destination__identifier > div { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.rewaa-payment-destination__identifier strong { font-family: ui-monospace, monospace; font-size: clamp(1.3rem, 2.6vw, 2rem); font-variant-numeric: tabular-nums; font-weight: 750; letter-spacing: .04em; line-height: 1.5; min-width: 0; overflow-wrap: anywhere; }
.rewaa-payment-destination__identifier button { align-items: center; background: var(--record-surface); border: 1px solid var(--record-border); border-radius: .6rem; display: flex; flex: 0 0 auto; font-size: .75rem; gap: .4rem; min-height: 2.5rem; padding: .5rem .7rem; }
.rewaa-payment-destination__identifier button svg { height: 1rem; width: 1rem; }
.rewaa-payment-destination__identity > footer { align-items: center; display: flex; gap: .7rem; }
.rewaa-payment-destination__owner-icon { align-items: center; border: 1px solid var(--record-border); border-radius: .65rem; color: var(--record-muted); display: flex; flex: 0 0 2.4rem; height: 2.4rem; justify-content: center; }
.rewaa-payment-destination__owner-icon svg { height: 1.2rem; width: 1.2rem; }
.rewaa-payment-destination__identity > footer > div > span { color: var(--record-muted); display: block; font-size: .69rem; margin-bottom: .2rem; }
.rewaa-payment-destination__identity > footer a,
.rewaa-payment-destination__identity > footer strong { font-size: .83rem; font-weight: 700; }
.rewaa-payment-destination__identity > footer a svg,
.rewaa-payment-destination__open-link svg { display: inline-block; height: .8rem; margin-inline-start: .2rem; width: .8rem; }
.rewaa-payment-destination__open-link { color: var(--record-accent); display: inline-block; font-size: .75rem; margin-top: .6rem; }
.rewaa-payment-destination__support { display: grid; gap: 1rem; min-width: 0; }
.rewaa-payment-destination__details,
.rewaa-payment-destination__instructions { background: var(--record-surface); border: 1px solid var(--record-border); border-radius: 1rem; min-width: 0; padding: 1.25rem; }
.rewaa-payment-destination__support h3 { font-size: .88rem; font-weight: 800; margin: 0; }
.rewaa-payment-destination__details dl { margin: .7rem 0 0; }
.rewaa-payment-destination__details dl > div { display: grid; gap: .4rem; padding-block: .8rem; }
.rewaa-payment-destination__details dl > div + div { border-top: 1px solid var(--record-border); }
.rewaa-payment-destination__details dt { color: var(--record-muted); font-size: .72rem; }
.rewaa-payment-destination__details dd { align-items: baseline; display: flex; font-size: .84rem; font-weight: 700; gap: .5rem; line-height: 1.7; margin: 0; }
.rewaa-payment-destination__details dd > span { min-width: 0; overflow-wrap: anywhere; }
.rewaa-payment-destination__details dd.is-empty { color: var(--record-muted); font-weight: 400; }
.rewaa-payment-destination__details button { border-radius: .35rem; color: var(--record-muted); flex: 0 0 auto; min-height: 1.8rem; min-width: 1.8rem; }
.rewaa-payment-destination__details button svg { height: 1rem; width: 1rem; }
.rewaa-payment-destination__instructions header { align-items: center; display: flex; gap: .5rem; }
.rewaa-payment-destination__instructions header > svg { color: var(--record-accent); height: 1.1rem; width: 1.1rem; }
.rewaa-payment-destination__instructions > p { font-size: .82rem; line-height: 1.9; margin: 1rem 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.rewaa-payment-destination__empty { align-items: center; color: var(--record-muted); display: flex; flex-direction: column; padding: 2rem .25rem 1.5rem; text-align: center; }
.rewaa-payment-destination__empty > svg { height: 2.5rem; margin-bottom: 1rem; opacity: .7; width: 2.5rem; }
.rewaa-payment-destination__empty p { color: var(--record-text); font-size: .85rem; margin: 0 0 .5rem; }
.rewaa-payment-destination__empty span { font-size: .72rem; line-height: 1.8; }
.rewaa-payment-destination__feedback { color: var(--record-muted); font-size: .75rem; margin: .75rem 0 0; }
.rewaa-payment-destination__feedback:empty { display: none; }
.rewaa-payment-destination a:hover { color: var(--record-accent); text-decoration: underline; text-underline-offset: .2rem; }
.rewaa-payment-destination button:hover { background: var(--record-icon-bg); color: var(--record-accent); }
.rewaa-payment-destination button:focus-visible,
.rewaa-payment-destination a:focus-visible { outline: 2px solid var(--record-accent); outline-offset: 3px; }
.dark .rewaa-payment-destination { --destination-hero: #142136; --destination-well: rgb(8 17 32 / 65%); }
@container (max-width: 46rem) {
    .rewaa-payment-destination__layout { grid-template-columns: minmax(0, 1fr); }
    .rewaa-payment-destination__identity { padding: 1.25rem; }
}
@container (max-width: 23rem) {
    .rewaa-payment-destination__identifier { padding: .8rem; }
    .rewaa-payment-destination__identifier > div { align-items: start; flex-direction: column; gap: .75rem; }
    .rewaa-payment-destination__identifier strong { font-size: 1.3rem; }
}

/* QR preview: scan area and account data sit side by side in a short dialog. */
.fi-modal-window:has(.payment-qr-card) { max-height: calc(100dvh - 2rem); }
.fi-modal-window:has(.payment-qr-card) > .fi-modal-header,
.fi-modal-window:has(.payment-qr-card) > .fi-modal-footer { flex-shrink: 0; }
.fi-modal-window:has(.payment-qr-card) > .fi-modal-content { min-height: 0; overflow-y: auto; }
.payment-qr-card { --qr-text: #102544; --qr-muted: #64748b; --qr-border: #e2e8f0; --qr-hover: #eff6ff; color: var(--qr-text); margin-inline: auto; max-width: 100%; }
.payment-qr-layout { align-items: center; display: grid; gap: 2rem; grid-template-columns: 15rem minmax(0, 1fr); }
.payment-qr-code { margin: 0; min-width: 0; text-align: center; }
.payment-qr-card img { aspect-ratio: 1; background: #fff; border: 1px solid #e2e8f0; border-radius: .85rem; display: block; height: auto; margin-inline: auto; max-width: 100%; padding: .55rem; width: 15rem; }
.payment-qr-code figcaption { color: var(--qr-muted); font-size: .7rem; line-height: 1.8; margin-top: .75rem; }
.payment-qr-content { min-width: 0; }
.payment-qr-account-type { color: #7865cd; display: block; font-size: .72rem; font-weight: 750; margin-bottom: .4rem; }
.payment-qr-content header h3 { color: var(--qr-text); font-size: 1.05rem; font-weight: 850; line-height: 1.6; margin: 0; overflow-wrap: anywhere; }
.payment-qr-content header p { color: var(--qr-muted); font-size: .75rem; line-height: 1.8; margin: .35rem 0 0; }
.payment-qr-details { display: grid; margin: 1rem 0 0; }
.payment-qr-details > div { border-top: 1px solid var(--qr-border); padding-block: .7rem; }
.payment-qr-details dt { color: var(--qr-muted); font-size: .7rem; }
.payment-qr-details dd { align-items: center; display: flex; font-size: .82rem; font-weight: 750; gap: .6rem; justify-content: space-between; line-height: 1.8; margin: .25rem 0 0; }
.payment-qr-value { min-width: 0; overflow-wrap: anywhere; unicode-bidi: isolate; }
.payment-qr-copy { align-items: center; border-radius: .45rem; color: var(--qr-muted); display: flex; flex: 0 0 2rem; height: 2rem; justify-content: center; }
.payment-qr-copy svg { height: 1rem; width: 1rem; }
.payment-qr-copy:hover { background: var(--qr-hover); color: var(--qr-text); }
.payment-qr-copy:focus-visible { outline: 2px solid #60a5fa; outline-offset: 2px; }
.payment-qr-feedback { color: #059669; font-size: .72rem; margin: .3rem 0 0; }
.payment-qr-feedback:empty { display: none; }
.dark .payment-qr-card { --qr-text: #eef5ff; --qr-muted: #9fb0c6; --qr-border: #2a3c55; --qr-hover: #1d3049; }
.dark .payment-qr-account-type { color: #baa9f8; }
.dark .payment-qr-feedback { color: #34d399; }
@media (max-width: 639px) {
    .payment-qr-layout { gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
    .payment-qr-card img { width: 11.5rem; }
    .payment-qr-code figcaption { margin-top: .5rem; }
    .payment-qr-content header { text-align: center; }
    .payment-qr-content header p { display: none; }
    .payment-qr-details { margin-top: .75rem; }
    .payment-qr-details > div { padding-block: .5rem; }
}
@media (max-height: 700px) and (max-width: 639px) {
    .payment-qr-card img { width: 10rem; }
    .payment-qr-layout { gap: .85rem; }
}
/* Provider platform settings: reading area and compact contact directory. */
.platform-profile {
    --platform-surface: #fff;
    --platform-soft: #f6f8fc;
    --platform-border: #e2e8f0;
    --platform-text: #172c49;
    --platform-muted: #65758b;
    --platform-accent: #246bc2;
    color: var(--platform-text);
    min-width: 0;
}
.dark .platform-profile {
    --platform-surface: #111d2e;
    --platform-soft: #16253a;
    --platform-border: #29394f;
    --platform-text: #edf3fc;
    --platform-muted: #a0b1c8;
    --platform-accent: #8ebeff;
}
.platform-profile__identity {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    margin-block-end: 1.5rem;
    border: 1px solid var(--platform-border);
    border-radius: 1rem;
    background: var(--platform-surface);
}
.platform-profile__mark {
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    flex: none;
    border-radius: .875rem;
    background: var(--platform-soft);
    color: var(--platform-accent);
}
.platform-profile__mark svg { width: 1.75rem; height: 1.75rem; }
.platform-profile__name { flex: 1; min-width: 0; }
.platform-profile__name p, .platform-profile__languages > span { font-size: .75rem; color: var(--platform-muted); }
.platform-profile__name h2 { font-size: 1.375rem; font-weight: 750; margin-block-start: .25rem; overflow-wrap: anywhere; }
.platform-profile__languages { display: grid; gap: .5rem; }
.platform-profile__languages > div { display: flex; flex-wrap: wrap; gap: .5rem; }
.platform-profile__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, .48fr); gap: 1.5rem; align-items: start; }
.platform-profile__content, .platform-profile__sidebar { display: grid; gap: 1.5rem; min-width: 0; }
.platform-profile__panel { min-width: 0; background: var(--platform-surface); border: 1px solid var(--platform-border); border-radius: 1rem; overflow: hidden; }
.platform-profile__panel > header { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: .5rem; padding: 1.125rem 1.25rem; border-block-end: 1px solid var(--platform-border); }
.platform-profile__panel h3 { font-size: .9375rem; font-weight: 750; }
.platform-profile__panel > header > span { color: var(--platform-muted); font-size: .6875rem; }
.platform-profile__translations { padding: 0 1.5rem; }
.platform-profile__translations article { padding-block: 1.25rem; min-width: 0; }
.platform-profile__translations article + article { border-block-start: 1px dashed var(--platform-border); }
.platform-profile__translations h4 { display: inline-block; color: var(--platform-accent); background: var(--platform-soft); border-radius: .375rem; padding: .2rem .6rem; font-size: .6875rem; font-weight: 650; margin-block-end: .875rem; }
.platform-profile__rich, .platform-profile__terms { font-size: .875rem; line-height: 1.95; overflow-wrap: anywhere; }
.platform-profile__terms { white-space: pre-wrap; }
.platform-profile__rich :is(p,ul,ol,h2,h3,blockquote) + * { margin-block-start: .75rem; }
.platform-profile__rich :is(ul,ol) { padding-inline-start: 1.5rem; }
.platform-profile__rich ul { list-style: disc; }
.platform-profile__rich ol { list-style: decimal; }
.platform-profile__rich a { color: var(--platform-accent); text-decoration: underline; }
.platform-profile__rich :is(img,video,iframe) { max-width: 100%; height: auto; }
.platform-profile__empty { color: var(--platform-muted); font-size: .8125rem; font-weight: 400; }
.platform-profile__contacts { padding: 0 1.25rem; }
.platform-profile__contacts li { display: flex; gap: .75rem; padding-block: 1.125rem; align-items: start; min-width: 0; }
.platform-profile__contacts li + li { border-block-start: 1px solid var(--platform-border); }
.platform-profile__channel-icon { display: grid; place-items: center; width: 2rem; height: 2rem; flex: none; color: var(--platform-accent); background: var(--platform-soft); border-radius: 50%; }
.platform-profile__channel-icon svg { width: 1rem; height: 1rem; }
.platform-profile__contacts li > div { min-width: 0; flex: 1; }
.platform-profile__contacts h4 { font-size: .75rem; color: var(--platform-muted); margin-block-end: .375rem; }
.platform-profile__contacts a { font-size: .8125rem; font-weight: 600; }
.platform-profile :is(a,bdi) { overflow-wrap: anywhere; }
.platform-profile a:hover { color: var(--platform-accent); text-decoration: underline; }
.platform-profile a:focus-visible { outline: 2px solid var(--platform-accent); outline-offset: 4px; border-radius: .25rem; }
.platform-profile__links { padding: 1.25rem; display: grid; gap: 1rem; }
.platform-profile__links > div + div { border-block-start: 1px solid var(--platform-border); padding-block-start: 1rem; }
.platform-profile__links h4 { font-size: .8125rem; font-weight: 650; margin-block-end: .25rem; }
.platform-profile__links a { display: flex; align-items: start; gap: .5rem; color: var(--platform-accent); font-size: .75rem; margin-block-start: .625rem; }
.platform-profile__links a bdi { flex: 1; min-width: 0; }
.platform-profile__links svg { width: .875rem; height: .875rem; flex: none; }
.platform-profile__copy { display: inline-flex; align-items: center; justify-content: center; gap: .375rem; min-width: 2rem; min-height: 2rem; color: var(--platform-muted); border-radius: .375rem; font-size: .75rem; flex: none; }
.platform-profile__copy svg { width: 1rem; height: 1rem; }
.platform-profile__copy:hover { background: var(--platform-soft); color: var(--platform-accent); }
.platform-profile__copy:focus-visible { outline: 2px solid var(--platform-accent); outline-offset: 2px; }
@media (max-width: 1100px) {
    .platform-profile__layout { grid-template-columns: minmax(0, 1fr); }
    .platform-profile__sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}
@media (max-width: 640px) {
    .platform-profile__identity { padding: 1rem; gap: .75rem; flex-wrap: wrap; }
    .platform-profile__name h2 { font-size: 1.125rem; }
    .platform-profile__languages { width: 100%; border-block-start: 1px solid var(--platform-border); padding-block-start: 1rem; }
    .platform-profile__layout, .platform-profile__sidebar { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .platform-profile__content { gap: 1rem; }
    .platform-profile__panel > header { padding: 1rem; }
    .platform-profile__translations { padding-inline: 1rem; }
}
.provider-overview {
    --provider-border: #e2e8f0;
    --provider-muted: #64748b;
    --provider-text: #172c49;
    --provider-surface: #fff;
    --provider-soft: #f7f9fc;
    min-width: 0;
    color: var(--provider-text);
    background: var(--provider-surface);
    border: 1px solid var(--provider-border);
    border-radius: 1rem;
    overflow: hidden;
}
.dark .provider-overview { --provider-border: #29394f; --provider-muted: #9dafc6; --provider-text: #edf3fc; --provider-surface: #111d2e; --provider-soft: #142237; }
.provider-overview__identity { display: flex; align-items: center; gap: 1rem; padding: 1.5rem 1.75rem 1rem; }
.provider-overview__avatar { display: grid; place-items: center; flex: none; width: 3.5rem; height: 3.5rem; border-radius: 1rem; background: #2563eb; color: #fff; font-size: 1.5rem; font-weight: 700; }
.provider-overview__name { flex: 1; min-width: 0; }
.provider-overview__name p { display: flex; flex-wrap: wrap; gap: .5rem; color: var(--provider-muted); font-size: .75rem; }
.provider-overview__name h2 { font-size: 1.5rem; font-weight: 750; overflow-wrap: anywhere; margin-block-start: .25rem; }
.provider-overview__contacts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; padding: 1rem 1.75rem 1.75rem; }
.provider-overview dt { color: var(--provider-muted); font-size: .75rem; }
.provider-overview__contacts dd { margin-block-start: .5rem; font-size: .8125rem; font-weight: 550; overflow-wrap: anywhere; }
.provider-overview__activity { padding: 1.25rem 1.75rem; background: var(--provider-soft); border-block-start: 1px solid var(--provider-border); }
.provider-overview__activity h3 { font-size: .75rem; color: var(--provider-muted); font-weight: 500; margin-block-end: 1rem; }
.provider-overview__activity dl { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.provider-overview__activity dl > div { display: flex; flex-direction: column-reverse; align-items: start; gap: .375rem; min-width: 0; }
.provider-overview__activity dd { font-size: 1.5rem; font-weight: 750; overflow-wrap: anywhere; }
.provider-overview__activity dl > div:last-child dd { font-size: 1.25rem; }
.fi-page:has(.provider-overview) .fi-resource-relation-managers > .fi-tabs { align-self: stretch; justify-content: start; border-radius: .75rem; margin-inline: 0; width: 100%; }
@media (max-width: 900px) {
    .provider-overview__contacts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .provider-overview__activity dl { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 1.25rem; }
}
@media (max-width: 480px) {
    .provider-overview__identity { padding: 1rem; gap: .75rem; flex-wrap: wrap; }
    .provider-overview__identity > .fi-badge { margin-inline-start: 4.25rem; }
    .provider-overview__name h2 { font-size: 1.125rem; }
    .provider-overview__contacts { padding: .5rem 1rem 1rem; gap: 1.25rem .75rem; }
    .provider-overview__activity { padding: 1rem; }
    .provider-overview__activity dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .provider-overview__activity dd { font-size: 1.25rem; }
    .provider-overview__activity dl > div:last-child { grid-column: 1 / -1; }
}
.teacher-overview { display: grid; gap: 1.5rem; min-width: 0; }
.provider-overview--teacher .provider-overview__avatar { overflow: hidden; }
.provider-overview--teacher .provider-overview__avatar img { width: 100%; height: 100%; object-fit: cover; }
.teacher-overview__contacts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.teacher-overview__academic { padding: 1.5rem 1.75rem; border: 1px solid #e2e8f0; background: #fff; color: #172c49; border-radius: 1rem; min-width: 0; }
.dark .teacher-overview__academic { border-color: #29394f; background: #111d2e; color: #edf3fc; }
.teacher-overview__academic h3 { font-size: .8125rem; font-weight: 650; margin-block-end: .75rem; }
.teacher-overview__specialties { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.teacher-overview__specialties > div { min-width: 0; }
.teacher-overview__specialties > div > div { display: flex; gap: .5rem; flex-wrap: wrap; }
.teacher-overview__specialties p { font-size: .8125rem; color: #64748b; }
.dark .teacher-overview__specialties p { color: #9dafc6; }
.teacher-overview__biography { border-block-start: 1px solid #e2e8f0; padding-block-start: 1.25rem; margin-block-start: 1.25rem; overflow-wrap: anywhere; }
.dark .teacher-overview__biography { border-color: #29394f; }
@media (max-width: 640px) {
    .teacher-overview { gap: 1rem; }
    .teacher-overview__contacts { grid-template-columns: minmax(0, 1fr); }
    .teacher-overview__academic { padding: 1rem; }
    .teacher-overview__specialties { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
}

.teacher-financial__unit { font-size: .75rem; color: var(--provider-muted); font-weight: 450; direction: rtl; white-space: nowrap; }
.teacher-overview__academic--empty { padding-block: 1rem; }
.teacher-overview__academic--empty .teacher-overview__specialties h3 { margin-block-end: .375rem; }
.teacher-profile-v2 { --provider-border: #e2e8f0; --provider-muted: #64748b; --provider-text: #172c49; --provider-surface: #fff; --provider-soft: #f7f9fc; color: var(--provider-text); }
.dark .teacher-profile-v2 { --provider-border: #29394f; --provider-muted: #9dafc6; --provider-text: #edf3fc; --provider-surface: #111d2e; --provider-soft: #142237; }
.teacher-profile-v2__top { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(17rem, 1fr); align-items: stretch; gap: 1.25rem; }
.teacher-profile-v2__identity, .teacher-profile-v2__payout { background: var(--provider-surface); border: 1px solid var(--provider-border); border-radius: 1rem; min-width: 0; overflow: hidden; }
.teacher-profile-v2__identity { display: flex; flex-direction: column; padding: 1.5rem; }
.teacher-profile-v2__identity > header { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.teacher-profile-v2__avatar { display: grid; place-items: center; width: 4.5rem; height: 4.5rem; background: #2563eb; color: white; border-radius: 50%; flex: none; overflow: hidden; font-size: 1.75rem; font-weight: 700; }
.teacher-profile-v2__avatar img { width: 100%; height: 100%; object-fit: cover; }
.teacher-profile-v2__name { flex: 1; min-width: 0; }
.teacher-profile-v2__name > p { color: var(--provider-muted); font-size: .6875rem; display: flex; gap: .5rem; }
.teacher-profile-v2__name h2 { font-size: 1.5rem; font-weight: 750; overflow-wrap: anywhere; margin-block: .25rem; }
.teacher-profile-v2__provider { color: var(--provider-muted); font-size: .8125rem; }
.teacher-profile-v2__provider a { display: inline-flex; align-items: center; gap: .375rem; }
.teacher-profile-v2__provider a:hover { color: #2563eb; text-decoration: underline; }
.teacher-profile-v2 svg { width: 1rem; height: 1rem; flex: none; }
.teacher-profile-v2__contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .65fr); gap: 1.25rem; padding-block: 1.5rem 1rem; }
.teacher-profile-v2__contact dt { display: flex; align-items: center; gap: .375rem; color: var(--provider-muted); font-size: .75rem; }
.teacher-profile-v2__contact dd { font-size: .875rem; margin-block-start: .5rem; overflow-wrap: anywhere; }
.teacher-profile-v2__joined { display: flex; gap: .5rem; flex-wrap: wrap; color: var(--provider-muted); font-size: .6875rem; margin-block-end: 1.25rem; }
.teacher-profile-v2__sales { margin-block-start: auto; border-block-start: 1px solid var(--provider-border); padding-block-start: 1.25rem; }
.teacher-profile-v2__sales dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.teacher-profile-v2__sales dl > div { min-width: 0; }
.teacher-profile-v2__sales dt { color: var(--provider-muted); font-size: .75rem; margin-block-end: .625rem; }
.teacher-profile-v2__sales dd { display: flex; flex-wrap: wrap; align-items: baseline; gap: .375rem; font-size: 1.625rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.teacher-profile-v2__sales dd > bdi { overflow-wrap: anywhere; }
.teacher-profile-v2__sales dd button { display: inline-flex; align-items: center; gap: .5rem; color: #2563eb; }
.dark .teacher-profile-v2__sales dd button { color: #8ebeff; }
.teacher-profile-v2__sales dd button svg { width: .875rem; height: .875rem; }
.teacher-profile-v2__text-link { display: inline-flex; align-items: center; gap: .5rem; color: #2563eb; font-size: .75rem; margin-block-start: 1.25rem; }
.dark .teacher-profile-v2__text-link { color: #8ebeff; }
.teacher-profile-v2__payout { border-block-start: 3px solid #22c55e; padding: 1.5rem; display: flex; flex-direction: column; }
.teacher-profile-v2__payout h3 { font-size: .9375rem; font-weight: 650; }
.teacher-profile-v2__amount { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; margin-block: .875rem .375rem; color: #15803d; font-size: clamp(1.875rem, 3vw, 2.5rem); font-weight: 750; font-variant-numeric: tabular-nums; }
.teacher-profile-v2__amount bdi { overflow-wrap: anywhere; min-width: 0; }
.dark .teacher-profile-v2__amount { color: #4ade80; }
.teacher-profile-v2__hint { font-size: .6875rem; color: var(--provider-muted); }
.teacher-profile-v2__payout dl { display: grid; gap: .875rem; padding-block: 1.25rem; margin-block-start: 1rem; border-block-start: 1px solid var(--provider-border); }
.teacher-profile-v2__payout dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
.teacher-profile-v2__payout dt { color: var(--provider-muted); font-size: .75rem; }
.teacher-profile-v2__payout dd { display: inline-flex; align-items: baseline; gap: .375rem; flex-wrap: wrap; font-size: .875rem; font-weight: 650; }
.teacher-profile-v2__payout dd bdi { overflow-wrap: anywhere; }
.teacher-profile-v2__last-transfer { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .6875rem; color: var(--provider-muted); padding-block-end: 1rem; }
.teacher-profile-v2__history { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .5rem; padding: .75rem; border: 1px solid var(--provider-border); border-radius: .5rem; background: var(--provider-soft); font-size: .75rem; margin-block-start: auto; }
.teacher-profile-v2__history span { font-variant-numeric: tabular-nums; }
.teacher-profile-v2 :is(button,a):focus-visible { outline: 2px solid #60a5fa; outline-offset: 4px; border-radius: .25rem; }
.teacher-profile-v2 button:hover { text-decoration: underline; }
.teacher-profile-v2__anchor { scroll-margin-top: 6rem; }
.teacher-profile-v2__anchor h3 { font-size: .9375rem; font-weight: 650; }
.teacher-profile-v2__anchor p { color: var(--provider-muted); font-size: .75rem; margin-block-start: .375rem; }
.fi-page:has(.teacher-profile-v2) .fi-resource-relation-managers > .fi-tabs { align-self: stretch; justify-content: start; margin-inline: 0; width: 100%; }
@media (max-width: 1000px) {
    .teacher-profile-v2__top { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .teacher-profile-v2__identity, .teacher-profile-v2__payout { padding: 1rem; }
    .teacher-profile-v2__name h2 { font-size: 1.25rem; }
    .teacher-profile-v2__avatar { width: 3.5rem; height: 3.5rem; }
    .teacher-profile-v2__contact { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .teacher-profile-v2__sales dl { gap: .75rem; }
    .teacher-profile-v2__sales dd { font-size: 1.25rem; }
}

.teacher-profile-v2__amount, .teacher-profile-v2__sales dd, .teacher-profile-v2__payout dd { direction: ltr; justify-content: flex-end; }
