:root {
    --page-bg: #101010;
    --sidebar-bg: #161616;
    --sidebar-panel: #202020;
    --sidebar-panel-hover: #2b2b2b;
    --sidebar-border: #3a3a3a;
    --content-bg: #121212;
    --content-surface: #1c1c1c;
    --text-main: #f5f5f5;
    --text-muted: #b4b4b4;
    --accent: #d5d5d5;
    --accent-strong: #ffffff;
    --accent-text: #111111;
}

body.theme-light {
    --page-bg: #ededed;
    --sidebar-bg: #fafafa;
    --sidebar-panel: #e8e8e8;
    --sidebar-panel-hover: #dddddd;
    --sidebar-border: #c9c9c9;
    --content-bg: #f4f4f4;
    --content-surface: #ffffff;
    --text-main: #1f1f1f;
    --text-muted: #686868;
    --accent: #2d2d2d;
    --accent-strong: #111111;
    --accent-text: #ffffff;
}

body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: var(--page-bg);
    color: var(--text-main);
}

@media (min-width: 1100px) {
    body {
        zoom: 0.72;
    }
}

.layout {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 100vh;
    background: linear-gradient(135deg, var(--page-bg), #181818);
    transition: grid-template-columns 0.22s ease;
}

@media (min-width: 1100px) {
    .layout {
        min-height: 139vh;
    }
}

body.sidebar-collapsed .layout {
    grid-template-columns: 0 minmax(0, 1fr);
}

.sidebar {
    width: max-content;
    min-width: 210px;
    max-width: 340px;
    background: var(--sidebar-bg);
    color: var(--text-main);
    padding: 34px 28px;
    box-sizing: border-box;
    box-shadow: 8px 0 28px rgba(5, 12, 24, 0.24);
    overflow: hidden;
    transition: opacity 0.18s ease, padding 0.22s ease, min-width 0.22s ease;
}

body.sidebar-collapsed .sidebar {
    min-width: 0;
    opacity: 0;
    padding-left: 0;
    padding-right: 0;
    pointer-events: none;
}

.site-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 42px;
    padding: 0 6px 22px;
    border-bottom: 1px solid var(--sidebar-border);
}

.site-logo h2 {
    margin: 0;
    font-size: 30px;
    color: var(--accent-strong);
}

.site-logo-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    padding: 7px;
    border-radius: 12px;
    background: rgba(127, 179, 213, 0.12);
    stroke: var(--accent-strong);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

.side-menu {
    display: flex;
    width: max-content;
    min-width: 170px;
    flex-direction: column;
    gap: 24px;
}

.menu-group {
    min-width: 100%;
    border: 1px solid var(--sidebar-border);
    border-radius: 10px;
    background: var(--sidebar-panel);
    overflow: hidden;
}

.menu-group summary {
    padding: 18px 22px;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-size: 18px;
    font-weight: 700;
    list-style: none;
    user-select: none;
    color: var(--text-main);
}

.menu-group summary:hover {
    background: var(--sidebar-panel-hover);
}

.menu-link {
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 24px;
    color: var(--text-muted);
    font-size: 17px;
    text-decoration: none;
    border-top: 1px solid var(--sidebar-border);
}

.menu-link:hover,
.menu-link.active {
    background: var(--accent);
    color: var(--accent-text);
}

.content {
    flex: 1;
    padding: 30px;
    box-sizing: border-box;
    background: var(--content-bg);
    color: var(--text-main);
}

.content h1 {
    color: var(--accent-strong);
}

.content p {
    color: var(--text-muted);
}

.sound-alert-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 0 12px 0 10px;
    border: 1px solid rgba(248, 113, 113, 0.48);
    border-radius: 999px;
    background: rgba(127, 29, 29, 0.26);
    color: #fecaca;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.sound-alert-toggle[data-sound-alert-state="on"] {
    border-color: rgba(34, 197, 94, 0.7);
    background: rgba(22, 101, 52, 0.36);
    color: #bbf7d0;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.12);
}

.sound-alert-toggle:hover {
    filter: brightness(1.08);
}

.block-report-open-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid rgba(251, 146, 60, 0.46);
    border-radius: 12px;
    background: rgba(154, 52, 18, 0.24);
    color: #fed7aa;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.block-report-open-button:hover {
    border-color: rgba(251, 146, 60, 0.72);
    background: rgba(194, 65, 12, 0.34);
    color: #ffffff;
}

.sound-alert-switch {
    position: relative;
    display: inline-flex;
    width: 44px;
    height: 24px;
    border-radius: 999px;
    background: rgba(239, 68, 68, 0.92);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
    transition: background 0.18s ease;
}

.sound-alert-knob,
.sound-alert-switch::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.28);
    transition: transform 0.18s ease;
}

.sound-alert-knob {
    display: block;
}

.sound-alert-switch::after {
    display: none;
}

.sound-alert-toggle[data-sound-alert-state="on"] .sound-alert-switch {
    background: rgba(34, 197, 94, 0.95);
}

.sound-alert-toggle[data-sound-alert-state="on"] .sound-alert-knob,
.sound-alert-toggle[data-sound-alert-state="on"] .sound-alert-switch::after {
    transform: translateX(20px);
}

body.theme-light .layout {
    background: linear-gradient(135deg, #eef3f8, #dce8f5);
}

body.theme-light .summary-card,
body.theme-light .performance-card,
body.theme-light .department-summary-card,
body.theme-light .delivery-summary-card,
body.theme-light .transaction-filter-panel,
body.theme-light .transactions-list,
body.theme-light .management-filters,
body.theme-light .management-listing,
body.theme-light .delivery-listing {
    box-shadow: 0 18px 42px rgba(59, 89, 128, 0.14);
}

@media (max-width: 700px) {
    .layout {
        display: flex;
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
        max-width: none;
    }

    body.sidebar-collapsed .sidebar {
        margin-left: 0;
        max-height: 0;
        padding-bottom: 0;
        padding-top: 0;
    }

    .side-menu {
        width: 100%;
    }
}

.dashboard {
    width: 100%;
    margin: 0;
}

.dashboard h1 {
    margin: 0 0 28px;
    text-align: left;
}

.summary-cards {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 24px;
    margin-bottom: 34px;
    overflow-x: auto;
}

.summary-card {
    flex: 1 1 240px;
    min-width: 220px;
    padding: 28px;
    border: 1px solid var(--sidebar-border);
    border-radius: 18px;
    background: linear-gradient(145deg, var(--content-surface), #242424);
    box-shadow: 0 18px 40px rgba(5, 12, 24, 0.28);
    box-sizing: border-box;
    text-align: left;
}

.summary-label {
    display: block;
    margin-bottom: 12px;
    color: var(--text-muted);
    font-size: 18px;
    font-weight: 700;
}

.summary-amount {
    display: block;
    color: var(--accent-strong);
    font-size: 34px;
    line-height: 1;
}


.recent-list {
    margin: 0;
    padding-left: 20px;
    color: var(--text-muted);
}

.recent-list li {
    padding: 8px 0;
}

@media (max-width: 700px) {
    .summary-cards {
        flex-direction: column;
        align-items: stretch;
    }

    .summary-card {
        width: 100%;
    }
}

.menu-link-direct {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 22px;
    border: 1px solid var(--sidebar-border);
    border-radius: 10px;
    background: var(--sidebar-panel);
    color: var(--text-main);
    font-size: 18px;
    font-weight: 700;
}

.accounting-menu-link {
    text-decoration: none;
}

.accounting-menu-link:hover {
    background: var(--sidebar-panel-hover);
    color: var(--text-main);
}

.dashboard-hero {
    width: 100%;
    box-sizing: border-box;
    padding: 30px;
    margin-bottom: 28px;
    border: 1px solid var(--sidebar-border);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(127, 179, 213, 0.22), transparent 34%),
        linear-gradient(145deg, #202020, #141414);
    box-shadow: 0 24px 60px rgba(5, 12, 24, 0.3);
}

.hero-heading {
    margin-bottom: 26px;
    text-align: left;
}

.hero-heading h1 {
    margin: 0;
}

.dashboard-hero .summary-cards {
    margin-bottom: 0;
}

.dashboard-hero .summary-cards + .summary-cards {
    margin-top: 22px;
}

.dashboard-queue-cards .summary-card {
    padding: 22px;
}

.dashboard-department-summary {
    margin-bottom: 22px;
}

.dashboard-department-summary .dashboard-panel-header {
    margin-bottom: 14px;
}

.dashboard-department-summary .dashboard-panel-header h2 {
    font-size: 20px;
}

.dashboard-department-summary .dashboard-department-contour-list {
    max-width: 1000px;
}

.dashboard-department-summary .dashboard-department-contour-row {
    grid-template-columns: minmax(130px, 1.2fr) repeat(4, minmax(96px, 0.82fr));
    gap: 8px;
    padding: 8px 0;
}

.dashboard-department-summary .dashboard-department-contour-row > div:not(.dashboard-department-contour-name) {
    min-height: 46px;
    padding: 7px 9px;
}

.dashboard-department-summary .dashboard-department-contour-row .is-no-active-iban,
.dashboard-department-summary .dashboard-department-contour-row .is-contour-critical {
    border-color: rgba(251, 113, 133, 0.5);
    background: rgba(251, 113, 133, 0.14);
}

.dashboard-department-summary .dashboard-department-contour-row .is-contour-warning {
    border-color: rgba(245, 203, 92, 0.5);
    background: rgba(245, 203, 92, 0.15);
}

.dashboard-department-summary .dashboard-department-contour-row .is-no-active-iban .is-active-iban {
    color: #fb7185;
}

.dashboard-department-summary-list {
    display: grid;
    gap: 8px;
}

.dashboard-department-summary-row {
    display: grid;
    grid-template-columns: minmax(170px, 1.45fr) repeat(4, minmax(120px, 1fr));
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(169, 214, 229, 0.12);
    border-radius: 8px;
    background: rgba(127, 179, 213, 0.045);
}

.dashboard-department-summary-row.is-limit-reached {
    border-color: rgba(251, 113, 133, 0.45);
    background: rgba(251, 113, 133, 0.08);
}

.dashboard-department-summary-row > div:not(.dashboard-department-summary-name) {
    min-width: 0;
    padding-left: 12px;
    border-left: 1px solid rgba(169, 214, 229, 0.13);
}

.dashboard-department-summary-name strong {
    display: block;
    color: var(--accent-strong);
    font-size: 15px;
}

.dashboard-department-summary-row span {
    display: block;
    margin-bottom: 4px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 700;
}

.dashboard-department-summary-row strong {
    display: block;
    color: var(--text-main);
    font-size: 14px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.dashboard-department-summary-row .is-active-iban,
.dashboard-department-summary-row .is-negative {
    color: #34d399;
}

.dashboard-department-summary-row .is-positive {
    color: #fb7185;
}

.deposit-readiness {
    margin-bottom: 24px;
    padding: 20px;
    border: 1px solid rgba(169, 214, 229, 0.18);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(61, 220, 151, 0.12), rgba(127, 179, 213, 0.08)),
        rgba(255, 255, 255, 0.035);
}

.deposit-readiness.is-warning {
    background:
        linear-gradient(135deg, rgba(245, 203, 92, 0.16), rgba(127, 179, 213, 0.07)),
        rgba(255, 255, 255, 0.035);
}

.deposit-readiness.is-critical {
    background:
        linear-gradient(135deg, rgba(255, 99, 99, 0.18), rgba(127, 179, 213, 0.06)),
        rgba(255, 255, 255, 0.035);
}

.deposit-readiness-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.deposit-readiness-header h2 {
    margin: 0;
    color: var(--text-main);
    font-size: 24px;
}

.deposit-readiness-header strong {
    min-width: max-content;
    padding: 9px 12px;
    border: 1px solid rgba(61, 220, 151, 0.32);
    border-radius: 999px;
    color: #d9fbea;
    background: rgba(61, 220, 151, 0.13);
    font-size: 13px;
}

.deposit-readiness.is-warning .deposit-readiness-header strong {
    border-color: rgba(245, 203, 92, 0.38);
    color: #fff3c8;
    background: rgba(245, 203, 92, 0.14);
}

.deposit-readiness.is-critical .deposit-readiness-header strong {
    border-color: rgba(255, 99, 99, 0.4);
    color: #ffd3d3;
    background: rgba(255, 99, 99, 0.14);
}

.deposit-readiness-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 0;
    overflow: visible;
}

.deposit-readiness-grid article {
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(169, 214, 229, 0.14);
    border-radius: 12px;
    background: rgba(11, 22, 38, 0.42);
}

.deposit-readiness-grid .summary-card {
    min-width: 0;
    box-shadow: none;
}

.deposit-readiness-grid span,
.deposit-readiness-grid small {
    display: block;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.deposit-readiness-grid strong {
    display: block;
    margin: 7px 0;
    color: var(--accent-strong);
    font-size: 21px;
    line-height: 1.05;
}

.deposit-readiness-grid small {
    min-height: 32px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.deposit-readiness-alerts {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.deposit-readiness-alerts p {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid rgba(61, 220, 151, 0.22);
    border-radius: 10px;
    color: #d9fbea;
    background: rgba(61, 220, 151, 0.09);
    font-size: 13px;
    font-weight: 700;
}

.deposit-readiness-alerts p.is-warning {
    border-color: rgba(245, 203, 92, 0.28);
    color: #fff3c8;
    background: rgba(245, 203, 92, 0.1);
}

.deposit-readiness-alerts p.is-critical {
    border-color: rgba(255, 99, 99, 0.32);
    color: #ffd3d3;
    background: rgba(255, 99, 99, 0.11);
}

.account-availability-panel {
    margin-bottom: 24px;
    padding: 20px;
    border: 1px solid rgba(169, 214, 229, 0.16);
    border-radius: 18px;
    background: rgba(8, 18, 32, 0.38);
}

.account-availability-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.account-availability-header h2 {
    margin: 0;
    color: var(--text-main);
    font-size: 22px;
}

.account-availability-totals {
    min-width: 180px;
    padding: 10px 12px;
    border: 1px solid rgba(127, 179, 213, 0.22);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.045);
    text-align: right;
}

.account-availability-totals span,
.account-availability-stats span {
    display: block;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.account-availability-totals strong {
    display: block;
    margin-top: 5px;
    color: var(--accent-strong);
    font-size: 22px;
}

.account-availability-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.account-availability-stats article {
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid rgba(169, 214, 229, 0.13);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.035);
}

.account-availability-stats strong {
    display: block;
    margin-top: 4px;
    color: var(--text-main);
    font-size: 15px;
    line-height: 1.25;
}

.account-availability-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.account-availability-card {
    min-width: 0;
    padding: 13px;
    border: 1px solid rgba(169, 214, 229, 0.15);
    border-radius: 12px;
    background: rgba(9, 19, 34, 0.64);
}

.account-availability-card.is-deposit-open {
    border-color: rgba(61, 220, 151, 0.28);
}

.account-availability-card.is-deposit-closed {
    border-color: rgba(255, 99, 99, 0.3);
    background: rgba(45, 15, 20, 0.42);
}

.account-availability-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.account-availability-card-top strong {
    min-width: 0;
    color: var(--text-main);
    font-size: 15px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-availability-card-top span {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 999px;
    color: #d9fbea;
    background: rgba(61, 220, 151, 0.16);
    font-size: 11px;
    font-weight: 900;
}

.account-availability-card.is-deposit-closed .account-availability-card-top span {
    color: #ffd3d3;
    background: rgba(255, 99, 99, 0.16);
}

.account-availability-bank {
    display: grid;
    gap: 4px;
    min-height: 78px;
}

.account-availability-bank span,
.account-availability-bank code {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.account-availability-bank strong {
    color: var(--text-main);
    font-size: 14px;
    line-height: 1.25;
}

.account-availability-bank code {
    font-family: inherit;
}

.account-availability-money {
    margin: 10px 0;
    padding: 9px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.045);
}

.account-availability-money span {
    display: block;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.account-availability-money strong {
    display: block;
    margin-top: 3px;
    font-size: 19px;
}

.account-availability-money strong.is-positive {
    color: #8ef0b2;
}

.account-availability-money strong.is-negative {
    color: #ff9d9d;
}

.account-availability-card dl {
    display: grid;
    gap: 6px;
    margin: 0;
}

.account-availability-card dl div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.account-availability-card dt,
.account-availability-card dd {
    margin: 0;
    font-size: 12px;
    font-weight: 800;
}

.account-availability-card dt {
    color: var(--text-muted);
}

.account-availability-card dd {
    color: var(--text-main);
    text-align: right;
}

.account-availability-more {
    margin: 12px 0 0;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.department-account-availability-panel {
    margin-bottom: 18px;
}

.department-home-summary-cards {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
    overflow: visible;
}

.department-home-summary-cards .summary-card {
    min-width: 0;
    padding: 18px;
    border-radius: 12px;
}

.department-home-summary-cards .summary-label {
    margin-bottom: 10px;
    font-size: 14px;
}

.department-home-summary-cards .summary-amount {
    font-size: 22px;
    line-height: 1.12;
    overflow-wrap: anywhere;
}

.department-home-summary-cards .summary-icon {
    width: 24px;
    height: 24px;
    padding: 6px;
    border-radius: 10px;
}

.department-home-summary-cards .summary-card small {
    font-size: 11px;
}

.department-contour-usage {
    display: grid;
    gap: 7px;
    margin-top: 10px;
}

.department-contour-usage-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 850;
    line-height: 1.1;
}

.department-contour-usage-top strong {
    color: var(--text-main);
    font-size: 12px;
    font-weight: 950;
}

.department-contour-usage-bar {
    display: block;
    height: 8px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.34);
}

.department-contour-usage-bar i {
    display: block;
    width: var(--contour-usage);
    max-width: 100%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #22c55e 0%, #f59e0b 62%, #ef4444 100%);
}

.department-contour-warning {
    margin: -6px 0 18px;
    padding: 12px 14px;
    border: 1px solid rgba(245, 158, 11, 0.48);
    border-radius: 10px;
    background: rgba(245, 158, 11, 0.16);
    color: #fde68a;
    font-size: 13px;
    font-weight: 900;
}

@media (max-width: 1200px) {
    .department-home-summary-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .department-home-summary-cards {
        grid-template-columns: 1fr;
    }
}

.summary-card-availability {
    box-shadow:
        0 18px 40px rgba(5, 12, 24, 0.28),
        12px 12px 0 rgba(167, 139, 250, 0.38);
}

.summary-card-availability .summary-icon {
    stroke: #a78bfa;
}

.summary-card-deposit-active {
    box-shadow:
        0 18px 40px rgba(5, 12, 24, 0.28),
        12px 12px 0 rgba(34, 197, 94, 0.34);
}

.summary-card-deposit-active .summary-icon {
    stroke: #22c55e;
}

.department-account-availability-panel .account-availability-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.department-account-availability-panel .account-availability-card {
    gap: 12px;
}

.department-account-availability-panel .account-availability-card dl {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.content-boxes {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.content-box {
    text-align: left;
    min-height: 180px;
    padding: 24px;
    border: 1px solid var(--sidebar-border);
    border-radius: 16px;
    background: var(--content-surface);
    box-sizing: border-box;
}

.content-box h2 {
    margin: 0 0 16px;
    color: var(--accent-strong);
    font-size: 22px;
}

.content-box p {
    margin: 0;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.dashboard-department-hero {
    display: grid;
    gap: 4px;
    margin-bottom: 14px;
    padding: 18px 20px;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-surface);
}

.dashboard-department-hero h1 {
    margin: 0;
    color: var(--text-main);
    font-size: 24px;
}

.dashboard-panel {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-surface);
    box-shadow: 0 16px 36px rgba(5, 12, 24, 0.18);
}

.dashboard-panel-wide {
    grid-column: 1 / -1;
}

.dashboard-activity-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 18px;
}

.dashboard-range-tabs,
.dashboard-range-form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: end;
}

.dashboard-range-tabs button {
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid var(--sidebar-border);
    border-radius: 8px;
    background: var(--content-surface);
    color: var(--text-muted);
    font-weight: 800;
    cursor: pointer;
}

.dashboard-range-tabs button.active,
.dashboard-range-tabs button:hover {
    border-color: var(--accent);
    color: var(--text-main);
    background: rgba(127, 179, 213, 0.16);
}

.dashboard-range-form label {
    display: grid;
    gap: 4px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.dashboard-range-form input {
    min-height: 36px;
    box-sizing: border-box;
    border: 1px solid var(--sidebar-border);
    border-radius: 8px;
    background: var(--content-surface);
    color: var(--text-main);
    padding: 0 10px;
}

.dashboard-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.dashboard-panel-header h2 {
    margin: 0;
    color: var(--accent-strong);
    font-size: 22px;
}

.dashboard-panel-header > span {
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 700;
}

.summary-card small {
    display: block;
    margin-top: 14px;
    color: var(--text-muted);
    font-weight: 700;
}

.dashboard-activity-list,
.dashboard-risk-list {
    display: grid;
    gap: 10px;
}

.dashboard-site-activity-list,
.dashboard-department-activity-list {
    display: grid;
    gap: 8px;
}

.dashboard-site-activity-row,
.dashboard-department-activity-row {
    display: grid;
    grid-template-columns: minmax(150px, 1.35fr) repeat(7, minmax(84px, 1fr));
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(169, 214, 229, 0.12);
}

.dashboard-department-activity-row {
    grid-template-columns: minmax(150px, 1.3fr) repeat(9, minmax(78px, 1fr));
}

.dashboard-department-panel-compact .dashboard-department-activity-row {
    grid-template-columns: minmax(170px, 1.4fr) repeat(4, minmax(110px, 1fr));
    gap: 10px;
    padding: 10px 0;
}

.dashboard-department-contour-list {
    display: grid;
    gap: 8px;
}

.dashboard-department-contour-row {
    display: grid;
    grid-template-columns: minmax(170px, 1.45fr) repeat(4, minmax(112px, 1fr));
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(169, 214, 229, 0.12);
}

.dashboard-department-contour-row:last-child {
    border-bottom: 0;
}

.dashboard-department-contour-row > div:not(.dashboard-department-contour-name) {
    min-height: 54px;
    padding: 9px 12px;
    border: 1px solid rgba(169, 214, 229, 0.1);
    border-radius: 8px;
    background: rgba(127, 179, 213, 0.06);
}

.dashboard-department-contour-row span {
    display: block;
    margin-bottom: 4px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 700;
}

.dashboard-department-contour-row strong {
    display: block;
    color: var(--text-main);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.dashboard-department-contour-name strong {
    color: var(--accent-strong);
    font-size: 15px;
}

.dashboard-department-contour-row .is-positive {
    color: #fb7185;
}

.dashboard-department-contour-row .is-negative {
    color: #34d399;
}

.dashboard-department-contour-row.is-limit-reached > div:not(.dashboard-department-contour-name) {
    border-color: rgba(251, 113, 133, 0.34);
    background: rgba(251, 113, 133, 0.08);
}

.dashboard-department-panel-compact .dashboard-department-activity-row > div:not(.dashboard-department-activity-name) {
    min-height: 58px;
    padding: 10px 12px;
    border: 1px solid rgba(169, 214, 229, 0.1);
    border-radius: 10px;
    background: rgba(127, 179, 213, 0.06);
}

.dashboard-site-activity-row:last-child,
.dashboard-department-activity-row:last-child {
    border-bottom: 0;
}

.dashboard-site-activity-row span,
.dashboard-department-activity-row span {
    display: block;
    margin-bottom: 4px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 700;
}

.dashboard-site-activity-row strong,
.dashboard-department-activity-row strong {
    display: block;
    color: var(--text-main);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.dashboard-site-activity-name strong,
.dashboard-department-activity-name strong {
    color: var(--accent-strong);
    font-size: 15px;
}

.dashboard-activity-row,
.dashboard-risk-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(169, 214, 229, 0.12);
}

.dashboard-activity-row:last-child,
.dashboard-risk-row:last-child {
    border-bottom: 0;
}

.dashboard-activity-row div:last-child {
    text-align: right;
}

.dashboard-activity-row strong,
.dashboard-risk-row strong {
    display: block;
    color: var(--text-main);
    font-size: 15px;
}

.dashboard-activity-row span,
.dashboard-risk-row span,
.dashboard-empty {
    color: var(--text-muted);
    font-size: 13px;
}

.dashboard-mini-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.dashboard-mini-stats div {
    padding: 16px;
    border: 1px solid rgba(169, 214, 229, 0.14);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
}

.dashboard-mini-stats span {
    display: block;
    margin-bottom: 8px;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 700;
}

.dashboard-mini-stats strong {
    color: var(--accent-strong);
    font-size: 24px;
}

.dashboard-balance-list {
    display: grid;
    gap: 12px;
    margin: 0;
}

.dashboard-balance-list div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(169, 214, 229, 0.12);
}

.dashboard-balance-list div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.dashboard-balance-list dt {
    color: var(--text-muted);
    font-weight: 700;
}

.dashboard-balance-list dd {
    margin: 0;
    color: var(--text-main);
    font-weight: 800;
    text-align: right;
}

.dashboard-risk-row {
    grid-template-columns: minmax(0, 1fr) minmax(90px, 130px) 58px;
}

.dashboard-risk-meter {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
}

.dashboard-risk-meter i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #3ddc97, #f5cb5c, #ff6363);
}

@media (max-width: 850px) {
    .content-boxes {
        grid-template-columns: 1fr;
    }

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

    .dashboard-activity-controls {
        align-items: stretch;
    }

    .dashboard-panel-wide {
        grid-column: auto;
    }

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

    .deposit-readiness-header {
        display: grid;
    }

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

    .account-availability-header {
        display: grid;
    }

    .account-availability-totals {
        width: 100%;
        box-sizing: border-box;
        text-align: left;
    }

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

    .dashboard-site-activity-row,
    .dashboard-department-activity-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-department-contour-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-department-summary-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-department-summary-name {
        grid-column: 1 / -1;
    }

    .dashboard-department-summary-row > div:not(.dashboard-department-summary-name) {
        padding: 9px 12px;
        border: 1px solid rgba(169, 214, 229, 0.1);
        border-radius: 6px;
        background: rgba(127, 179, 213, 0.06);
    }

    .dashboard-department-panel-compact .dashboard-department-activity-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-site-activity-name,
    .dashboard-department-activity-name,
    .dashboard-department-contour-name {
        grid-column: 1 / -1;
    }

    .dashboard-activity-row,
    .dashboard-activity-row div:last-child {
        grid-template-columns: 1fr;
        text-align: left;
    }
}

@media (max-width: 560px) {
    .dashboard-department-contour-row {
        grid-template-columns: 1fr;
    }

    .dashboard-department-summary-row {
        grid-template-columns: 1fr;
    }

    .deposit-readiness-grid,
    .account-availability-stats,
    .account-availability-grid {
        grid-template-columns: 1fr;
    }

    .department-account-availability-panel .account-availability-card dl,
    .dashboard-department-panel-compact .dashboard-department-activity-row {
        grid-template-columns: 1fr;
    }
}





.secondary-hero {
    background:
        radial-gradient(circle at left top, rgba(169, 214, 229, 0.16), transparent 32%),
        linear-gradient(145deg, #181818, #222222);
}

.hero-heading h2 {
    margin: 0;
    color: var(--accent-strong);
    font-size: 28px;
}





.summary-card-investments {
    box-shadow:
        0 18px 40px rgba(5, 12, 24, 0.28),
        12px 12px 0 rgba(61, 220, 151, 0.42);
}

.summary-card-withdrawals {
    box-shadow:
        0 18px 40px rgba(5, 12, 24, 0.28),
        12px 12px 0 rgba(255, 99, 99, 0.42);
}

.summary-card-net {
    box-shadow:
        0 18px 40px rgba(5, 12, 24, 0.28),
        12px 12px 0 rgba(93, 173, 226, 0.42);
}

.summary-card-pending {
    box-shadow:
        0 18px 40px rgba(5, 12, 24, 0.28),
        12px 12px 0 rgba(245, 203, 92, 0.42);
}

.summary-value {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.summary-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    padding: 8px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    stroke: var(--accent-strong);
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

.summary-card-investments .summary-icon {
    stroke: #3ddc97;
}

.summary-card-withdrawals .summary-icon {
    stroke: #ff6363;
}

.summary-card-net .summary-icon {
    stroke: #c0c0c0;
}

.summary-card-pending .summary-icon {
    stroke: #f5cb5c;
}

.summary-card-approved .summary-icon {
    stroke: #3ddc97;
}

.summary-card-rejected .summary-icon {
    stroke: #ff6363;
}

.menu-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    opacity: 0.9;
}


.menu-group summary::-webkit-details-marker {
    display: none;
}


.transaction-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 18px;
}

.filter-button,
.custom-date-filter button {
    border: 1px solid var(--sidebar-border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-muted);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    padding: 10px 16px;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.filter-button:hover,
.filter-button.active,
.custom-date-filter button:hover {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
}

.custom-date-filter {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr)) auto;
    gap: 16px;
    width: 100%;
    margin: 0 0 24px;
    padding: 18px;
    border: 1px solid var(--sidebar-border);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.05);
    box-sizing: border-box;
}

.custom-date-filter[hidden] {
    display: none;
}

.custom-date-filter label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: var(--text-muted);
    font-size: 14px;
    font-weight: 700;
}

.custom-date-filter input {
    min-height: 42px;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    padding: 0 12px;
    font: inherit;
}

.custom-date-filter button {
    align-self: end;
    border-radius: 12px;
    min-height: 42px;
}

@media (max-width: 850px) {
    .custom-date-filter {
        grid-template-columns: 1fr;
    }
}

.investment-details,
.withdrawal-details {
    min-height: auto;
    margin-bottom: 24px;
}

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

.detail-card {
    text-align: center;
    align-items: center;
    min-height: 150px;
    padding: 18px;
    border: 1px solid var(--sidebar-border);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(29, 45, 72, 0.92), rgba(17, 28, 47, 0.94));
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 14px;
}

.detail-card-title {
    color: var(--text-muted);
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.detail-card-count {
    color: var(--text-main);
    font-size: 30px;
    line-height: 1;
}

.detail-card-amount {
    color: var(--accent-strong);
    font-size: 18px;
    font-weight: 800;
}

.detail-card-pending {
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24), 8px 8px 0 rgba(245, 203, 92, 0.34);
}

.detail-card-processing {
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24), 8px 8px 0 rgba(127, 179, 213, 0.34);
}

.detail-card-approved {
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24), 8px 8px 0 rgba(61, 220, 151, 0.34);
}

.detail-card-failed,
.detail-card-expired {
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24), 8px 8px 0 rgba(255, 99, 99, 0.34);
}

.detail-card-cancelled {
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24), 8px 8px 0 rgba(181, 196, 216, 0.26);
}

.investments-page .investment-details,
.withdrawals-page .withdrawal-details,
.paylog-accounts-page .investment-details,
.paylog-incoming-page .investment-details,
.deposit-receipt-review-page .withdrawal-details {
    min-height: 0;
    padding: 10px;
    margin-bottom: 14px;
}

.investments-page .detail-card-grid,
.withdrawals-page .detail-card-grid,
.paylog-accounts-page .detail-card-grid,
.paylog-incoming-page .detail-card-grid,
.deposit-receipt-review-page .detail-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 8px;
}

.investments-page .detail-card,
.withdrawals-page .detail-card,
.paylog-accounts-page .detail-card,
.paylog-incoming-page .detail-card,
.deposit-receipt-review-page .detail-card {
    min-height: 66px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "title count"
        "amount count";
    align-items: center;
    gap: 3px 10px;
    padding: 9px 11px;
    border-radius: 7px;
    text-align: left;
    box-shadow: 0 5px 12px rgba(5, 12, 24, 0.18);
}

.investments-page .detail-card-title,
.withdrawals-page .detail-card-title,
.paylog-accounts-page .detail-card-title,
.paylog-incoming-page .detail-card-title,
.deposit-receipt-review-page .detail-card-title {
    grid-area: title;
    font-size: 11px;
    letter-spacing: 0;
}

.investments-page .detail-card-count,
.withdrawals-page .detail-card-count,
.paylog-accounts-page .detail-card-count,
.paylog-incoming-page .detail-card-count,
.deposit-receipt-review-page .detail-card-count {
    grid-area: count;
    font-size: 21px;
}

.investments-page .detail-card-amount,
.withdrawals-page .detail-card-amount,
.paylog-accounts-page .detail-card-amount,
.paylog-incoming-page .detail-card-amount,
.deposit-receipt-review-page .detail-card-amount {
    grid-area: amount;
    font-size: 12px;
}

.deposit-receipt-candidate-list {
    display: grid;
    gap: 5px;
}

.deposit-receipt-candidate {
    display: grid;
    gap: 2px;
    padding: 6px 8px;
    border-left: 3px solid;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.deposit-receipt-candidate strong,
.deposit-receipt-candidate span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.deposit-receipt-candidate-same-site {
    border-color: #3ddc97;
    background: rgba(61, 220, 151, 0.11);
}

.deposit-receipt-candidate-other-site {
    border-color: #f5a623;
    background: rgba(245, 166, 35, 0.13);
}

.deposit-receipt-telegram-settings {
    margin-bottom: 14px;
}

.deposit-receipt-telegram-connection-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0;
}

.deposit-receipt-telegram-connection-grid .transaction-filter-panel {
    margin: 0;
}

.deposit-receipt-telegram-connection-grid h3 {
    margin: 0 0 10px;
    font-size: 14px;
}

@media (max-width: 860px) {
    .deposit-receipt-telegram-connection-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.investments-page .detail-card-pending,
.withdrawals-page .detail-card-pending,
.paylog-accounts-page .detail-card-pending,
.paylog-incoming-page .detail-card-pending {
    border-left: 3px solid #f5cb5c;
}

.withdrawals-page .detail-card-processing,
.paylog-accounts-page .detail-card-processing,
.paylog-incoming-page .detail-card-processing {
    border-left: 3px solid var(--accent);
}

.investments-page .detail-card-approved,
.withdrawals-page .detail-card-approved,
.paylog-accounts-page .detail-card-approved,
.paylog-incoming-page .detail-card-approved {
    border-left: 3px solid #3ddc97;
}

.investments-page .detail-card-failed,
.withdrawals-page .detail-card-failed,
.paylog-accounts-page .detail-card-failed,
.paylog-incoming-page .detail-card-failed {
    border-left: 3px solid #ff6363;
}

@media (max-width: 1050px) {
    .detail-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .detail-card-grid {
        grid-template-columns: 1fr;
    }
}




.system-status {
    margin-top: 28px;
    padding: 24px;
    border: 1px solid var(--sidebar-border);
    border-radius: 20px;
    background:
        radial-gradient(circle at top left, rgba(127, 179, 213, 0.16), transparent 28%),
        var(--content-surface);
    box-shadow: 0 18px 42px rgba(5, 12, 24, 0.26);
    box-sizing: border-box;
}

.system-status-header {
    margin-bottom: 20px;
}

.system-status-header h2 {
    margin: 0;
    color: var(--accent-strong);
    font-size: 24px;
}

.system-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.system-status-card {
    min-height: 120px;
    padding: 20px;
    border: 1px solid var(--sidebar-border);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(29, 45, 72, 0.92), rgba(17, 28, 47, 0.94));
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.22);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
}

.system-status-label {
    color: var(--text-muted);
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.system-status-value {
    color: var(--accent-strong);
    font-size: 28px;
    line-height: 1;
}

.system-status-card.is-online .system-status-value {
    color: #3ddc97;
}

.system-status-card.is-offline .system-status-value {
    color: #ff6363;
}

.system-status-card.is-online {
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.22), 8px 8px 0 rgba(61, 220, 151, 0.34);
}

.system-status-card.is-offline {
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.22), 8px 8px 0 rgba(255, 99, 99, 0.34);
}

@media (max-width: 850px) {
    .system-status-grid {
        grid-template-columns: 1fr;
    }
}

.transactions-page {
    width: 100%;
}

.transactions-header {
    margin-bottom: 24px;
}

.transactions-header h1 {
    margin: 0 0 8px;
    color: var(--accent-strong);
    font-size: 34px;
}

.transactions-header p {
    margin: 0;
    color: var(--text-muted);
}

.transaction-filter-panel,
.transactions-list {
    padding: 24px;
    border: 1px solid var(--sidebar-border);
    border-radius: 20px;
    background: var(--content-surface);
    box-shadow: 0 18px 42px rgba(5, 12, 24, 0.26);
    box-sizing: border-box;
}

.transaction-filter-panel {
    margin-bottom: 24px;
}

.collapsible-filter-form {
    transition: padding 0.18s ease;
}

.collapsible-filter-form.is-filter-collapsed {
    padding-bottom: 12px;
    padding-top: 12px;
}

.collapsible-filter-form.is-filter-collapsed > :not(.filter-collapse-toggle) {
    display: none !important;
}

.filter-collapse-toggle {
    width: auto;
    min-width: 168px;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid rgba(127, 179, 213, 0.58);
    border-radius: 6px;
    background: rgba(127, 179, 213, 0.16);
    color: var(--text-main);
    cursor: pointer;
    font: inherit;
    margin: 0 auto 18px 0;
    padding: 0 4px 0 12px;
    text-align: left;
}

.is-filter-collapsed > .filter-collapse-toggle {
    margin-bottom: 0;
}

.filter-collapse-toggle:hover {
    border-color: var(--accent-strong);
    background: rgba(127, 179, 213, 0.26);
    color: var(--accent-strong);
}

.filter-collapse-toggle:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

.filter-collapse-icon {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: grid;
    place-items: center;
    border: 1px solid var(--sidebar-border);
    border-radius: 6px;
    color: var(--accent-strong);
    font-size: 18px;
    line-height: 1;
}

.dashboard-range-form.collapsible-filter-form {
    min-width: 170px;
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    padding: 6px 10px;
    border: 1px solid var(--sidebar-border);
    border-radius: 8px;
    background: var(--content-surface);
}

.dashboard-range-form > .filter-collapse-toggle {
    min-height: 36px;
    margin-bottom: 8px;
    margin-left: 0;
    margin-right: auto;
}

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

.filter-field {
    min-width: 0;
    border: 0;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.filter-field-wide,
.date-range-field {
    grid-column: span 2;
}

.reports-date-range-field {
    gap: 5px;
}

.reports-date-range-field label {
    display: grid;
    gap: 3px;
}

.reports-date-range-field label span {
    font-size: 12px;
}

.filter-field span,
.filter-field legend {
    color: var(--text-muted);
    font-size: 14px;
    font-weight: 800;
}

.filter-field input,
.filter-field select {
    min-height: 44px;
    width: 100%;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    padding: 0 12px;
    font: inherit;
    box-sizing: border-box;
}

.range-field {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.range-field legend,
.date-range-field legend {
    grid-column: 1 / -1;
    margin-bottom: 8px;
}

.quick-date-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.quick-date-options label {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--text-muted);
    font-weight: 700;
}

.date-inputs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.filter-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 20px;
}

.primary-action,
.secondary-action {
    min-height: 44px;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    padding: 0 18px;
}

.primary-action {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
}

.secondary-action {
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-muted);
}

.transactions-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.transactions-list-header h2 {
    margin: 0;
    color: var(--accent-strong);
    font-size: 24px;
}

.transactions-list-header span {
    color: var(--text-muted);
    font-weight: 800;
}

.transactions-table-wrap {
    overflow-x: auto;
}

.pagination-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(124, 158, 196, 0.2);
    border-radius: 12px;
    background: rgba(10, 22, 40, 0.42);
}

.pagination-summary {
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.pagination-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.pagination-button {
    min-width: 38px;
    min-height: 34px;
    border: 1px solid rgba(124, 158, 196, 0.28);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-muted);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    padding: 0 11px;
}

.pagination-button:hover:not(:disabled),
.pagination-button.is-current {
    border-color: rgba(67, 224, 132, 0.45);
    background: rgba(67, 224, 132, 0.14);
    color: var(--text-main);
}

.pagination-button:disabled {
    cursor: not-allowed;
    opacity: 0.48;
}

.pagination-gap {
    color: var(--text-muted);
    font-weight: 900;
    padding: 0 2px;
}

.transactions-table {
    width: 100%;
    min-width: 1120px;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.transactions-table th {
    color: var(--text-muted);
    font-size: 13px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0 14px 6px;
}

.sortable-table th.sortable-column {
    cursor: pointer;
    position: relative;
    user-select: none;
    white-space: nowrap;
}

.sortable-table th.sortable-column::after {
    color: rgba(181, 196, 216, 0.56);
    content: "";
    display: inline-block;
    font-size: 11px;
    margin-left: 7px;
}

.sortable-table th.sortable-column[data-sort-direction="asc"]::after {
    color: var(--accent-strong);
    content: "^";
}

.sortable-table th.sortable-column[data-sort-direction="desc"]::after {
    color: var(--accent-strong);
    content: "v";
}

.transactions-table td {
    background: rgba(17, 28, 47, 0.78);
    border-bottom: 1px solid var(--sidebar-border);
    border-top: 1px solid var(--sidebar-border);
    color: var(--text-main);
    padding: 16px 14px;
    vertical-align: middle;
}

.transactions-table td:first-child {
    border-left: 1px solid var(--sidebar-border);
    border-radius: 14px 0 0 14px;
}

.transactions-table td:last-child {
    border-right: 1px solid var(--sidebar-border);
    border-radius: 0 14px 14px 0;
}

.transactions-table td span {
    color: var(--text-muted);
    font-size: 13px;
}

.investments-page .transactions-table tbody tr.transaction-row-pending td,
.withdrawals-page .transactions-table tbody tr.transaction-row-pending td {
    background: rgba(245, 158, 11, 0.18);
    border-color: rgba(245, 158, 11, 0.42);
}

.investments-page .transactions-table tbody tr.transaction-row-approved td,
.withdrawals-page .transactions-table tbody tr.transaction-row-approved td {
    background: rgba(34, 197, 94, 0.18);
    border-color: rgba(34, 197, 94, 0.42);
}

.withdrawals-page .transactions-table tbody tr.transaction-row-assigned td {
    background: rgba(59, 130, 246, 0.18);
    border-color: rgba(59, 130, 246, 0.42);
}

.withdrawals-page .transactions-table tbody tr.transaction-row-partial-paid td {
    background: rgba(14, 165, 233, 0.20);
    border-color: rgba(56, 189, 248, 0.50);
}

.deposit-receipt-review-page .transactions-table tbody tr.deposit-receipt-row-approved td {
    background: rgba(34, 197, 94, 0.18);
    border-color: rgba(34, 197, 94, 0.42);
}

.deposit-receipt-review-page .transactions-table tbody tr.deposit-receipt-row-pending td {
    background: rgba(245, 158, 11, 0.18);
    border-color: rgba(245, 158, 11, 0.42);
}

.deposit-receipt-review-page .transactions-table tbody tr.deposit-receipt-row-department td {
    background: rgba(59, 130, 246, 0.18);
    border-color: rgba(59, 130, 246, 0.42);
}

.investments-page .transactions-table tbody tr.transaction-row-failed td,
.withdrawals-page .transactions-table tbody tr.transaction-row-failed td {
    background: rgba(239, 68, 68, 0.18);
    border-color: rgba(239, 68, 68, 0.42);
}

.investments-page .transactions-table tbody tr.transaction-row-pending:hover td,
.withdrawals-page .transactions-table tbody tr.transaction-row-pending:hover td {
    background: rgba(245, 158, 11, 0.24);
}

.investments-page .transactions-table tbody tr.transaction-row-approved:hover td,
.withdrawals-page .transactions-table tbody tr.transaction-row-approved:hover td {
    background: rgba(34, 197, 94, 0.24);
}

.withdrawals-page .transactions-table tbody tr.transaction-row-assigned:hover td {
    background: rgba(59, 130, 246, 0.24);
}

.withdrawals-page .transactions-table tbody tr.transaction-row-partial-paid:hover td {
    background: rgba(14, 165, 233, 0.28);
}

.investments-page .transactions-table tbody tr.transaction-row-failed:hover td,
.withdrawals-page .transactions-table tbody tr.transaction-row-failed:hover td {
    background: rgba(239, 68, 68, 0.24);
}

.status-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    padding: 7px 10px;
}

.status-pending {
    background: rgba(245, 203, 92, 0.14);
    color: #f5cb5c;
}

.status-processing {
    background: rgba(127, 179, 213, 0.14);
    color: var(--accent-strong);
}

.status-assigned {
    background: rgba(127, 179, 213, 0.14);
    color: var(--accent-strong);
}

.status-partial-paid {
    background: rgba(56, 189, 248, 0.16);
    color: #7dd3fc;
}

.status-approved {
    background: rgba(61, 220, 151, 0.14);
    color: #3ddc97;
}

.status-failed,
.status-expired {
    background: rgba(255, 99, 99, 0.14);
    color: #ff6363;
}

.status-cancelled {
    background: rgba(181, 196, 216, 0.14);
    color: var(--text-muted);
}

.status-active {
    background: rgba(34, 197, 94, 0.16);
    color: #86efac;
}

.tpay-settings-guide {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 18px;
}

.izoto-adapter-card {
    margin: 0 0 18px;
    padding: 18px;
    border: 1px solid rgba(124, 158, 196, 0.28);
    border-radius: 8px;
    background: var(--content-surface);
}

.izoto-adapter-header,
.izoto-adapter-footer,
.izoto-adapter-option {
    display: flex;
    align-items: center;
}

.izoto-adapter-header,
.izoto-adapter-footer {
    justify-content: space-between;
    gap: 16px;
}

.izoto-adapter-header h2 {
    margin: 3px 0 0;
    font-size: 18px;
}

.izoto-adapter-active {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #86efac;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.izoto-adapter-active span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.16);
}

.izoto-adapter-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0;
}

.izoto-adapter-option {
    position: relative;
    min-height: 76px;
    justify-content: space-between;
    gap: 14px;
    padding: 14px;
    border: 1px solid rgba(124, 158, 196, 0.28);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.035);
    cursor: pointer;
    transition: border-color .16s ease, background-color .16s ease;
}

.izoto-adapter-option:hover {
    border-color: var(--accent);
}

.izoto-adapter-option.is-unavailable {
    cursor: not-allowed;
    opacity: .66;
}

.izoto-adapter-option.is-unavailable:hover {
    border-color: rgba(124, 158, 196, 0.28);
}

.izoto-adapter-unavailable {
    flex: 0 0 auto;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.izoto-adapter-option.is-selected,
.izoto-adapter-option:has(input:checked) {
    border-color: var(--accent);
    background: rgba(127, 179, 213, 0.12);
}

.izoto-adapter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.izoto-adapter-option-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.izoto-adapter-option-copy strong {
    color: var(--text-main);
    font-size: 15px;
}

.izoto-adapter-option-copy small,
.izoto-adapter-footer span {
    color: var(--text-muted);
    font-size: 12px;
}

.izoto-adapter-radio {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 2px solid var(--text-muted);
    border-radius: 50%;
}

.izoto-adapter-option.is-selected .izoto-adapter-radio,
.izoto-adapter-option:has(input:checked) .izoto-adapter-radio {
    border-color: var(--accent);
    box-shadow: inset 0 0 0 4px var(--content-surface), inset 0 0 0 9px var(--accent);
}

.izoto-adapter-footer {
    padding-top: 14px;
    border-top: 1px solid rgba(124, 158, 196, 0.28);
}

@media (max-width: 640px) {
    .izoto-adapter-header,
    .izoto-adapter-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .izoto-adapter-options {
        grid-template-columns: 1fr;
    }

    .izoto-adapter-footer .primary-action {
        width: 100%;
    }
}

.tpay-settings-guide article {
    display: grid;
    gap: 6px;
    min-height: 104px;
    padding: 16px;
    border: 1px solid rgba(124, 158, 196, 0.24);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
    box-sizing: border-box;
}

.tpay-settings-guide strong,
.tpay-settings-card h2 {
    color: var(--text-main);
}

.tpay-settings-guide span,
.tpay-settings-card small,
.tpay-settings-card-footer span {
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.45;
}

.tpay-settings-list {
    display: grid;
    gap: 12px;
}

.tpay-settings-card {
    display: grid;
    gap: 18px;
    padding: 20px;
    border: 1px solid rgba(124, 158, 196, 0.28);
    border-radius: 8px;
    background: var(--content-surface);
}

.tpay-settings-card-header,
.tpay-settings-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.tpay-settings-card-statuses {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px;
}

.tpay-settings-toast {
    position: fixed;
    top: 22px;
    right: 22px;
    z-index: 80;
    max-width: min(360px, calc(100vw - 44px));
    padding: 13px 16px;
    border: 1px solid rgba(34, 197, 94, 0.7);
    border-radius: 8px;
    background: #123b29;
    box-shadow: 0 18px 46px rgba(5, 12, 24, 0.35);
    color: #dcfce7;
    font-size: 14px;
    font-weight: 800;
    animation: tpay-settings-toast-dismiss 5s ease forwards;
}

@keyframes tpay-settings-toast-dismiss {
    0%, 78% { opacity: 1; transform: translateY(0); }
    100% { opacity: 0; transform: translateY(-8px); visibility: hidden; }
}

.tpay-settings-card-header h2 {
    margin: 3px 0 0;
    font-size: 19px;
}

.tpay-settings-switches {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.tpay-setting-toggle {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-height: 84px;
    padding: 13px;
    border: 1px solid rgba(124, 158, 196, 0.25);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    cursor: pointer;
    box-sizing: border-box;
}

.tpay-setting-toggle input {
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: var(--accent);
}

.tpay-setting-toggle span {
    display: grid;
    gap: 5px;
}

.tpay-setting-toggle strong {
    color: var(--text-main);
    font-size: 13px;
}

.tpay-settings-values {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.tpay-settings-values label {
    display: grid;
    gap: 7px;
}

.tpay-settings-values label > span {
    color: var(--text-main);
    font-size: 13px;
    font-weight: 800;
}

.tpay-settings-values input {
    width: 100%;
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid var(--sidebar-border);
    border-radius: 6px;
    background: var(--content-bg);
    color: var(--text-main);
    font: inherit;
    box-sizing: border-box;
}

.tpay-settings-card-footer {
    padding-top: 16px;
    border-top: 1px solid rgba(124, 158, 196, 0.18);
}

@media (max-width: 980px) {
    .tpay-settings-guide,
    .tpay-settings-switches,
    .tpay-settings-values {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .tpay-settings-guide,
    .tpay-settings-switches,
    .tpay-settings-values {
        grid-template-columns: 1fr;
    }

    .tpay-settings-card-header,
    .tpay-settings-card-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .tpay-settings-card-statuses {
        justify-content: flex-start;
    }
}

.tpay-incoming-table tbody tr.transaction-row-pending td {
    background: rgba(245, 158, 11, 0.12);
}

.tpay-incoming-table tbody tr.transaction-row-approved td {
    background: rgba(34, 197, 94, 0.12);
}

.tpay-incoming-table tbody tr.transaction-row-failed td {
    background: rgba(239, 68, 68, 0.12);
}

.tpay-incoming-table tbody tr.transaction-row-cancelled td {
    background: rgba(148, 163, 184, 0.1);
}

.tpay-incoming-table tbody tr.is-review-expired td {
    background: rgba(239, 68, 68, 0.18);
}

.tpay-review-actions {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 5px;
    min-width: 132px;
}

.tpay-review-actions form {
    margin: 0;
}

.tpay-review-actions .secondary-action,
.tpay-review-actions .danger-action {
    min-height: 29px;
    border-radius: 6px;
    padding: 0 8px;
    font-size: 12px;
}

.tpay-review-button {
    background: rgba(245, 158, 11, 0.2);
    border-color: rgba(245, 158, 11, 0.64);
    color: #fcd34d;
}

.tpay-review-button:hover {
    background: rgba(245, 158, 11, 0.32);
    border-color: #fbbf24;
    color: #fef3c7;
}

.tpay-deposit-review-panel {
    width: min(1120px, 100%);
}

.tpay-candidate-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
}

.tpay-candidate-list legend {
    color: var(--accent-strong);
    font-weight: 900;
    padding: 0 8px;
}

.tpay-candidate-option {
    display: block;
    cursor: pointer;
}

.tpay-candidate-option > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tpay-candidate-details {
    display: grid;
    grid-template-columns: minmax(140px, .85fr) minmax(220px, 1.5fr) minmax(160px, 1fr) minmax(130px, .8fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 62px;
    padding: 12px 14px;
    border: 1px solid rgba(124, 158, 196, 0.3);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-main);
    box-sizing: border-box;
}

.tpay-candidate-option:hover .tpay-candidate-details {
    border-color: rgba(245, 158, 11, 0.6);
}

.tpay-candidate-option > input:checked + .tpay-candidate-details {
    border-color: #fbbf24;
    background: rgba(245, 158, 11, 0.28);
}

.tpay-candidate-amount {
    color: var(--text-main);
    font-size: 18px;
}

.tpay-candidate-details > span:not(.status-pill) {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.tpay-candidate-details b {
    color: var(--text-muted);
    font-size: 11px;
    text-transform: uppercase;
}

.tpay-candidate-details i {
    justify-self: start;
    font-style: normal;
}

.tpay-candidate-score {
    align-self: end;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.tpay-force-match-panel {
    display: grid;
    gap: 12px;
    margin-top: 14px;
    padding: 13px;
    border: 1px solid rgba(239, 68, 68, 0.42);
    border-radius: 8px;
    background: rgba(127, 29, 29, 0.12);
}

.tpay-force-match-panel summary {
    cursor: pointer;
    color: #fca5a5;
    font-weight: 800;
}

.tpay-force-match-panel > p {
    margin: 0;
    color: var(--text-muted);
}

.tpay-candidate-option-unsafe .tpay-candidate-details {
    border-color: rgba(239, 68, 68, 0.32);
}

.tpay-candidate-option-unsafe > input:checked + .tpay-candidate-details {
    border-color: #f87171;
    background: rgba(239, 68, 68, 0.18);
}

.tpay-deposit-review-form .tpay-candidate-list {
    grid-template-columns: minmax(0, 1fr);
}

.tpay-deposit-review-form .tpay-candidate-option {
    display: block;
    grid-column: auto;
}

.tpay-deposit-review-form .tpay-candidate-details {
    grid-template-columns: minmax(150px, 1.25fr) minmax(130px, 1fr) minmax(120px, 1fr) minmax(112px, .85fr);
    align-items: start;
    gap: 10px 14px;
    min-height: 0;
    padding: 13px 14px;
}

.tpay-deposit-review-form .tpay-candidate-details > span {
    min-width: 0;
}

.tpay-deposit-review-form .tpay-candidate-details strong,
.tpay-deposit-review-form .tpay-candidate-details i {
    overflow-wrap: anywhere;
}

.tpay-deposit-review-form .tpay-candidate-details i {
    color: var(--text-muted);
    font-size: 11px;
}

.tpay-deposit-review-form .tpay-candidate-amount {
    color: var(--text-main);
    font-size: 14px;
}

.tpay-deposit-review-form .tpay-candidate-footer,
.tpay-deposit-review-form .tpay-candidate-score,
.tpay-deposit-review-form .tpay-candidate-warning {
    grid-column: 1 / -1;
}

.tpay-deposit-review-form .tpay-candidate-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.tpay-deposit-review-form .tpay-candidate-footer small {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 700;
}

.tpay-deposit-review-form .tpay-candidate-score,
.tpay-deposit-review-form .tpay-candidate-warning {
    align-self: auto;
    white-space: normal;
}

@media (max-width: 760px) {
    .tpay-deposit-review-form .tpay-candidate-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.receipt-candidate-control {
    display: grid;
    gap: 9px;
}

.receipt-candidate-control > .secondary-action {
    justify-self: start;
}

.site-modal-form .receipt-candidate-list {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr);
}

.receipt-candidate-list .tpay-candidate-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
}

.receipt-candidate-list .tpay-candidate-details > span {
    overflow-wrap: anywhere;
}

.receipt-candidate-list .tpay-candidate-amount {
    font-size: 14px;
}

.receipt-candidate-list .status-pill {
    justify-self: start;
}

.receipt-candidate-list .tpay-candidate-score {
    grid-column: 1 / -1;
    align-self: auto;
}

/* Receipt matching uses compact horizontal rows; the colour communicates the deposit state at a glance. */
.receipt-candidate-list .receipt-candidate-option {
    display: block;
    width: 100%;
    min-width: 0;
    grid-column: 1;
}

.receipt-candidate-list .tpay-candidate-details {
    grid-template-columns: minmax(0, 1.3fr) minmax(132px, 1fr) minmax(96px, 0.72fr) minmax(126px, 0.9fr);
    gap: 10px 14px;
    min-height: 0;
    padding: 11px 13px;
    width: 100%;
    box-sizing: border-box;
}

.receipt-candidate-list .tpay-candidate-details > span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.receipt-candidate-list .tpay-candidate-details strong {
    font-size: 13px;
    overflow-wrap: anywhere;
}

.receipt-candidate-list .tpay-candidate-amount {
    font-size: 13px;
}

.receipt-candidate-list .tpay-candidate-amount i {
    color: var(--text-muted);
    font-size: 11px;
}

.receipt-candidate-list .receipt-candidate-status-pending .tpay-candidate-details {
    border-color: rgba(245, 158, 11, 0.78);
    background: rgba(245, 158, 11, 0.18);
}

.receipt-candidate-list .receipt-candidate-status-approved .tpay-candidate-details {
    border-color: rgba(34, 197, 94, 0.76);
    background: rgba(34, 197, 94, 0.16);
}

.receipt-candidate-list .receipt-candidate-status-rejected .tpay-candidate-details {
    border-color: rgba(239, 68, 68, 0.8);
    background: rgba(239, 68, 68, 0.16);
}

.receipt-candidate-list .receipt-candidate-option.is-selected .tpay-candidate-details {
    border-color: var(--accent-strong);
    box-shadow: 0 0 0 2px rgba(125, 211, 252, 0.22);
}

@media (max-width: 760px) {
    .receipt-candidate-list .tpay-candidate-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .receipt-candidate-list .tpay-candidate-details {
        grid-template-columns: minmax(0, 1fr);
    }
}

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

    .tpay-candidate-score {
        grid-column: 2;
        justify-self: end;
    }
}

.tpay-incoming-amount span,
.tpay-incoming-amount strong {
    display: block;
}

.tpay-incoming-amount span {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.tpay-incoming-amount strong {
    color: var(--text-main);
    font-size: 17px;
    font-weight: 900;
}

.tpay-review-countdown {
    display: block;
    margin-top: 6px;
    color: #fbbf24;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.tpay-review-countdown.is-expired {
    color: #fb7185;
}

.status-passive {
    background: rgba(239, 68, 68, 0.16);
    color: #fca5a5;
}

.status-suspended {
    background: rgba(245, 158, 11, 0.16);
    color: #fbbf24;
}

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

@media (max-width: 700px) {
    .filter-grid,
    .date-inputs {
        grid-template-columns: 1fr;
    }

    .filter-field-wide,
    .date-range-field {
        grid-column: span 1;
    }

    .filter-actions,
    .transactions-list-header {
        align-items: stretch;
        flex-direction: column;
    }
}

.deliveries-page {
    width: 100%;
}

.deliveries-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.deliveries-header h1 {
    margin: 0 0 8px;
    color: var(--accent-strong);
    font-size: 34px;
}

.deliveries-header p {
    margin: 0;
    color: var(--text-muted);
}

.deliveries-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.delivery-action {
    min-height: 44px;
    border: 0;
    border-radius: 14px;
    color: white;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    padding: 0 18px;
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24);
}

.cash-action {
    background: #3f3f3f;
}

.crypto-action {
    background: #555555;
}

.delivery-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.delivery-summary-card {
    min-height: 130px;
    padding: 22px;
    border: 1px solid var(--sidebar-border);
    border-radius: 18px;
    background: linear-gradient(145deg, var(--content-surface), #242424);
    box-shadow: 0 18px 40px rgba(5, 12, 24, 0.26);
    box-sizing: border-box;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.delivery-summary-card span {
    color: var(--text-muted);
    font-size: 16px;
    font-weight: 800;
}

.delivery-summary-card strong {
    color: var(--accent-strong);
    font-size: 30px;
    line-height: 1;
}

.delivery-listing {
    padding: 24px;
    border: 1px solid var(--sidebar-border);
    border-radius: 20px;
    background: var(--content-surface);
    box-shadow: 0 18px 42px rgba(5, 12, 24, 0.26);
    box-sizing: border-box;
}

.delivery-listing-header h2 {
    margin: 0 0 18px;
    color: var(--accent-strong);
    font-size: 24px;
}

.delivery-type-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}

.delivery-tab {
    border: 1px solid var(--sidebar-border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-muted);
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    padding: 10px 16px;
}

.delivery-tab.active,
.delivery-tab:hover {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-text);
}

.delivery-filter-row {
    display: grid;
    grid-template-columns: 2fr repeat(4, minmax(150px, 1fr)) repeat(2, minmax(140px, 1fr)) auto auto;
    gap: 12px;
    margin-bottom: 20px;
    align-items: center;
}

.delivery-filter-row input,
.delivery-filter-row select,
.delivery-filter-row button {
    min-height: 44px;
    width: 100%;
    font: inherit;
    box-sizing: border-box;
}

.delivery-filter-row input,
.delivery-filter-row select {
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    padding: 0 12px;
}

.delivery-crypto-fields[hidden] {
    display: none;
}

.delivery-table-wrap {
    overflow-x: auto;
}

.delivery-table {
    width: 100%;
    min-width: 1080px;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.delivery-table th {
    color: var(--text-muted);
    font-size: 13px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0 14px 6px;
}

.delivery-table td {
    background: rgba(17, 28, 47, 0.78);
    border-bottom: 1px solid var(--sidebar-border);
    border-top: 1px solid var(--sidebar-border);
    color: var(--text-main);
    padding: 16px 14px;
    vertical-align: middle;
}

.delivery-table td:first-child {
    border-left: 1px solid var(--sidebar-border);
    border-radius: 14px 0 0 14px;
}

.delivery-table td:last-child {
    border-right: 1px solid var(--sidebar-border);
    border-radius: 0 14px 14px 0;
}

.delivery-table td span:not(.status-pill):not(.type-pill) {
    color: var(--text-muted);
    font-size: 13px;
}

.type-pill {
    display: inline-flex;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    padding: 7px 10px;
}

.crypto-type {
    background: rgba(142, 68, 236, 0.16);
    color: #c6a2ff;
}

.cash-type {
    background: rgba(47, 128, 237, 0.16);
    color: #d0d0d0;
}

.row-actions {
    white-space: nowrap;
}

td.row-actions {
    display: table-cell;
}

.row-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--sidebar-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-muted);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    padding: 8px 10px;
    white-space: nowrap;
}

.row-actions button + button {
    margin-left: 8px;
}

.row-actions button:hover {
    background: var(--accent);
    color: var(--accent-text);
}

.row-actions .danger-row-action:hover {
    background: #ff6363;
    border-color: #ff6363;
    color: white;
}

.row-actions .warning-row-action:hover {
    background: #f59e0b;
    border-color: #f59e0b;
    color: #111827;
}

.inline-status-form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.inline-status-form select {
    border: 1px solid var(--sidebar-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-main);
    font: inherit;
    font-size: 13px;
    padding: 8px 10px;
}

@media (max-width: 1250px) {
    .delivery-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .delivery-filter-row {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 700px) {
    .deliveries-header,
    .deliveries-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .delivery-summary-grid,
    .delivery-filter-row {
        grid-template-columns: 1fr;
    }
}

.sites-page {
    width: 100%;
}

.departments-page {
    width: 100%;
}

.sites-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.sites-header h1 {
    margin: 0;
    color: var(--accent-strong);
    font-size: 34px;
}

.sites-filter-panel,
.sites-listing {
    padding: 24px;
    border: 1px solid var(--sidebar-border);
    border-radius: 20px;
    background: var(--content-surface);
    box-shadow: 0 18px 42px rgba(5, 12, 24, 0.26);
    box-sizing: border-box;
}

.sites-filter-panel {
    margin-bottom: 24px;
}

.performance-panel {
    padding: 24px;
    border: 1px solid var(--sidebar-border);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(125, 211, 252, 0.13), transparent 34%),
        var(--content-surface);
    box-shadow: 0 18px 42px rgba(5, 12, 24, 0.26);
    box-sizing: border-box;
    margin-bottom: 24px;
}

.performance-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.performance-header h2 {
    margin: 0;
    color: var(--accent-strong);
    font-size: 24px;
}

.performance-header > span {
    border: 1px solid rgba(125, 211, 252, 0.28);
    border-radius: 999px;
    color: var(--accent-strong);
    font-size: 13px;
    font-weight: 900;
    padding: 8px 12px;
    white-space: nowrap;
}

.performance-filter-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr)) repeat(2, minmax(140px, 0.8fr)) auto;
    gap: 12px;
    margin-bottom: 20px;
}

.performance-filter-row select,
.performance-filter-row input {
    min-height: 42px;
    width: 100%;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    font: inherit;
    padding: 0 12px;
    box-sizing: border-box;
}

.performance-filter-row button {
    min-height: 42px;
    white-space: nowrap;
}

.performance-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.performance-card {
    padding: 18px;
    border: 1px solid rgba(125, 211, 252, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.045);
}

.performance-card span,
.performance-card small {
    display: block;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 800;
}

.performance-card strong {
    display: block;
    margin: 8px 0;
    color: var(--text-main);
    font-size: 24px;
}

.performance-bars {
    display: grid;
    gap: 12px;
}

.performance-bar-row {
    display: grid;
    grid-template-columns: 140px 1fr 110px;
    align-items: center;
    gap: 14px;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 900;
}

.performance-bar-row div {
    height: 12px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
}

.performance-bar-row i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #3ddc97, #d8d8d8);
    box-shadow: 0 0 18px rgba(125, 211, 252, 0.28);
}

.performance-bar-row strong {
    color: var(--text-main);
    text-align: right;
}

.sites-filter-grid {
    display: grid;
    grid-template-columns: 2fr repeat(4, minmax(170px, 1fr));
    gap: 14px;
    align-items: center;
}

.sites-filter-grid input[type="search"],
.sites-filter-grid select {
    min-height: 44px;
    width: 100%;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    font: inherit;
    padding: 0 12px;
    box-sizing: border-box;
}

.checkbox-filter {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-muted);
    font-weight: 800;
    padding: 0 12px;
    box-sizing: border-box;
    white-space: nowrap;
}

.checkbox-filter input {
    accent-color: var(--accent);
}

.sites-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.sites-list-header h2 {
    margin: 0;
    color: var(--accent-strong);
    font-size: 24px;
}

.sites-list-header span {
    color: var(--text-muted);
    font-weight: 800;
}

.sites-table-wrap {
    overflow-x: auto;
}

.sites-table {
    width: 100%;
    min-width: 1040px;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.sites-table th {
    color: var(--text-muted);
    font-size: 13px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0 14px 6px;
}

.sites-table td {
    background: rgba(17, 28, 47, 0.78);
    border-bottom: 1px solid var(--sidebar-border);
    border-top: 1px solid var(--sidebar-border);
    color: var(--text-main);
    padding: 16px 14px;
    vertical-align: middle;
}

.sites-table td:first-child {
    border-left: 1px solid var(--sidebar-border);
    border-radius: 14px 0 0 14px;
}

.sites-table td:last-child {
    border-right: 1px solid var(--sidebar-border);
    border-radius: 0 14px 14px 0;
}

.site-identity-cell strong,
.site-identity-cell span {
    display: block;
}

.site-identity-cell strong {
    font-size: 15px;
}

.site-identity-cell span {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
    margin-top: 4px;
}

.site-metric-stack {
    min-width: 170px;
}

.sites-table .site-active-iban-column,
.sites-table .site-active-iban-cell {
    width: 76px;
}

.sites-table .site-active-iban-cell {
    color: var(--success);
    font-size: 16px;
    font-weight: 800;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
}

.sites-table .site-limit-column,
.sites-table .site-limit-stack {
    min-width: 128px;
    width: 128px;
}

.sites-table .site-limit-stack {
    padding-left: 10px;
    padding-right: 10px;
}

.site-limit-stack .site-metric-line {
    gap: 8px;
}

/* Keep the site overview dense without changing shared management tables. */
.site-management-table {
    min-width: 920px;
    border-spacing: 0 6px;
}

.site-management-table th {
    font-size: 12px;
    padding: 0 8px 4px;
}

.site-management-table td {
    padding: 10px 8px;
}

.site-management-table td:first-child {
    border-radius: 10px 0 0 10px;
}

.site-management-table td:last-child {
    border-radius: 0 10px 10px 0;
}

.site-management-table .site-identity-cell {
    min-width: 116px;
}

.site-management-table .site-identity-cell strong {
    font-size: 15px;
}

.site-management-table .site-identity-cell span {
    font-size: 12px;
    margin-top: 2px;
}

.site-management-table .site-metric-stack {
    min-width: 146px;
}

.site-management-table .site-limit-stack {
    min-width: 118px;
    width: 118px;
}

.site-management-table .site-metric-line {
    font-size: 12px;
    gap: 8px;
}

.site-management-table .site-metric-line + .site-metric-line {
    margin-top: 4px;
}

.site-management-table .site-metric-line b,
.site-management-table .site-metric-line small {
    font-size: 11px;
}

.site-management-table .site-metric-line strong {
    font-size: 13px;
}

.site-management-table .site-status-toggle {
    font-size: 12px;
    gap: 6px;
    min-width: 82px;
    padding: 4px 8px 4px 4px;
}

.site-management-table .site-status-toggle-icon {
    font-size: 13px;
    height: 20px;
    width: 20px;
}

.site-management-table .row-actions button {
    font-size: 13px;
    padding: 6px 8px;
}

.site-metric-line {
    align-items: center;
    display: flex;
    font-size: 12px;
    gap: 12px;
    justify-content: space-between;
    line-height: 1.35;
    white-space: nowrap;
}

.site-metric-line + .site-metric-line {
    margin-top: 7px;
}

.site-metric-line b {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
}

.site-metric-line strong {
    font-size: 13px;
    font-weight: 800;
}

.site-metric-line small {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
}

.site-metric-deposit strong {
    color: var(--success);
}

.site-metric-withdrawal strong {
    color: #fb7185;
}

.site-metric-commission strong {
    color: #c8c8c8;
}

.site-metric-cash strong {
    color: #f8fafc;
}

.site-metric-contour strong {
    color: #c4b5fd;
}

.site-metric-collateral strong {
    color: #fbbf24;
}

.sites-table .site-row-retired td {
    background: rgba(148, 163, 184, 0.08);
    color: rgba(226, 232, 240, 0.62);
}

.sites-table .site-row-retired button {
    filter: grayscale(1);
    opacity: 0.72;
}

.sites-table .site-row-retired button:disabled {
    cursor: not-allowed;
    transform: none;
}

.sites-table .site-row-retired .site-status-toggle {
    background: rgba(148, 163, 184, 0.14);
    border-color: rgba(148, 163, 184, 0.34);
    color: #cbd5e1;
}

.site-retired-badge {
    display: inline-flex;
    margin: 4px 0 0;
    padding: 3px 7px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.14);
    color: #cbd5e1;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.bank-accounts-table .bank-account-row-retired td {
    background: rgba(148, 163, 184, 0.08);
    color: rgba(226, 232, 240, 0.62);
}

.bank-accounts-table .bank-account-row-retired .site-status-toggle {
    background: rgba(148, 163, 184, 0.14);
    border-color: rgba(148, 163, 184, 0.34);
    color: #cbd5e1;
    cursor: not-allowed;
}

.bank-accounts-table .bank-account-row-retired .secondary-action {
    filter: grayscale(1);
    opacity: 0.82;
}

.empty-table-cell {
    color: var(--text-muted);
    font-weight: 600;
    padding: 34px 18px;
    text-align: center;
}

@media (max-width: 1250px) {
    .sites-filter-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

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

    .performance-filter-row {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 700px) {
    .sites-filter-grid,
    .sites-list-header {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .sites-list-header {
        flex-direction: column;
    }

    .performance-header {
        flex-direction: column;
    }

    .performance-card-grid,
    .performance-filter-row,
    .performance-bar-row {
        grid-template-columns: 1fr;
    }

    .performance-bar-row strong {
        text-align: left;
    }
}

.investments-page {
    --transaction-accent: #3ddc97;
    --transaction-accent-rgb: 61, 220, 151;
    --transaction-accent-text: #071f16;
}

.withdrawals-page {
    --transaction-accent: #ff6363;
    --transaction-accent-rgb: 255, 99, 99;
    --transaction-accent-text: #260707;
}

.investments-page .transactions-header h1,
.withdrawals-page .transactions-header h1,
.investments-page .transactions-list-header h2,
.withdrawals-page .transactions-list-header h2 {
    color: var(--transaction-accent);
}

.investments-page .transaction-filter-panel,
.withdrawals-page .transaction-filter-panel,
.investments-page .transactions-list,
.withdrawals-page .transactions-list {
    border-color: rgba(var(--transaction-accent-rgb), 0.28);
    box-shadow:
        0 18px 42px rgba(5, 12, 24, 0.26),
        10px 10px 0 rgba(var(--transaction-accent-rgb), 0.2);
}

.investments-page .transaction-filter-panel,
.investments-page .transactions-list {
    background:
        radial-gradient(circle at top right, rgba(61, 220, 151, 0.1), transparent 32%),
        var(--content-surface);
}

.withdrawals-page .transaction-filter-panel,
.withdrawals-page .transactions-list {
    background:
        radial-gradient(circle at top right, rgba(255, 99, 99, 0.1), transparent 32%),
        var(--content-surface);
}

/* N-Pay is an operational workspace. Keep shared surfaces quiet and reserve
   semantic colours for the individual transaction rows. */
.izoto-workspace-npay .top-header {
    background: var(--content-bg);
    box-shadow: none;
}

.npay-withdrawals-page,
.npay-requests-page {
    --transaction-accent: #7fb3d5;
    --transaction-accent-rgb: 127, 179, 213;
    --transaction-accent-text: #07131f;
}

.npay-withdrawals-page .transactions-header,
.npay-requests-page .transactions-header {
    margin-bottom: 18px;
}

.npay-withdrawals-page .transactions-header h1,
.npay-requests-page .transactions-header h1 {
    color: var(--text-main);
}

.npay-withdrawals-page .withdrawal-details,
.npay-requests-page .investment-details {
    margin-bottom: 16px;
    padding: 0;
    border: 0;
    background: transparent;
}

.npay-withdrawals-page .detail-card-grid,
.npay-requests-page .detail-card-grid {
    gap: 10px;
}

.npay-withdrawals-page .detail-card,
.npay-requests-page .detail-card {
    min-height: 62px;
    border-color: var(--sidebar-border);
    border-left-width: 3px;
    background: var(--content-surface);
    box-shadow: none;
}

.npay-withdrawals-page .detail-card-pending,
.npay-requests-page .detail-card-pending {
    border-left-color: #f5cb5c;
}

.npay-withdrawals-page .detail-card-processing,
.npay-requests-page .detail-card-processing {
    border-left-color: #7fb3d5;
}

.npay-withdrawals-page .detail-card-approved,
.npay-requests-page .detail-card-approved {
    border-left-color: #3ddc97;
}

.npay-withdrawals-page .detail-card-failed,
.npay-requests-page .detail-card-failed {
    border-left-color: #ff6363;
}

.npay-withdrawals-page .transaction-filter-panel,
.npay-withdrawals-page .transactions-list,
.npay-requests-page .transaction-filter-panel,
.npay-requests-page .transactions-list {
    padding: 18px 20px;
    border-color: var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-surface);
    box-shadow: none;
}

.npay-withdrawals-page .transaction-filter-panel,
.npay-requests-page .transaction-filter-panel {
    margin-bottom: 16px;
}

.investments-page .primary-action,
.withdrawals-page .primary-action {
    background: var(--transaction-accent);
    border-color: var(--transaction-accent);
    color: var(--transaction-accent-text);
}

.investments-page .filter-field input:focus,
.investments-page .filter-field select:focus,
.withdrawals-page .filter-field input:focus,
.withdrawals-page .filter-field select:focus {
    border-color: var(--transaction-accent);
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--transaction-accent-rgb), 0.18);
}

.investments-page .transactions-table td:first-child,
.withdrawals-page .transactions-table td:first-child {
    border-left-color: rgba(var(--transaction-accent-rgb), 0.6);
}

.today-summary-hero {
    background:
        radial-gradient(circle at top right, rgba(125, 211, 252, 0.58), transparent 38%),
        radial-gradient(circle at bottom left, rgba(56, 189, 248, 0.28), transparent 34%),
        linear-gradient(145deg, #464646, #353535 48%, #282828);
}


.payment-page {
    min-height: calc(100vh - 60px);
    display: grid;
    place-items: center;
    padding: 24px;
    box-sizing: border-box;
}

.payment-card {
    width: min(560px, 100%);
    padding: 30px;
    border: 1px solid rgba(125, 211, 252, 0.28);
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(125, 211, 252, 0.2), transparent 34%),
        linear-gradient(145deg, #222222, #141414);
    box-shadow: 0 28px 70px rgba(5, 12, 24, 0.36);
    box-sizing: border-box;
}

.payment-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 26px;
}

.payment-logo {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(127, 179, 213, 0.14);
}

.payment-logo svg {
    width: 34px;
    height: 34px;
    stroke: var(--accent-strong);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

.payment-brand {
    color: var(--accent);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.14em;
}

.payment-header h1 {
    margin: 4px 0 0;
    color: var(--accent-strong);
    font-size: 30px;
}

.payment-bank,
.payment-amount,
.payment-bank-details,
.payment-meta {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid var(--sidebar-border);
    border-radius: 18px;
    background: rgba(17, 28, 47, 0.72);
}

.payment-bank span,
.payment-amount span,
.payment-detail-row span,
.payment-meta span {
    display: block;
    margin-bottom: 6px;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.payment-bank strong,
.payment-detail-row strong,
.payment-meta strong {
    color: var(--text-main);
    font-size: 18px;
}

.payment-qr {
    display: grid;
    justify-items: center;
    gap: 12px;
    margin-top: 20px;
    color: var(--text-muted);
    font-weight: 800;
    text-align: center;
}

.qr-pattern {
    width: 180px;
    height: 180px;
    border: 12px solid white;
    border-radius: 18px;
    background-color: white;
    background-image:
        linear-gradient(90deg, #101010 12px, transparent 12px),
        linear-gradient(#101010 12px, transparent 12px),
        linear-gradient(90deg, transparent 24px, #101010 24px 36px, transparent 36px 60px, #101010 60px 72px, transparent 72px),
        linear-gradient(transparent 24px, #101010 24px 36px, transparent 36px 60px, #101010 60px 72px, transparent 72px);
    background-size: 48px 48px, 48px 48px, 84px 84px, 84px 84px;
    box-shadow: 0 18px 36px rgba(5, 12, 24, 0.26);
}

.payment-amount strong {
    display: block;
    color: #d8d8d8;
    font-size: 40px;
    line-height: 1;
}

.payment-amount p {
    margin: 10px 0 0;
    color: #f5cb5c;
    font-size: 14px;
    font-weight: 800;
}

.payment-bank-details {
    display: grid;
    gap: 14px;
}

.payment-warning {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid rgba(255, 99, 99, 0.44);
    border-radius: 16px;
    background: rgba(255, 99, 99, 0.12);
    color: #ffb4b4;
    font-size: 17px;
    font-weight: 900;
    text-align: center;
}

.payment-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.return-site-button {
    min-height: 48px;
    margin-top: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: var(--accent);
    color: var(--accent-text);
    font-size: 16px;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 620px) {
    .payment-card {
        padding: 22px;
    }

    .payment-meta {
        grid-template-columns: 1fr;
    }

    .payment-amount strong {
        font-size: 34px;
    }
}

.payment-body {
    min-height: 100vh;
    background: linear-gradient(135deg, var(--page-bg), #181818);
}

.login-body {
    min-height: 100vh;
    background:
        radial-gradient(circle at top right, rgba(125, 211, 252, 0.22), transparent 34%),
        linear-gradient(135deg, var(--page-bg), #181818);
}

.login-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    box-sizing: border-box;
}

.login-card {
    width: min(430px, 100%);
    padding: 32px;
    border: 1px solid rgba(125, 211, 252, 0.28);
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(125, 211, 252, 0.18), transparent 34%),
        linear-gradient(145deg, #222222, #141414);
    box-shadow: 0 28px 70px rgba(5, 12, 24, 0.36);
    box-sizing: border-box;
}

.login-logo {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(127, 179, 213, 0.14);
    margin-bottom: 18px;
}

.login-logo svg {
    width: 36px;
    height: 36px;
    stroke: var(--accent-strong);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

.login-brand {
    color: var(--accent);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.14em;
}

.login-card h1 {
    margin: 6px 0 8px;
    color: var(--accent-strong);
    font-size: 30px;
}

.login-card p,
.login-card small {
    color: var(--text-muted);
}

.login-card p {
    margin: 0 0 22px;
}

.login-card label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
    color: var(--text-muted);
    font-size: 14px;
    font-weight: 800;
}

.login-card input {
    min-height: 46px;
    border: 1px solid var(--sidebar-border);
    border-radius: 14px;
    background: var(--content-bg);
    color: var(--text-main);
    font: inherit;
    padding: 0 14px;
}

.login-card input:focus {
    border-color: var(--accent);
    outline: none;
    box-shadow: 0 0 0 3px rgba(127, 179, 213, 0.18);
}

.login-card button {
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: 16px;
    background: var(--accent);
    color: var(--accent-text);
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    margin: 6px 0 14px;
}

.login-secondary-link {
    color: var(--accent-strong);
    display: block;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.login-error {
    margin-bottom: 16px;
    padding: 12px;
    border: 1px solid rgba(255, 99, 99, 0.44);
    border-radius: 14px;
    background: rgba(255, 99, 99, 0.12);
    color: #ffb4b4;
    font-weight: 800;
}

.login-success {
    margin-bottom: 16px;
    padding: 12px;
    border: 1px solid rgba(61, 220, 151, 0.44);
    border-radius: 14px;
    background: rgba(61, 220, 151, 0.12);
    color: #86efac;
    font-weight: 800;
}


.main-area {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    background: var(--content-bg);
}

.top-header {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 30px;
    border-bottom: 1px solid var(--sidebar-border);
    background: rgba(17, 28, 47, 0.92);
    box-shadow: 0 10px 28px rgba(5, 12, 24, 0.18);
    box-sizing: border-box;
}

.top-header-left {
    align-items: center;
    display: flex;
    gap: 14px;
    min-width: 0;
}

.sidebar-toggle-button {
    align-items: center;
    background: rgba(127, 179, 213, 0.12);
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    color: var(--accent-strong);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 4px;
    height: 42px;
    justify-content: center;
    padding: 0;
    width: 42px;
}

.sidebar-toggle-button:hover {
    background: var(--accent);
    color: var(--accent-text);
}

.sidebar-toggle-button span {
    background: currentColor;
    border-radius: 999px;
    display: block;
    height: 2px;
    width: 18px;
}

.top-header-title,
.top-user-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.top-header-title span,
.top-user-details span {
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.top-header-title strong,
.top-user-details strong {
    color: var(--accent-strong);
    font-size: 18px;
}

.top-user-details .top-user-context {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    max-width: 260px;
    overflow-wrap: anywhere;
    text-align: right;
}

.top-user-area {
    display: flex;
    align-items: center;
    gap: 16px;
}

.top-pending-summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 auto;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.top-pending-title {
    color: var(--text-main);
    letter-spacing: 0;
}

.top-pending-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(245, 158, 11, 0.62);
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.2);
    color: #fed7aa;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.top-user-details {
    align-items: flex-end;
}

.top-logout-link {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    border: 1px solid rgba(255, 99, 99, 0.3);
    border-radius: 12px;
    background: rgba(255, 99, 99, 0.1);
    color: #ffb4b4;
    font-weight: 900;
    text-decoration: none;
}

.top-logout-link:hover {
    background: #ff6363;
    color: white;
}

.bank-account-block-modal-panel {
    width: min(1600px, calc(100vw - 48px));
    max-width: none;
    max-height: none;
    overflow: visible;
    padding: 20px;
}

.bank-account-block-modal-panel .site-modal-header {
    margin-bottom: 12px;
}

.bank-account-block-modal-panel .site-modal-header h2 {
    font-size: 22px;
}

.bank-account-block-modal-panel .site-modal-close {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 22px;
}

.bank-account-block-form {
    gap: 10px;
}

.bank-account-block-form label {
    gap: 5px;
    font-size: 12px;
}

.bank-account-block-form input,
.bank-account-block-form select,
.bank-account-block-form textarea {
    min-height: 38px;
    border-radius: 10px;
}

.bank-account-block-form textarea {
    min-height: 64px;
    resize: none;
}

.bank-account-block-hint {
    margin: 0;
    padding: 9px 11px;
    border: 1px solid rgba(251, 146, 60, 0.28);
    border-radius: 10px;
    background: rgba(251, 146, 60, 0.1);
    color: #fed7aa;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
}

.bank-account-block-form .site-modal-actions {
    margin-top: 2px;
    gap: 8px;
}

.bank-account-block-form .site-modal-actions button {
    min-height: 38px;
}

@media (max-width: 700px) {
    .bank-account-block-modal-panel {
        width: min(100%, calc(100vw - 24px));
        padding: 16px;
    }
    .top-header,
    .top-user-area {
        align-items: stretch;
        flex-direction: column;
    }

    .top-pending-summary {
        justify-content: flex-start;
        flex-wrap: wrap;
        margin: 0;
        white-space: normal;
    }

    .top-user-details {
        align-items: flex-start;
    }

    .top-header-left {
        align-items: center;
    }
}


.top-user-details time {
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 800;
}

.management-page {
    width: 100%;
}

.management-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.management-header h1 {
    margin: 0 0 8px;
    color: var(--accent-strong);
    font-size: 34px;
}

.management-header p {
    margin: 0;
    color: var(--text-muted);
}

.management-primary-action {
    min-height: 44px;
    border: 0;
    border-radius: 14px;
    background: var(--accent);
    color: var(--accent-text);
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    padding: 0 18px;
}

.management-filters,
.management-listing {
    padding: 24px;
    border: 1px solid var(--sidebar-border);
    border-radius: 20px;
    background: var(--content-surface);
    box-shadow: 0 18px 42px rgba(5, 12, 24, 0.26);
    box-sizing: border-box;
}

.management-filters {
    display: grid;
    grid-template-columns: 2fr repeat(2, minmax(180px, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

.management-filters input,
.management-filters select {
    min-height: 44px;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    font: inherit;
    padding: 0 12px;
}

.management-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.management-list-header h2 {
    margin: 0;
    color: var(--accent-strong);
    font-size: 24px;
}

.management-list-header span {
    color: var(--text-muted);
    font-weight: 800;
}

.management-table-wrap {
    overflow-x: auto;
}

.management-table {
    width: 100%;
    min-width: 980px;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.personnel-table {
    min-width: 1420px;
}

.users-table {
    min-width: 1120px;
}

.online-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    margin-right: 8px;
    vertical-align: middle;
}

.online-dot.online {
    background: #3ddc97;
    box-shadow: 0 0 14px rgba(61, 220, 151, 0.55);
}

.online-dot.idle {
    background: #f5cb5c;
    box-shadow: 0 0 14px rgba(245, 203, 92, 0.45);
}

.online-dot.offline {
    background: #ff6363;
    box-shadow: 0 0 14px rgba(255, 99, 99, 0.42);
}

.session-state {
    align-items: center;
    color: var(--text-main);
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    gap: 8px;
    white-space: nowrap;
}

.session-state-dot {
    border-radius: 999px;
    display: inline-block;
    height: 11px;
    width: 11px;
}

.session-state.is-active {
    color: #86efac;
}

.session-state.is-active .session-state-dot {
    background: #22c55e;
    box-shadow: 0 0 14px rgba(34, 197, 94, 0.52);
}

.session-state.is-passive {
    color: #fca5a5;
}

.session-state.is-passive .session-state-dot {
    background: #ef4444;
    box-shadow: 0 0 14px rgba(239, 68, 68, 0.44);
}

.session-state.is-suspended {
    color: #fbbf24;
}

.session-state.is-suspended .session-state-dot {
    background: #f59e0b;
    box-shadow: 0 0 14px rgba(245, 158, 11, 0.5);
}

.staff-coverage-panel {
    padding: 24px;
    border: 1px solid var(--sidebar-border);
    border-radius: 20px;
    background:
        radial-gradient(circle at top left, rgba(61, 220, 151, 0.11), transparent 32%),
        var(--content-surface);
    box-shadow: 0 18px 42px rgba(5, 12, 24, 0.26);
    box-sizing: border-box;
    margin-bottom: 24px;
}

.staff-live-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.staff-live-card {
    padding: 18px;
    border: 1px solid rgba(125, 211, 252, 0.18);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.045);
}

.staff-live-card span,
.staff-live-card small {
    display: block;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 800;
}

.staff-live-card strong {
    display: block;
    margin: 8px 0;
    color: var(--text-main);
    font-size: 22px;
}

.staff-live-card.is-online {
    border-color: rgba(61, 220, 151, 0.32);
    box-shadow: inset 0 0 0 1px rgba(61, 220, 151, 0.08);
}

.staff-live-card.is-warning {
    border-color: rgba(245, 203, 92, 0.35);
    box-shadow: inset 0 0 0 1px rgba(245, 203, 92, 0.08);
}

.shift-coverage-table {
    display: grid;
    gap: 10px;
}

.shift-coverage-row {
    display: grid;
    grid-template-columns: 150px 90px 110px 1fr 140px;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid var(--sidebar-border);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.045);
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 900;
}

.shift-coverage-head {
    background: transparent;
    border-color: transparent;
    padding-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.shift-coverage-row strong {
    color: var(--text-main);
}

.shift-bar {
    height: 12px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
}

.shift-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #3ddc97, #d8d8d8);
}

.shift-status {
    justify-self: start;
    border-radius: 999px;
    font-style: normal;
    padding: 7px 10px;
}

.shift-status.ok {
    background: rgba(61, 220, 151, 0.13);
    color: #3ddc97;
}

.shift-status.warning {
    background: rgba(245, 203, 92, 0.13);
    color: #f5cb5c;
}

.management-table th {
    color: var(--text-muted);
    font-size: 13px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0 14px 6px;
}

.management-table td {
    background: rgba(17, 28, 47, 0.78);
    border-bottom: 1px solid var(--sidebar-border);
    border-top: 1px solid var(--sidebar-border);
    color: var(--text-main);
    padding: 16px 14px;
    vertical-align: middle;
}

.management-table td:first-child {
    border-left: 1px solid var(--sidebar-border);
    border-radius: 14px 0 0 14px;
}

.management-table td:last-child {
    border-right: 1px solid var(--sidebar-border);
    border-radius: 0 14px 14px 0;
}

.management-table td span {
    color: var(--text-muted);
    font-size: 13px;
}

.commissioners-table {
    min-width: 1280px;
}

.commissioner-child-list {
    display: grid;
    gap: 8px;
}

.commissioner-child-list article {
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.045);
    padding: 10px 12px;
}

.commissioner-child-list strong,
.commissioner-child-list span {
    display: block;
}

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

.role-card {
    min-height: 170px;
    padding: 20px;
    border: 1px solid var(--sidebar-border);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(29, 45, 72, 0.92), rgba(17, 28, 47, 0.94));
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24);
    box-sizing: border-box;
}

.role-card h3 {
    margin: 0 0 10px;
    color: var(--accent-strong);
}

.role-card p {
    margin: 0 0 18px;
    color: var(--text-muted);
}

.role-card span {
    display: inline-flex;
    border-radius: 999px;
    background: rgba(127, 179, 213, 0.14);
    color: var(--accent-strong);
    font-size: 13px;
    font-weight: 900;
    padding: 7px 10px;
}

@media (max-width: 1000px) {
    .management-filters,
    .role-grid {
        grid-template-columns: 1fr;
    }

    .management-header,
    .management-list-header {
        align-items: stretch;
        flex-direction: column;
    }
}

.site-add-button {
    min-height: 44px;
    border: 0;
    border-radius: 14px;
    background: var(--accent);
    color: var(--accent-text);
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    padding: 0 18px;
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24);
}


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

.izoto-payment-notification {
    position: fixed;
    z-index: 10050;
    top: 20px;
    right: 20px;
    max-width: min(420px, calc(100vw - 40px));
    padding: 13px 16px;
    border: 1px solid #ef5b62;
    border-radius: 6px;
    background: #3a171b;
    color: #fff1f1;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .34);
    font-weight: 700;
    line-height: 1.4;
}

.department-add-button {
    min-height: 44px;
    border: 0;
    border-radius: 14px;
    background: #d8d8d8;
    color: #061625;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    padding: 0 18px;
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24);
    white-space: nowrap;
}

.bank-accounts-page {
    width: 100%;
}

.bank-accounts-header p {
    margin: 8px 0 0;
    color: var(--text-muted);
    font-weight: 700;
}

.bank-account-add-button,
.bank-add-button {
    min-height: 44px;
    border: 0;
    border-radius: 14px;
    background: #3ddc97;
    color: #071f16;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    padding: 0 18px;
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24);
    white-space: nowrap;
}

.bank-account-filter-grid {
    display: grid;
    grid-template-columns: 2fr repeat(4, minmax(170px, 1fr));
    gap: 14px;
    align-items: center;
}

.bank-account-filter-grid input,
.bank-account-filter-grid select {
    min-height: 44px;
    width: 100%;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    font: inherit;
    padding: 0 12px;
    box-sizing: border-box;
}

.bank-accounts-table {
    min-width: 1120px;
}

.bank-account-groups {
    display: grid;
    gap: 18px;
}

.bank-account-department-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(278px, 1fr));
    gap: 14px;
}

.bank-account-department-card {
    min-height: 238px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    width: 100%;
    padding: 18px;
    border: 1px solid rgba(125, 211, 252, 0.26);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(17, 28, 47, 0.94), rgba(8, 15, 28, 0.86));
    box-shadow: 0 12px 28px rgba(1, 8, 20, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    color: var(--text-main);
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.bank-account-department-card:hover,
.bank-account-department-card:focus-visible {
    border-color: rgba(125, 211, 252, 0.72);
    box-shadow: 0 18px 34px rgba(1, 8, 20, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.07);
    outline: none;
    transform: translateY(-2px);
}

.bank-account-department-card.is-department-active {
    border-color: rgba(34, 197, 94, 0.5);
    background: linear-gradient(180deg, rgba(12, 54, 38, 0.94), rgba(7, 28, 24, 0.9));
}

.bank-account-department-card.is-department-active:hover,
.bank-account-department-card.is-department-active:focus-visible {
    border-color: rgba(74, 222, 128, 0.82);
}

.bank-account-department-card.is-department-passive {
    border-color: rgba(248, 113, 113, 0.5);
    background: linear-gradient(180deg, rgba(72, 28, 35, 0.94), rgba(34, 15, 22, 0.9));
}

.bank-account-department-card.is-department-passive:hover,
.bank-account-department-card.is-department-passive:focus-visible {
    border-color: rgba(252, 165, 165, 0.82);
}

.bank-account-department-card-header,
.bank-account-department-statuses,
.bank-account-department-usage,
.bank-account-department-limits {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.bank-account-department-card-header strong {
    color: var(--accent-strong);
    font-size: 18px;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bank-account-department-card-header span,
.bank-account-department-statuses span,
.bank-account-department-limits small,
.bank-account-department-usage small {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.bank-account-department-statuses {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 7px;
}

.bank-account-department-statuses span {
    padding: 4px 7px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 4px;
}

.bank-account-department-statuses .is-active {
    border-color: rgba(34, 197, 94, 0.42);
    color: #86efac;
}

.bank-account-department-statuses .is-zero-active {
    border-color: rgba(248, 113, 113, 0.6);
    color: #fca5a5;
}

.bank-account-department-usage {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: end;
}

.bank-account-department-usage > span:first-child {
    display: grid;
    gap: 2px;
}

.bank-account-department-usage strong,
.bank-account-department-limits strong {
    color: var(--text-main);
    font-size: 15px;
    font-weight: 900;
}

.bank-account-department-usage .bank-account-usage-bar {
    align-self: end;
    margin-bottom: 4px;
}

.bank-account-department-usage > small {
    grid-column: 1 / -1;
    white-space: normal;
}

.bank-account-department-limits {
    align-items: end;
    padding-top: 10px;
    border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.bank-account-department-limits strong {
    text-align: right;
}

.bank-account-department-modal .site-modal-panel {
    width: min(1400px, calc(100vw - 48px));
    max-width: none;
}

.bank-account-department-modal-content {
    min-height: 100px;
}

.bank-account-modal-table-wrap {
    max-height: min(68vh, 720px);
}

.bank-account-group {
    border: 1px solid rgba(125, 211, 252, 0.28);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(17, 28, 47, 0.92), rgba(8, 15, 28, 0.82));
    box-shadow: 0 18px 42px rgba(1, 8, 20, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    overflow: hidden;
}

.bank-account-group[open] {
    border-color: rgba(125, 211, 252, 0.48);
}

.bank-account-group-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 58px;
    padding: 0 18px;
    background: rgba(125, 211, 252, 0.08);
    border-bottom: 1px solid transparent;
    cursor: pointer;
    list-style: none;
}

.bank-account-group[open] .bank-account-group-summary {
    border-bottom-color: rgba(125, 211, 252, 0.22);
}

.bank-account-group-summary::-webkit-details-marker {
    display: none;
}

.bank-account-group-title {
    display: flex;
    align-items: baseline;
    gap: 12px;
    min-width: 0;
}

.bank-account-group-title strong {
    color: var(--accent-strong);
    font-size: 18px;
    white-space: nowrap;
}

.bank-account-group-title span,
.bank-account-group-toggle {
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.bank-account-group-toggle::before {
    content: "\25BE";
    display: inline-block;
    margin-right: 8px;
    transition: transform 0.16s ease;
}

.bank-account-group:not([open]) .bank-account-group-toggle::before {
    transform: rotate(-90deg);
}

.bank-account-group-table-wrap {
    padding: 4px 10px 10px;
    background: rgba(2, 8, 18, 0.18);
}

.bank-account-group .sites-table {
    border-spacing: 0 8px;
}

.bank-account-group .sites-table th {
    padding: 10px 8px 4px;
    white-space: nowrap;
}

.bank-account-group .sites-table td {
    padding: 10px 8px;
    white-space: nowrap;
}

.bank-account-identity-cell {
    font-size: 14px;
    font-weight: 850;
}

.bank-account-identity-cell span {
    display: block;
    line-height: 1.5;
}

.bank-account-usage-cell {
    min-width: 150px;
}

.bank-account-usage-label {
    color: hsl(var(--usage-hue), 84%, 54%);
    display: block;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 6px;
}

.bank-account-usage-bar {
    display: block;
    width: 100%;
    height: 8px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.22);
    overflow: hidden;
}

.bank-account-usage-bar span {
    display: block;
    width: var(--usage-percent);
    height: 100%;
    border-radius: inherit;
    background: hsl(var(--usage-hue), 84%, 54%);
}

.bank-account-usage-cell small {
    color: var(--text-muted);
    display: block;
    font-size: 11px;
    font-weight: 800;
    margin-top: 5px;
    white-space: nowrap;
}

.bank-account-limits-cell {
    white-space: normal;
}

.bank-account-limits-cell span {
    color: var(--text-muted);
    display: block;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.45;
}

.bank-account-empty-state {
    border: 1px solid var(--sidebar-border);
    border-radius: 14px;
    color: var(--text-muted);
    font-weight: 800;
    padding: 28px 18px;
    text-align: center;
}

.sets-page {
    width: 100%;
}

.sets-header p {
    margin: 8px 0 0;
    color: var(--text-muted);
    font-weight: 700;
}

.set-add-button {
    min-height: 44px;
    border: 0;
    border-radius: 14px;
    background: #d8d8d8;
    color: #061625;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    padding: 0 18px;
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24);
    white-space: nowrap;
}

.sets-filter-grid {
    display: grid;
    grid-template-columns: 2fr repeat(4, minmax(170px, 1fr));
    gap: 14px;
    align-items: center;
}

.sets-filter-grid input,
.sets-filter-grid select {
    min-height: 44px;
    width: 100%;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    font: inherit;
    padding: 0 12px;
    box-sizing: border-box;
}

.sets-table {
    min-width: 1580px;
}

.set-members-panel {
    margin-top: 24px;
    padding: 24px;
    border: 1px solid var(--sidebar-border);
    border-radius: 20px;
    background: var(--content-surface);
    box-shadow: 0 18px 42px rgba(5, 12, 24, 0.26);
    box-sizing: border-box;
}

.set-member-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, 1fr)) 2fr auto;
    gap: 14px;
    margin-bottom: 18px;
}

.set-member-filter-grid input,
.set-member-filter-grid select {
    min-height: 44px;
    width: 100%;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    font: inherit;
    padding: 0 12px;
    box-sizing: border-box;
}

.set-member-filter-grid button {
    min-height: 44px;
    white-space: nowrap;
}

.set-members-table {
    min-width: 1380px;
}

.set-member-modal-form input[readonly] {
    color: rgba(232, 240, 255, 0.74);
    cursor: not-allowed;
    opacity: 0.78;
}

.departments-header p {
    margin: 8px 0 0;
    color: var(--text-muted);
    font-weight: 700;
}

.department-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.department-summary-card,
.department-bank-section {
    border: 1px solid var(--sidebar-border);
    border-radius: 20px;
    background: var(--content-surface);
    box-shadow: 0 18px 42px rgba(5, 12, 24, 0.26);
}

.department-summary-card {
    padding: 12px 14px;
}

.department-summary-card span,
.department-summary-card small {
    display: block;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
}

.department-summary-card strong {
    display: block;
    margin: 5px 0;
    color: var(--accent-strong);
    font-size: 21px;
}

.department-volume-stack {
    min-width: 150px;
}

.department-limit-stack {
    min-width: 165px;
}

.department-volume-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    line-height: 1.35;
    font-weight: 800;
    white-space: nowrap;
}

.department-volume-line b {
    color: var(--text-muted);
    font-size: 11px;
    text-transform: uppercase;
}

.department-volume-deposit {
    color: #34d399;
}

.department-volume-withdrawal {
    color: #fb7185;
}

.department-volume-commission {
    color: #c8c8c8;
}

.department-volume-net-cash {
    color: #f8fafc;
}

.department-volume-net-cash b {
    color: #cbd5e1;
}

.department-limit-contour {
    color: #fbbf24;
}

.department-limit-collateral {
    color: #c4b5fd;
}

.department-limit-daily {
    color: #e5e7eb;
}

.department-filter-grid {
    display: grid;
    grid-template-columns: 2fr repeat(4, minmax(170px, 1fr));
    gap: 14px;
    align-items: center;
}

.department-filter-grid input,
.department-filter-grid select {
    min-height: 44px;
    width: 100%;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    font: inherit;
    padding: 0 12px;
    box-sizing: border-box;
}

.departments-table {
    min-width: 1560px;
}

.departments-table .department-name-column {
    width: 120px;
    max-width: 120px;
}

.departments-table .department-name-main,
.departments-table .department-name-code {
    display: inline-block;
    max-width: 112px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}

.departments-table .department-name-code {
    color: var(--text-muted);
}

.departments-table .department-active-account-column {
    min-width: 64px;
    text-align: center;
}

.departments-table .department-active-account-count {
    display: inline-block;
    color: #86efac;
    font-size: 16px;
    font-weight: 800;
}

.departments-table .department-automation-cell {
    min-width: 120px;
    white-space: nowrap;
}

.departments-table .department-automation-toggle {
    padding-right: 12px;
}

.departments-table .department-row-retired td {
    background: rgba(148, 163, 184, 0.08);
    color: rgba(226, 232, 240, 0.62);
}

.departments-table .department-row-retired .department-volume-line,
.departments-table .department-row-retired .department-volume-line b {
    color: rgba(203, 213, 225, 0.58);
}

.departments-table .department-row-retired .site-status-toggle,
.departments-table .department-row-retired button {
    opacity: 0.72;
}

.departments-table .department-row-retired button {
    filter: grayscale(1);
}

.departments-table .department-row-retired button:disabled {
    cursor: not-allowed;
    transform: none;
}

.departments-table .department-row-retired .site-status-toggle.is-active,
.departments-table .department-row-retired .site-status-toggle.is-passive {
    background: rgba(148, 163, 184, 0.14);
    border-color: rgba(148, 163, 184, 0.34);
    color: #cbd5e1;
}

.departments-table .department-row-retired .site-status-toggle-icon {
    background: #94a3b8 !important;
    color: #101010 !important;
}

.department-retired-badge {
    display: inline-flex;
    margin-left: 8px;
    padding: 3px 7px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.14);
    color: #cbd5e1;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    vertical-align: middle;
}

.reports-departments-table {
    min-width: 1500px;
}

.reports-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0;
}

.reports-tabs button {
    min-height: 40px;
    border: 1px solid var(--sidebar-border);
    border-radius: 8px;
    background: var(--panel-bg);
    color: var(--text-muted);
    font: inherit;
    font-weight: 800;
    padding: 0 16px;
    cursor: pointer;
}

.reports-tabs button.active,
.reports-tabs button:hover {
    border-color: rgba(143, 194, 255, 0.55);
    color: var(--text-main);
    background: rgba(143, 194, 255, 0.12);
}

.reports-sites-table {
    min-width: 1700px;
}

.reports-commissioners-table {
    min-width: 1100px;
}

.reports-system-table {
    min-width: 640px;
}

.reports-departments-table .report-total-row th,
.reports-departments-table .report-total-row td {
    border-bottom: 1px solid var(--sidebar-border);
    background: rgba(255, 255, 255, 0.045);
    font-weight: 900;
    white-space: nowrap;
}

.reports-departments-table .report-total-row th {
    color: var(--accent-strong);
}

.reports-departments-table .report-value-green {
    color: #3ddc97;
}

.reports-departments-table .report-value-red {
    color: #ff6363;
}

.reports-departments-table .report-value-blue {
    color: #d0d0d0;
}

.reports-departments-table .report-value-white {
    color: #ffffff;
}

.reports-departments-table tr.report-row-retired th,
.reports-departments-table tr.report-row-retired td {
    background: rgba(148, 163, 184, 0.08);
    color: #94a3b8 !important;
}

.reports-departments-table tr.report-row-retired span {
    color: #64748b;
}

.departments-table .department-sites-actions,
.departments-table .department-edit-actions {
    display: table-cell;
    min-width: 150px;
    white-space: nowrap;
}

.departments-table .department-sites-actions button,
.departments-table .department-edit-actions button {
    display: inline-flex;
    width: max-content;
    white-space: nowrap;
}

.department-bank-section {
    margin-top: 24px;
    padding: 24px;
}

.department-bank-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.department-bank-grid article {
    padding: 16px;
    border: 1px solid var(--sidebar-border);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.045);
}

.department-bank-grid span,
.department-bank-grid small {
    display: block;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 800;
}

.department-bank-grid strong {
    display: block;
    margin: 8px 0;
    color: var(--text-main);
}

@media (max-width: 1250px) {
    .department-summary-grid,
    .staff-live-grid,
    .department-bank-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .department-filter-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .bank-account-filter-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .sets-filter-grid,
    .set-member-filter-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 700px) {
    .department-summary-grid,
    .staff-live-grid,
    .department-bank-grid,
    .department-filter-grid,
    .bank-account-filter-grid,
    .sets-filter-grid,
    .set-member-filter-grid {
        grid-template-columns: 1fr;
    }

    .shift-coverage-row {
        grid-template-columns: 1fr;
    }

    .shift-coverage-head {
        display: none;
    }
}

.site-modal {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: grid;
    place-items: center;
    padding: 24px;
}

.site-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 12, 24, 0.72);
    backdrop-filter: blur(6px);
}

.site-modal-panel {
    position: relative;
    width: min(880px, 100%);
    max-height: min(86vh, 920px);
    overflow-y: auto;
    padding: 26px;
    border: 1px solid rgba(125, 211, 252, 0.28);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(125, 211, 252, 0.16), transparent 34%),
        var(--content-surface);
    box-shadow: 0 28px 80px rgba(5, 12, 24, 0.48);
    box-sizing: border-box;
}

.site-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.site-modal-header h2 {
    margin: 0;
    color: var(--accent-strong);
    font-size: 28px;
}

.site-modal-close {
    width: 40px;
    height: 40px;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-main);
    cursor: pointer;
    font-size: 26px;
    line-height: 1;
}

.site-modal-form {
    display: grid;
    gap: 18px;
}

.site-modal-form fieldset {
    margin: 0;
    padding: 18px;
    border: 1px solid var(--sidebar-border);
    border-radius: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.site-modal-form legend {
    color: var(--accent-strong);
    font-weight: 900;
    padding: 0 8px;
}

.site-modal-form label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: var(--text-muted);
    font-size: 14px;
    font-weight: 800;
}

.site-modal-form input,
.site-modal-form select,
.site-modal-form textarea {
    min-height: 44px;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    font: inherit;
    padding: 0 12px;
    box-sizing: border-box;
}

.site-modal-form textarea {
    padding: 12px;
}

.site-modal-wide-fieldset label {
    grid-column: span 2;
}

.site-modal-form .site-modal-wide-label {
    grid-column: 1 / -1;
}

.site-modal-form label.checkbox-filter {
    flex-direction: row;
    align-items: center;
}

.site-modal-form label.checkbox-filter input {
    min-height: 0;
    padding: 0;
}

.site-commission-period-history {
    grid-column: 1 / -1;
    display: grid;
    gap: 10px;
    padding-top: 4px;
    color: var(--text-muted);
    font-size: 13px;
}

.site-commission-period-history > strong {
    color: var(--text-main);
}

.site-commission-period-history p {
    margin: 0;
}

.site-commission-period-list {
    display: grid;
    gap: 8px;
    max-height: 176px;
    overflow-y: auto;
}

.site-commission-period-row {
    display: grid;
    grid-template-columns: minmax(108px, auto) minmax(0, 1fr);
    gap: 4px 12px;
    align-items: baseline;
    padding: 9px 10px;
    border: 1px solid var(--sidebar-border);
    border-radius: 10px;
    background: var(--content-bg);
}

.site-commission-period-row strong {
    color: var(--accent-strong);
}

.site-commission-period-row small {
    grid-column: 1 / -1;
    color: var(--text-muted);
}

.panel-expense-payment-modal-panel {
    width: min(1180px, 100%);
}

.panel-expense-pending-fieldset {
    grid-column: span 2;
}

.panel-expense-pending-fieldset .sites-table-wrap {
    grid-column: 1 / -1;
    width: 100%;
}

.panel-expense-payment-form {
    grid-column: 1 / -1;
    display: grid;
    gap: 14px;
    width: 100%;
}

.panel-expense-select-button.is-selected {
    background: #3ddc97;
    border-color: #3ddc97;
    color: #072019;
}

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

.site-modal-form .panel-expense-summary-field {
    grid-column: 1 / -1;
}

.panel-expense-summary-field span {
    font-size: 15px;
}

.panel-expense-summary-field input {
    min-height: 56px;
    font-size: 24px;
    font-weight: 900;
}

.panel-expense-crypto-modal-panel {
    width: min(720px, 100%);
}

.panel-expense-crypto-fieldset {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.panel-expense-crypto-amount,
.panel-expense-crypto-address,
.panel-expense-crypto-conversion,
.panel-expense-crypto-timeout {
    grid-column: 1 / -1;
    display: grid;
    gap: 8px;
    padding: 16px;
    border: 1px solid var(--sidebar-border);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
}

.panel-expense-crypto-currency {
    grid-column: 1 / -1;
}

.panel-expense-crypto-amount span,
.panel-expense-crypto-address span,
.panel-expense-crypto-conversion span,
.panel-expense-crypto-timeout span {
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.panel-expense-crypto-amount strong,
.panel-expense-crypto-conversion strong,
.panel-expense-crypto-timeout strong {
    color: var(--accent-strong);
    font-size: 30px;
    line-height: 1.1;
}

.panel-expense-crypto-address strong {
    color: var(--text-main);
    font-size: 17px;
    overflow-wrap: anywhere;
}

.panel-expense-crypto-conversion small {
    color: var(--text-muted);
    font-weight: 800;
}

.site-api-key-status {
    grid-column: span 2;
    margin: 0;
    color: var(--text-muted);
    font-weight: 800;
}

.site-api-key-status strong {
    color: var(--accent-strong);
}

.site-generated-key {
    grid-column: span 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.site-generated-key label {
    grid-column: auto;
}

.site-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.audit-log-values-button {
    min-height: 34px;
    padding: 0 12px;
}

.audit-log-modal-panel {
    width: min(980px, 100%);
}

.audit-log-values-pre {
    max-height: 62vh;
    margin: 0;
    overflow: auto;
    padding: 16px;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    font-size: 13px;
    line-height: 1.55;
    white-space: pre-wrap;
    word-break: break-word;
}

@media (max-width: 700px) {
    .site-modal-form fieldset,
    .site-modal-wide-fieldset label {
        grid-template-columns: 1fr;
        grid-column: span 1;
    }

    .site-modal-actions,
    .site-modal-header {
        flex-direction: column;
    }
}

.transactions-header-with-action {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.transactions-header-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.export-action {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
    text-decoration: none;
    white-space: nowrap;
}

.manual-deposit-button,
.manual-withdrawal-button,
.delivery-add-button {
    min-height: 44px;
    border: 0;
    border-radius: 14px;
    background: #3ddc97;
    color: #071f16;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    padding: 0 18px;
    box-shadow: 0 14px 30px rgba(5, 12, 24, 0.24);
    white-space: nowrap;
}

.workflow-transactions-table {
    min-width: 1580px;
}

.workflow-transactions-table td {
    font-size: 14px;
}

.operation-investments-table {
    min-width: 1480px;
}

.operation-investments-table th,
.operation-investments-table td {
    padding-left: 8px;
    padding-right: 8px;
}

.operation-investments-table tbody tr.transaction-row-pending td {
    background: rgba(245, 158, 11, 0.36);
    border-color: rgba(245, 158, 11, 0.82);
}

.operation-investments-table tbody tr.transaction-row-approved td {
    background: rgba(34, 197, 94, 0.24);
    border-color: rgba(34, 197, 94, 0.62);
}

.operation-investments-table tbody tr.transaction-row-failed td {
    background: rgba(248, 113, 113, 0.24);
    border-color: rgba(248, 113, 113, 0.62);
}

.operation-investments-table tbody tr.transaction-row-pending:hover td {
    background: rgba(245, 158, 11, 0.44);
}

.operation-investments-table tbody tr.transaction-row-approved:hover td {
    background: rgba(34, 197, 94, 0.32);
}

.operation-investments-table tbody tr.transaction-row-failed:hover td {
    background: rgba(248, 113, 113, 0.32);
}

.operation-investments-table .status-pending {
    background: rgba(245, 158, 11, 0.34);
    color: #fef3c7;
}

.operation-investments-table .status-approved {
    background: rgba(34, 197, 94, 0.24);
    color: #86efac;
}

.operation-investments-table .status-failed {
    background: rgba(248, 113, 113, 0.24);
    color: #fecaca;
}

.operation-deposit-action-cell {
    width: 124px;
}

.operation-deposit-site,
.operation-deposit-department {
    color: var(--text-main);
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
}

.operation-deposit-recipient {
    min-width: 225px;
    max-width: 270px;
}

.operation-deposit-recipient strong,
.operation-deposit-recipient span,
.operation-deposit-payer strong,
.operation-deposit-date strong,
.operation-deposit-date span {
    display: block;
    color: var(--text-main);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.24;
}

.operation-deposit-recipient span {
    margin-top: 5px;
    overflow-wrap: anywhere;
}

.operation-deposit-recipient small {
    display: block;
    margin-top: 5px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
}

.operation-deposit-payer {
    min-width: 150px;
    max-width: 190px;
}

.operation-deposit-payer span {
    display: block;
    margin-bottom: 4px;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
}

.operation-deposit-amounts {
    min-width: 165px;
}

.operation-investments-table td .operation-requested-amount,
.operation-investments-table td .operation-approved-amount {
    display: block;
    color: #ffffff;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.22;
    white-space: nowrap;
}

.operation-investments-table td .operation-approved-amount {
    color: #22c55e;
    margin-top: 4px;
}

.operation-investments-table td.operation-deposit-amounts.deposit-amount-changed .operation-requested-amount {
    color: var(--text-muted);
    text-decoration: line-through;
    text-decoration-thickness: 2px;
}

.operation-investments-table td.operation-deposit-amounts.deposit-amount-changed .operation-approved-amount {
    color: #22c55e;
    font-size: 19px;
}

.operation-deposit-date {
    min-width: 100px;
}

.operation-deposit-countdown {
    min-width: 92px;
}

.deposit-countdown-card {
    display: grid;
    gap: 4px;
    align-content: center;
    justify-items: center;
    min-width: 92px;
    min-height: 46px;
    padding: 8px 12px;
    border: 1px solid hsl(var(--deposit-countdown-hue, 0) var(--deposit-countdown-saturation, 82%) var(--deposit-countdown-border-lightness, 58%) / 0.78);
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 0%, hsl(var(--deposit-countdown-hue, 0) var(--deposit-countdown-saturation, 82%) 72% / 0.18), transparent 62%),
        linear-gradient(180deg, hsl(var(--deposit-countdown-hue, 0) var(--deposit-countdown-saturation, 82%) var(--deposit-countdown-lightness, 50%) / 0.3), hsl(var(--deposit-countdown-hue, 0) var(--deposit-countdown-saturation, 82%) var(--deposit-countdown-lightness, 50%) / 0.12));
    box-shadow: inset 0 1px 0 hsl(var(--deposit-countdown-hue, 0) var(--deposit-countdown-saturation, 82%) 96% / 0.18);
}

.deposit-countdown-card strong {
    color: #ffffff;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.05;
    letter-spacing: 0;
    text-align: center;
    white-space: nowrap;
}

.deposit-countdown-card span {
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
}

.deposit-countdown-empty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 34px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.16);
    color: var(--text-muted);
    font-size: 14px;
    font-weight: 900;
}

.operation-deposit-date span {
    margin-top: 5px;
}

.operation-deposit-copy-cell {
    width: 82px;
}

.operation-withdrawals-table {
    min-width: 1180px;
}

.operation-withdrawals-table th,
.operation-withdrawals-table td {
    padding-left: 10px;
    padding-right: 10px;
}

.operation-withdrawals-table tbody tr.transaction-row-pending td {
    background: rgba(245, 158, 11, 0.36);
    border-color: rgba(245, 158, 11, 0.82);
}

.operation-withdrawals-table tbody tr.transaction-row-assigned td {
    background: rgba(59, 130, 246, 0.24);
    border-color: rgba(59, 130, 246, 0.62);
}

.operation-withdrawals-table tbody tr.transaction-row-partial-paid td {
    background: rgba(14, 165, 233, 0.24);
    border-color: rgba(56, 189, 248, 0.62);
}

.operation-withdrawals-table tbody tr.transaction-row-approved td {
    background: rgba(34, 197, 94, 0.24);
    border-color: rgba(34, 197, 94, 0.62);
}

.operation-withdrawals-table tbody tr.transaction-row-failed td {
    background: rgba(248, 113, 113, 0.24);
    border-color: rgba(248, 113, 113, 0.62);
}

.operation-withdrawals-table tbody tr.transaction-row-pending:hover td {
    background: rgba(245, 158, 11, 0.44);
}

.operation-withdrawals-table tbody tr.transaction-row-assigned:hover td {
    background: rgba(59, 130, 246, 0.32);
}

.operation-withdrawals-table tbody tr.transaction-row-partial-paid:hover td {
    background: rgba(14, 165, 233, 0.32);
}

.operation-withdrawals-table tbody tr.transaction-row-approved:hover td {
    background: rgba(34, 197, 94, 0.32);
}

.operation-withdrawals-table tbody tr.transaction-row-failed:hover td {
    background: rgba(248, 113, 113, 0.32);
}

.operation-withdrawal-action-cell {
    width: 124px;
}

.operation-withdrawal-recipient strong,
.operation-withdrawal-recipient span,
.operation-withdrawal-date strong,
.operation-withdrawal-date span {
    display: block;
    color: var(--text-main);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.24;
}

.operation-withdrawal-site {
    color: var(--text-main);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.24;
    white-space: nowrap;
}

.operation-withdrawal-recipient {
    min-width: 260px;
}

.operation-withdrawal-recipient span {
    margin-top: 5px;
    overflow-wrap: anywhere;
}

.operation-withdrawal-recipient small {
    display: block;
    margin-top: 5px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
}

.operation-withdrawal-amount {
    min-width: 120px;
}

.operation-withdrawal-amount strong {
    display: block;
    color: #ffffff;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.22;
    white-space: nowrap;
}

.operation-withdrawal-assigned-department {
    color: var(--text-main);
    font-size: 14px;
    font-weight: 850;
    line-height: 1.24;
    min-width: 86px;
    max-width: 132px;
    overflow-wrap: anywhere;
}

.operation-withdrawal-wait {
    min-width: 82px;
}

.withdrawal-wait-card {
    display: grid;
    grid-template-columns: auto auto;
    gap: 4px;
    align-items: center;
    justify-content: center;
    min-width: 68px;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid hsl(var(--wait-hue, 0) var(--wait-saturation, 88%) var(--wait-border-lightness, 58%) / 0.75);
    border-radius: 8px;
    background:
        linear-gradient(180deg, hsl(var(--wait-hue, 0) var(--wait-saturation, 88%) var(--wait-lightness, 50%) / 0.28), hsl(var(--wait-hue, 0) var(--wait-saturation, 88%) var(--wait-lightness, 50%) / 0.12));
    box-shadow: inset 0 1px 0 hsl(var(--wait-hue, 0) var(--wait-saturation, 88%) 96% / 0.18);
    color: hsl(var(--wait-hue, 0) 100% var(--wait-text-lightness, 92%));
    white-space: nowrap;
}

.withdrawal-wait-card strong {
    font-size: 13px;
    font-weight: 950;
    line-height: 1;
}

.withdrawal-wait-card span {
    color: currentColor;
    font-size: 11px;
    font-weight: 850;
    line-height: 1;
    opacity: 0.9;
    text-transform: uppercase;
}

.withdrawal-wait-empty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 34px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.16);
    color: var(--text-muted);
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
}

.operation-withdrawal-date {
    min-width: 100px;
}

.operation-withdrawal-date span {
    margin-top: 5px;
}

.operation-withdrawal-copy-cell {
    width: 82px;
}

.department-deposits-table {
    min-width: 1220px;
}

.deposit-table-amount {
    min-width: 148px;
}

.deposit-amount-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 4px;
    min-height: 56px;
}

.department-deposit-list-amount {
    min-width: 148px;
    line-height: 1.15;
}

.transactions-table td .deposit-amount-label {
    display: block;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.1;
    text-transform: uppercase;
}

.transactions-table td .deposit-requested-amount {
    display: block;
    color: #bbf7d0;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.18;
    white-space: nowrap;
}

.transactions-table td .deposit-approved-amount {
    display: block;
    color: #86efac;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.22;
    white-space: nowrap;
}

.transactions-table td.deposit-amount-changed .deposit-requested-amount {
    color: var(--text-muted);
    text-decoration: line-through;
    text-decoration-thickness: 2px;
}

.transactions-table td.deposit-amount-changed .deposit-approved-amount {
    color: #22c55e;
    font-size: 18px;
}

.department-deposit-user strong,
.department-deposit-iban strong,
.department-deposit-date strong {
    display: block;
    color: var(--text-main);
}

.department-deposit-user strong {
    font-size: 15px;
    font-weight: 900;
}

.department-deposit-user span,
.department-deposit-iban span {
    display: block;
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 12px;
}

.department-deposit-copy-cell {
    width: 74px;
}

.department-deposit-copy-button {
    border: 1px solid rgba(127, 179, 213, 0.34);
    border-radius: 8px;
    background: rgba(127, 179, 213, 0.12);
    color: var(--accent-strong);
    cursor: pointer;
    font-size: 12px;
    font-weight: 850;
    padding: 7px 9px;
    white-space: nowrap;
}

.department-deposit-copy-button:hover {
    border-color: rgba(127, 179, 213, 0.62);
    background: rgba(127, 179, 213, 0.2);
}

.izoto-accounts-table th,
.izoto-accounts-table td {
    vertical-align: middle;
}

.izoto-account-toggle-form {
    margin: 0;
}

.izoto-account-status-button {
    border: 0;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease;
}

.izoto-account-status-button:hover:not(:disabled) {
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
    transform: translateY(-1px);
}

.izoto-account-status-button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.izoto-account-status-confirm-panel {
    width: min(500px, 100%);
}

.izoto-account-status-confirm-details {
    display: grid;
    gap: 12px;
    margin: 16px 0 0;
}

.izoto-account-status-confirm-details div {
    display: grid;
    gap: 4px;
}

.izoto-account-status-confirm-details dt {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.izoto-account-status-confirm-details dd {
    margin: 0;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.izoto-account-identity {
    min-width: 260px;
}

.izoto-account-bank {
    width: 64px;
    min-width: 64px;
    text-align: center;
}

.izoto-account-bank-logo {
    display: inline-grid;
    width: 48px;
    height: 48px;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(127, 179, 213, 0.38);
    border-radius: 6px;
    background: #fff;
    color: #1e293b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.04em;
    vertical-align: middle;
}

.izoto-account-bank-logo img {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.izoto-account-identity strong,
.izoto-account-identity span,
.izoto-account-identity small,
.izoto-account-sync-time {
    display: block;
}

.izoto-account-identity strong {
    font-size: 15px;
    font-weight: 850;
}

.izoto-account-identity span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 5px;
    color: var(--text-muted);
    font-size: 12px;
}

.izoto-account-identity code {
    font-size: 14px;
    font-weight: 750;
    letter-spacing: 0.02em;
    overflow-wrap: anywhere;
}

.izoto-account-identity .izoto-account-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 11px;
}

.izoto-account-identity .izoto-account-contact span {
    display: inline;
    margin: 0;
}

.izoto-account-copy {
    display: inline-grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid rgba(127, 179, 213, 0.34);
    border-radius: 6px;
    background: rgba(127, 179, 213, 0.12);
    color: var(--accent-strong);
    cursor: pointer;
    font-family: inherit;
    font-size: 15px;
    font-weight: 800;
}

.izoto-account-copy:hover {
    border-color: rgba(127, 179, 213, 0.62);
    background: rgba(127, 179, 213, 0.2);
}

.izoto-account-provider-note,
.izoto-account-sync-time {
    margin-top: 6px;
    color: var(--text-muted);
    font-size: 12px;
}

.izoto-account-balance > div {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.izoto-account-balance form {
    margin: 0;
}

.izoto-account-balance .izoto-account-sync-time {
    display: inline;
    margin: 0 0 0 1px;
    white-space: nowrap;
}

.izoto-account-balance [data-izoto-account-balance] {
    display: inline-block;
    border-radius: 5px;
}

.izoto-account-balance [data-izoto-account-balance].is-updated {
    animation: izoto-balance-updated 1.35s ease-out;
}

.izoto-account-balance [data-izoto-account-balance].is-unchanged {
    --izoto-balance-sync-color: #facc15;
}

.izoto-account-balance [data-izoto-account-balance].is-increased {
    --izoto-balance-sync-color: #4ade80;
}

.izoto-account-balance [data-izoto-account-balance].is-decreased {
    --izoto-balance-sync-color: #fb7185;
}

@keyframes izoto-balance-updated {
    0% {
        color: var(--izoto-balance-sync-color, #facc15);
    }
    100% {
        color: inherit;
    }
}

.izoto-account-provider-note {
    color: #f59e0b;
}

.bankhub-security-hold-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-color: rgba(248, 113, 113, 0.6);
    background: rgba(127, 29, 29, 0.2);
}

.bankhub-security-hold-panel h2 {
    margin: 3px 0 7px;
    font-size: 18px;
}

.bankhub-security-hold-panel p {
    max-width: 880px;
    margin: 0;
    color: #fecaca;
}

.bankhub-security-hold-panel small {
    display: block;
    margin-top: 7px;
    color: var(--text-muted);
}

.izoto-account-view-tabs {
    display: flex;
    gap: 44px;
    margin: 0;
}

.izoto-account-view-header {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.izoto-account-view-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 54px;
    padding: 0 12px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--text-muted);
    font-size: 18px;
    font-weight: 800;
    text-decoration: none;
}

.izoto-account-view-tabs a strong {
    color: inherit;
    font-size: 16px;
}

.izoto-account-view-tabs a:hover,
.izoto-account-view-tabs a.is-active {
    border-bottom-color: #60a5fa;
    background: transparent;
    color: #dbeafe;
}

.izoto-account-view-tabs a.is-problem:not(.is-active) {
    color: #fca5a5;
}

.izoto-account-view-tabs a.is-problem:hover,
.izoto-account-view-tabs a.is-problem.is-active {
    border-bottom-color: #f87171;
    color: #fecaca;
}

@media (max-width: 560px) {
    .izoto-account-view-tabs {
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .izoto-account-view-tabs a {
        flex: 0 0 auto;
    }
}

@media (max-width: 720px) {
    .bankhub-security-hold-panel {
        align-items: stretch;
        flex-direction: column;
    }
}

.izoto-account-reconciliation {
    min-width: 132px;
}

.izoto-account-reconciliation-item {
    display: grid;
    grid-template-columns: 54px max-content;
    align-items: baseline;
    gap: 8px;
    line-height: 1.35;
}

.izoto-account-reconciliation-item + .izoto-account-reconciliation-item {
    margin-top: 5px;
}

.izoto-account-reconciliation-item strong {
    font-weight: 850;
}

.izoto-account-reconciliation-item small {
    color: var(--text-muted);
    font-size: 11px;
}

.izoto-account-reconciliation-item.is-deposit strong {
    color: #32d583;
}

.izoto-account-reconciliation-item.is-withdrawal strong {
    color: #f97066;
}

.routing-health-summary .detail-card-grid {
    grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.routing-health-date {
    font-size: 16px;
}

.routing-health-filter {
    margin-bottom: 16px;
}

.routing-health-table td:first-child strong,
.routing-health-table td:first-child small {
    display: block;
}

.routing-health-table td:first-child small {
    margin-top: 4px;
    color: var(--text-muted);
}

.routing-health-candidates {
    display: grid;
    gap: 7px;
    min-width: 330px;
}

.routing-health-candidates article {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border: 1px solid rgba(127, 179, 213, 0.2);
    border-radius: 6px;
    background: rgba(15, 23, 42, 0.26);
}

.routing-health-candidates article > div {
    display: grid;
    gap: 2px;
}

.routing-health-candidates strong {
    font-size: 13px;
}

.routing-health-candidates code,
.routing-health-candidates small {
    color: var(--text-muted);
    font-size: 12px;
}

.routing-health-bank-logo {
    display: grid;
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    place-items: center;
    overflow: hidden;
    border-radius: 5px;
    background: #fff;
}

.routing-health-bank-logo img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.routing-health-empty {
    color: var(--text-muted);
    font-size: 13px;
}

@media (max-width: 980px) {
    .routing-health-summary .detail-card-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

.izoto-accounts-table tr.izoto-account-provider-error > td {
    background: rgba(220, 38, 38, 0.18);
    border-top-color: rgba(248, 113, 113, 0.5);
    border-bottom-color: rgba(248, 113, 113, 0.5);
}

.izoto-accounts-table tr.izoto-account-provider-error > td:first-child {
    border-left: 3px solid #ef4444;
}

.izoto-account-lock-note {
    display: block;
    margin-top: 6px;
    color: #fecaca;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
}

.izoto-account-sync-button {
    display: inline-grid;
    width: 30px;
    height: 30px;
    min-height: 0;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(127, 179, 213, 0.4);
    border-radius: 50%;
    background: rgba(127, 179, 213, 0.12);
    color: var(--accent-strong);
    cursor: pointer;
    font-family: inherit;
    font-size: 19px;
    font-weight: 800;
    line-height: 1;
}

.izoto-account-sync-button:hover {
    border-color: rgba(127, 179, 213, 0.76);
    background: rgba(127, 179, 213, 0.22);
}

.izoto-account-sync-button.is-syncing {
    animation: izoto-account-sync-spin 0.8s linear infinite;
}

@keyframes izoto-account-sync-spin {
    to { transform: rotate(360deg); }
}

.izoto-auto-source {
    display: grid;
    gap: 8px;
    margin: 14px 0;
}

.izoto-auto-source > span {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.izoto-auto-source small {
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.4;
}

.izoto-auto-source select {
    min-height: 42px;
    font-weight: 750;
}

.izoto-auto-source-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #35546a;
    border-radius: 8px;
    background: #14212b;
}

.izoto-auto-source-summary > div {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.izoto-auto-source-summary strong,
.izoto-auto-source-summary span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.izoto-auto-source-summary > div > strong {
    color: #eef6fb;
    font-size: 13px;
}

.izoto-auto-source-summary > div > span {
    color: var(--text-muted);
    font-family: var(--font-mono, monospace);
    font-size: 12px;
}

.izoto-auto-source-badge {
    padding: 4px 7px;
    border: 1px solid #3c7897;
    border-radius: 999px;
    color: #9adcf8;
    font-size: 11px;
    font-weight: 800;
}

.izoto-auto-source-balance {
    color: #53db9b;
    font-size: 13px;
    text-align: right;
}

.izoto-auto-source-summary.is-manual-source {
    border-color: #a56b28;
    background: #2c2113;
}

.izoto-auto-source-summary.is-manual-source .izoto-auto-source-badge {
    border-color: #d89a42;
    color: #ffd08b;
}

body.theme-light .izoto-auto-source-summary {
    border-color: #bbd0dd;
    background: #f3f8fb;
}

body.theme-light .izoto-auto-source-summary > div > strong {
    color: #203240;
}

@media (max-width: 620px) {
    .izoto-auto-source-summary {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .izoto-auto-source-balance {
        grid-column: 2;
        text-align: left;
    }
}

.izoto-account-summary {
    overflow-x: auto;
    padding: 18px 20px;
}

.izoto-account-summary-row {
    display: grid;
    gap: 8px;
}

.izoto-account-summary-row + .izoto-account-summary-row {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--sidebar-border);
}

.izoto-account-summary-row-metrics {
    grid-template-columns: repeat(2, max-content);
    justify-content: center;
    column-gap: 360px;
}

.izoto-account-summary-row-status {
    grid-template-columns: repeat(4, minmax(170px, 1fr));
    gap: 8px;
    min-width: 760px;
}

.izoto-account-summary .detail-card {
    min-height: 0;
    padding: 14px 16px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.izoto-account-summary .detail-card-pending,
.izoto-account-summary .detail-card-approved,
.izoto-account-summary .detail-card-rejected {
    box-shadow: none;
}

.izoto-account-summary .detail-card-title {
    font-size: 11px;
}

.izoto-account-summary .detail-card-count {
    margin-top: 4px;
    font-size: 18px;
}

.izoto-account-summary .detail-card small {
    display: block;
    margin-top: 3px;
    color: var(--text-muted);
    font-size: 11px;
}

.izoto-account-summary-metric {
    display: grid;
    gap: 8px;
    padding: 10px 16px;
}

.izoto-account-summary-metric-labels,
.izoto-account-summary-metric-values {
    display: grid;
    grid-template-columns: 172px 152px 92px;
    gap: 14px;
    align-items: baseline;
}

.izoto-account-summary-metric-labels {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.izoto-account-summary-metric-values strong {
    color: var(--text-primary);
    font-size: 18px;
    font-weight: 850;
    white-space: nowrap;
}

.izoto-account-summary-metric.is-deposit .izoto-account-summary-metric-values strong:first-child {
    color: #86efac;
}

.izoto-account-summary-metric.is-withdrawal .izoto-account-summary-metric-values strong:first-child {
    color: #fb7185;
}

.izoto-accounts-table tbody tr:not(.izoto-account-provider-error) > td {
    background: var(--content-surface);
}

.izoto-accounts-table tbody tr:not(.izoto-account-provider-error):hover > td {
    background: var(--sidebar-panel-hover);
}

@media (max-width: 720px) {
    .izoto-account-summary-row-metrics {
        grid-template-columns: minmax(220px, 1fr);
        justify-content: start;
        min-width: 220px;
    }

    .izoto-account-summary-metric {
        min-width: 550px;
    }
}

.izoto-account-list-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.izoto-transfer-shortcut {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    gap: 7px;
    padding: 7px 12px;
    border: 1px solid rgba(45, 212, 191, 0.46);
    border-radius: 6px;
    background: rgba(13, 148, 136, 0.22);
    color: #99f6e4;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.izoto-transfer-shortcut:hover {
    border-color: #2dd4bf;
    background: rgba(13, 148, 136, 0.38);
    color: #ecfeff;
}

.izoto-transfer-shortcut svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

@media (max-width: 560px) {
    .izoto-account-list-actions {
        width: 100%;
        justify-content: space-between;
    }
}

.department-deposit-iban {
    min-width: 340px;
}

.department-deposit-iban strong {
    font-size: 14px;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.department-deposit-date strong {
    font-size: 14px;
    font-weight: 850;
    white-space: nowrap;
}

.department-deposit-date span,
.department-withdrawal-date span {
    display: block;
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.department-deposit-countdown,
.department-withdrawal-wait {
    min-width: 112px;
}

.department-withdrawals-table {
    min-width: 1160px;
}

body .department-withdrawals-table .transaction-actions .withdrawal-manage-button,
body .department-withdrawals-table .transaction-actions .izoto-payment-button {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
    font-weight: 900;
}

body .department-withdrawals-table .transaction-actions .withdrawal-manage-button:hover,
body .department-withdrawals-table .transaction-actions .izoto-payment-button:hover {
    background: #15803d;
    border-color: #15803d;
    color: #ffffff;
}

.department-withdrawal-user strong,
.department-withdrawal-iban strong,
.department-withdrawal-amount strong,
.department-withdrawal-date strong {
    display: block;
    color: var(--text-main);
}

.department-withdrawal-user strong {
    font-size: 15px;
    font-weight: 900;
}

.department-withdrawal-user span,
.department-withdrawal-iban span {
    display: block;
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 12px;
}

.department-withdrawal-iban {
    min-width: 280px;
}

.department-withdrawal-iban strong {
    font-size: 14px;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.department-withdrawal-amount strong {
    color: #bbf7d0;
    font-size: 22px;
    font-weight: 950;
    white-space: nowrap;
}

.department-withdrawal-date strong {
    font-size: 14px;
    font-weight: 850;
    white-space: nowrap;
}

.department-withdrawal-copy-cell {
    width: 74px;
}

.transaction-actions {
    min-width: 128px;
    white-space: normal;
}

.transaction-actions .withdrawal-manage-button,
.transaction-actions .izoto-payment-button {
    border-color: rgba(61, 220, 151, 0.34);
    color: #3ddc97;
}

.transaction-actions .deposit-status-change-button {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
}

.transaction-actions .deposit-status-change-button:hover {
    background: #15803d;
    border-color: #15803d;
    color: #ffffff;
}

.transaction-actions .deposit-log-button {
    border-color: rgba(148, 163, 184, 0.34);
    color: var(--text-main);
}

.transaction-actions .deposit-log-button:hover {
    border-color: rgba(61, 220, 151, 0.5);
    color: #3ddc97;
}

.transaction-actions .deposit-player-blacklist-button {
    margin-top: 6px;
    border-color: rgba(248, 113, 113, 0.68);
    color: #fecaca;
}

.transaction-actions .deposit-player-blacklist-button:hover {
    background: rgba(127, 29, 29, 0.34);
    border-color: #f87171;
    color: #ffffff;
}

/* The blacklist control belongs to the log cell, never the status-action cell. */
.workflow-transactions-table tbody td:first-child .deposit-player-blacklist-button {
    display: none;
}

.player-investor-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    min-height: 20px;
    margin-left: 6px;
    padding: 0;
    border: 1px solid rgba(61, 220, 151, 0.8);
    border-radius: 999px;
    color: #bbf7d0;
    background: rgba(20, 83, 45, 0.5);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    vertical-align: middle;
}

.player-name-with-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
}

.player-name-with-badge .player-investor-badge {
    flex: 0 0 20px;
    margin: 0;
}

.operation-deposit-payer .player-name-with-badge,
.department-deposit-user .player-name-with-badge {
    display: inline-flex;
    margin: 0;
}

.operation-deposit-payer .player-name-with-badge strong,
.department-deposit-user .player-name-with-badge strong {
    display: inline;
}

.operation-deposit-payer .player-name-with-badge .player-investor-badge,
.department-deposit-user .player-name-with-badge .player-investor-badge {
    display: inline-flex;
    margin: 0;
}

.player-blacklist-modal-panel {
    width: min(780px, 100%);
    max-height: min(92vh, 860px);
}

.player-blacklist-modal-panel .site-modal-header p {
    margin: 6px 0 0;
    color: var(--text-muted);
    font-size: 13px;
}

.player-blacklist-reason {
    grid-column: 1 / -1;
}

.player-blacklist-active-list {
    margin-top: 18px;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
    padding-top: 16px;
}

.player-blacklist-active-list h3 {
    margin: 0 0 10px;
    font-size: 15px;
}

.player-blacklist-rows {
    display: grid;
    gap: 8px;
    max-height: 280px;
    overflow: auto;
}

.player-blacklist-rows article {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid rgba(248, 113, 113, 0.28);
    border-radius: 8px;
    background: rgba(127, 29, 29, 0.15);
}

.player-blacklist-rows article div {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.player-blacklist-rows strong,
.player-blacklist-rows span,
.player-blacklist-rows small {
    overflow-wrap: anywhere;
}

.player-blacklist-rows span,
.player-blacklist-rows small {
    color: var(--text-muted);
}

.deposit-log-modal .site-modal-panel {
    width: min(1040px, 100%);
    max-height: min(92vh, 860px);
}

.deposit-log-modal .site-modal-header p {
    margin: 6px 0 0;
    color: var(--text-muted);
    font-size: 12px;
}

.deposit-log-body {
    display: grid;
    gap: 16px;
    overflow: auto;
    padding-right: 4px;
}

.deposit-log-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.deposit-log-summary article,
.deposit-log-item {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.36);
    padding: 14px;
}

.deposit-log-summary span,
.deposit-log-block span {
    display: block;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.deposit-log-summary strong {
    display: block;
    margin-top: 5px;
    color: var(--text-main);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.deposit-log-section {
    display: grid;
    gap: 10px;
}

.deposit-log-section h3 {
    margin: 0;
    color: var(--text-main);
    font-size: 15px;
}

.deposit-log-items {
    display: grid;
    gap: 12px;
}

.deposit-log-groups {
    display: grid;
    gap: 12px;
}

.deposit-log-group {
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 12px;
    background: rgba(2, 6, 23, 0.2);
    overflow: hidden;
}

.deposit-log-group > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    padding: 12px 14px;
    color: var(--text-main);
    list-style: none;
}

.deposit-log-group > summary::-webkit-details-marker,
.deposit-log-details > summary::-webkit-details-marker {
    display: none;
}

.deposit-log-group > summary::before,
.deposit-log-details > summary::before {
    content: "+";
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.16);
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 900;
}

.deposit-log-group[open] > summary::before,
.deposit-log-details[open] > summary::before {
    content: "-";
}

.deposit-log-group > summary strong {
    flex: 1;
    min-width: 0;
    font-size: 13px;
}

.deposit-log-group > summary span {
    color: var(--text-muted);
    font-size: 12px;
    white-space: nowrap;
}

.deposit-log-group > .deposit-log-items {
    padding: 0 12px 12px;
}

.deposit-log-item header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.deposit-log-item header strong {
    color: var(--text-main);
    font-size: 14px;
}

.deposit-log-item header span {
    color: var(--text-muted);
    font-size: 12px;
    white-space: nowrap;
}

.deposit-log-item dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 12px;
    margin: 0 0 12px;
}

.deposit-log-item dl div {
    min-width: 0;
}

.deposit-log-item dt {
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.deposit-log-item dd {
    margin: 3px 0 0;
    color: var(--text-main);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.deposit-log-block {
    display: grid;
    gap: 6px;
    margin-top: 10px;
}

.deposit-log-details-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 10px;
}

.deposit-log-details {
    min-width: 0;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 10px;
    background: rgba(2, 6, 23, 0.32);
}

.deposit-log-details > summary {
    cursor: pointer;
    padding: 10px;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    list-style: none;
}

.deposit-log-details > pre {
    max-height: 320px;
    margin: 0;
    overflow: auto;
    border-top: 1px solid rgba(148, 163, 184, 0.14);
    background: rgba(2, 6, 23, 0.42);
    color: var(--text-main);
    font-size: 12px;
    line-height: 1.5;
    padding: 10px;
    white-space: pre-wrap;
}

.deposit-log-block pre {
    max-height: 260px;
    margin: 0;
    overflow: auto;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 10px;
    background: rgba(2, 6, 23, 0.52);
    color: var(--text-main);
    font-size: 12px;
    line-height: 1.5;
    padding: 10px;
    white-space: pre-wrap;
}

.deposit-log-empty {
    margin: 0;
    color: var(--text-muted);
    font-size: 13px;
}

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

.status-change-modal-success .site-modal-panel {
    border-color: rgba(22, 163, 74, 0.72);
    box-shadow: 0 24px 70px rgba(22, 163, 74, 0.22);
}

.status-change-modal-success .site-modal-header h2 {
    color: #3ddc97;
}

.status-change-modal-success .status-change-form button[type="submit"] {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
}

.status-change-modal-failed .site-modal-panel {
    border-color: rgba(220, 38, 38, 0.72);
    box-shadow: 0 24px 70px rgba(220, 38, 38, 0.22);
}

.status-change-modal-failed .site-modal-header h2 {
    color: #f87171;
}

.status-change-modal-failed .status-change-form button[type="submit"] {
    background: #dc2626;
    border-color: #dc2626;
    color: #ffffff;
}

#status-change-modal:not([data-department-scoped="1"]) .site-modal-panel {
    width: min(900px, calc(100vw - 48px));
    max-height: min(96vh, 880px);
}

#status-change-modal:not([data-department-scoped="1"]) .site-modal-header {
    justify-content: center;
    text-align: center;
}

.admin-status-change-panel {
    display: grid;
    gap: 16px;
    justify-items: center;
    text-align: center;
}

.admin-status-change-summary {
    display: grid;
    gap: 12px;
    width: min(100%, 440px);
}

.admin-status-change-summary article {
    display: grid;
    gap: 7px;
    justify-items: center;
    padding: 14px 16px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.34);
}

.admin-status-change-summary span,
.admin-status-amount-field span,
.admin-status-outcome-field span,
.admin-status-note-field span {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(251, 191, 36, 0.14);
    color: #fbbf24;
    font-size: 15px;
    font-weight: 950;
}

.admin-status-badge[data-status="approved"],
.admin-status-badge[data-status="corrected_approved"] {
    background: rgba(34, 197, 94, 0.15);
    color: #4ade80;
}

.admin-status-badge[data-status="failed"],
.admin-status-badge[data-status="expired"],
.admin-status-badge[data-status="cancelled"] {
    background: rgba(239, 68, 68, 0.16);
    color: #f87171;
}

.admin-status-requested-amount {
    color: var(--text-main);
    font-size: 23px;
    font-weight: 950;
}

.admin-status-amount-field,
.admin-status-outcome-field,
.admin-status-note-field {
    display: grid;
    gap: 8px;
    width: min(100%, 440px);
}

.admin-status-amount-field input,
.admin-status-outcome-field select,
.admin-status-note-field input {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

.admin-status-amount-field input {
    min-height: 56px;
    color: var(--text-main);
    font-size: 28px;
    font-weight: 950;
}

.admin-status-amount-field input.admin-status-amount-changed {
    border-color: rgba(251, 146, 60, 0.78);
    box-shadow: 0 0 0 3px rgba(251, 146, 60, 0.14);
}

.admin-status-amount-warning {
    width: min(100%, 440px);
    margin: -4px 0 0;
    padding: 10px 14px;
    border: 1px solid rgba(251, 146, 60, 0.5);
    border-radius: 9px;
    background: rgba(251, 146, 60, 0.14);
    color: #fed7aa;
    font-size: 13px;
    font-weight: 900;
}

.admin-status-callback-suppress {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: min(100%, 560px);
    padding: 12px 14px;
    box-sizing: border-box;
    border: 1px solid rgba(251, 146, 60, 0.72);
    background: rgba(154, 52, 18, 0.2);
    color: #fed7aa;
    font-weight: 700;
    text-align: center;
}

.admin-status-callback-suppress input {
    width: 18px;
    height: 18px;
    accent-color: #f97316;
}

.admin-status-outcome-field select {
    min-height: 52px;
    color: var(--text-main);
    font-size: 17px;
    font-weight: 900;
}

.admin-status-note-field input {
    min-height: 46px;
}

.admin-status-flow-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: min(100%, 440px);
}

.admin-status-flow-actions button {
    min-height: 54px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 950;
}

.admin-status-success-button {
    border: 1px solid rgba(34, 197, 94, 0.72);
    background: rgba(34, 197, 94, 0.18);
    color: #86efac;
}

.admin-status-success-button:hover {
    background: rgba(34, 197, 94, 0.28);
}

.admin-status-failed-button {
    border: 1px solid rgba(239, 68, 68, 0.72);
    background: rgba(239, 68, 68, 0.16);
    color: #fca5a5;
}

.admin-status-failed-button:hover {
    background: rgba(239, 68, 68, 0.26);
}

.admin-status-actions {
    justify-content: center;
}

.admin-status-success-confirm-modal .site-modal-panel,
.admin-status-failure-modal .site-modal-panel {
    width: min(520px, 100%);
}

.admin-status-confirm-body,
.admin-status-failure-body {
    display: grid;
    gap: 14px;
    text-align: center;
}

.admin-status-confirm-body p {
    margin: 0;
    padding: 18px;
    border: 1px solid rgba(34, 197, 94, 0.28);
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.1);
    color: var(--text-main);
    font-size: 17px;
    font-weight: 900;
    line-height: 1.5;
}

.admin-status-failure-body label {
    display: grid;
    gap: 8px;
    text-align: left;
}

.admin-status-failure-body span {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-status-failure-body select,
.admin-status-failure-body input {
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
}

.admin-status-confirm-actions {
    justify-content: center;
}

#status-change-modal[data-department-scoped="1"] .site-modal-panel {
    width: min(900px, calc(100vw - 48px));
    max-height: min(94vh, 760px);
    padding: 22px;
}

#status-change-modal[data-department-scoped="1"] .site-modal-header {
    margin-bottom: 16px;
}

#status-change-modal[data-department-scoped="1"] .site-modal-header h2 {
    font-size: 24px;
}

#status-change-modal[data-department-scoped="1"] .status-change-form {
    gap: 14px;
}

@media (max-width: 560px) {
    .admin-status-flow-actions {
        grid-template-columns: 1fr;
    }
}

.status-change-form input[readonly],
.withdrawal-assignment-form input[readonly] {
    color: rgba(232, 240, 255, 0.74);
    cursor: not-allowed;
    opacity: 0.78;
}

.status-change-bank-details {
    margin-top: 14px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 12px;
    background: rgba(2, 6, 23, 0.24);
    overflow: hidden;
}

.status-change-bank-details > summary {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 12px 14px;
    color: var(--text-main);
    font-size: 13px;
    font-weight: 900;
    list-style: none;
    text-transform: uppercase;
}

.status-change-bank-details > summary::-webkit-details-marker {
    display: none;
}

.status-change-bank-details > summary::before {
    content: "+";
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.16);
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 900;
}

.status-change-bank-details[open] > summary::before {
    content: "-";
}

.status-change-bank-details .deposit-bank-account-change-form {
    padding: 0 14px 14px;
}

.department-deposit-approval {
    display: grid;
    gap: 14px;
    justify-items: center;
    padding: 4px 0 0;
}

.department-deposit-summary {
    display: grid;
    gap: 10px;
    width: min(100%, 420px);
    text-align: center;
}

.department-deposit-summary article {
    padding: 11px 14px;
    border: 1px solid rgba(127, 179, 213, 0.22);
    border-radius: 8px;
    background: rgba(127, 179, 213, 0.08);
}

.department-deposit-summary span,
.department-deposit-amount-change span {
    display: block;
    margin-bottom: 6px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.department-deposit-summary strong {
    color: var(--text-main);
    font-size: 17px;
}

.department-deposit-amount-change {
    width: min(100%, 420px);
    text-align: center;
}

.department-deposit-amount-change input {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

.department-deposit-warning {
    width: min(100%, 420px);
    min-height: 42px;
    margin: -4px 0 0;
    padding: 10px 14px;
    border: 1px solid rgba(251, 146, 60, 0.5);
    border-radius: 8px;
    background: rgba(251, 146, 60, 0.14);
    color: #fed7aa;
    font-weight: 900;
    text-align: center;
    box-sizing: border-box;
}

.department-deposit-warning[hidden] {
    display: block;
    visibility: hidden;
}

body.theme-light .department-deposit-warning {
    color: #9a3412;
}

.department-deposit-actions {
    justify-content: center;
}

.department-deposit-approve-button,
.department-deposit-cancel-button {
    min-height: 44px;
    padding: 0 24px;
    border: 0;
    border-radius: 8px;
    color: #ffffff;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.department-deposit-approve-button {
    background: #16a34a;
}

.department-deposit-approve-button:hover {
    background: #15803d;
}

.department-deposit-cancel-button {
    background: #dc2626;
}

.department-deposit-cancel-button:hover {
    background: #b91c1c;
}

.department-deposit-confirm-modal .site-modal-panel {
    max-width: 460px;
}

.department-deposit-confirm-body {
    display: grid;
    gap: 14px;
    text-align: center;
}

.department-deposit-confirm-body article {
    padding: 14px 16px;
    border: 1px solid rgba(127, 179, 213, 0.22);
    border-radius: 8px;
    background: rgba(127, 179, 213, 0.08);
}

.department-deposit-confirm-body span {
    display: block;
    margin-bottom: 6px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.department-deposit-confirm-body strong {
    color: var(--text-main);
    font-size: 18px;
}

.department-deposit-confirm-body p {
    margin: 4px 0 0;
    color: var(--text-main);
    font-size: 17px;
    font-weight: 900;
}

.department-deposit-confirm-actions {
    justify-content: center;
}

.department-deposit-confirm-approve,
.department-deposit-confirm-cancel {
    min-height: 44px;
    padding: 0 22px;
    border: 0;
    border-radius: 8px;
    color: #ffffff;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.department-deposit-confirm-approve {
    background: #16a34a;
}

.department-deposit-confirm-approve:hover {
    background: #15803d;
}

.department-deposit-confirm-cancel {
    background: #dc2626;
}

.department-deposit-confirm-cancel:hover {
    background: #b91c1c;
}

.withdrawal-assignment-fieldset {
    grid-column: 1 / -1;
}

.withdrawal-assignment-list {
    counter-reset: withdrawal-assignment;
    display: grid;
    gap: 12px;
    grid-column: 1 / -1;
}

.withdrawal-assignment-row {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: 42px minmax(0, 1.35fr) minmax(0, 1fr) auto;
}

.withdrawal-assignment-row::before {
    align-items: center;
    align-self: stretch;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid var(--sidebar-border);
    border-radius: 14px;
    color: var(--text-primary);
    content: counter(withdrawal-assignment) ".";
    counter-increment: withdrawal-assignment;
    display: flex;
    font-size: 18px;
    font-weight: 900;
    justify-content: center;
    min-height: 48px;
}

.assignment-add-button {
    justify-self: start;
}

.assignment-remove-button {
    white-space: nowrap;
}

.withdrawal-manage-panel {
    max-height: 92vh;
    max-width: min(1180px, calc(100vw - 36px));
    overflow: auto;
    width: min(1180px, calc(100vw - 36px));
}

.withdrawal-manage-header {
    align-items: flex-start;
    gap: 18px;
}

.withdrawal-manage-header p {
    color: var(--text-muted);
    margin: 6px 0 0;
}

.withdrawal-manage-summary {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
}

.withdrawal-manage-summary article,
.withdrawal-manage-card,
.withdrawal-assignment-balance {
    background: rgba(255, 255, 255, 0.055);
    border: 1px solid var(--sidebar-border);
    border-radius: 18px;
}

.withdrawal-manage-summary article {
    padding: 16px;
}

.withdrawal-manage-summary span,
.withdrawal-assignment-balance span {
    color: var(--text-muted);
    display: block;
    font-size: 13px;
}

.withdrawal-manage-summary strong {
    display: block;
    font-size: 22px;
    margin-top: 6px;
}

.withdrawal-manage-summary [data-withdrawal-manage-total] {
    color: #ffffff;
}

.withdrawal-manage-summary [data-withdrawal-manage-assigned] {
    color: #38bdf8;
}

.withdrawal-manage-summary [data-withdrawal-manage-paid] {
    color: #22c55e;
}

.withdrawal-manage-summary [data-withdrawal-manage-waiting] {
    color: #f97316;
}

.withdrawal-manage-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.withdrawal-assignment-choice {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 18px;
}

.withdrawal-assignment-choice[hidden],
.withdrawal-manage-card[hidden] {
    display: none !important;
}

.withdrawal-assignment-choice-button {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.18), rgba(14, 165, 233, 0.16));
    border: 1px solid rgba(125, 211, 252, 0.3);
    border-radius: 22px;
    color: var(--text-strong);
    cursor: pointer;
    display: grid;
    gap: 8px;
    justify-items: center;
    min-height: 128px;
    padding: 24px;
    text-align: center;
}

.withdrawal-assignment-choice-button[data-show-withdrawal-assignment="direct"] {
    background: linear-gradient(135deg, rgba(22, 163, 74, 0.26), rgba(5, 150, 105, 0.14));
    border-color: rgba(74, 222, 128, 0.42);
}

.withdrawal-assignment-choice-button[data-show-withdrawal-assignment="partial"] {
    background: linear-gradient(135deg, rgba(234, 88, 12, 0.26), rgba(245, 158, 11, 0.14));
    border-color: rgba(251, 146, 60, 0.46);
}

.withdrawal-assignment-choice-button strong {
    font-size: 22px;
    font-weight: 900;
}

.withdrawal-assignment-choice-button span {
    color: var(--text-muted);
    font-weight: 800;
    line-height: 1.45;
}

.withdrawal-manage-card {
    display: grid;
    gap: 14px;
    padding: 18px;
}

.withdrawal-manage-card h3 {
    margin: 0;
}

.withdrawal-active-assignments-list {
    display: grid;
    gap: 12px;
}

.withdrawal-active-assignment-item {
    align-items: center;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 16px;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 14px 16px;
}

.withdrawal-active-assignment-actions {
    align-items: flex-end;
    display: grid;
    gap: 10px;
    justify-items: flex-end;
}

.withdrawal-assignment-item-cancel-button {
    min-width: 180px;
}

.withdrawal-active-assignment-item div {
    display: grid;
    gap: 4px;
}

.withdrawal-active-assignment-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
}

.withdrawal-active-assignment-item span {
    color: var(--text-muted);
    font-size: 13px;
}

.withdrawal-receipts-card {
    grid-column: 1 / -1;
}

.withdrawal-paid-problem-card {
    grid-column: 1 / -1;
    border-color: rgba(248, 113, 113, 0.36);
    background:
        linear-gradient(135deg, rgba(127, 29, 29, 0.26), rgba(15, 23, 42, 0.22)),
        rgba(255, 255, 255, 0.055);
}

.withdrawal-paid-problem-header {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.withdrawal-paid-problem-header h3 {
    margin-top: 4px;
}

.withdrawal-paid-problem-summary {
    display: grid;
    gap: 12px;
    grid-template-columns: 1.1fr 1.6fr 0.8fr;
}

.withdrawal-paid-problem-summary article {
    background: rgba(15, 23, 42, 0.44);
    border: 1px solid rgba(248, 113, 113, 0.18);
    border-radius: 14px;
    display: grid;
    gap: 6px;
    padding: 14px;
}

.withdrawal-paid-problem-summary span {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.withdrawal-paid-problem-summary strong {
    color: var(--text-primary);
    font-size: 16px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.withdrawal-payment-problem-open-button {
    justify-self: flex-start;
}

.withdrawal-payment-problem-panel textarea {
    min-height: 112px;
    resize: vertical;
}

.withdrawal-payment-problem-preview {
    border-color: rgba(248, 113, 113, 0.24);
}

.withdrawal-receipts-card-header {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.withdrawal-receipts-card-header p {
    margin: 4px 0 0;
}

.withdrawal-receipts-panel {
    max-width: 760px;
}

.withdrawal-receipts-list {
    display: grid;
    gap: 12px;
}

.withdrawal-receipt-item {
    align-items: center;
    background: rgba(15, 23, 42, 0.52);
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 14px;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 14px 16px;
}

.withdrawal-receipt-meta {
    display: grid;
    gap: 4px;
}

.withdrawal-receipt-meta strong {
    color: var(--text-primary);
    font-size: 16px;
}

.withdrawal-receipt-meta span {
    color: var(--text-muted);
    font-size: 13px;
}

.withdrawal-assignment-cancel-form,
.withdrawal-status-cancel-form {
    justify-self: center;
    max-width: 560px;
    width: 100%;
}

.withdrawal-manage-card p {
    color: var(--text-muted);
    margin: -6px 0 0;
}

.direct-withdrawal-assignment-form {
    grid-column: 1 / -1;
    justify-self: center;
    max-width: 860px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: end;
    text-align: left;
    width: 100%;
}

.direct-assignment-amount-display {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    gap: 10px;
    min-height: 50px;
    padding: 4px 2px 8px;
}

.direct-assignment-amount-display > span,
.direct-assignment-amount-display small {
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 800;
}

.direct-assignment-amount-display strong {
    color: var(--text-primary);
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 950;
    letter-spacing: 0;
}

.direct-assignment-department,
.direct-assignment-note {
    justify-self: stretch;
    max-width: none;
    width: 100%;
}

.direct-withdrawal-assignment-form .direct-assignment-department,
.direct-withdrawal-assignment-form .direct-assignment-note {
    padding: 14px;
}

.direct-withdrawal-assignment-form .direct-assignment-department label,
.direct-withdrawal-assignment-form .direct-assignment-note label {
    grid-column: 1 / -1;
}

.direct-assignment-department select {
    font-size: 16px;
    min-height: 50px;
}

.direct-assignment-note input {
    min-height: 50px;
}

.direct-assignment-submit {
    background: linear-gradient(135deg, #16a34a, #15803d);
    border-color: #16a34a;
    min-height: 50px;
    min-width: 170px;
}

.direct-withdrawal-assignment-form .site-modal-actions {
    grid-column: 1 / -1;
    margin-top: 2px;
}

@media (max-width: 700px) {
    .direct-withdrawal-assignment-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .direct-assignment-amount-display {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .direct-assignment-submit {
        width: 100%;
    }
}

.withdrawal-partial-assignment-form {
    grid-column: 1 / -1;
}

.withdrawal-partial-assignment-form .withdrawal-assignment-row label:first-of-type {
    text-align: left;
}

.withdrawal-partial-assignment-form .withdrawal-assignment-row select {
    min-height: 52px;
}

.withdrawal-assignment-balance {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 18px 20px;
    text-align: center;
}

.withdrawal-assignment-balance strong {
    display: block;
    font-size: 30px;
    margin-top: 6px;
}

.withdrawal-assignment-balance span:first-child strong {
    color: #22c55e;
}

.withdrawal-assignment-balance span:last-child strong {
    color: #ef4444;
}

.partial-assignment-note {
    justify-self: center;
    max-width: 420px;
    width: 100%;
}

.partial-assignment-note input {
    min-height: 42px;
}

.withdrawal-manual-complete-button,
.withdrawal-cancel-button {
    background: linear-gradient(135deg, #dc2626, #991b1b);
    border: 0;
    border-radius: 18px;
    color: #ffffff;
    cursor: pointer;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0.01em;
    margin-top: 18px;
    padding: 18px 22px;
    width: 100%;
}

.withdrawal-manual-complete-button[hidden],
.withdrawal-cancel-button[hidden] {
    display: none !important;
}

.withdrawal-cancel-button {
    display: none !important;
}

.withdrawal-result-panel {
    max-width: min(720px, calc(100vw - 36px));
    width: min(720px, calc(100vw - 36px));
}

#withdrawal-result-detail-modal {
    padding: 12px;
}

#withdrawal-result-detail-modal .withdrawal-result-panel {
    width: min(1120px, calc(100vw - 24px));
    max-width: min(1120px, calc(100vw - 24px));
    max-height: min(96vh, 980px);
    padding: 20px;
}

#withdrawal-result-detail-modal .site-modal-header {
    margin-bottom: 14px;
}

#withdrawal-result-detail-modal .site-modal-header h2 {
    font-size: 24px;
}

#withdrawal-result-detail-modal .withdrawal-result-form {
    gap: 12px;
    grid-template-columns: minmax(300px, 0.85fr) minmax(420px, 1.15fr);
}

#withdrawal-result-detail-modal .withdrawal-result-form fieldset {
    align-self: start;
    gap: 10px;
    margin: 0;
    padding: 14px;
}

#withdrawal-result-detail-modal .withdrawal-result-form label {
    gap: 6px;
}

#withdrawal-result-detail-modal .withdrawal-result-form select,
#withdrawal-result-detail-modal .withdrawal-result-form input {
    min-height: 42px;
}

.withdrawal-account-card-field {
    display: grid;
    gap: 10px;
}

.withdrawal-account-card-title {
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 900;
}

.withdrawal-bridge-payment-notice {
    display: grid;
    gap: 5px;
    padding: 12px 14px;
    border: 1px solid rgba(79, 70, 229, 0.35);
    border-radius: 8px;
    background: rgba(79, 70, 229, 0.08);
    color: var(--text-main);
}

.withdrawal-bridge-payment-notice strong {
    color: #6366f1;
}

.withdrawal-bridge-payment-notice span {
    color: var(--text-muted);
    font-size: 12px;
    line-height: 1.45;
}

.withdrawal-account-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
    gap: 10px;
}

.withdrawal-account-card {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 6px;
    min-height: 120px;
    border: 1px solid rgba(34, 197, 94, 0.42);
    border-radius: 12px;
    background: rgba(22, 163, 74, 0.12);
    color: var(--text-main);
    cursor: pointer;
    font: inherit;
    padding: 16px 10px 12px;
    text-align: center;
    transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.withdrawal-account-card[hidden] {
    display: none !important;
}

.withdrawal-account-card:hover {
    border-color: rgba(251, 146, 60, 0.72);
    background: rgba(251, 146, 60, 0.12);
    transform: translateY(-1px);
}

.withdrawal-account-card.is-passive-account {
    border-color: rgba(239, 68, 68, 0.5);
    background: rgba(239, 68, 68, 0.12);
}

.withdrawal-account-card.is-selected {
    border-color: rgba(251, 146, 60, 0.96);
    background: rgba(251, 146, 60, 0.2);
    box-shadow: 0 0 0 2px rgba(251, 146, 60, 0.18);
}

.withdrawal-account-card strong {
    color: var(--text-main);
    font-size: 14px;
    font-weight: 950;
    line-height: 1.15;
}

.withdrawal-account-card span:not(.withdrawal-account-status) {
    color: var(--text-muted);
    display: -webkit-box;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.25;
    max-width: 100%;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.withdrawal-account-card code {
    color: #ffffff;
    font-family: Consolas, monospace;
    font-size: 13px;
    font-weight: 950;
}

.withdrawal-account-status {
    position: absolute;
    top: 7px;
    right: 7px;
    border-radius: 999px;
    background: rgba(34, 197, 94, 0.22);
    color: #bbf7d0;
    font-size: 10px;
    font-weight: 950;
    padding: 3px 6px;
    text-transform: uppercase;
}

.is-passive-account .withdrawal-account-status {
    background: rgba(239, 68, 68, 0.22);
    color: #fecaca;
}

.withdrawal-payment-target {
    align-self: stretch;
    display: grid;
    gap: 12px;
}

.withdrawal-payment-target article {
    background: rgba(22, 163, 74, 0.13);
    border: 1px solid rgba(34, 197, 94, 0.4);
    border-radius: 14px;
    padding: 16px 18px;
}

.withdrawal-payment-target span {
    color: var(--text-muted);
    display: block;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.withdrawal-payment-target strong {
    color: var(--text-primary);
    display: block;
    font-size: 28px;
    font-weight: 950;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.withdrawal-payment-target article:nth-child(2) strong {
    font-family: Consolas, monospace;
    font-size: 30px;
    letter-spacing: 0.02em;
}

.withdrawal-payment-target article:nth-child(3) strong {
    color: #22c55e;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .withdrawal-result-panel {
    max-width: min(560px, calc(100vw - 28px));
    padding: 22px;
    width: min(560px, calc(100vw - 28px));
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .site-modal-header {
    align-items: flex-start;
    text-align: center;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .site-modal-header > div {
    width: 100%;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .site-modal-header p {
    display: none;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .withdrawal-result-form {
    gap: 14px;
    grid-template-columns: 1fr;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .withdrawal-result-form fieldset {
    padding: 16px;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .withdrawal-result-form fieldset legend {
    display: none;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .withdrawal-payment-target {
    gap: 10px;
    text-align: center;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .withdrawal-payment-target article {
    padding: 18px;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .withdrawal-payment-target strong {
    font-size: 24px;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .withdrawal-payment-target article:nth-child(2) strong {
    font-size: 22px;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .withdrawal-payment-target article:nth-child(3) strong {
    font-size: 28px;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .withdrawal-result-preview {
    display: none;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .withdrawal-result-actions {
    grid-column: auto;
}

#withdrawal-result-detail-modal.withdrawal-result-detail-department .withdrawal-result-actions button {
    background: #16a34a;
    color: #ffffff;
    min-height: 52px;
    width: 100%;
}

#withdrawal-result-detail-modal .withdrawal-result-preview {
    align-self: stretch;
    grid-template-columns: minmax(90px, 0.35fr) minmax(0, 1fr);
    gap: 7px 12px;
    padding: 14px;
}

#withdrawal-result-detail-modal .withdrawal-result-preview span {
    align-self: center;
    font-size: 11px;
}

#withdrawal-result-detail-modal .withdrawal-result-preview strong {
    align-self: center;
    font-size: 17px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

#withdrawal-result-detail-modal .withdrawal-result-actions {
    grid-column: 1 / -1;
}

#withdrawal-result-detail-modal .withdrawal-result-actions button {
    min-height: 46px;
}

.crypto-wallet-create-section {
    margin-bottom: 20px;
}

.crypto-wallet-grid {
    display: grid;
    gap: 18px;
}

.crypto-wallet-card {
    background: rgba(255, 255, 255, 0.055);
    border: 1px solid var(--sidebar-border);
    border-radius: 22px;
    padding: 18px;
}

.crypto-wallet-card > header {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 16px;
}

.crypto-wallet-card h3 {
    margin: 4px 0;
}

.crypto-wallet-card p {
    color: var(--text-muted);
    font-family: Consolas, monospace;
    margin: 0;
    overflow-wrap: anywhere;
}

.crypto-wallet-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 14px;
}

.crypto-wallet-meta span {
    background: rgba(255, 255, 255, 0.065);
    border: 1px solid var(--sidebar-border);
    border-radius: 999px;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 800;
    padding: 8px 12px;
}

.crypto-wallet-meta strong {
    color: var(--text-primary);
}

.withdrawal-result-preview {
    background: rgba(220, 38, 38, 0.12);
    border: 1px solid rgba(248, 113, 113, 0.34);
    border-radius: 18px;
    display: grid;
    gap: 6px;
    padding: 16px;
}

.withdrawal-result-preview span {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.withdrawal-result-preview strong {
    font-size: 22px;
}

.withdrawal-result-actions {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
}

.withdrawal-result-choice-actions {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr;
}

.withdrawal-scoped-result-actions {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 16px;
    padding: 16px;
}

.withdrawal-scoped-result-actions button {
    min-height: 54px;
}

.withdrawal-result-choice-actions button {
    border-radius: 16px;
    font-size: 16px;
    font-weight: 900;
    padding: 18px 22px;
}

.checkbox-field {
    align-items: center;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.checkbox-field input[type="checkbox"] {
    accent-color: #16a34a;
    height: 18px;
    width: 18px;
}

.withdrawal-result-detail-success .site-modal-panel {
    border-color: rgba(22, 163, 74, 0.72);
    box-shadow: 0 24px 70px rgba(22, 163, 74, 0.22);
}

.withdrawal-result-detail-success .site-modal-header h2 {
    color: #3ddc97;
}

.withdrawal-result-detail-success .withdrawal-result-actions .primary-action {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
}

.withdrawal-result-detail-failed .site-modal-panel {
    border-color: rgba(220, 38, 38, 0.72);
    box-shadow: 0 24px 70px rgba(220, 38, 38, 0.22);
}

.withdrawal-result-detail-failed .site-modal-header h2 {
    color: #f87171;
}

[data-withdrawal-result-assignment-field][hidden],
.withdrawal-result-assignment-hidden {
    display: none !important;
}

.danger-action,
.withdrawal-result-failed-button {
    background: #dc2626;
    border: 1px solid #dc2626;
    border-radius: 12px;
    color: #ffffff;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    padding: 12px 18px;
}

.withdrawal-pay-button,
.withdrawal-scoped-result-actions .withdrawal-pay-button,
.withdrawal-scoped-result-actions .withdrawal-result-success-button,
.withdrawal-result-detail-success .withdrawal-result-actions .primary-action {
    background: #16a34a !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
}

.withdrawal-pay-button:hover,
.withdrawal-scoped-result-actions .withdrawal-pay-button:hover,
.withdrawal-scoped-result-actions .withdrawal-result-success-button:hover,
.withdrawal-result-detail-success .withdrawal-result-actions .primary-action:hover {
    background: #15803d !important;
    border-color: #15803d !important;
    color: #ffffff !important;
}

.transaction-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.transaction-detail-grid article {
    padding: 16px;
    border: 1px solid var(--sidebar-border);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.045);
}

.transaction-detail-grid span,
.transaction-detail-grid small {
    display: block;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 800;
}

.transaction-detail-grid strong {
    display: block;
    margin: 7px 0;
    color: var(--text-main);
    font-size: 17px;
}

.transaction-log-list {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.transaction-log-list li {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 16px;
    padding: 16px;
    border: 1px solid var(--sidebar-border);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.045);
}

.transaction-log-list time {
    color: var(--accent-strong);
    font-size: 13px;
    font-weight: 900;
}

.transaction-log-list strong,
.transaction-log-list span {
    display: block;
}

.transaction-log-list strong {
    color: var(--text-main);
    margin-bottom: 5px;
}

.transaction-log-list span {
    color: var(--text-muted);
    font-size: 14px;
}

@media (max-width: 700px) {
    .transactions-header-with-action {
        align-items: stretch;
        flex-direction: column;
    }

    .transactions-header-actions {
        justify-content: flex-start;
    }

    .transaction-detail-grid,
    .withdrawal-assignment-row,
    .withdrawal-assignment-balance,
    .withdrawal-assignment-choice,
    .withdrawal-manage-grid,
    .withdrawal-manage-summary,
    .transaction-log-list li {
        grid-template-columns: 1fr;
    }

    #withdrawal-result-detail-modal .withdrawal-result-form,
    #withdrawal-result-detail-modal .withdrawal-result-preview {
        grid-template-columns: 1fr;
    }
}

.site-status-switch {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 8px;
    letter-spacing: 0.04em;
    min-width: 94px;
    padding: 6px 10px 6px 6px;
    text-transform: uppercase;
}

.site-status-switch-icon {
    align-items: center;
    border-radius: 50%;
    display: inline-flex;
    font-size: 15px;
    height: 24px;
    justify-content: center;
    line-height: 1;
    width: 24px;
}

.site-status-switch.is-active {
    background: rgba(34, 197, 94, 0.16);
    border: 1px solid rgba(34, 197, 94, 0.45);
    color: #86efac;
}

.site-status-switch.is-active .site-status-switch-icon {
    background: #22c55e;
    color: #052e16;
}

.site-status-switch.is-passive {
    background: rgba(239, 68, 68, 0.16);
    border: 1px solid rgba(239, 68, 68, 0.48);
    color: #fca5a5;
}

.site-status-switch.is-passive .site-status-switch-icon {
    background: #ef4444;
    color: #450a0a;
}

.site-status-toggle {
    align-items: center;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 8px;
    letter-spacing: 0.04em;
    min-width: 94px;
    padding: 6px 10px 6px 6px;
    text-transform: uppercase;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.site-status-toggle:hover {
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
    transform: translateY(-1px);
}

.site-status-toggle-icon {
    align-items: center;
    border-radius: 50%;
    display: inline-flex;
    font-size: 15px;
    height: 24px;
    justify-content: center;
    line-height: 1;
    width: 24px;
}

.site-status-toggle.is-active {
    background: rgba(34, 197, 94, 0.16);
    border: 1px solid rgba(34, 197, 94, 0.45);
    color: #86efac;
}

.site-status-toggle.is-active .site-status-toggle-icon {
    background: #22c55e;
    color: #052e16;
}

.site-status-toggle.is-passive {
    background: rgba(239, 68, 68, 0.16);
    border: 1px solid rgba(239, 68, 68, 0.48);
    color: #fca5a5;
}

.site-status-toggle.is-passive .site-status-toggle-icon {
    background: #ef4444;
    color: #450a0a;
}

.settings-option-row {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.settings-option-row strong {
    color: var(--text-main);
    display: block;
    font-size: 18px;
    margin-bottom: 6px;
}

.settings-option-row p {
    margin: 0;
}

.settings-section {
    margin-top: 24px;
}

.settings-alert {
    border: 1px solid rgba(251, 191, 36, 0.45);
    border-radius: 14px;
    background: rgba(251, 191, 36, 0.12);
    color: #fde68a;
    font-weight: 800;
    margin-bottom: 16px;
    padding: 14px 16px;
}

.ui-test-mode-banner {
    border-color: rgba(251, 191, 36, 0.7);
    background: rgba(146, 64, 14, 0.3);
    box-shadow: inset 0 0 0 1px rgba(251, 191, 36, 0.14);
}

.settings-code,
.settings-recovery-codes pre {
    overflow-x: auto;
    border: 1px solid var(--sidebar-border);
    border-radius: 14px;
    background: var(--content-bg);
    color: var(--text-main);
    padding: 16px;
}

.settings-help {
    margin-top: 0;
}

.settings-inline-form {
    align-items: end;
    margin-top: 18px;
}

.settings-inline-form button {
    min-height: 44px;
}

.two-factor-setup-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.two-factor-setup-grid label {
    color: var(--text-muted);
    display: grid;
    font-weight: 800;
    gap: 8px;
}

.two-factor-setup-grid input {
    min-height: 44px;
    border: 1px solid var(--sidebar-border);
    border-radius: 12px;
    background: var(--content-bg);
    color: var(--text-main);
    font: inherit;
    padding: 0 12px;
}

.settings-recovery-codes {
    margin-top: 18px;
}

.settings-recovery-codes strong {
    color: var(--accent-strong);
    display: block;
    margin-bottom: 6px;
}

.theme-mode-toggle.site-status-toggle,
.theme-mode-toggle.site-status-toggle.is-active,
.theme-mode-toggle.site-status-toggle.is-passive {
    background: #ffffff;
    border-color: #c9c9c9;
    color: #1f1f1f;
}

.theme-mode-toggle.site-status-toggle .site-status-toggle-icon {
    background: #dddddd;
    color: #1f1f1f;
}

.site-status-confirm-modal[hidden] {
    display: none;
}

.site-status-confirm-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 22px;
    position: fixed;
    z-index: 1200;
}

.site-status-confirm-backdrop {
    background: rgba(7, 10, 18, 0.72);
    inset: 0;
    position: absolute;
}

.site-status-confirm-panel {
    background: linear-gradient(145deg, rgba(120, 53, 15, 0.98), rgba(180, 83, 9, 0.96));
    border: 1px solid rgba(251, 191, 36, 0.55);
    border-radius: 24px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.45);
    color: #fff7ed;
    max-width: 430px;
    padding: 26px;
    position: relative;
    width: min(100%, 430px);
}

.site-status-confirm-panel h2 {
    font-size: 24px;
    margin: 6px 0 10px;
}

.site-status-confirm-panel p {
    color: #ffedd5;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 22px;
}

.site-status-confirm-panel label {
    color: #ffedd5;
    display: flex;
    flex-direction: column;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    margin: 0 0 14px;
}

.site-status-confirm-panel input,
.site-status-confirm-panel select {
    background: rgba(255, 247, 237, 0.94);
    border: 1px solid rgba(251, 191, 36, 0.65);
    border-radius: 12px;
    box-sizing: border-box;
    color: #431407;
    font: inherit;
    min-height: 44px;
    padding: 0 12px;
}

.site-status-confirm-actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.site-status-confirm-button {
    background: #facc15;
    border: 0;
    border-radius: 999px;
    color: #431407;
    cursor: pointer;
    font-weight: 900;
    padding: 12px 18px;
}

body.theme-light .layout {
    background: linear-gradient(135deg, #ededed, #e8eef4);
}

body.theme-light .content {
    background: var(--content-bg);
}

body.theme-light .top-header {
    background: rgba(255, 250, 242, 0.94);
    border-bottom-color: #c9c9c9;
    box-shadow: 0 10px 28px rgba(96, 80, 54, 0.12);
}

body.theme-light .sidebar-toggle-button {
    background: #e8e8e8;
    border-color: #c9c9c9;
    color: #111111;
}

body.theme-light .top-logout-link {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #991b1b;
}

body.theme-light .summary-card,
body.theme-light .delivery-summary-card,
body.theme-light .role-card {
    background: linear-gradient(145deg, #ffffff, #eef5f8);
}

body.theme-light .secondary-hero,
body.theme-light .today-summary-hero,
body.theme-light .dashboard-hero {
    background: linear-gradient(145deg, #fff6e6, #e5f1f7);
    border-color: #c9c9c9;
    box-shadow: 0 24px 60px rgba(96, 80, 54, 0.14);
}

body.theme-light .transaction-filter-panel,
body.theme-light .transactions-list,
body.theme-light .delivery-listing,
body.theme-light .management-listing,
body.theme-light .sites-filter-panel,
body.theme-light .sites-listing,
body.theme-light .performance-panel,
body.theme-light .staff-coverage-panel,
body.theme-light .department-summary-card,
body.theme-light .department-bank-section,
body.theme-light .content-box,
body.theme-light .dashboard-panel,
body.theme-light .system-status-card,
body.theme-light .account-availability-panel,
body.theme-light .account-availability-card,
body.theme-light .detail-card,
body.theme-light .withdrawal-manage-summary article,
body.theme-light .withdrawal-manage-card,
body.theme-light .withdrawal-assignment-balance,
body.theme-light .crypto-wallet-card {
    background: var(--content-surface);
    border-color: #c9c9c9;
    box-shadow: 0 18px 42px rgba(96, 80, 54, 0.12);
}

body.theme-light .account-availability-stats article,
body.theme-light .account-availability-totals,
body.theme-light .account-availability-money {
    background: rgba(23, 47, 76, 0.04);
    border-color: rgba(40, 64, 86, 0.1);
}

body.theme-light .account-availability-card.is-deposit-closed {
    background: rgba(255, 99, 99, 0.08);
}

body.theme-light .detail-card-pending {
    box-shadow: 0 18px 42px rgba(96, 80, 54, 0.12), 8px 8px 0 rgba(245, 158, 11, 0.22);
}

body.theme-light .detail-card-processing {
    box-shadow: 0 18px 42px rgba(96, 80, 54, 0.12), 8px 8px 0 rgba(59, 130, 246, 0.22);
}

body.theme-light .detail-card-approved {
    box-shadow: 0 18px 42px rgba(96, 80, 54, 0.12), 8px 8px 0 rgba(34, 197, 94, 0.22);
}

body.theme-light .detail-card-failed,
body.theme-light .detail-card-expired {
    box-shadow: 0 18px 42px rgba(96, 80, 54, 0.12), 8px 8px 0 rgba(239, 68, 68, 0.22);
}

body.theme-light .detail-card-cancelled {
    box-shadow: 0 18px 42px rgba(96, 80, 54, 0.12), 8px 8px 0 rgba(104, 115, 134, 0.18);
}

body.theme-light .investments-page .transaction-filter-panel,
body.theme-light .investments-page .transactions-list {
    background:
        radial-gradient(circle at top right, rgba(34, 197, 94, 0.08), transparent 32%),
        var(--content-surface);
}

body.theme-light .withdrawals-page .transaction-filter-panel,
body.theme-light .withdrawals-page .transactions-list {
    background:
        radial-gradient(circle at top right, rgba(239, 68, 68, 0.08), transparent 32%),
        var(--content-surface);
}

body.theme-light .summary-card-investments,
body.theme-light .summary-card-withdrawals,
body.theme-light .summary-card-net,
body.theme-light .summary-card-pending {
    box-shadow: 0 18px 42px rgba(96, 80, 54, 0.12);
}

body.theme-light .filter-field input,
body.theme-light .filter-field select,
body.theme-light .delivery-filter-row input,
body.theme-light .delivery-filter-row select,
body.theme-light .management-filters input,
body.theme-light .management-filters select,
body.theme-light .sites-filter-grid input[type="search"],
body.theme-light .sites-filter-grid select,
body.theme-light .performance-filter-row input,
body.theme-light .performance-filter-row select,
body.theme-light .department-filter-grid input,
body.theme-light .department-filter-grid select {
    background: #fffdf8;
    border-color: #c9c9c9;
}

body.theme-light .secondary-action,
body.theme-light .delivery-tab,
body.theme-light .summary-icon,
body.theme-light .checkbox-filter,
body.theme-light .staff-live-card,
body.theme-light .shift-coverage-row,
body.theme-light .commissioner-child-list article,
body.theme-light .department-bank-grid article,
body.theme-light .transaction-detail-grid article,
body.theme-light .transaction-log-list li,
body.theme-light .performance-card,
body.theme-light .dashboard-site-activity-row,
body.theme-light .dashboard-department-activity-row,
body.theme-light .dashboard-activity-row,
body.theme-light .dashboard-risk-row,
body.theme-light .dashboard-mini-stats div,
body.theme-light .dashboard-balance-list div,
body.theme-light .withdrawal-active-assignment-item,
body.theme-light .crypto-wallet-meta span {
    background: #f4efe5;
    border-color: #c9c9c9;
}

body.theme-light .withdrawal-assignment-choice-button {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(14, 165, 233, 0.08));
    border-color: #bfdbfe;
    color: var(--text-main);
}

body.theme-light .withdrawal-assignment-choice-button[data-show-withdrawal-assignment="direct"] {
    background: linear-gradient(135deg, rgba(22, 163, 74, 0.16), rgba(5, 150, 105, 0.08));
    border-color: #86efac;
}

body.theme-light .withdrawal-assignment-choice-button[data-show-withdrawal-assignment="partial"] {
    background: linear-gradient(135deg, rgba(234, 88, 12, 0.16), rgba(245, 158, 11, 0.09));
    border-color: #fdba74;
}

body.theme-light .withdrawal-manage-summary [data-withdrawal-manage-total] {
    color: #1f1f1f;
}

body.theme-light .transactions-table td,
body.theme-light .delivery-table td,
body.theme-light .management-table td,
body.theme-light .sites-table td {
    background: #fff7ea;
    border-color: #c9c9c9;
}

body.theme-light .transactions-table tbody tr:hover td,
body.theme-light .delivery-table tbody tr:hover td,
body.theme-light .management-table tbody tr:hover td,
body.theme-light .sites-table tbody tr:hover td {
    background: #f2eadc;
}

body.theme-light .site-metric-cash strong {
    color: #1f1f1f;
}

body.theme-light .site-metric-contour strong {
    color: #6d28d9;
}

body.theme-light .site-metric-collateral strong {
    color: #a16207;
}

body.theme-light .bank-account-group,
body.theme-light .bank-account-empty-state {
    background: linear-gradient(180deg, #fffaf1, #f6ecdc);
    border-color: #c9c9c9;
    box-shadow: 0 16px 34px rgba(90, 68, 38, 0.12), inset 0 1px 0 #ffffff;
}

body.theme-light .bank-account-department-card {
    border-color: #c9c9c9;
    background: linear-gradient(180deg, #fffaf1, #f6ecdc);
    box-shadow: 0 12px 28px rgba(90, 68, 38, 0.1), inset 0 1px 0 #ffffff;
}

body.theme-light .bank-account-department-card:hover,
body.theme-light .bank-account-department-card:focus-visible {
    border-color: #b9a98f;
    box-shadow: 0 18px 34px rgba(90, 68, 38, 0.16), inset 0 1px 0 #ffffff;
}

body.theme-light .bank-account-department-card.is-department-active {
    border-color: #86b99a;
    background: linear-gradient(180deg, #effaf1, #dff1e4);
}

body.theme-light .bank-account-department-card.is-department-passive {
    border-color: #d6a0a0;
    background: linear-gradient(180deg, #fff3f1, #f8dfdc);
}

body.theme-light .bank-account-department-statuses .is-zero-active {
    border-color: #c76e6e;
    color: #9f3030;
}

body.theme-light .bank-account-department-limits {
    border-top-color: #c9c9c9;
}

body.theme-light .bank-account-group[open] {
    border-color: #b9a98f;
}

body.theme-light .bank-account-group-summary {
    background: #efe3d0;
}

body.theme-light .bank-account-group[open] .bank-account-group-summary {
    border-bottom-color: #c9c9c9;
}

body.theme-light .bank-account-group-table-wrap {
    background: rgba(255, 255, 255, 0.38);
}

body.theme-light .investments-page .transactions-table tbody tr.transaction-row-pending td,
body.theme-light .withdrawals-page .transactions-table tbody tr.transaction-row-pending td {
    background: #ffedd5;
    border-color: #fdba74;
}

body.theme-light .investments-page .transactions-table tbody tr.transaction-row-approved td,
body.theme-light .withdrawals-page .transactions-table tbody tr.transaction-row-approved td {
    background: #dcfce7;
    border-color: #86efac;
}

body.theme-light .withdrawals-page .transactions-table tbody tr.transaction-row-assigned td {
    background: #dbeafe;
    border-color: #93c5fd;
}

body.theme-light .withdrawals-page .transactions-table tbody tr.transaction-row-partial-paid td {
    background: #e0f2fe;
    border-color: #7dd3fc;
}

body.theme-light .investments-page .transactions-table tbody tr.transaction-row-failed td,
body.theme-light .withdrawals-page .transactions-table tbody tr.transaction-row-failed td {
    background: #fee2e2;
    border-color: #fca5a5;
}

body.theme-light .investments-page .transactions-table tbody tr.transaction-row-pending:hover td,
body.theme-light .withdrawals-page .transactions-table tbody tr.transaction-row-pending:hover td {
    background: #fed7aa;
}

body.theme-light .investments-page .transactions-table tbody tr.transaction-row-approved:hover td,
body.theme-light .withdrawals-page .transactions-table tbody tr.transaction-row-approved:hover td {
    background: #bbf7d0;
}

body.theme-light .withdrawals-page .transactions-table tbody tr.transaction-row-assigned:hover td {
    background: #bfdbfe;
}

body.theme-light .withdrawals-page .transactions-table tbody tr.transaction-row-partial-paid:hover td {
    background: #bae6fd;
}

body.theme-light .investments-page .transactions-table tbody tr.transaction-row-failed:hover td,
body.theme-light .withdrawals-page .transactions-table tbody tr.transaction-row-failed:hover td {
    background: #fecaca;
}

body.theme-light .operation-investments-table tbody tr.transaction-row-pending td {
    background: #fde68a;
    border-color: #f59e0b;
}

body.theme-light .operation-investments-table tbody tr.transaction-row-approved td {
    background: #bbf7d0;
    border-color: #22c55e;
}

body.theme-light .operation-investments-table tbody tr.transaction-row-failed td {
    background: #fecaca;
    border-color: #ef4444;
}

body.theme-light .operation-investments-table tbody tr.transaction-row-pending:hover td {
    background: #fcd34d;
}

body.theme-light .operation-investments-table tbody tr.transaction-row-approved:hover td {
    background: #86efac;
}

body.theme-light .operation-investments-table tbody tr.transaction-row-failed:hover td {
    background: #fca5a5;
}

body.theme-light .operation-withdrawals-table tbody tr.transaction-row-pending td {
    background: #fde68a;
    border-color: #f59e0b;
}

body.theme-light .operation-withdrawals-table tbody tr.transaction-row-assigned td {
    background: #bfdbfe;
    border-color: #3b82f6;
}

body.theme-light .operation-withdrawals-table tbody tr.transaction-row-partial-paid td {
    background: #bae6fd;
    border-color: #0ea5e9;
}

body.theme-light .operation-withdrawals-table tbody tr.transaction-row-approved td {
    background: #bbf7d0;
    border-color: #22c55e;
}

body.theme-light .operation-withdrawals-table tbody tr.transaction-row-failed td {
    background: #fecaca;
    border-color: #ef4444;
}

body.theme-light .operation-withdrawals-table tbody tr.transaction-row-pending:hover td {
    background: #fcd34d;
}

body.theme-light .operation-withdrawals-table tbody tr.transaction-row-assigned:hover td {
    background: #93c5fd;
}

body.theme-light .operation-withdrawals-table tbody tr.transaction-row-partial-paid:hover td {
    background: #7dd3fc;
}

body.theme-light .operation-withdrawals-table tbody tr.transaction-row-approved:hover td {
    background: #86efac;
}

body.theme-light .operation-withdrawals-table tbody tr.transaction-row-failed:hover td {
    background: #fca5a5;
}

body.theme-light .site-status-switch.is-active,
body.theme-light .site-status-toggle.is-active {
    background: #dcfce7;
    border-color: #86efac;
    color: #14532d;
}

body.theme-light .site-status-switch.is-active .site-status-switch-icon,
body.theme-light .site-status-toggle.is-active .site-status-toggle-icon {
    background: #16a34a;
    color: #ffffff;
}

body.theme-light .site-status-switch.is-passive,
body.theme-light .site-status-toggle.is-passive {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #7f1d1d;
}

body.theme-light .departments-table .department-row-retired td {
    background: #eef2f7;
    color: #64748b;
}

body.theme-light .departments-table .department-row-retired .site-status-toggle.is-active,
body.theme-light .departments-table .department-row-retired .site-status-toggle.is-passive {
    background: #e2e8f0;
    border-color: #cbd5e1;
    color: #475569;
}

body.theme-light .department-retired-badge {
    background: #e2e8f0;
    border-color: #cbd5e1;
    color: #475569;
}

body.theme-light .reports-departments-table tr.report-row-retired th,
body.theme-light .reports-departments-table tr.report-row-retired td {
    background: #eef2f7;
    color: #64748b !important;
}

body.theme-light .site-status-switch.is-passive .site-status-switch-icon,
body.theme-light .site-status-toggle.is-passive .site-status-toggle-icon {
    background: #dc2626;
    color: #ffffff;
}

body.theme-light .status-pending {
    background: #fef3c7;
    color: #78350f;
}

body.theme-light .status-processing,
body.theme-light .status-assigned {
    background: #dbeafe;
    color: #1e3a8a;
}

body.theme-light .status-partial-paid {
    background: #e0f2fe;
    color: #075985;
}

body.theme-light .status-approved {
    background: #dcfce7;
    color: #14532d;
}

body.theme-light .status-failed,
body.theme-light .status-expired {
    background: #fee2e2;
    color: #7f1d1d;
}

body.theme-light .status-cancelled {
    background: #dddddd;
    color: #4b5563;
}

body.theme-light .status-active {
    background: #dcfce7;
    color: #14532d;
}

body.theme-light .status-passive {
    background: #fee2e2;
    color: #7f1d1d;
}

body.theme-light .status-suspended {
    background: #fef3c7;
    color: #78350f;
}

body.theme-light .session-state.is-active {
    color: #166534;
}

body.theme-light .session-state.is-passive {
    color: #991b1b;
}

body.theme-light .session-state.is-suspended {
    color: #92400e;
}

body.theme-light .row-actions button {
    background: #ffffff;
    border-color: #cfc2ae;
    color: #334155;
}

body.theme-light .row-actions button:hover {
    background: #2d2d2d;
    border-color: #2d2d2d;
    color: #ffffff;
}

body.theme-light .transaction-actions .withdrawal-manage-button,
body.theme-light .transaction-actions .izoto-payment-button {
    background: #ecfdf5;
    border-color: #16a34a;
    color: #14532d;
}

body.theme-light .transaction-actions .withdrawal-manage-button:hover,
body.theme-light .transaction-actions .izoto-payment-button:hover {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
}

body.theme-light .transaction-actions .deposit-status-change-button {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
}

body.theme-light .transaction-actions .deposit-status-change-button:hover {
    background: #15803d;
    border-color: #15803d;
    color: #ffffff;
}

body.theme-light .shift-coverage-head {
    background: transparent;
    border-color: transparent;
}

body.theme-light .theme-mode-toggle.site-status-toggle,
body.theme-light .theme-mode-toggle.site-status-toggle.is-active,
body.theme-light .theme-mode-toggle.site-status-toggle.is-passive {
    background: #1c1c1c;
    border-color: #3a3a3a;
    color: #f5f5f5;
}

body.theme-light .theme-mode-toggle.site-status-toggle .site-status-toggle-icon {
    background: #3a3a3a;
    color: #f5f5f5;
}

.account-movements-page .sites-listing {
    margin-top: 24px;
}

.account-movement-period-summary {
    display: grid;
    gap: 6px;
    width: min(420px, 100%);
    margin: 22px 0;
    padding: 18px 20px;
    border: 1px solid rgba(34, 197, 94, 0.5);
    border-radius: 12px;
    background: rgba(22, 101, 52, 0.18);
    box-sizing: border-box;
}

.account-movement-period-summary span,
.account-movement-period-summary small {
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 850;
}

.account-movement-period-summary strong {
    color: #86efac;
    font-size: 25px;
    font-weight: 950;
    line-height: 1.1;
}

.account-movements-table th,
.account-movements-table td {
    vertical-align: middle;
}

.account-movement-account-cell {
    min-width: 300px;
}

.account-movement-account-cell strong,
.account-movement-account-cell span,
.account-movement-account-cell small {
    display: block;
}

.account-movement-account-cell strong {
    color: var(--text-main);
    font-size: 15px;
    font-weight: 900;
}

.account-movement-account-cell span {
    margin-top: 5px;
    color: var(--text-main);
    font-size: 14px;
    font-weight: 800;
}

.account-movement-account-cell small {
    margin-top: 5px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 800;
}

.account-movement-total,
.account-movement-count,
.account-movement-detail-amount {
    color: #86efac;
    font-size: 17px;
    font-weight: 950;
    white-space: nowrap;
}

.account-movement-count {
    text-align: center;
}

.account-movements-empty {
    padding: 32px !important;
    color: var(--text-muted);
    text-align: center;
}

.account-movements-modal-panel {
    width: min(1320px, 100%);
    max-height: min(90vh, 1080px);
}

.account-movements-modal-summary {
    margin: 0 0 16px;
    color: var(--text-muted);
    font-weight: 800;
}

.account-movements-modal-filter {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}

.account-movements-modal-filter label {
    display: grid;
    gap: 6px;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 850;
}

.account-movements-modal-filter input {
    min-height: 40px;
    border: 1px solid var(--sidebar-border);
    border-radius: 10px;
    background: var(--content-bg);
    color: var(--text-main);
    font: inherit;
    padding: 0 10px;
}

.account-movements-modal-table-wrap {
    max-height: 68vh;
    overflow: auto;
}

.account-movements-detail-table {
    min-width: 760px;
}

.account-movements-detail-table td:first-child {
    min-width: 320px;
}

.account-movements-detail-table td:last-child {
    min-width: 160px;
    white-space: nowrap;
}

@media (max-width: 700px) {
    .account-movements-modal-filter {
        align-items: stretch;
        flex-direction: column;
    }
}

body.theme-light .account-movement-total,
body.theme-light .account-movement-count,
body.theme-light .account-movement-detail-amount {
    color: #15803d;
}

body.theme-light .account-movement-period-summary {
    border-color: #86efac;
    background: #ecfdf3;
}

body.theme-light .account-movement-period-summary strong {
    color: #166534;
}

/* Light theme needs explicit counterparts for controls and amount colors designed for dark surfaces. */
body.theme-light .top-pending-title {
    color: #1f1f1f;
}

body.theme-light .top-pending-pill {
    border-color: #d97706;
    background: #fff7e6;
    color: #78350f;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

body.theme-light .top-pending-pill strong {
    color: #9a3412;
}

body.theme-light .block-report-open-button {
    border-color: #c2410c;
    background: #fff3e8;
    color: #9a3412;
}

body.theme-light .block-report-open-button:hover {
    border-color: #9a3412;
    background: #c2410c;
    color: #ffffff;
}

body.theme-light .sound-alert-toggle {
    border-color: #b91c1c;
    background: #fff1f2;
    color: #991b1b;
}

body.theme-light .sound-alert-toggle[data-sound-alert-state="on"] {
    border-color: #15803d;
    background: #ecfdf3;
    color: #14532d;
    box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.12);
}

body.theme-light .operation-investments-table td .operation-requested-amount,
body.theme-light .transactions-table td .deposit-requested-amount,
body.theme-light .operation-withdrawal-amount strong,
body.theme-light .department-withdrawal-amount strong {
    color: #1f1f1f;
}

body.theme-light .operation-investments-table td .operation-approved-amount,
body.theme-light .transactions-table td .deposit-approved-amount {
    color: #15803d;
}

body.theme-light .operation-investments-table td.operation-deposit-amounts.deposit-amount-changed .operation-requested-amount,
body.theme-light .transactions-table td.deposit-amount-changed .deposit-requested-amount {
    color: #64748b;
}

.tpay-incoming-page .transaction-filter-panel {
    display: flex;
    align-items: end;
    gap: 12px;
    flex-wrap: wrap;
}
.tpay-incoming-page .filter-grid {
    display: grid;
    grid-template-columns: minmax(160px, 1.3fr) minmax(140px, .8fr) minmax(180px, 1.3fr) minmax(140px, .8fr);
    flex: 1 1 700px;
    min-width: 0;
}
.tpay-incoming-page .filter-field-wide { grid-column: auto; }
.tpay-incoming-page .filter-field { min-width: 0; }
.tpay-incoming-page .filter-field select { width: 100%; min-width: 0; }
.izoto-payment-form, .izoto-payment-form label { display: grid; gap: 10px; }
#izoto-payment-modal, #izoto-payment-modal [data-izoto-confirm] { padding: 12px; grid-template-columns: minmax(0, 1fr); }
.izoto-payment-panel { width: min(920px, 100%); min-width: 0; max-height: calc(100dvh - 32px); overflow-y: auto; }
.izoto-confirm-panel { width: min(580px, 100%); min-width: 0; max-height: calc(100dvh - 32px); overflow-y: auto; }
.izoto-bankhub-name-check-panel { width: min(780px, 100%); }
.izoto-bankhub-name-check-panel .site-modal-actions { display: grid; grid-template-columns: minmax(180px, 1fr) auto minmax(220px, 1.25fr); align-items: stretch; }
.izoto-bankhub-name-check-panel .site-modal-actions button { min-height: 46px; }
.izoto-payment-form > *, .izoto-confirm-panel > *, .izoto-check span { min-width: 0; overflow-wrap: anywhere; }
.izoto-payment-overview { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.7fr); gap: 28px; align-items: center; padding: 16px 0; border-bottom: 1px solid #74747450; }
.izoto-payment-amount { display: grid; gap: 4px; }
.izoto-payment-amount > span, .izoto-payment-recipient dt, .izoto-payment-meta dt { font-size: 12px; opacity: .75; }
.izoto-payment-amount strong { font-size: 28px; line-height: 1.2; }
.izoto-payment-recipient { display: grid; gap: 12px; margin: 0; min-width: 0; }
.izoto-payment-recipient div, .izoto-payment-meta div { min-width: 0; }
.izoto-payment-recipient dd, .izoto-payment-meta dd { margin: 4px 0 0; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.izoto-payment-meta { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 10px 0; }
.izoto-detail-separator { color: var(--text-muted); font-weight: 400; }
.izoto-detail-wide { grid-column: 1 / -1; }
.izoto-auto-pay, .izoto-manual-actions button, .izoto-manual-submit { min-height: 44px; padding: 12px 16px; border: 1px solid transparent; border-radius: 6px; font: inherit; font-weight: 600; color: #fff; cursor: pointer; }
.izoto-auto-pay { background: #15803d; width: 100%; }
.izoto-auto-pay:hover { background: #166534; }
.izoto-split-pay { width: 100%; border-color: #0ea5e9; color: #bae6fd; background: rgba(14, 165, 233, 0.12); }
.izoto-split-pay:hover { background: rgba(14, 165, 233, 0.22); }
.izoto-split-hint { margin: 0; color: var(--text-muted); font-size: 13px; line-height: 1.45; }
.izoto-split-source { margin: 16px 0 4px; padding-top: 14px; border-top: 1px solid #74747450; }
.izoto-manual-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding-top: 18px; margin-top: 8px; border-top: 1px solid #74747450; }
.izoto-manual-actions button, .izoto-manual-submit { background: #b91c1c; }
.izoto-manual-actions button:hover, .izoto-manual-submit:hover { background: #991b1b; }
.izoto-payment-form button:disabled { opacity: .5; cursor: not-allowed; }
.izoto-transfer-description {
    display: grid;
    gap: 7px;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 6px;
    background: rgba(15, 23, 42, .42);
}
.izoto-transfer-description > span {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 800;
}
.izoto-transfer-description small { color: #94a3b8; font-size: 11px; font-weight: 700; }
.izoto-payment-form .izoto-transfer-description input {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid rgba(148, 163, 184, .36);
    border-radius: 5px;
    outline: none;
    background: #101820;
    color: #f8fafc;
    font: inherit;
    color-scheme: dark;
}
.izoto-payment-form .izoto-transfer-description input::placeholder { color: #64748b; }
.izoto-payment-form .izoto-transfer-description input:focus {
    border-color: #38bdf8;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, .16);
}
.izoto-payment-form .izoto-check { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.5; }
.izoto-check input { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 3px; }
.izoto-confirm-panel > label, .izoto-confirm-panel [data-izoto-paid-fields] { margin-block: 14px; }
.izoto-confirm-panel input:not([type=checkbox]), .izoto-confirm-panel select, .izoto-confirm-panel textarea { box-sizing: border-box; width: 100%; min-width: 0; min-height: 42px; padding: 10px; border: 1px solid #74747480; border-radius: 6px; background: #15191e; color: #f8fafc; font: inherit; color-scheme: dark; }
.izoto-confirm-panel select option { background: #15191e; color: #f8fafc; }
.izoto-result-warning { padding: 12px; border-left: 3px solid #dc2626; background: #dc262610; font-size: 13px; line-height: 1.5; }
.izoto-payment-form [role=alert] { color: #ef4444; font-size: 13px; overflow-wrap: anywhere; margin: 0; }
.izoto-payment-form [role=alert]:empty { display: none; }
@media (max-width: 720px) { .izoto-payment-overview, .izoto-manual-actions { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 720px) { .izoto-bankhub-name-check-panel .site-modal-actions { grid-template-columns: minmax(0, 1fr); } }
.izoto-payment-form textarea { width: 100%; min-height: 80px; }
.izoto-payment-form [data-izoto-manual-fields], .izoto-payment-form [data-izoto-paid-fields] { margin-block: 12px; }
.izoto-candidate-search { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.izoto-candidate-search label { display: grid; gap: 6px; min-width: 0; flex: 1; }
.izoto-payment-button { cursor: pointer; }
.izoto-transfer-header {
    align-items: end;
}

.izoto-transfer-header .izoto-transfer-create-button {
    min-width: 128px;
    background: #15803d;
    border-color: #22c55e;
    color: #ffffff;
}

.izoto-transfer-header .izoto-transfer-create-button:hover {
    background: #166534;
    border-color: #4ade80;
}

.izoto-transfer-summary {
    display: grid;
    grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-bottom: 18px;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 8px;
    background: rgba(255, 255, 255, .018);
}

.izoto-transfer-summary > div {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 16px 20px;
    border-right: 1px solid rgba(148, 163, 184, .18);
}

.izoto-transfer-summary > div:last-child {
    border-right: 0;
}

.izoto-transfer-summary span {
    color: #94a3b8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.izoto-transfer-summary strong {
    color: #f8fafc;
    font-size: 17px;
    font-weight: 900;
    white-space: nowrap;
}

.izoto-transfer-summary > div:nth-child(4) strong {
    color: #4ade80;
}

.izoto-transfer-summary .is-problem strong {
    color: #fb7185;
}

.izoto-transfer-list .transactions-list-header {
    margin-bottom: 12px;
}

.izoto-transfer-list .transactions-list-header > div {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.izoto-transfer-list .transactions-list-header .eyebrow {
    color: #94a3b8;
}

.izoto-transfer-list .transactions-list-header h2 {
    color: #f8fafc;
    font-size: 16px;
}

.izoto-transfer-table {
    min-width: 1080px;
    border-collapse: separate;
    border-spacing: 0 8px;
}

.izoto-transfer-table thead th {
    border: 0;
    color: #94a3b8;
    font-size: 11px;
    letter-spacing: .035em;
}

.izoto-transfer-table tbody td {
    padding: 14px;
    background: rgba(30, 41, 59, .42);
    border-top: 1px solid rgba(100, 116, 139, .34);
    border-bottom: 1px solid rgba(100, 116, 139, .34);
}

.izoto-transfer-table tbody td:first-child {
    border-left: 1px solid rgba(100, 116, 139, .34);
    border-radius: 8px 0 0 8px;
}

.izoto-transfer-table tbody td:last-child {
    border-right: 1px solid rgba(100, 116, 139, .34);
    border-radius: 0 8px 8px 0;
}

.izoto-transfer-table tbody tr.izoto-transfer-row-completed td {
    background: rgba(20, 83, 45, .22);
    border-color: rgba(34, 197, 94, .28);
}

.izoto-transfer-table tbody tr.izoto-transfer-row-awaiting_sms td {
    background: rgba(76, 20, 37, .38);
    border-color: rgba(190, 24, 93, .46);
}

.izoto-transfer-table tbody tr.izoto-transfer-row-submission_unknown td,
.izoto-transfer-table tbody tr.izoto-transfer-row-failed td {
    background: rgba(69, 33, 31, .45);
    border-color: rgba(239, 68, 68, .42);
}

.izoto-transfer-account {
    display: grid;
    gap: 3px;
    min-width: 205px;
}

.izoto-transfer-account strong {
    color: #f8fafc;
    font-size: 14px;
    font-weight: 900;
}

.izoto-transfer-account span {
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 750;
}

.izoto-transfer-account code {
    color: #93c5fd;
    font-size: 11px;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.izoto-transfer-target {
    position: relative;
    padding-left: 22px;
}

.izoto-transfer-target::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 12px;
    height: 1px;
    background: #64748b;
    content: "";
}

.izoto-transfer-target::after {
    position: absolute;
    top: calc(50% - 3px);
    left: 8px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #64748b;
    border-right: 1px solid #64748b;
    content: "";
    transform: rotate(45deg);
}

.izoto-transfer-account small {
    color: #a5f3fc;
    font-size: 11px;
    font-weight: 750;
}

.izoto-transfer-amount strong {
    color: #f8fafc;
    font-size: 17px;
    font-weight: 900;
    white-space: nowrap;
}

.izoto-transfer-status {
    min-width: 225px;
}

.izoto-transfer-status .status-pill {
    display: inline-flex;
    margin-bottom: 5px;
}

.izoto-transfer-status > small {
    display: -webkit-box;
    max-width: 330px;
    overflow: hidden;
    color: #fecaca;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.izoto-transfer-date strong,
.izoto-transfer-date span {
    display: block;
    white-space: nowrap;
}

.izoto-transfer-date strong {
    color: #f8fafc;
    font-size: 12px;
}

.izoto-transfer-date span {
    margin-top: 4px;
    color: #94a3b8;
    font-size: 11px;
}

.izoto-transfer-operator {
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

@media (max-width: 980px) {
    .izoto-transfer-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .izoto-transfer-summary > div:nth-child(2n) {
        border-right: 0;
    }
    .izoto-transfer-summary > div:nth-child(-n + 3) {
        border-bottom: 1px solid rgba(148, 163, 184, .18);
    }
}
.transaction-actions .izoto-withdrawal-receipts-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 78px;
    min-height: 36px;
    margin-top: 6px;
    padding: 0 12px;
    background: transparent;
    border-color: #166534;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    box-shadow: none;
}
.transaction-actions .izoto-withdrawal-receipts-button:hover {
    background: rgba(22, 101, 52, .22);
    border-color: #22c55e;
    color: #ffffff;
}
.izoto-payment-button.izoto-auto-paying, .izoto-auto-pay.izoto-auto-paying { background: #7e22ce; border-color: #7e22ce; color: #fff; }
.izoto-payment-button.izoto-auto-paying:hover { background: #6b21a8; }
.withdrawals-page .transactions-table tbody tr.izoto-auto-paying-row td { background: #54263f; border-bottom-color: #b65684; }
.withdrawals-page .transactions-table tbody tr.izoto-auto-paying-row:hover td { background: #6a304f; }
.withdrawals-page .transactions-table tbody tr.izoto-payment-waiting-row td { background: #493719; border-bottom-color: #9c7727; }
.withdrawals-page .transactions-table tbody tr.izoto-payment-waiting-row:hover td { background: #5d4820; }
.withdrawals-page .transactions-table tbody tr.izoto-account-waiting-row td { background: #1d3c61; border-bottom-color: #4587bd; }
.withdrawals-page .transactions-table tbody tr.izoto-account-waiting-row:hover td { background: #274e78; }
.withdrawals-page .transactions-table tbody tr.izoto-sms-approval-row td { background: #4c1425; border-bottom-color: #a82d55; }
.withdrawals-page .transactions-table tbody tr.izoto-sms-approval-row:hover td { background: #651c32; }
.status-sms-approval { background: #7f1d3d; border-color: #d14972; color: #ffe4ec; }
.izoto-sms-approve-button, .izoto-bankhub-retry-button, .izoto-bankhub-name-check-button { display: block; width: 100%; margin-top: 6px; }
.izoto-sms-approve-button { background: #8d1b3d; border-color: #c73562; color: #fff; }
.izoto-sms-approve-button:hover { background: #aa2149; }
.izoto-bankhub-retry-button, .izoto-bankhub-name-check-button { background: #6d1939; border-color: #b94770; color: #fff1f4; }
.izoto-bankhub-retry-button:hover, .izoto-bankhub-name-check-button:hover { background: #872247; }
.izoto-bankhub-call-retry-button { display: block; width: 100%; margin-top: 6px; background: #166534; border-color: #22c55e; color: #ffffff; }
.izoto-bankhub-call-retry-button:hover { background: #15803d; }
.izoto-sms-countdown { display: block; margin-top: 5px; color: #ffb6cb; font-size: 0.75rem; font-weight: 700; white-space: nowrap; }
.izoto-sms-countdown.is-expired { color: #ff8d8d; }
.status-account-waiting { background: #9d174d; border-color: #f472b6; color: #fff1f2; }
.izoto-account-waiting-cancel { margin-left: 6px; }
.withdrawals-page .transactions-table tbody tr.izoto-submission-unknown-row td { background: #45211f; border-bottom-color: #a84e46; }
.withdrawals-page .transactions-table tbody tr.izoto-submission-unknown-row:hover td { background: #5e2c28; }
.withdrawals-page .transactions-table tbody tr.izoto-bankhub-problem-row td { background: #552021; border-bottom-color: #bd4d52; }
.withdrawals-page .transactions-table tbody tr.izoto-bankhub-problem-row:hover td { background: #6a292b; }
.withdrawals-page .transactions-table tbody tr.izoto-bankhub-action-row td { background: #4c1425; border-bottom-color: #a82d55; }
.withdrawals-page .transactions-table tbody tr.izoto-bankhub-action-row:hover td { background: #651c32; }
.status-bankhub-danger { background: #7f1d1d; border-color: #e05c64; color: #fff1f2; }
.status-bankhub-warning { background: #6b4c16; border-color: #d5a337; color: #fff7df; }
.status-bankhub-waiting { background: #7a2454; border-color: #df74a9; color: #fff1f8; }
.status-bankhub-sms { background: #7f1d3d; border-color: #d14972; color: #ffe4ec; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-auto-paying-row td { background: #f8dce9; border-bottom-color: #e6a5c4; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-auto-paying-row:hover td { background: #f2c9dc; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-payment-waiting-row td { background: #fff2c7; border-bottom-color: #e4bd56; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-payment-waiting-row:hover td { background: #fde8a7; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-account-waiting-row td { background: #ddebfa; border-bottom-color: #9fc2e6; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-account-waiting-row:hover td { background: #c8ddf2; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-sms-approval-row td { background: #fde7ee; border-bottom-color: #ec9eb7; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-sms-approval-row:hover td { background: #f8d4e1; }
body.theme-light .status-sms-approval { background: #f7cad8; border-color: #dc6b91; color: #7f1534; }
body.theme-light .izoto-sms-countdown { color: #9a2347; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-submission-unknown-row td { background: #fee7e5; border-bottom-color: #efb0aa; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-submission-unknown-row:hover td { background: #fbd4cf; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-bankhub-problem-row td { background: #fee8e8; border-bottom-color: #e9a5a8; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-bankhub-problem-row:hover td { background: #fbd7d8; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-bankhub-action-row td { background: #fde7ee; border-bottom-color: #ec9eb7; }
body.theme-light .withdrawals-page .transactions-table tbody tr.izoto-bankhub-action-row:hover td { background: #f8d4e1; }
body.theme-light .status-bankhub-danger { background: #fee2e2; border-color: #df8585; color: #8a1f25; }
body.theme-light .status-bankhub-warning { background: #fff0c9; border-color: #dfb55d; color: #754a00; }
body.theme-light .status-bankhub-waiting { background: #fce1ed; border-color: #dd8db2; color: #861a4e; }
body.theme-light .status-bankhub-sms { background: #f7cad8; border-color: #dc6b91; color: #7f1534; }
@media (max-width: 800px) {
    .tpay-incoming-page .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); flex-basis: 100%; }
}
@media (max-width: 480px) {
    .tpay-incoming-page .filter-grid { grid-template-columns: minmax(0, 1fr); }
}
.izoto-bank-eligibility {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 800;
    vertical-align: middle;
}

.izoto-bank-line {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
}

.izoto-bank-eligibility-icon {
    display: block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .08);
}

.izoto-bank-eligibility-eligible {
    color: #22c55e;
}

.izoto-bank-eligibility-eligible .izoto-bank-eligibility-icon {
    background: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, .18);
}

.izoto-bank-eligibility-ineligible {
    color: #ef4444;
}

.izoto-bank-eligibility-ineligible .izoto-bank-eligibility-icon {
    background: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .18);
}

.izoto-bank-eligibility-unknown {
    color: var(--text-muted, #94a3b8);
}

.izoto-bank-eligibility-unknown .izoto-bank-eligibility-icon {
    background: #94a3b8;
    box-shadow: 0 0 0 3px rgba(148, 163, 184, .16);
}

.tpay-withdrawal-bank-settings {
    margin: 18px 0;
    padding: 18px;
    border: 1px solid var(--sidebar-border);
    border-radius: 8px;
    background: var(--content-surface);
}

.tpay-withdrawal-bank-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.tpay-withdrawal-bank-header p {
    max-width: 760px;
    margin: 6px 0 0;
    color: var(--text-muted, #94a3b8);
}

.tpay-withdrawal-bank-summary {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid rgba(61, 220, 151, 0.35);
    border-radius: 999px;
    background: rgba(61, 220, 151, 0.1);
    color: #3ddc97;
    white-space: nowrap;
}

.tpay-withdrawal-bank-toolbar {
    display: flex;
    align-items: end;
    gap: 14px;
    margin-top: 18px;
}

.tpay-withdrawal-bank-toolbar .filter-field {
    width: min(360px, 100%);
}

.tpay-withdrawal-bank-hint {
    padding-bottom: 10px;
    color: var(--text-muted, #94a3b8);
    font-size: 12px;
}

.tpay-withdrawal-bank-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.tpay-withdrawal-bank-option {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid var(--sidebar-border);
    border-radius: 6px;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.tpay-withdrawal-bank-option:hover {
    border-color: rgba(61, 220, 151, 0.55);
    background: rgba(255, 255, 255, 0.04);
    transform: translateY(-1px);
}

.tpay-withdrawal-bank-option:has(input:checked) {
    border-color: rgba(61, 220, 151, 0.75);
    background: rgba(61, 220, 151, 0.08);
}

.tpay-withdrawal-bank-option input {
    width: 18px;
    height: 18px;
    accent-color: #16a34a;
}

.tpay-withdrawal-bank-option span {
    display: grid;
    gap: 3px;
}

.tpay-withdrawal-bank-option small {
    color: var(--text-muted, #94a3b8);
}

.tpay-withdrawal-bank-empty {
    margin: 16px 0 0;
    padding: 14px;
    border: 1px dashed rgba(148, 163, 184, 0.45);
    border-radius: 6px;
    color: var(--text-muted, #94a3b8);
}

@media (max-width: 640px) {
    .tpay-withdrawal-bank-header,
    .tpay-withdrawal-bank-toolbar {
        display: grid;
        align-items: stretch;
    }

    .tpay-withdrawal-bank-summary,
    .tpay-withdrawal-bank-toolbar .filter-field {
        width: auto;
    }

    .tpay-withdrawal-bank-hint {
        padding-bottom: 0;
    }
}
.receipt-preview-modal .site-modal-panel {
    width: min(1120px, calc(100vw - 32px));
    max-width: none;
}

.receipt-preview-toolbar,
.receipt-case-attachment-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.receipt-preview-toolbar output {
    min-width: 52px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.receipt-preview-surface {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-height: min(68vh, 760px);
    max-height: 76vh;
    overflow: auto;
    padding: 16px;
    background: #f3f5f7;
    border: 1px solid #d8dde3;
}

.receipt-preview-image,
.receipt-preview-pdf {
    display: block;
    transform-origin: top center;
    transition: transform 120ms ease;
}

.receipt-preview-image {
    max-width: 100%;
    height: auto;
}

.receipt-preview-pdf {
    width: min(900px, 100%);
    height: min(68vh, 740px);
    border: 0;
    background: #fff;
}

.receipt-case-inline-preview {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-height: min(58vh, 640px);
    max-height: min(66vh, 720px);
    overflow: auto;
    padding: 10px;
    background: #f3f5f7;
    border: 1px solid #d8dde3;
}

.receipt-case-inline-preview img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto !important;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
}

.receipt-case-inline-preview iframe {
    width: 100%;
    height: min(62vh, 680px);
    border: 0;
    background: #fff;
}

.receipt-case-modal .site-modal-panel {
    width: min(1800px, calc(100vw - 12px));
    max-width: none;
    max-height: calc(100vh - 48px);
    overflow-x: hidden;
}

.receipt-case-modal.has-receipt-preview .site-modal-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
    gap: 16px 20px;
    align-items: start;
}

.receipt-case-modal.has-receipt-preview .site-modal-header {
    grid-column: 1 / -1;
}

.receipt-case-modal.has-receipt-preview .receipt-case-preview-column {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
}

.receipt-case-modal.has-receipt-preview .receipt-case-form-column {
    grid-column: 2;
    min-width: 0;
}

.receipt-case-support-info {
    display: grid;
    gap: 12px;
}

.receipt-case-modal.has-receipt-preview .receipt-case-support-info {
    grid-column: 1 / -1;
    grid-row: 3;
}

.receipt-case-intake-actions {
    align-self: center;
}

.receipt-case-modal.has-receipt-preview .receipt-case-intake-actions {
    grid-column: 2;
    grid-row: 2;
}

.receipt-case-intake-actions > p {
    margin-top: 0;
}

/* The first receipt decision is intentionally a focused preview, not the two-column review form. */
.receipt-case-intake-modal .site-modal-panel {
    width: min(1120px, calc(100vw - 32px));
}

.receipt-case-intake-modal.has-receipt-preview .site-modal-panel {
    grid-template-columns: minmax(0, 1fr);
}

.receipt-case-intake-modal.has-receipt-preview .site-modal-header,
.receipt-case-intake-modal.has-receipt-preview .receipt-case-preview-column,
.receipt-case-intake-modal.has-receipt-preview .receipt-case-intake-actions {
    grid-column: 1;
    grid-row: auto;
}

.receipt-case-intake-modal .receipt-case-inline-preview {
    min-height: 0;
    max-height: min(30vh, 320px) !important;
}

.receipt-case-intake-modal .receipt-case-inline-preview img {
    width: 100%;
    max-width: 980px;
}

.receipt-case-intake-modal .receipt-case-intake-actions {
    position: sticky;
    bottom: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 0 2px;
    background: var(--content-surface);
}

.receipt-case-intake-modal .receipt-case-intake-actions > p {
    flex: 1 1 100%;
    margin-bottom: 0;
}

.receipt-case-intake-modal .receipt-case-intake-actions .site-modal-actions,
.receipt-case-intake-modal .receipt-case-intake-actions form {
    margin: 0;
}

.receipt-case-entry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.receipt-case-entry-grid .filter-field-wide {
    grid-column: 1 / -1;
}

.receipt-case-form-column .site-modal-actions {
    flex-wrap: wrap;
    gap: 8px;
}

.receipt-case-form-column .site-modal-actions button {
    white-space: normal;
}

.receipt-case-source-info p {
    overflow-wrap: anywhere;
}

.receipt-case-modal.has-receipt-preview .receipt-case-inline-preview {
    min-height: min(64vh, 760px);
    max-height: min(72vh, 820px);
}

.receipt-case-inline-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
}

.receipt-case-inline-toolbar output {
    min-width: 52px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.inline-receipt-media {
    transform-origin: top center;
    transition: transform 120ms ease;
}

@media (max-width: 720px) {
    .receipt-case-modal .site-modal-panel {
        width: calc(100vw - 20px);
        max-height: calc(100vh - 20px);
    }

    .receipt-case-inline-preview {
        min-height: 48vh;
        max-height: 58vh;
    }

    .receipt-case-intake-modal .site-modal-panel {
        width: calc(100vw - 20px);
    }

    .receipt-case-intake-modal .receipt-case-inline-preview {
        max-height: 34vh !important;
    }

    .receipt-case-entry-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .receipt-case-entry-grid .filter-field-wide {
        grid-column: auto;
    }
}

@media (max-width: 900px) {
    .receipt-case-modal.has-receipt-preview .site-modal-panel {
        grid-template-columns: minmax(0, 1fr);
    }

    .receipt-case-modal.has-receipt-preview .site-modal-header,
    .receipt-case-modal.has-receipt-preview .receipt-case-preview-column,
    .receipt-case-modal.has-receipt-preview .receipt-case-form-column,
    .receipt-case-modal.has-receipt-preview .receipt-case-support-info,
    .receipt-case-modal.has-receipt-preview .receipt-case-intake-actions {
        grid-column: 1;
        grid-row: auto;
    }
}

/* N-Pay account linking is a focused operational surface, not a data table. */
.npay-link-workspace,
.npay-orphan-links {
    padding: 22px;
}

.npay-link-heading {
    align-items: flex-start;
    gap: 20px;
}

.npay-link-summary {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.npay-link-summary span,
.npay-orphan-count {
    border: 1px solid var(--border-color);
    color: var(--muted-text);
    font-size: 12px;
    padding: 7px 10px;
}

.npay-link-summary strong,
.npay-orphan-count {
    color: var(--text-color);
}

.npay-account-list,
.npay-orphan-list {
    display: grid;
    gap: 10px;
}

.npay-account-card {
    display: grid;
    grid-template-columns: minmax(260px, 1.25fr) minmax(250px, .9fr) minmax(330px, 1.25fr);
    align-items: center;
    gap: 24px;
    border: 1px solid var(--border-color);
    border-left: 3px solid #64748b;
    border-radius: 6px;
    background: rgba(16, 24, 39, .38);
    min-height: 116px;
    padding: 16px 18px;
}

.npay-account-card.is-linked {
    border-left-color: #16a34a;
}

.npay-account-card.is-unlinked {
    border-left-color: #eab308;
}

.npay-account-identity,
.npay-account-link,
.npay-link-form,
.npay-orphan-row,
.npay-orphan-row > div {
    min-width: 0;
}

.npay-account-identity {
    display: flex;
    align-items: center;
    gap: 13px;
}

.npay-provider-mark {
    align-items: center;
    background: #1d4ed8;
    border: 1px solid #60a5fa;
    border-radius: 50%;
    color: #eff6ff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 15px;
    font-weight: 800;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.npay-account-identity strong,
.npay-link-target strong,
.npay-orphan-row strong {
    display: block;
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.npay-account-identity code,
.npay-link-target code,
.npay-orphan-row code {
    color: #bfdbfe;
    display: block;
    font-size: 12px;
    margin-top: 4px;
    overflow-wrap: anywhere;
}

.npay-account-identity small {
    color: var(--muted-text);
    display: block;
    font-size: 12px;
    margin-top: 5px;
}

.npay-account-metrics {
    border-left: 1px solid var(--border-color);
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-left: 22px;
}

.npay-account-metrics div,
.npay-link-target,
.npay-link-form label,
.npay-orphan-row > div {
    display: grid;
    gap: 4px;
}

.npay-account-metrics span,
.npay-link-target span,
.npay-link-form label > span,
.npay-orphan-row span {
    color: var(--muted-text);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.npay-account-metrics strong {
    color: var(--text-color);
    font-size: 14px;
    white-space: nowrap;
}

.npay-state {
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    padding: 3px 8px;
    width: fit-content;
}

.npay-state.is-ready {
    background: rgba(22, 163, 74, .16);
    color: #4ade80;
}

.npay-state.is-closed {
    background: rgba(239, 68, 68, .14);
    color: #f87171;
}

.npay-account-link {
    align-items: center;
    border-left: 1px solid var(--border-color);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding-left: 22px;
}

.npay-link-target {
    flex: 1 1 auto;
}

.npay-link-target.is-missing strong {
    color: #facc15;
}

.npay-account-link form {
    flex: 0 0 auto;
}

.npay-link-form {
    align-items: end;
    display: grid;
    gap: 9px;
    grid-template-columns: minmax(190px, 1fr) auto;
    width: 100%;
}

.npay-link-form select {
    max-width: 100%;
    min-width: 0;
}

.npay-unlink-action {
    color: #fca5a5;
}

.npay-orphan-links {
    border-left: 3px solid #eab308;
}

.npay-orphan-row {
    align-items: center;
    border-top: 1px solid var(--border-color);
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(200px, .9fr) minmax(230px, 1fr) minmax(260px, 1.7fr) auto;
    padding: 14px 0;
}

.npay-orphan-row:first-child {
    border-top: 0;
}

.npay-orphan-row p {
    color: #fbbf24;
    font-size: 12px;
    line-height: 1.45;
    margin: 0;
    overflow-wrap: anywhere;
}

.npay-overview-page {
    --npay-blue: #5ba7d7;
    --npay-green: #45b984;
    --npay-amber: #e4ae53;
    --npay-red: #dd7272;
}

.npay-overview-page .transactions-header {
    margin-bottom: 20px;
}

.npay-overview-page .transactions-header h1 {
    color: var(--text-color);
}

.npay-overview-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
}

.npay-overview-metric {
    border: 1px solid var(--border-color);
    border-left: 3px solid var(--npay-blue);
    border-radius: 6px;
    background: rgba(16, 24, 39, .38);
    display: grid;
    gap: 7px;
    min-height: 118px;
    padding: 18px;
}

.npay-overview-metric.is-deposit { border-left-color: var(--npay-green); }
.npay-overview-metric.is-review { border-left-color: var(--npay-amber); }
.npay-overview-metric.is-withdrawal { border-left-color: var(--npay-red); }

.npay-overview-metric span,
.npay-overview-flow-grid span {
    color: var(--muted-text);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.npay-overview-metric strong {
    color: var(--text-color);
    font-size: 22px;
    line-height: 1.1;
}

.npay-overview-metric small {
    color: var(--muted-text);
    font-size: 12px;
}

.npay-overview-flow {
    padding: 22px;
}

.npay-overview-flow-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 18px;
}

.npay-overview-flow-grid > div {
    border-left: 1px solid var(--border-color);
    display: grid;
    gap: 8px;
    min-height: 68px;
    padding: 3px 18px;
}

.npay-overview-flow-grid > div:first-child,
.npay-overview-flow-grid > div:nth-child(5) {
    border-left: 0;
}

.npay-overview-flow-grid > div:nth-child(n + 5) {
    border-top: 1px solid var(--border-color);
    margin-top: 16px;
    padding-top: 18px;
}

.npay-overview-flow-grid strong {
    color: var(--text-color);
    font-size: 19px;
}

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

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

    .npay-overview-flow-grid > div:nth-child(odd) {
        border-left: 0;
    }

    .npay-overview-flow-grid > div:nth-child(n + 3) {
        border-top: 1px solid var(--border-color);
        margin-top: 16px;
        padding-top: 18px;
    }

    .npay-account-card {
        grid-template-columns: minmax(240px, 1fr) minmax(280px, 1fr);
    }

    .npay-account-link {
        border-left: 0;
        border-top: 1px solid var(--border-color);
        grid-column: 1 / -1;
        padding: 14px 0 0;
    }

    .npay-orphan-row {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 700px) {
    .npay-overview-grid,
    .npay-overview-flow-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .npay-overview-flow-grid > div,
    .npay-overview-flow-grid > div:nth-child(n + 3) {
        border-left: 0;
        border-top: 1px solid var(--border-color);
        margin-top: 0;
        padding: 16px 0;
    }

    .npay-overview-flow-grid > div:first-child {
        border-top: 0;
        padding-top: 0;
    }

    .npay-link-heading,
    .npay-account-card,
    .npay-account-link,
    .npay-orphan-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .npay-link-summary {
        justify-content: flex-start;
    }

    .npay-account-metrics {
        border-left: 0;
        border-top: 1px solid var(--border-color);
        padding: 14px 0 0;
    }

    .npay-account-link {
        align-items: stretch;
    }

    .npay-link-form {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Keep N-Pay transaction workspaces neutral in both colour modes. These
   rules intentionally live last because the shared transaction theme also
   contains light-mode withdrawal accents. */
body.theme-light .izoto-workspace-npay .top-header {
    background: var(--content-bg);
    box-shadow: none;
}

body.theme-light .npay-withdrawals-page .transaction-filter-panel,
body.theme-light .npay-withdrawals-page .transactions-list,
body.theme-light .npay-withdrawals-page .detail-card,
body.theme-light .npay-requests-page .transaction-filter-panel,
body.theme-light .npay-requests-page .transactions-list,
body.theme-light .npay-requests-page .detail-card {
    background: var(--content-surface);
}
