:root {
    color-scheme: light;
    --bg-primary: #F5F7FB;
    --bg-secondary: #EEF3F8;
    --bg-page-glow: rgba(245, 124, 0, 0.06);
    --surface-primary: #FFFFFF;
    --surface-secondary: #F8FAFC;
    --surface-elevated: rgba(255, 255, 255, 0.88);
    --surface-muted: #F3F6FA;
    --sidebar-bg: #111827;
    --sidebar-bg-elevated: #172033;
    --sidebar-hover: rgba(255, 255, 255, 0.08);
    --sidebar-active: rgba(245, 124, 0, 0.16);
    --sidebar-text: rgba(255, 255, 255, 0.72);
    --sidebar-text-strong: #FFFFFF;
    --topbar-bg: rgba(255, 255, 255, 0.82);
    --border-soft: #E5EAF1;
    --border-subtle: rgba(148, 163, 184, 0.28);
    --border-strong: #D5DCE8;
    --text-primary: #172033;
    --text-secondary: #536176;
    --text-muted: #8A95A8;
    --accent-orange: #F57C00;
    --accent-orange-hover: #E06800;
    --accent-orange-soft: rgba(245, 124, 0, 0.12);
    --accent-blue: #2563EB;
    --accent-blue-soft: rgba(37, 99, 235, 0.11);
    --accent-green: #22C55E;
    --accent-red: #EF4444;
    --shadow-soft: 0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 32px rgba(15, 23, 42, 0.06);
    --shadow-elevated: 0 18px 46px rgba(15, 23, 42, 0.12);
    --shadow-sidebar: 16px 0 42px rgba(15, 23, 42, 0.22);
    --radius-card: 16px;
    --radius-panel: 20px;
    --radius-input: 12px;
    --radius-pill: 999px;
    --transition-soft: 0.2s ease;
    --ltc-navy: var(--text-primary);
    --ltc-navy-light: #263247;
    --ltc-navy-lighter: #344157;
    --ltc-orange: var(--accent-orange);
    --ltc-orange-hover: var(--accent-orange-hover);
    --ltc-orange-light: var(--accent-orange-soft);
    --ltc-white: var(--surface-primary);
    --ltc-gray: var(--text-secondary);
    --ltc-gray-light: var(--surface-muted);
    --ltc-gray-muted: var(--text-muted);
    --ltc-green: var(--accent-green);
    --ltc-red: var(--accent-red);
    --ltc-border: var(--border-soft);
    --ltc-bg: var(--bg-primary);
    --ltc-surface: var(--surface-primary);
    --ltc-surface-muted: var(--surface-secondary);
    --ltc-border-strong: var(--border-strong);
    --ltc-text: var(--text-primary);
    --ltc-text-light: var(--text-secondary);
    --ltc-gray-dark: #374151;
    --ltc-shadow-sm: var(--shadow-soft);
    --ltc-shadow-md: 0 12px 34px rgba(15, 23, 42, 0.09);
    --ltc-shadow-lg: var(--shadow-elevated);
    --ltc-shell-border: var(--border-subtle);
    --sidebar-width: 264px;
    --sidebar-collapsed-width: 64px;
    --transition-speed: 0.25s;
}

[data-theme="dark"] {
    color-scheme: dark;
    --bs-body-bg: var(--bg-primary);
    --bs-body-color: var(--text-primary);
    --bs-border-color: var(--border-soft);
    --bs-tertiary-bg: var(--surface-secondary);
    --bg-primary: #0E1626;
    --bg-secondary: #121C2E;
    --bg-page-glow: rgba(255, 159, 63, 0.045);
    --surface-primary: #172234;
    --surface-secondary: #121C2E;
    --surface-elevated: rgba(25, 37, 56, 0.9);
    --surface-muted: #202D42;
    --sidebar-bg: #0B1220;
    --sidebar-bg-elevated: #10192A;
    --sidebar-hover: rgba(148, 163, 184, 0.12);
    --sidebar-active: rgba(255, 159, 63, 0.16);
    --sidebar-text: rgba(226, 232, 240, 0.7);
    --sidebar-text-strong: #EFF4FA;
    --topbar-bg: rgba(16, 25, 42, 0.86);
    --border-soft: rgba(148, 163, 184, 0.16);
    --border-subtle: rgba(148, 163, 184, 0.13);
    --border-strong: rgba(177, 190, 209, 0.25);
    --text-primary: #E8EEF7;
    --text-secondary: #AEBBD0;
    --text-muted: #7F8DA4;
    --accent-orange: #F6A04D;
    --accent-orange-hover: #F28B2D;
    --accent-orange-soft: rgba(246, 160, 77, 0.11);
    --accent-blue: #7AA7E8;
    --accent-blue-soft: rgba(122, 167, 232, 0.1);
    --accent-green: #63D58B;
    --accent-red: #F07F7F;
    --shadow-soft: 0 1px 1px rgba(0, 0, 0, 0.18), 0 14px 34px rgba(0, 0, 0, 0.2);
    --shadow-elevated: 0 20px 52px rgba(0, 0, 0, 0.3);
    --shadow-sidebar: 18px 0 42px rgba(0, 0, 0, 0.28);
    --ltc-navy-light: #1F2D46;
    --ltc-navy-lighter: #2A3A55;
    --ltc-gray-dark: #BFCADC;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background:
        radial-gradient(circle at top left, var(--bg-page-glow), transparent 28rem),
        linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
    color: var(--ltc-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    min-height: 100vh;
    font-size: 0.925rem;
    line-height: 1.55;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
}

body[dir="rtl"] {
    font-family: 'Cairo', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* ============ SIDEBAR ============ */

.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: var(--sidebar-width);
    height: 100vh;
    background:
        radial-gradient(circle at 18% 4%, rgba(245, 124, 0, 0.16), transparent 12rem),
        linear-gradient(180deg, var(--sidebar-bg-elevated) 0%, var(--sidebar-bg) 52%, #090F1C 100%);
    display: flex;
    flex-direction: column;
    z-index: 1040;
    overflow-y: auto;
    overflow-x: hidden;
    transition: width var(--transition-speed) ease;
    -webkit-overflow-scrolling: touch;
    border-right: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: var(--shadow-sidebar);
}

body[dir="rtl"] .sidebar {
    left: auto;
    right: 0;
}

.sidebar.collapsed {
    width: var(--sidebar-collapsed-width);
}

.sidebar-brand {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1.05rem 0.9rem 0.95rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    min-height: 70px;
    white-space: nowrap;
    overflow: hidden;
}

.sidebar-brand-icon {
    font-size: 1.45rem;
    color: var(--ltc-orange);
    flex-shrink: 0;
    width: 2.2rem;
    height: 2.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(245, 124, 0, 0.22), rgba(37, 99, 235, 0.12));
    box-shadow: inset 0 0 0 1px rgba(245, 124, 0, 0.22), 0 10px 24px rgba(0, 0, 0, 0.18);
}

.sidebar-brand-text {
    font-size: 1rem;
    font-weight: 720;
    color: var(--sidebar-text-strong);
    letter-spacing: 0.1px;
    opacity: 1;
    transition: opacity var(--transition-speed) ease;
}

.sidebar.collapsed .sidebar-brand-text {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

.sidebar-nav {
    flex: 1;
    padding: 0.8rem 0.7rem;
    overflow-y: auto;
}

.sidebar-link {
    display: flex;
    align-items: center;
    gap: 0.72rem;
    padding: 0.68rem 0.72rem;
    color: var(--sidebar-text);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background-color var(--transition-soft), color var(--transition-soft), box-shadow var(--transition-soft), transform var(--transition-soft);
    border-left: 0;
    border-radius: 12px;
    white-space: nowrap;
    overflow: hidden;
    min-height: 41px;
    margin: 0.12rem 0;
}

body[dir="rtl"] .sidebar-link {
    border-left: none;
    border-right: 0;
}

.sidebar-link i {
    font-size: 1.05rem;
    width: 1.35rem;
    text-align: center;
    flex-shrink: 0;
}

.sidebar-link span {
    opacity: 1;
    transition: opacity var(--transition-speed) ease;
}

.sidebar.collapsed .sidebar-link span {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

.sidebar-link:hover {
    color: var(--sidebar-text-strong);
    background-color: var(--sidebar-hover);
    transform: translateX(2px);
    text-decoration: none;
}

body[dir="rtl"] .sidebar-link:hover {
    transform: translateX(-2px);
}

.sidebar-link.active {
    color: var(--sidebar-text-strong);
    background:
        linear-gradient(135deg, var(--sidebar-active), rgba(37, 99, 235, 0.13));
    box-shadow:
        inset 0 0 0 1px rgba(245, 124, 0, 0.22),
        0 10px 28px rgba(0, 0, 0, 0.16);
    font-weight: 650;
}

.sidebar-link.is-pending:not(.active) {
    color: var(--sidebar-text-strong);
    background-color: rgba(245, 124, 0, 0.11);
    box-shadow: inset 3px 0 0 rgba(245, 124, 0, 0.72);
}

body[dir="rtl"] .sidebar-link.is-pending:not(.active) {
    box-shadow: inset -3px 0 0 rgba(245, 124, 0, 0.72);
}

body[dir="rtl"] .sidebar-link.active {
    box-shadow:
        inset 0 0 0 1px rgba(245, 124, 0, 0.22),
        0 10px 28px rgba(0, 0, 0, 0.16);
}

.sidebar-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    padding: 0.65rem;
}

.sidebar-user-info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.72rem;
    color: var(--sidebar-text);
    font-size: 0.8rem;
    white-space: nowrap;
    overflow: hidden;
}

.sidebar-user-info i {
    font-size: 1.1rem;
    flex-shrink: 0;
}

.sidebar-user-info span {
    opacity: 1;
    transition: opacity var(--transition-speed) ease;
}

.sidebar.collapsed .sidebar-user-info span {
    opacity: 0;
    width: 0;
    overflow: hidden;
}

.sidebar-logout {
    color: var(--ltc-red) !important;
}

.sidebar-logout:hover {
    background-color: rgba(239, 68, 68, 0.12) !important;
    color: var(--ltc-red) !important;
}

.sidebar-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1035;
}

.sidebar-overlay.active {
    display: block;
}

/* ============ TOP HEADER ============ */

.top-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1.6rem;
    background-color: var(--topbar-bg);
    border-bottom: 1px solid var(--border-subtle);
    height: 66px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
    backdrop-filter: blur(12px);
    position: sticky;
    top: 0;
    z-index: 1020;
}

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

.sidebar-toggle {
    background: var(--surface-elevated);
    border: 1px solid var(--ltc-border);
    font-size: 1.35rem;
    color: var(--ltc-navy);
    cursor: pointer;
    padding: 0.5rem;
    line-height: 1;
    border-radius: var(--radius-input);
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
}

.sidebar-toggle:hover {
    background-color: var(--surface-muted);
    border-color: var(--ltc-border-strong);
    box-shadow: var(--ltc-shadow-sm);
}

.top-header-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.top-header-lang {
    display: flex;
    gap: 0.25rem;
    padding: 0.2rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-pill);
    background: var(--surface-elevated);
}

.lang-toggle-inactive-header {
    background-color: var(--ltc-gray-light);
    color: var(--ltc-gray);
}

.lang-toggle-inactive-header:hover {
    color: var(--ltc-navy);
    background-color: #E5E7EB;
}

.top-header-user {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--ltc-text);
    font-size: 0.85rem;
    font-weight: 600;
    min-height: 36px;
    padding: 0.25rem 0.55rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-pill);
    background: var(--surface-elevated);
}

.top-header-user i {
    color: var(--ltc-gray);
    font-size: 1.1rem;
}

/* ============ CONTENT WRAPPER ============ */

.content-wrapper {
    margin-left: var(--sidebar-width);
    min-height: 100vh;
    transition: margin-left var(--transition-speed) ease;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.22), transparent 16rem);
}

body[dir="rtl"] .content-wrapper {
    margin-left: 0;
    margin-right: var(--sidebar-width);
    transition: margin-right var(--transition-speed) ease;
}

body.sidebar-collapsed .content-wrapper {
    margin-left: var(--sidebar-collapsed-width);
}

body[dir="rtl"].sidebar-collapsed .content-wrapper {
    margin-left: 0;
    margin-right: var(--sidebar-collapsed-width);
}

.no-sidebar-wrapper {
    min-height: 100vh;
}

/* ============ MAIN CONTENT ============ */

.main-content {
    padding: 2rem clamp(1.1rem, 2.2vw, 2.35rem) 2.6rem;
    min-height: calc(100vh - 66px);
}

.ltc-nav-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 2200;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-3px);
    background: rgba(255, 255, 255, 0.32);
    transition: opacity 160ms ease, transform 160ms ease;
}

.ltc-nav-progress span {
    display: block;
    width: 42%;
    height: 100%;
    border-radius: 0 var(--radius-pill) var(--radius-pill) 0;
    background: linear-gradient(90deg, var(--accent-orange), var(--accent-blue), var(--accent-orange));
    box-shadow: 0 0 16px rgba(245, 124, 0, 0.26);
    transform: translateX(-115%);
    will-change: transform;
}

body.ltc-partial-loading .ltc-nav-progress {
    opacity: 1;
    transform: translateY(0);
}

body.ltc-partial-loading .ltc-nav-progress span {
    animation: ltcNavProgress 950ms ease-in-out infinite;
}

#ltc-page-region {
    transition: opacity 160ms ease, filter 160ms ease;
}

body.ltc-partial-loading #ltc-page-region {
    filter: saturate(0.96);
    opacity: 0.78;
}

body.ltc-partial-loading [hx-target="#ltc-page-region"] {
    cursor: progress;
}

@keyframes ltcNavProgress {
    0% {
        transform: translateX(-115%);
    }
    55% {
        transform: translateX(85%);
    }
    100% {
        transform: translateX(265%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ltc-nav-progress,
    #ltc-page-region,
    .sidebar-link,
    .floating-table-scroll {
        transition: none;
    }

    body.ltc-partial-loading .ltc-nav-progress span {
        animation: none;
        transform: translateX(0);
    }
}

.page-title {
    color: var(--ltc-navy);
    font-weight: 750;
    margin-bottom: 1.45rem;
    padding: 0.95rem 1.05rem;
    border: 1px solid rgba(217, 222, 232, 0.85);
    border-radius: var(--radius-card);
    background:
        linear-gradient(135deg, var(--surface-elevated), var(--surface-secondary));
    box-shadow: var(--ltc-shadow-sm);
    font-size: 1.38rem;
    line-height: 1.25;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.page-title i {
    color: var(--ltc-orange);
    width: 2.1rem;
    height: 2.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--accent-orange-soft);
}

/* ============ CARDS ============ */

.card {
    background-color: var(--ltc-surface);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
    color: var(--ltc-text);
    box-shadow: var(--ltc-shadow-sm);
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.card:hover {
    border-color: var(--ltc-border-strong);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.07);
}

.card-header {
    background:
        linear-gradient(180deg, var(--surface-secondary), var(--surface-primary)) !important;
    border-bottom: 1px solid var(--border-subtle);
    font-weight: 650;
    color: var(--text-primary);
    padding: 0.86rem 1.1rem;
    border-radius: var(--radius-card) var(--radius-card) 0 0 !important;
    font-size: 0.95rem;
    letter-spacing: 0;
}

.card-body {
    padding: 1.2rem;
}

.card-body.text-center.py-5 {
    padding-top: 2.25rem !important;
    padding-bottom: 2.25rem !important;
}

.card-body.text-center h3,
.card-body.text-center .h5 {
    color: var(--ltc-navy);
    font-weight: 720;
}

.card-body.text-center > i:first-child {
    opacity: 0.78;
}

.card-body.text-center .btn {
    margin-top: 0.15rem;
}

.stat-card {
    background:
        linear-gradient(180deg, var(--surface-primary) 0%, var(--surface-secondary) 100%);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
    padding: 1.22rem 1.15rem;
    text-align: center;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    box-shadow: var(--ltc-shadow-sm);
    position: relative;
    overflow: hidden;
}

.stat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--ltc-orange), rgba(245, 124, 0, 0.2));
}

.stat-card:hover {
    border-color: var(--ltc-border-strong);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
}

.stat-card .stat-icon {
    font-size: 2rem;
    color: var(--ltc-orange);
    margin-bottom: 0.5rem;
    display: block;
    opacity: 0.8;
}

.stat-card .stat-number {
    font-size: 2rem;
    font-weight: 760;
    color: var(--ltc-navy);
    display: block;
    margin-bottom: 0.25rem;
    line-height: 1.2;
    word-break: break-all;
}

.stat-card .stat-label {
    font-size: 0.78rem;
    color: var(--ltc-gray);
    text-transform: uppercase;
    letter-spacing: 0.45px;
    font-weight: 600;
}

/* ============ KPI CARDS ============ */

.kpi-card {
    background:
        linear-gradient(180deg, var(--surface-primary) 0%, var(--surface-secondary) 100%);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
    padding: 1.12rem;
    box-shadow: var(--ltc-shadow-sm);
    display: flex;
    align-items: center;
    gap: 1rem;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.kpi-card:hover {
    border-color: var(--ltc-border-strong);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
}

.kpi-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    flex-shrink: 0;
}

.kpi-card-icon.orange { background-color: rgba(245, 124, 0, 0.12); color: var(--ltc-orange); }
.kpi-card-icon.green { background-color: rgba(34, 197, 94, 0.12); color: var(--ltc-green); }
.kpi-card-icon.navy { background-color: rgba(35, 36, 42, 0.1); color: var(--ltc-navy); }
.kpi-card-icon.red { background-color: rgba(239, 68, 68, 0.1); color: var(--ltc-red); }
.kpi-card-icon.blue { background-color: rgba(59, 130, 246, 0.1); color: #3B82F6; }

.kpi-card-body {
    flex: 1;
    min-width: 0;
}

.kpi-card-value {
    font-size: 1.62rem;
    font-weight: 780;
    color: var(--ltc-navy);
    line-height: 1.2;
    word-break: break-all;
}

.kpi-card-label {
    font-size: 0.8rem;
    color: var(--ltc-text-light);
    font-weight: 600;
}

.kpi-card-sub {
    font-size: 0.75rem;
    color: var(--ltc-gray-muted);
    margin-top: 0.15rem;
}

/* ============ TABLES ============ */

.table {
    color: var(--ltc-text);
    margin-bottom: 0;
    width: max-content;
    min-width: 100%;
    table-layout: auto;
}

.table thead th {
    background:
        linear-gradient(180deg, var(--surface-secondary), var(--surface-primary)) !important;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border-subtle);
    font-weight: 750;
    padding: 0.82rem 0.95rem;
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.34px;
    white-space: nowrap;
    vertical-align: middle;
}

.table tbody tr {
    background-color: var(--surface-primary);
    color: var(--ltc-text);
    transition: background-color 0.14s ease;
}

.table tbody tr:nth-child(even) {
    background-color: var(--surface-secondary);
}

.table tbody tr:hover {
    background-color: var(--accent-blue-soft);
}

.table tbody td {
    padding: 0.8rem 0.95rem;
    vertical-align: middle;
    border-bottom: 1px solid var(--border-subtle);
    font-size: 0.875rem;
    white-space: nowrap;
}

.table-responsive {
    border-radius: var(--radius-card);
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid var(--border-subtle);
    box-shadow: var(--shadow-soft);
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    scrollbar-gutter: stable both-edges;
    scrollbar-color: rgba(245, 124, 0, 0.72) #EEF2F7;
    scrollbar-width: thin;
}

.table-responsive::-webkit-scrollbar,
.floating-table-scroll::-webkit-scrollbar {
    height: 10px;
}

.table-responsive::-webkit-scrollbar-track,
.floating-table-scroll::-webkit-scrollbar-track {
    background: #EEF2F7;
    border-radius: 999px;
}

.table-responsive::-webkit-scrollbar-thumb,
.floating-table-scroll::-webkit-scrollbar-thumb {
    background: rgba(245, 124, 0, 0.7);
    border: 2px solid #EEF2F7;
    border-radius: 999px;
}

.table-responsive-wide {
    overflow-x: auto;
    overflow-y: hidden;
}

.table-responsive .table th,
.table-responsive .table td {
    text-overflow: clip;
}

.floating-table-scroll {
    position: fixed;
    bottom: 0.85rem;
    height: 18px;
    z-index: 1030;
    display: none;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid var(--ltc-border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.16);
    opacity: 0;
    scrollbar-color: var(--ltc-orange) var(--ltc-gray-light);
    scrollbar-width: thin;
    transform: translateY(6px);
    transition: opacity 160ms ease, transform 160ms ease;
    -webkit-overflow-scrolling: touch;
}

.floating-table-scroll.is-visible {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

.floating-table-scroll-spacer {
    height: 1px;
}

.table-cell-wrap {
    white-space: normal !important;
    min-width: 12rem;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.table-cell-tight {
    white-space: nowrap !important;
    min-width: 7rem;
}

body[dir="rtl"] .table-responsive {
    direction: rtl;
}

body[dir="rtl"] .table-responsive .table {
    direction: rtl;
}

/* ============ MOBILE CARD TABLE ============ */

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

.wide-card-grid,
.audit-card-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.mobile-booking-card {
    background:
        linear-gradient(180deg, #FFFFFF 0%, #FBFCFE 100%);
    border: 1px solid rgba(217, 222, 232, 0.95);
    border-radius: 12px;
    padding: 1rem;
    margin-bottom: 0.75rem;
    box-shadow: var(--ltc-shadow-sm);
}

.wide-card-grid .mobile-booking-card {
    border-radius: 12px;
    padding: 0.95rem;
    margin-bottom: 0;
}

.attendance-card-list .attendance-action-row,
.attendance-card-list .attendance-comment-row {
    border-bottom: none;
}

.mobile-booking-card .mobile-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.75rem;
    gap: 0.5rem;
}

.mobile-booking-card .mobile-card-name {
    font-weight: 700;
    color: var(--ltc-navy);
    font-size: 0.98rem;
}

.mobile-booking-card .mobile-card-row {
    display: flex;
    justify-content: space-between;
    padding: 0.42rem 0;
    font-size: 0.85rem;
    border-bottom: 1px solid #EEF1F6;
}

.mobile-booking-card .mobile-card-row:last-child {
    border-bottom: none;
}

.mobile-booking-card .mobile-card-label {
    color: var(--ltc-text-light);
    font-weight: 600;
}

.mobile-booking-card .mobile-card-value {
    font-weight: 600;
    color: var(--ltc-text);
    text-align: end;
}

.mobile-booking-card .mobile-card-actions {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #EEF1F6;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.mobile-booking-card .mobile-card-actions .btn {
    flex: 1;
    min-width: 0;
}

/* ============ BUTTONS ============ */

.btn {
    font-weight: 600;
    border-radius: 7px;
    transition: background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    line-height: 1.35;
}

.btn-sm {
    padding: 0.3rem 0.65rem;
    font-size: 0.8rem;
    border-radius: 6px;
}

.btn-primary {
    background-color: var(--ltc-orange) !important;
    border-color: var(--ltc-orange) !important;
    color: var(--ltc-white) !important;
    padding: 0.48rem 1.1rem;
    box-shadow: 0 1px 2px rgba(245, 124, 0, 0.18);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--ltc-orange-hover) !important;
    border-color: var(--ltc-orange-hover) !important;
    box-shadow: 0 6px 16px rgba(245, 124, 0, 0.24);
}

.btn-secondary {
    background-color: var(--ltc-white) !important;
    border: 1px solid var(--ltc-border-strong) !important;
    color: var(--ltc-navy) !important;
    padding: 0.48rem 1.1rem;
}

.btn-secondary:hover {
    background-color: var(--ltc-gray-light) !important;
    color: var(--ltc-navy) !important;
    border-color: var(--ltc-navy) !important;
}

.btn-outline-primary {
    color: var(--ltc-orange) !important;
    border-color: var(--ltc-orange) !important;
}

.btn-outline-primary:hover {
    background-color: var(--ltc-orange) !important;
    color: var(--ltc-white) !important;
}

.btn-outline-secondary {
    color: var(--ltc-navy) !important;
    border-color: var(--ltc-navy) !important;
}

.btn-outline-secondary:hover {
    background-color: var(--ltc-navy) !important;
    color: var(--ltc-white) !important;
}

.btn-danger {
    background-color: var(--ltc-red) !important;
    border-color: var(--ltc-red) !important;
}

.btn-danger:hover {
    box-shadow: 0 6px 16px rgba(239, 68, 68, 0.22);
}

.btn-success {
    background-color: var(--ltc-green) !important;
    border-color: var(--ltc-green) !important;
}

.btn-success:hover {
    box-shadow: 0 6px 16px rgba(34, 197, 94, 0.22);
}

.btn-export {
    background-color: #16A34A !important;
    border-color: #16A34A !important;
    color: var(--ltc-white) !important;
    font-weight: 600;
}

.btn-export:hover {
    background-color: #15803D !important;
    box-shadow: 0 6px 16px rgba(22, 163, 74, 0.22);
}

/* ============ FORMS ============ */

.form-control,
.form-select {
    background-color: var(--surface-primary);
    border: 1px solid var(--border-soft);
    color: var(--ltc-text);
    border-radius: var(--radius-input);
    padding: 0.56rem 0.82rem;
    font-size: 0.875rem;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
    min-height: 44px;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--accent-orange);
    box-shadow: 0 0 0 3px var(--accent-orange-soft);
    background-color: var(--surface-primary);
    color: var(--ltc-text);
}

.form-label {
    color: var(--ltc-navy);
    font-weight: 600;
    font-size: 0.76rem;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
    letter-spacing: 0.18px;
}

.form-check-input {
    min-width: 1.1rem;
    min-height: 1.1rem;
}

input[type="file"].form-control {
    padding: 0.48rem 0.75rem;
    background: var(--surface-secondary);
}

textarea.form-control {
    min-height: 6rem;
    resize: vertical;
}

.card form .row.g-2,
.card form .row.g-3 {
    row-gap: 0.95rem !important;
}

.premium-form-card {
    width: 100%;
    max-width: 960px;
}

.premium-form-card-narrow {
    width: 100%;
    max-width: 820px;
}

.premium-form-card .card-body,
.premium-form-card-narrow .card-body {
    padding: 1.35rem;
}

.form-section-spacer {
    margin-top: 1.1rem;
}

.form-workspace {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.form-hero,
.form-shell,
.form-section {
    border: 1px solid var(--border-subtle);
    background: linear-gradient(180deg, var(--surface-elevated), var(--surface-primary));
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
}

.form-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem;
}

.form-kicker {
    color: var(--accent-orange);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.form-hero h1 {
    color: var(--text-primary);
    font-size: clamp(1.45rem, 2.6vw, 2rem);
    font-weight: 860;
    line-height: 1.15;
    margin: 0.25rem 0 0;
}

.form-hero h1 i {
    color: var(--accent-orange);
}

.form-hero p {
    color: var(--text-secondary);
    margin: 0.45rem 0 0;
    max-width: 52rem;
}

.form-shell {
    width: 100%;
    max-width: 980px;
    padding: 0.85rem;
}

.form-shell-wide {
    max-width: 1120px;
}

.form-section {
    padding: 1rem;
    margin-bottom: 0.85rem;
    box-shadow: none;
    background: var(--surface-primary);
}

.form-section:last-of-type {
    margin-bottom: 0;
}

.form-section-head {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--border-subtle);
}

.form-section-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--accent-orange);
    background: var(--accent-orange-soft);
}

.form-section-head h2 {
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 830;
    margin: 0;
}

.form-section-head p {
    color: var(--text-secondary);
    font-size: 0.86rem;
    margin: 0.25rem 0 0;
}

.form-summary-panel {
    padding: 0.9rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-input);
    background: var(--surface-secondary);
}

.form-positive {
    color: var(--accent-green);
    font-weight: 800;
}

.form-warning {
    color: var(--accent-orange);
    font-weight: 800;
}

.form-danger {
    color: var(--accent-red);
    font-weight: 800;
}

.form-actions-bar {
    position: sticky;
    bottom: 0.75rem;
    z-index: 4;
    display: flex;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-wrap: wrap;
    margin-top: 0.9rem;
    padding: 0.75rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-card);
    background: var(--surface-elevated);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(10px);
}

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

.permission-item,
.form-toggle-row {
    padding: 0.7rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-input);
    background: var(--surface-secondary);
}

.form-check-input:checked {
    background-color: var(--ltc-orange);
    border-color: var(--ltc-orange);
}

.form-check-label {
    padding-top: 0.1rem;
}

/* ============ REPORT / ANALYTICS WORKSPACE ============ */

.report-workspace {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.report-hero,
.report-section,
.report-filter-panel,
.report-feature-card,
.report-metric-card {
    border: 1px solid var(--border-subtle);
    background: linear-gradient(180deg, var(--surface-elevated), var(--surface-primary));
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
}

.report-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem;
}

.report-kicker {
    color: var(--accent-orange);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.report-hero h1,
.report-section-header h2 {
    color: var(--text-primary);
    margin: 0;
}

.report-hero h1 {
    font-size: clamp(1.55rem, 2.8vw, 2.2rem);
    font-weight: 860;
    line-height: 1.15;
    margin-top: 0.25rem;
}

.report-hero h1 i {
    color: var(--accent-orange);
}

.report-hero p {
    color: var(--text-secondary);
    margin: 0.45rem 0 0;
    max-width: 56rem;
}

.report-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.report-filter-panel {
    padding: 1rem;
}

.report-feature-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.25fr) repeat(2, minmax(220px, 0.85fr));
    gap: 0.85rem;
}

.report-feature-card {
    min-height: 150px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}

.report-feature-card::before,
.report-metric-card::before {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background: var(--accent-blue);
}

.report-feature-positive::before { background: var(--accent-green); }
.report-feature-warning::before { background: var(--accent-orange); }

.report-feature-card strong {
    color: var(--text-primary);
    font-size: clamp(1.75rem, 4vw, 2.7rem);
    font-weight: 880;
    line-height: 1;
}

.report-feature-card small {
    color: var(--text-secondary);
    font-size: 0.82rem;
}

.report-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.report-metric-grid > [class*="col-"] {
    width: auto;
    max-width: none;
    padding: 0;
}

.report-metric-card,
.report-metric-grid .kpi-card {
    min-height: 108px;
    padding: 0.95rem;
    position: relative;
}

.report-metric-label {
    display: block;
    color: var(--text-secondary);
    font-size: 0.74rem;
    font-weight: 820;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.report-metric-card strong {
    display: block;
    color: var(--text-primary);
    font-size: 1.55rem;
    font-weight: 860;
    line-height: 1.1;
    margin-top: 0.45rem;
}

.report-section {
    overflow: hidden;
}

.report-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--border-subtle);
}

.report-section-header h2 {
    font-size: 1.02rem;
    font-weight: 830;
    margin-top: 0.22rem;
}

.report-table thead th {
    background: linear-gradient(180deg, var(--surface-secondary), var(--surface-primary)) !important;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border-subtle);
}

.report-table tbody td {
    border-bottom-color: var(--border-subtle);
}

.report-table td:is(:has(.amount-highlight)),
.report-table td:nth-last-child(-n+4) {
    font-variant-numeric: tabular-nums;
}

.report-positive {
    color: var(--accent-green);
    font-weight: 800;
}

.report-warning {
    color: var(--accent-orange);
    font-weight: 800;
}

.report-danger {
    color: var(--accent-red);
    font-weight: 800;
}

.report-mobile-list {
    padding: 0.85rem;
}

/* ============ BADGES ============ */

.badge-pending {
    background: rgba(245, 124, 0, 0.12) !important;
    color: #B45309 !important;
    border: 1px solid rgba(245, 124, 0, 0.24);
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    font-size: 0.73rem;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    white-space: nowrap;
}

.badge-confirmed {
    background: rgba(34, 197, 94, 0.12) !important;
    color: #15803D !important;
    border: 1px solid rgba(34, 197, 94, 0.24);
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    font-size: 0.73rem;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    white-space: nowrap;
}

.badge-canceled {
    background: rgba(239, 68, 68, 0.11) !important;
    color: #B91C1C !important;
    border: 1px solid rgba(239, 68, 68, 0.22);
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    font-size: 0.73rem;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    white-space: nowrap;
}

.badge-active {
    background: rgba(34, 197, 94, 0.12) !important;
    color: #15803D !important;
    border: 1px solid rgba(34, 197, 94, 0.24);
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    font-size: 0.73rem;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    white-space: nowrap;
}

.badge-open {
    background: rgba(34, 197, 94, 0.12) !important;
    color: #15803D !important;
    border: 1px solid rgba(34, 197, 94, 0.24);
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    font-size: 0.73rem;
    font-weight: 600;
    text-transform: uppercase;
    white-space: nowrap;
}

.badge-closed {
    background: rgba(107, 114, 128, 0.12) !important;
    color: #374151 !important;
    border: 1px solid rgba(107, 114, 128, 0.22);
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    font-size: 0.73rem;
    font-weight: 600;
    text-transform: uppercase;
    white-space: nowrap;
}

.badge-void {
    background: rgba(107, 114, 128, 0.12) !important;
    color: #374151 !important;
    border: 1px solid rgba(107, 114, 128, 0.22);
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    font-size: 0.73rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.badge-inactive,
.badge-platform {
    background: rgba(107, 114, 128, 0.12) !important;
    color: #374151 !important;
    border: 1px solid rgba(107, 114, 128, 0.22);
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    font-size: 0.73rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.badge-setup {
    background: rgba(245, 158, 11, 0.12) !important;
    color: #B45309 !important;
    border: 1px solid rgba(245, 158, 11, 0.24);
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    font-size: 0.73rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.badge-context,
.badge-payment-new,
.badge-payment-installment {
    font-weight: 600;
    padding: 0.35rem 0.85rem;
    border-radius: 20px;
    font-size: 0.73rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.badge-context,
.badge-payment-new {
    background: rgba(59, 130, 246, 0.12) !important;
    color: #1D4ED8 !important;
    border: 1px solid rgba(59, 130, 246, 0.24);
}

.badge-payment-installment {
    background: rgba(99, 102, 241, 0.12) !important;
    color: #4338CA !important;
    border: 1px solid rgba(99, 102, 241, 0.24);
}

/* ============ MISC ============ */

.orange-text {
    color: var(--ltc-orange) !important;
}

.alert {
    border-radius: 9px;
    border: none;
    font-size: 0.875rem;
    padding: 0.85rem 1.15rem;
    box-shadow: var(--ltc-shadow-sm);
}

.alert-success {
    background-color: rgba(34, 197, 94, 0.1);
    color: #16A34A;
    border-left: 4px solid var(--ltc-green);
}

body[dir="rtl"] .alert-success {
    border-left: none;
    border-right: 4px solid var(--ltc-green);
}

.alert-danger {
    background-color: rgba(239, 68, 68, 0.1);
    color: #DC2626;
    border-left: 4px solid var(--ltc-red);
}

body[dir="rtl"] .alert-danger {
    border-left: none;
    border-right: 4px solid var(--ltc-red);
}

.alert-warning {
    background-color: rgba(245, 124, 0, 0.1);
    color: #EA580C;
    border-left: 4px solid var(--ltc-orange);
}

body[dir="rtl"] .alert-warning {
    border-left: none;
    border-right: 4px solid var(--ltc-orange);
}

.alert-info {
    background-color: rgba(59, 130, 246, 0.1);
    color: #2563EB;
    border-left: 4px solid #3B82F6;
}

body[dir="rtl"] .alert-info {
    border-left: none;
    border-right: 4px solid #3B82F6;
}

/* ============ LOGIN ============ */

.login-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--ltc-navy) 0%, #1a1b20 100%);
    padding: 1rem;
}

.login-card {
    background-color: var(--ltc-white);
    border: 1px solid var(--ltc-border);
    border-radius: 16px;
    padding: 2.5rem;
    width: 100%;
    max-width: 420px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.login-card .login-title {
    color: var(--ltc-orange);
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
}

.login-card .login-subtitle {
    color: var(--ltc-gray);
    text-align: center;
    margin-bottom: 2rem;
    font-size: 0.9rem;
}

.login-card .form-label {
    color: var(--ltc-navy);
}

/* ============ LANG TOGGLE ============ */

.lang-toggle {
    display: inline-block;
    padding: 0.25rem 0.65rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
    min-height: 32px;
    line-height: 1.6;
}

.lang-toggle-active {
    background-color: var(--ltc-orange);
    color: #FFFFFF;
}

.lang-toggle-inactive {
    background-color: rgba(255, 255, 255, 0.15);
    color: rgba(255, 255, 255, 0.7);
}

.lang-toggle-inactive:hover {
    color: var(--ltc-white);
    background-color: rgba(255, 255, 255, 0.25);
}

.lang-toggle-inactive-login {
    background-color: var(--ltc-gray-light);
    color: var(--ltc-gray);
}

.lang-toggle-inactive-login:hover {
    color: var(--ltc-navy);
    background-color: #E5E7EB;
}

.theme-mode-toggle {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.2rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-pill);
    background: var(--surface-elevated);
}

.theme-mode-button {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 32px;
    padding: 0.25rem 0.65rem;
    border: 0;
    border-radius: var(--radius-pill);
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
    transition: background-color var(--transition-soft), color var(--transition-soft), box-shadow var(--transition-soft);
}

.theme-mode-button:hover {
    color: var(--text-primary);
    background: var(--surface-muted);
}

.theme-mode-button.is-active {
    color: #FFFFFF;
    background: linear-gradient(135deg, var(--accent-blue), var(--accent-orange));
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.18);
}

.theme-mode-button i {
    font-size: 0.9rem;
}

.select-all-checkbox {
    cursor: pointer;
}

.amount-highlight {
    color: var(--ltc-orange);
    font-weight: 700;
}

.text-muted {
    color: var(--ltc-gray) !important;
}

/* ============ FILTER BAR ============ */

.filter-bar {
    background:
        linear-gradient(180deg, #FFFFFF 0%, #FBFCFE 100%);
    border: 1px solid rgba(217, 222, 232, 0.95);
    border-radius: 12px;
    padding: 1.05rem 1.15rem;
    margin-bottom: 1.35rem;
    box-shadow: var(--ltc-shadow-sm);
}

.card.mb-3 > .card-body > form,
.card.mb-4 > .card-body > form {
    margin: 0;
}

.card.mb-3:has(form),
.card.mb-4:has(form) {
    border-color: rgba(217, 222, 232, 0.88);
    box-shadow: var(--ltc-shadow-sm);
}

.card.mb-3:has(form) .card-body,
.card.mb-4:has(form) .card-body {
    background:
        linear-gradient(180deg, #FFFFFF 0%, #FBFCFE 100%);
    border-radius: 0 0 12px 12px;
}

/* ============ PROFILE ============ */

.profile-header {
    background:
        radial-gradient(circle at top right, rgba(245, 124, 0, 0.2), transparent 18rem),
        linear-gradient(135deg, var(--ltc-navy) 0%, #191A20 100%);
    color: var(--ltc-white);
    padding: 1.85rem;
    border-radius: 16px;
    margin-bottom: 1.5rem;
    box-shadow: 0 16px 42px rgba(15, 23, 42, 0.18);
}

.profile-header .profile-name {
    font-size: 1.55rem;
    font-weight: 760;
    word-break: break-word;
}

.profile-header .profile-detail {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
}

.payment-history-item {
    border-left: 3px solid var(--ltc-border);
    padding: 0.85rem 1rem;
    margin-bottom: 0.65rem;
    background:
        linear-gradient(180deg, #FFFFFF 0%, #FAFBFD 100%);
    border-radius: 0 12px 12px 0;
    box-shadow: var(--ltc-shadow-sm);
    transition: background-color 0.15s, border-color 0.15s;
}

.payment-history-item:hover {
    background: #FFFFFF;
    border-left-color: var(--ltc-orange);
}

body[dir="rtl"] .payment-history-item {
    border-left: none;
    border-right: 3px solid var(--ltc-border);
    border-radius: 8px 0 0 8px;
}

.payment-history-item.confirmed {
    border-left-color: var(--ltc-green);
}

body[dir="rtl"] .payment-history-item.confirmed {
    border-left-color: var(--ltc-border);
    border-right-color: var(--ltc-green);
}

.payment-history-item.pending {
    border-left-color: var(--ltc-orange);
}

body[dir="rtl"] .payment-history-item.pending {
    border-left-color: var(--ltc-border);
    border-right-color: var(--ltc-orange);
}

.payment-history-item.void {
    border-left-color: var(--ltc-gray);
    opacity: 0.6;
}

/* ============ MODALS ============ */

.modal-backdrop.show {
    opacity: 0.38;
}

.modal-content {
    border: 1px solid rgba(217, 222, 232, 0.95);
    border-radius: 16px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
    overflow: hidden;
}

.modal-header {
    background:
        linear-gradient(180deg, #FFFFFF 0%, #FBFCFE 100%);
    border-bottom: 1px solid #EEF1F6;
    padding: 1rem 1.15rem;
}

.modal-title {
    color: var(--ltc-navy);
    font-weight: 720;
}

.modal-body {
    padding: 1.15rem;
}

.modal-footer {
    background: #FAFBFD;
    border-top: 1px solid #EEF1F6;
    padding: 0.85rem 1.15rem;
    gap: 0.5rem;
}

body[dir="rtl"] .payment-history-item.void {
    border-left-color: var(--ltc-border);
    border-right-color: var(--ltc-gray);
}

/* ============ DATA WORKSPACE PAGES ============ */

.data-workspace {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.data-page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.25rem;
}

.data-page-title {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin: 0;
    color: var(--ltc-navy);
    font-size: 1.45rem;
    font-weight: 800;
}

.data-page-title i {
    color: var(--ltc-orange);
}

.data-page-subtitle {
    margin: 0.35rem 0 0;
    color: var(--ltc-gray);
    font-size: 0.9rem;
}

.data-page-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.data-filter-panel {
    border: 1px solid var(--ltc-border);
    box-shadow: var(--ltc-shadow-sm);
}

.data-filter-panel .card-header,
.data-results-panel .card-header {
    background: #fbfcfd;
    border-bottom: 1px solid var(--ltc-border);
    color: var(--ltc-navy);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.data-filter-panel .form-label {
    color: var(--ltc-gray);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.data-filter-panel .form-control,
.data-filter-panel .form-select {
    min-height: 42px;
    border-radius: 8px;
}

.data-results-panel {
    border: 1px solid var(--ltc-border);
    box-shadow: var(--ltc-shadow-sm);
    overflow: hidden;
}

.data-table {
    color: var(--ltc-navy);
}

.data-table thead th {
    background: #f8fafc;
    border-bottom: 1px solid var(--ltc-border);
    color: var(--ltc-gray);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.data-table tbody td {
    border-bottom: 1px solid #eef2f6;
    padding: 0.85rem 0.75rem;
    vertical-align: middle;
}

.data-table tbody tr:hover {
    background: #fffaf3;
}

.data-primary {
    color: var(--ltc-navy);
    font-weight: 800;
}

.data-secondary {
    color: var(--ltc-gray);
    font-size: 0.78rem;
}

.data-action-group {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    flex-wrap: wrap;
}

.data-workspace .mobile-card-list,
.data-workspace .wide-card-grid {
    gap: 0.8rem;
}

.data-workspace .mobile-booking-card {
    border: 1px solid var(--ltc-border);
    border-radius: 8px;
    box-shadow: var(--ltc-shadow-sm);
}

.data-workspace .mobile-card-name {
    color: var(--ltc-navy);
    font-weight: 800;
}

.data-workspace .mobile-card-actions {
    border-top: 1px solid #eef2f6;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
}

.data-workspace .pagination-wrap {
    border-top: 1px solid #eef2f6;
}

/* ============ OPERATIONAL WORKSPACE PAGES ============ */

.ops-workspace {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ops-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    background: linear-gradient(180deg, var(--surface-elevated), var(--surface-primary));
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
}

.ops-hero-layered {
    position: relative;
    overflow: hidden;
}

.ops-hero-layered::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--accent-orange), var(--accent-blue));
}

.ops-hero > * {
    position: relative;
}

.ops-title {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin: 0;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 850;
}

.ops-title i {
    color: var(--accent-orange);
}

.ops-subtitle {
    margin: 0.35rem 0 0;
    color: var(--text-secondary);
    font-size: 0.88rem;
}

.ops-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.ops-section {
    background: var(--surface-primary);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
}

.ops-section .card-header {
    background: var(--surface-secondary);
    border-bottom: 1px solid var(--border-soft);
    color: var(--text-primary);
    font-size: 0.86rem;
    font-weight: 850;
}

.ops-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.ops-section-header span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.ops-section-header small {
    color: var(--text-muted);
    font-weight: 650;
    text-transform: none;
}

.ops-metric-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.85rem;
}

.ops-metric-card,
.ops-action-card,
.ops-empty-state {
    background: linear-gradient(180deg, var(--surface-elevated), var(--surface-primary));
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
}

.ops-metric-card {
    position: relative;
    overflow: hidden;
    padding: 1rem;
}

.ops-metric-card::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    top: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-orange), var(--accent-blue));
    opacity: 0.8;
}

.ops-metric-label {
    display: block;
    color: var(--text-secondary);
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.ops-metric-card strong {
    display: block;
    margin-top: 0.45rem;
    color: var(--text-primary);
    font-size: 1.55rem;
    line-height: 1.1;
}

.ops-metric-card small {
    display: block;
    margin-top: 0.35rem;
    color: var(--text-muted);
    font-weight: 650;
}

.ops-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.85rem;
}

.ops-meta-item {
    padding: 0.75rem;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-input);
    background: var(--surface-secondary);
}

.ops-meta-label {
    color: var(--text-secondary);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.ops-meta-value {
    color: var(--text-primary);
    font-size: 0.95rem;
    font-weight: 750;
    margin-top: 0.25rem;
}

.ops-table thead th {
    background: var(--surface-secondary);
    color: var(--text-secondary);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.ops-table tbody td {
    padding: 0.85rem 0.75rem;
    border-bottom: 1px solid var(--border-soft);
    vertical-align: middle;
}

.ops-table tbody tr:hover {
    background: var(--surface-secondary);
}

.ops-card-grid {
    gap: 0.8rem;
}

.ops-workspace .mobile-booking-card {
    background: linear-gradient(180deg, var(--surface-elevated), var(--surface-primary));
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
}

.ops-workspace .mobile-card-actions {
    border-top: 1px solid var(--border-soft);
    margin-top: 0.75rem;
    padding-top: 0.75rem;
}

.ops-workspace .mobile-card-name,
.ops-primary-field {
    color: var(--text-primary);
}

.ops-workspace .mobile-card-label,
.ops-workspace .text-muted {
    color: var(--text-secondary) !important;
}

.ops-workspace .mobile-card-value {
    color: var(--text-primary);
}

.ops-workspace .mobile-card-row {
    border-bottom-color: var(--border-soft);
}

.attendance-student-card {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.attendance-action-row {
    display: block !important;
    padding-top: 0.75rem !important;
}

.attendance-action-row .btn {
    min-height: 2.35rem;
}

.attendance-comment-row {
    display: block !important;
}

.ops-command-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 1rem;
    padding: 0.75rem;
    background: var(--surface-secondary);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-input);
}

.ops-save-context {
    margin-inline-end: auto;
    color: var(--text-secondary);
    font-size: 0.84rem;
    font-weight: 700;
}

.ops-sticky-actions {
    position: sticky;
    bottom: 0.75rem;
    z-index: 5;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: flex-end;
    padding: 0.75rem;
    margin-top: 1rem;
    background: color-mix(in srgb, var(--surface-primary) 92%, transparent);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-elevated);
    backdrop-filter: blur(8px);
}

.ops-filter-grid {
    display: grid;
    grid-template-columns: minmax(160px, 320px) minmax(90px, 120px);
    gap: 0.75rem;
    align-items: end;
}

.ops-filter-panel .form-label {
    color: var(--text-secondary);
    font-size: 0.76rem;
    font-weight: 800;
}

.ops-lesson-grid,
.ops-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.85rem;
}

.ops-lesson-card {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.8rem;
    background: var(--surface-secondary);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
}

.ops-lesson-main,
.ops-action-card {
    color: var(--text-primary);
    text-decoration: none;
}

.ops-lesson-main {
    display: grid;
    gap: 0.25rem;
}

.ops-lesson-main span,
.ops-action-card span {
    font-weight: 850;
}

.ops-lesson-main strong {
    color: var(--accent-blue);
    font-size: 1.25rem;
}

.ops-lesson-main small,
.ops-action-card small {
    color: var(--text-muted);
    font-weight: 650;
}

.ops-action-card {
    display: grid;
    gap: 0.35rem;
    padding: 1rem;
    transition: transform var(--transition-soft), box-shadow var(--transition-soft), border-color var(--transition-soft);
}

.ops-action-card:hover {
    color: var(--text-primary);
    border-color: color-mix(in srgb, var(--accent-orange) 45%, var(--border-soft));
    box-shadow: var(--shadow-elevated);
    transform: translateY(-1px);
}

.ops-action-card i,
.ops-empty-state i {
    color: var(--accent-orange);
    font-size: 1.45rem;
}

.ops-empty-state {
    padding: 2rem 1rem;
    text-align: center;
    color: var(--text-secondary);
}

.ops-empty-state.compact {
    padding: 1.2rem 1rem;
}

.ops-empty-state p {
    margin: 0.6rem 0 0;
}

.ops-positive {
    color: #168A4A !important;
}

.ops-danger {
    color: #C2413A !important;
}

.badge-hold {
    background: var(--accent-orange);
    color: #fff;
}

.badge-overdue {
    background: var(--accent-red);
    color: #fff;
}

.amount-positive {
    color: var(--accent-green) !important;
    font-weight: 800;
}

.amount-danger {
    color: var(--accent-red) !important;
    font-weight: 800;
}

.is-muted-row {
    opacity: 0.55;
}

.data-mobile-list-padded {
    padding: 0.85rem;
}

.inline-form {
    display: inline;
}

.collection-payment-status {
    display: none;
}

.payment-stat-number {
    font-size: 1.5rem;
}

.payment-card-select {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.booking-cancel-student-info {
    display: none;
    background: var(--surface-secondary);
    border-color: var(--border-soft);
}

.details-summary-link {
    cursor: pointer;
    color: var(--text-muted);
    font-size: 0.85rem;
    font-weight: 700;
}

.dash-stat-mini-icon.is-orange {
    background: color-mix(in srgb, var(--accent-orange) 14%, transparent);
    color: var(--accent-orange);
}

.dash-stat-mini-icon.is-green {
    background: color-mix(in srgb, var(--accent-green) 14%, transparent);
    color: var(--accent-green);
}

.login-brand-icon {
    color: var(--accent-orange);
    font-size: 3rem;
}

.error-code {
    color: var(--accent-orange);
    font-size: clamp(3.5rem, 10vw, 5rem);
    font-weight: 900;
    line-height: 1;
}

.finance-void-form {
    min-width: 260px;
    max-width: min(360px, 86vw);
    padding: 0.75rem;
    background: var(--surface-secondary);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-input);
}

/* ============ UNIFIED MODAL SYSTEM ============ */

.modal-backdrop.show {
    opacity: 0.42;
}

.modal-dialog {
    margin-inline: auto;
}

.modal-content {
    background: linear-gradient(180deg, var(--surface-elevated), var(--surface-primary));
    color: var(--text-primary);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-elevated);
    overflow: hidden;
}

.modal-header,
.modal-footer {
    background: var(--surface-secondary);
    border-color: var(--border-soft);
    padding: 1rem 1.1rem;
}

.modal-title {
    color: var(--text-primary);
    font-weight: 850;
}

.modal-body {
    padding: 1.1rem;
}

.modal-body .form-label {
    color: var(--text-secondary);
    font-size: 0.78rem;
    font-weight: 800;
}

.modal-footer {
    gap: 0.5rem;
    justify-content: flex-end;
}

.student-modal-summary,
.modal-summary-panel {
    padding: 0.9rem;
    background: var(--surface-secondary);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-input);
    color: var(--text-primary);
}

.modal .alert {
    border-radius: var(--radius-input);
}

[data-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%);
}

.platform-center {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.academy-card {
    border: 1px solid var(--ltc-border);
    border-radius: 10px;
    box-shadow: var(--ltc-shadow-sm);
}

.platform-center code,
.ops-workspace code {
    white-space: normal;
    overflow-wrap: anywhere;
}

[data-theme="dark"] body {
    background:
        radial-gradient(circle at top left, var(--bg-page-glow), transparent 28rem),
        linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
}

[data-theme="dark"] .content-wrapper {
    background:
        linear-gradient(180deg, rgba(96, 165, 250, 0.04), transparent 18rem);
}

[data-theme="dark"] .card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .kpi-card,
[data-theme="dark"] .dash-stat-mini,
[data-theme="dark"] .mobile-booking-card,
[data-theme="dark"] .report-hero,
[data-theme="dark"] .report-section,
[data-theme="dark"] .report-filter-panel,
[data-theme="dark"] .report-feature-card,
[data-theme="dark"] .report-metric-card,
[data-theme="dark"] .dash-hero-panel,
[data-theme="dark"] .dash-module,
[data-theme="dark"] .dash-feature-metric,
[data-theme="dark"] .dash-metric-card,
[data-theme="dark"] .student-hero,
[data-theme="dark"] .student-panel,
[data-theme="dark"] .student-metric-card,
[data-theme="dark"] .ops-hero,
[data-theme="dark"] .ops-section,
[data-theme="dark"] .ops-metric-card,
[data-theme="dark"] .ops-action-card,
[data-theme="dark"] .ops-empty-state,
[data-theme="dark"] .data-filter-panel,
[data-theme="dark"] .data-results-panel,
[data-theme="dark"] .academy-card {
    background: linear-gradient(180deg, rgba(30, 43, 64, 0.9), var(--surface-primary));
    border-color: var(--border-subtle);
    color: var(--text-primary);
    box-shadow: var(--shadow-soft);
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .ops-section .card-header,
[data-theme="dark"] .report-section-header,
[data-theme="dark"] .dash-module-header,
[data-theme="dark"] .student-panel-header,
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
    background: linear-gradient(180deg, rgba(32, 45, 66, 0.82), rgba(24, 35, 53, 0.82)) !important;
    color: var(--text-primary);
    border-bottom-color: var(--border-subtle);
}

[data-theme="dark"] .card:hover,
[data-theme="dark"] .stat-card:hover,
[data-theme="dark"] .kpi-card:hover,
[data-theme="dark"] a.dash-metric-card:hover,
[data-theme="dark"] .dash-student-card:hover,
[data-theme="dark"] .ops-action-card:hover,
[data-theme="dark"] .report-feature-card:hover,
[data-theme="dark"] .accounting-detail-card:hover {
    border-color: var(--border-strong);
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.24);
}

[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light,
[data-theme="dark"] .text-bg-light,
[data-theme="dark"] .table-light,
[data-theme="dark"] .alert-light,
[data-theme="dark"] .list-group-item,
[data-theme="dark"] .accordion-item,
[data-theme="dark"] .accordion-button,
[data-theme="dark"] .toast,
[data-theme="dark"] .popover,
[data-theme="dark"] .offcanvas {
    background-color: var(--surface-primary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-subtle) !important;
}

[data-theme="dark"] .filter-bar,
[data-theme="dark"] .card.mb-3:has(form),
[data-theme="dark"] .card.mb-4:has(form),
[data-theme="dark"] .card.mb-3:has(form) .card-body,
[data-theme="dark"] .card.mb-4:has(form) .card-body,
[data-theme="dark"] .report-filter-panel,
[data-theme="dark"] .data-filter-panel,
[data-theme="dark"] .ops-filter-panel {
    background: linear-gradient(180deg, rgba(30, 43, 64, 0.9), var(--surface-primary)) !important;
    border-color: var(--border-subtle) !important;
    color: var(--text-primary);
    box-shadow: var(--shadow-soft);
}

[data-theme="dark"] .report-filter-panel .form-label,
[data-theme="dark"] .data-filter-panel .form-label,
[data-theme="dark"] .ops-filter-panel .form-label,
[data-theme="dark"] .filter-bar .form-label {
    color: var(--text-secondary);
}

[data-theme="dark"] .payment-history-item {
    background: rgba(18, 28, 46, 0.82);
    border-color: var(--border-subtle);
    color: var(--text-primary);
    box-shadow: none;
}

[data-theme="dark"] .payment-history-item:hover {
    background: var(--surface-muted);
    border-left-color: var(--accent-orange);
}

[data-theme="dark"] body[dir="rtl"] .payment-history-item:hover {
    border-right-color: var(--accent-orange);
}

[data-theme="dark"] .text-muted,
[data-theme="dark"] .form-text,
[data-theme="dark"] .card-subtitle,
[data-theme="dark"] small {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-group-text {
    background-color: #111A2A;
    border-color: var(--border-subtle);
    color: var(--text-primary);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    background-color: #152033;
    border-color: rgba(246, 160, 77, 0.42);
    color: var(--text-primary);
    box-shadow: 0 0 0 0.18rem rgba(246, 160, 77, 0.1);
}

[data-theme="dark"] .form-control::placeholder {
    color: var(--text-muted);
}

[data-theme="dark"] .table-responsive {
    background: var(--surface-primary);
    border-color: var(--border-subtle);
    box-shadow: var(--shadow-soft);
    scrollbar-color: rgba(246, 160, 77, 0.52) #101827;
}

[data-theme="dark"] .table-responsive::-webkit-scrollbar-track,
[data-theme="dark"] .floating-table-scroll::-webkit-scrollbar-track {
    background: #101827;
}

[data-theme="dark"] .table-responsive::-webkit-scrollbar-thumb,
[data-theme="dark"] .floating-table-scroll::-webkit-scrollbar-thumb {
    background: rgba(246, 160, 77, 0.52);
    border-color: #101827;
}

[data-theme="dark"] .table thead th,
[data-theme="dark"] .report-table thead th,
[data-theme="dark"] .ops-table thead th,
[data-theme="dark"] .data-table thead th {
    background: linear-gradient(180deg, #1B273A, #172234) !important;
    color: var(--text-secondary);
    border-bottom-color: var(--border-soft);
}

[data-theme="dark"] .table tbody tr,
[data-theme="dark"] .table tbody td {
    color: var(--text-primary);
    border-bottom-color: rgba(148, 163, 184, 0.1);
}

[data-theme="dark"] .table tbody tr:nth-child(even) {
    background-color: rgba(148, 163, 184, 0.035);
}

[data-theme="dark"] .table tbody tr:hover,
[data-theme="dark"] .data-table tbody tr:hover,
[data-theme="dark"] .ops-table tbody tr:hover {
    background-color: rgba(122, 167, 232, 0.075);
}

[data-theme="dark"] .modal-content,
[data-theme="dark"] .dropdown-menu {
    background: linear-gradient(180deg, #1A2639, #151F31);
    border-color: var(--border-subtle);
    color: var(--text-primary);
    box-shadow: var(--shadow-elevated);
}

[data-theme="dark"] .dropdown-item {
    color: var(--text-primary);
}

[data-theme="dark"] .dropdown-item:hover {
    background-color: rgba(148, 163, 184, 0.1);
}

[data-theme="dark"] .modal-backdrop.show {
    opacity: 0.58;
}

[data-theme="dark"] .student-modal-summary,
[data-theme="dark"] .modal-summary-panel,
[data-theme="dark"] .student-detail-list div,
[data-theme="dark"] .student-mini-metrics div,
[data-theme="dark"] .student-payment-card,
[data-theme="dark"] .student-notes,
[data-theme="dark"] .dash-command-search,
[data-theme="dark"] .dash-alert-tile,
[data-theme="dark"] .dash-action-chip,
[data-theme="dark"] .dash-setup-list a,
[data-theme="dark"] .dash-student-card,
[data-theme="dark"] .ops-command-bar,
[data-theme="dark"] .ops-sticky-actions,
[data-theme="dark"] .ops-lesson-card,
[data-theme="dark"] .finance-void-form,
[data-theme="dark"] .booking-cancel-student-info,
[data-theme="dark"] .payment-card-select,
[data-theme="dark"] .empty-state,
[data-theme="dark"] .dash-empty-state,
[data-theme="dark"] .student-empty-state {
    background: rgba(18, 28, 46, 0.82);
    border-color: var(--border-subtle);
    color: var(--text-primary);
}

[data-theme="dark"] .dash-hero-panel::after,
[data-theme="dark"] .student-hero::after {
    opacity: 0.58;
}

[data-theme="dark"] .report-feature-card::before,
[data-theme="dark"] .report-metric-card::before,
[data-theme="dark"] .student-metric-card::before,
[data-theme="dark"] .stat-card::before {
    opacity: 0.75;
}

[data-theme="dark"] .kpi-card-icon.orange,
[data-theme="dark"] .dash-tone-orange,
[data-theme="dark"] .dash-stat-mini-icon.is-orange {
    background-color: rgba(246, 160, 77, 0.1);
    color: var(--accent-orange);
}

[data-theme="dark"] .kpi-card-icon.green,
[data-theme="dark"] .dash-stat-mini-icon.is-green {
    background-color: rgba(99, 213, 139, 0.1);
    color: var(--accent-green);
}

[data-theme="dark"] .kpi-card-icon.blue,
[data-theme="dark"] .dash-tone-blue {
    background-color: rgba(122, 167, 232, 0.1);
    color: var(--accent-blue);
}

[data-theme="dark"] .kpi-card-icon.red {
    background-color: rgba(240, 127, 127, 0.1);
    color: var(--accent-red);
}

[data-theme="dark"] .btn-outline-secondary {
    color: var(--text-secondary);
    border-color: var(--border-strong);
}

[data-theme="dark"] .btn-outline-secondary:hover {
    color: var(--text-primary);
    background-color: var(--surface-muted);
    border-color: var(--border-strong);
}

[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-light {
    background-color: var(--surface-muted) !important;
    border-color: var(--border-strong) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .btn-secondary:hover,
[data-theme="dark"] .btn-secondary:focus,
[data-theme="dark"] .btn-light:hover,
[data-theme="dark"] .btn-light:focus {
    background-color: var(--surface-elevated) !important;
    border-color: rgba(246, 160, 77, 0.38) !important;
    color: var(--text-primary) !important;
}

@media (max-width: 767.98px) {
    .ops-hero {
        flex-direction: column;
        align-items: stretch;
        padding: 0.9rem;
    }

    .ops-title {
        font-size: 1.15rem;
    }

    .ops-actions {
        justify-content: flex-start;
    }

    .ops-actions .btn,
    .ops-sticky-actions .btn {
        width: 100%;
    }

    .ops-metric-grid,
    .ops-action-grid,
    .ops-lesson-grid {
        grid-template-columns: 1fr;
    }

    .ops-section-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .ops-command-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .ops-command-bar .btn {
        width: 100%;
    }

    .ops-filter-grid {
        grid-template-columns: 1fr;
    }

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

    .ops-save-context {
        margin-inline-end: 0;
        text-align: center;
    }
}

/* ============ PAGINATION ============ */

.pagination-wrap {
    padding: 1rem;
}

.pagination .page-link {
    color: var(--ltc-navy);
    border-color: var(--ltc-border);
    font-size: 0.85rem;
    border-radius: 6px;
    margin: 0 2px;
    min-width: 38px;
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagination .page-item.active .page-link {
    background-color: var(--ltc-orange);
    border-color: var(--ltc-orange);
    color: var(--ltc-white);
}

.pagination-summary {
    color: var(--ltc-gray);
    font-size: 0.8rem;
    text-align: center;
}

[data-theme="dark"] .pagination-wrap {
    border-color: var(--border-subtle);
}

[data-theme="dark"] .pagination .page-link {
    background-color: var(--surface-secondary);
    border-color: var(--border-soft);
    color: var(--text-secondary);
    box-shadow: none;
}

[data-theme="dark"] .pagination .page-link:hover,
[data-theme="dark"] .pagination .page-link:focus {
    background-color: var(--surface-muted);
    border-color: rgba(246, 160, 77, 0.38);
    color: var(--text-primary);
    box-shadow: 0 0 0 0.16rem rgba(246, 160, 77, 0.12);
}

[data-theme="dark"] .pagination .page-item.active .page-link {
    background-color: var(--accent-orange);
    border-color: var(--accent-orange);
    color: #111A2A;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(246, 160, 77, 0.16);
}

[data-theme="dark"] .pagination .page-item.disabled .page-link {
    background-color: rgba(18, 28, 46, 0.72);
    border-color: var(--border-subtle);
    color: var(--text-muted);
    opacity: 0.72;
}

[data-theme="dark"] .pagination-summary {
    color: var(--text-muted);
}

@media (max-width: 575.98px) {
    .pagination-wrap {
        padding-inline: 0.5rem;
    }

    .pagination .page-link {
        min-width: 34px;
        min-height: 34px;
        padding: 0.35rem 0.5rem;
        font-size: 0.78rem;
    }
}

/* ============ SECTION HEADING ============ */

.section-heading {
    font-size: 1rem;
    font-weight: 700;
    color: var(--ltc-navy);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.section-heading i {
    color: var(--ltc-orange);
}

/* ============ DASHBOARD SHORTCUTS ============ */

.dash-shortcut-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    background:
        linear-gradient(180deg, #FFFFFF 0%, #FAFBFD 100%);
    border: 1px solid rgba(217, 222, 232, 0.95);
    border-radius: 13px;
    padding: 1.12rem 0.78rem;
    text-decoration: none;
    color: var(--ltc-text);
    font-weight: 600;
    font-size: 0.82rem;
    text-align: center;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
    box-shadow: var(--ltc-shadow-sm);
    min-height: 108px;
    position: relative;
    overflow: hidden;
}

.dash-shortcut-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--sc-color, var(--ltc-orange));
    opacity: 0;
    transition: opacity 0.2s;
}

.dash-shortcut-card:hover {
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
    color: var(--ltc-text);
    text-decoration: none;
    border-color: var(--sc-color, var(--ltc-orange));
}

.dash-shortcut-card:hover::after {
    opacity: 1;
}

.dash-sc-icon {
    width: 48px;
    height: 48px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    background: color-mix(in srgb, var(--sc-color) 12%, transparent);
    color: var(--sc-color, var(--ltc-orange));
}

.dash-shortcut-card:hover .dash-sc-icon {
    background: color-mix(in srgb, var(--sc-color) 16%, transparent);
}

/* ============ DASHBOARD MINI STATS ============ */

.dash-stat-mini {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    background:
        linear-gradient(180deg, #FFFFFF 0%, #FAFBFD 100%);
    border: 1px solid rgba(217, 222, 232, 0.95);
    border-radius: 12px;
    padding: 1.05rem 1.1rem;
    box-shadow: var(--ltc-shadow-sm);
}

.dash-stat-mini-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.dash-stat-mini-val {
    font-size: 1.56rem;
    font-weight: 780;
    color: var(--ltc-navy);
    line-height: 1.2;
}

.dash-stat-mini-lbl {
    font-size: 0.72rem;
    color: var(--ltc-text-light);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.accounting-detail-card {
    display: block;
    min-height: 150px;
    padding: 1.15rem;
    border: 1px solid rgba(217, 222, 232, 0.95);
    border-radius: 12px;
    background:
        linear-gradient(180deg, #FFFFFF 0%, #FAFBFD 100%);
    color: inherit;
    text-decoration: none;
    box-shadow: var(--ltc-shadow-sm);
    transition: box-shadow 0.16s ease, border-color 0.16s ease;
}

.accounting-detail-card:hover {
    color: inherit;
    border-color: var(--ltc-orange);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
}

.accounting-detail-title,
.accounting-detail-subtitle {
    display: block;
}

.accounting-detail-title {
    font-weight: 700;
    color: var(--ltc-gray-dark);
}

.accounting-detail-value {
    display: block;
    margin: 0.7rem 0 0.4rem;
    font-size: 1.75rem;
    font-weight: 780;
    color: var(--ltc-navy);
}

.accounting-detail-subtitle {
    color: var(--ltc-gray);
    font-size: 0.875rem;
}

/* ============ PLATFORM ============ */

.platform-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.35rem;
}

.platform-heading .page-title {
    margin-bottom: 0.35rem;
}

.platform-heading-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.platform-mobile-list {
    padding: 0.85rem;
}

.platform-mobile-list .mobile-booking-card {
    margin-bottom: 0.75rem;
}

.platform-mobile-list .mobile-booking-card:last-child {
    margin-bottom: 0;
}

/* ============ DASHBOARD ALERTS ============ */

.dash-alerts-card {
    overflow: hidden;
    border-color: rgba(217, 222, 232, 0.9);
}

.dash-alert-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1.25rem;
    text-decoration: none;
    transition: background-color 0.14s ease;
    border-bottom: 1px solid var(--ltc-border);
}

.dash-alert-row:last-child {
    border-bottom: none;
}

.dash-alert-row:hover {
    text-decoration: none;
}

.dash-alert-danger:hover { background: rgba(239,68,68,0.06); }
.dash-alert-warning:hover { background: rgba(245,158,11,0.06); }
.dash-alert-info:hover { background: rgba(59,130,246,0.06); }

.dash-alert-left {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.dash-alert-icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.dash-alert-icon-wrap.danger { background: rgba(239,68,68,0.12); color: #EF4444; }
.dash-alert-icon-wrap.warning { background: rgba(245,158,11,0.12); color: #F59E0B; }
.dash-alert-icon-wrap.info { background: rgba(59,130,246,0.12); color: #3B82F6; }

.dash-alert-title {
    font-weight: 600;
    font-size: 0.88rem;
    color: var(--ltc-text);
}

.dash-alert-sub {
    font-size: 0.75rem;
    color: var(--ltc-gray);
    margin-top: 0.1rem;
}

.dash-alert-arrow {
    color: var(--ltc-gray-muted);
    font-size: 1rem;
    flex-shrink: 0;
}

/* ============ DASHBOARD SEARCH ============ */

.dash-search-form {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.dash-search-icon {
    font-size: 1.25rem;
    color: var(--ltc-gray);
    flex-shrink: 0;
}

.dash-search-input {
    border: none !important;
    box-shadow: none !important;
    font-size: 0.95rem !important;
    padding: 0.5rem 0 !important;
    background: transparent !important;
    min-height: auto !important;
}

.dash-search-input:focus {
    border: none !important;
    box-shadow: none !important;
}

/* ============ DASHBOARD ACTIVITY ============ */

.dash-activity-list {
    max-height: 420px;
    overflow-y: auto;
    background: linear-gradient(180deg, #FFFFFF 0%, #FCFDFE 100%);
}

.dash-activity-item {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid var(--ltc-gray-light);
    transition: background-color 0.14s ease;
}

.dash-activity-item:last-child {
    border-bottom: none;
}

.dash-activity-item:hover {
    background: #F8FAFD;
}

a.dash-activity-link {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

a.dash-activity-link:hover {
    text-decoration: none;
    color: inherit;
    background: rgba(59,130,246,0.04);
}

.dash-activity-icon-wrap {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.dash-activity-body {
    flex: 1;
    min-width: 0;
}

.dash-activity-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.dash-activity-name {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--ltc-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dash-activity-amount {
    font-weight: 700;
    font-size: 0.85rem;
    white-space: nowrap;
}

.dash-activity-meta {
    font-size: 0.72rem;
    color: var(--ltc-gray);
    margin-top: 0.15rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[data-theme="dark"] .dash-shortcut-card,
[data-theme="dark"] .dash-stat-mini,
[data-theme="dark"] .accounting-detail-card,
[data-theme="dark"] .dash-alerts-card,
[data-theme="dark"] .dash-activity-list {
    color: #1E293B;
}

[data-theme="dark"] .dash-shortcut-card,
[data-theme="dark"] .accounting-detail-card {
    border-color: rgba(188, 198, 214, 0.9);
}

[data-theme="dark"] .dash-shortcut-card:hover,
[data-theme="dark"] .accounting-detail-card:hover {
    color: #172033;
}

[data-theme="dark"] .dash-stat-mini-val,
[data-theme="dark"] .accounting-detail-value,
[data-theme="dark"] .dash-activity-amount {
    color: #111827;
}

[data-theme="dark"] .dash-shortcut-card,
[data-theme="dark"] .accounting-detail-title,
[data-theme="dark"] .dash-alert-title,
[data-theme="dark"] .dash-activity-name {
    color: #243047;
}

[data-theme="dark"] .dash-stat-mini-lbl,
[data-theme="dark"] .accounting-detail-subtitle,
[data-theme="dark"] .dash-alert-sub,
[data-theme="dark"] .dash-activity-meta {
    color: #526173;
}

[data-theme="dark"] .accounting-detail-card .accounting-detail-title,
[data-theme="dark"] .accounting-detail-card .accounting-detail-subtitle,
[data-theme="dark"] .dash-shortcut-card span,
[data-theme="dark"] .dash-shortcut-card strong {
    opacity: 1;
}

[data-theme="dark"] .dash-activity-list {
    background: rgba(18, 28, 46, 0.82);
    color: var(--text-primary);
}

[data-theme="dark"] .dash-activity-item {
    border-bottom-color: rgba(148, 163, 184, 0.12);
}

[data-theme="dark"] .dash-activity-item:hover {
    background: rgba(122, 167, 232, 0.075);
}

[data-theme="dark"] .dash-activity-name {
    color: var(--text-primary);
}

[data-theme="dark"] .dash-activity-amount {
    color: var(--text-primary);
}

[data-theme="dark"] .dash-activity-meta {
    color: var(--text-muted);
}

/* ============ SAAS DASHBOARD ============ */

.saas-dashboard {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

[data-countup] {
    font-variant-numeric: tabular-nums;
    direction: ltr;
    unicode-bidi: isolate;
}

.amount-highlight,
.amount-positive,
.amount-danger,
.form-positive,
.form-danger,
.report-positive,
.report-warning,
.report-danger,
.student-payment-amount,
.accounting-detail-value,
.report-metric-card strong,
.kpi-card-value,
.stat-number,
.dash-metric-card strong,
.dash-feature-top strong,
.dash-feature-foot b,
.dash-stat-mini-val,
.mobile-card-value {
    font-variant-numeric: tabular-nums;
}

.amount-highlight,
.amount-positive,
.amount-danger,
.form-positive,
.form-danger,
.report-positive,
.report-warning,
.report-danger,
.student-payment-amount,
.accounting-detail-value,
.report-metric-card strong,
.kpi-card-value,
.stat-number,
.dash-metric-card strong,
.dash-feature-top strong,
.dash-feature-foot b,
.dash-stat-mini-val {
    direction: ltr;
    unicode-bidi: isolate;
}

.table td.amount-highlight,
.table td.amount-positive,
.table td.amount-danger,
.table td.report-positive,
.table td.report-warning,
.table td.report-danger,
.table td:has(> .amount-highlight),
.table td:has(> .report-positive),
.table td:has(> .report-warning),
.table td:has(> .report-danger) {
    text-align: end;
    white-space: nowrap;
}

.saas-dashboard > section,
.saas-dashboard .dash-module,
.saas-dashboard .dash-feature-metric,
.saas-dashboard .dash-metric-card {
    animation: dashboard-enter 420ms ease both;
}

.saas-dashboard > section:nth-child(2) { animation-delay: 45ms; }
.saas-dashboard > section:nth-child(3) { animation-delay: 90ms; }
.saas-dashboard > section:nth-child(4) { animation-delay: 130ms; }

@keyframes dashboard-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.dash-hero-panel,
.dash-module,
.dash-feature-metric,
.dash-metric-card {
    border: 1px solid var(--border-subtle);
    background: linear-gradient(180deg, var(--surface-elevated), var(--surface-primary));
    box-shadow: var(--shadow-soft);
}

.dash-hero-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.55fr);
    gap: 1.2rem;
    align-items: end;
    padding: 1.35rem;
    border-radius: var(--radius-panel);
    position: relative;
    overflow: hidden;
}

.dash-hero-panel::after {
    content: '';
    position: absolute;
    inset-inline-end: -4rem;
    top: -6rem;
    width: 18rem;
    height: 18rem;
    background: radial-gradient(circle, var(--accent-orange-soft), transparent 68%);
    pointer-events: none;
}

.dash-hero-copy {
    position: relative;
    z-index: 1;
}

.dash-eyebrow {
    display: inline-flex;
    align-items: center;
    color: var(--accent-orange);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.dash-hero-copy h1,
.dash-module-header h2 {
    color: var(--text-primary);
    margin: 0;
    line-height: 1.15;
}

.dash-hero-copy h1 {
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    font-weight: 850;
    margin-top: 0.3rem;
}

.dash-hero-copy p {
    color: var(--text-secondary);
    max-width: 48rem;
    margin: 0.55rem 0 0;
    font-size: 0.95rem;
}

.dash-command-search {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.55rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-pill);
    background: var(--surface-primary);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.dash-command-search i {
    color: var(--text-muted);
    padding-inline-start: 0.4rem;
}

.dash-command-search .form-control {
    border: 0;
    background: transparent;
    box-shadow: none;
    min-height: 38px;
}

.dash-command-search .btn {
    border-radius: var(--radius-pill);
    white-space: nowrap;
}

.dash-metric-layout {
    display: grid;
    grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
    gap: 1rem;
}

.dash-feature-metric,
.dash-metric-card,
.dash-module {
    border-radius: var(--radius-card);
}

.dash-feature-metric {
    min-height: 210px;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.dash-feature-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.dash-feature-top strong {
    display: block;
    color: var(--text-primary);
    font-size: clamp(3rem, 6vw, 4.6rem);
    font-weight: 880;
    line-height: 0.95;
    margin-top: 0.35rem;
}

.dash-feature-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.55rem;
}

.dash-feature-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-subtle);
    color: var(--text-secondary);
    font-weight: 700;
}

.dash-feature-foot b {
    color: var(--text-primary);
    font-size: 1.45rem;
}

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

.dash-metric-card {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0.45rem 0.75rem;
    min-height: 98px;
    padding: 1rem;
    color: inherit;
    text-decoration: none;
    transition: transform var(--transition-soft), border-color var(--transition-soft), box-shadow var(--transition-soft);
}

a.dash-metric-card:hover {
    color: inherit;
    border-color: var(--accent-orange);
    box-shadow: var(--shadow-elevated);
    transform: translateY(-2px);
    text-decoration: none;
}

.dash-metric-icon,
.dash-action-chip i,
.dash-student-avatar {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
}

.dash-metric-label {
    color: var(--text-secondary);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dash-metric-card strong {
    grid-column: 2;
    color: var(--text-primary);
    font-size: 1.85rem;
    font-weight: 850;
    line-height: 1;
}

.dash-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
    gap: 1rem;
    align-items: start;
}

.dash-primary-column,
.dash-side-column {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.dash-module {
    overflow: hidden;
}

.dash-module-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--border-subtle);
}

.dash-module-header h2 {
    font-size: 1.02rem;
    font-weight: 820;
    margin-top: 0.25rem;
}

.dash-alert-stack {
    display: grid;
    gap: 0.7rem;
    padding: 1rem;
}

.dash-alert-tile {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.9rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-input);
    background: var(--surface-secondary);
    color: inherit;
    text-decoration: none;
    transition: background-color var(--transition-soft), border-color var(--transition-soft);
}

.dash-alert-tile:hover {
    color: inherit;
    border-color: var(--border-strong);
    text-decoration: none;
}

.dash-alert-tile strong,
.dash-alert-tile small {
    display: block;
}

.dash-alert-tile strong {
    color: var(--text-primary);
    font-size: 0.9rem;
}

.dash-alert-tile small {
    color: var(--text-secondary);
    margin-top: 0.14rem;
}

.dash-modern-list {
    max-height: none;
    background: transparent;
}

.dash-modern-list .dash-activity-item {
    padding: 0.9rem 1.1rem;
    border-bottom-color: var(--border-subtle);
}

.dash-modern-list .dash-activity-item:hover {
    background: var(--surface-secondary);
}

.dash-action-grid {
    display: grid;
    gap: 0.65rem;
    padding: 1rem;
}

.dash-action-chip {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 52px;
    padding: 0.65rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-input);
    background: var(--surface-secondary);
    color: var(--text-primary);
    text-decoration: none;
    font-weight: 750;
    transition: border-color var(--transition-soft), background-color var(--transition-soft), transform var(--transition-soft);
}

.dash-action-chip:hover {
    color: var(--text-primary);
    border-color: var(--border-strong);
    background: var(--surface-primary);
    transform: translateY(-1px);
    text-decoration: none;
}

.dash-setup-module {
    padding-bottom: 1rem;
}

.dash-setup-module p {
    color: var(--text-secondary);
    margin: 0;
    padding: 0 1.1rem 0.85rem;
    font-size: 0.9rem;
}

.dash-setup-list {
    display: grid;
    gap: 0.5rem;
    padding: 0 1rem;
}

.dash-setup-list a {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.65rem 0.75rem;
    border-radius: var(--radius-input);
    color: var(--text-primary);
    background: var(--surface-secondary);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.86rem;
}

.dash-setup-list a:hover {
    color: var(--text-primary);
    background: var(--accent-blue-soft);
    text-decoration: none;
}

.dash-setup-list i {
    color: var(--accent-orange);
}

.dash-student-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
    padding: 1rem;
}

.dash-student-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-height: 154px;
    padding: 0.9rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-input);
    background: var(--surface-secondary);
    color: inherit;
    text-decoration: none;
    transition: border-color var(--transition-soft), background-color var(--transition-soft), transform var(--transition-soft);
}

.dash-student-card:hover {
    color: inherit;
    border-color: var(--accent-blue);
    background: var(--surface-primary);
    transform: translateY(-2px);
    text-decoration: none;
}

.dash-student-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.3rem;
}

.dash-student-card strong {
    color: var(--text-primary);
    font-size: 0.95rem;
    line-height: 1.25;
}

.dash-student-card small,
.dash-student-card span,
.dash-student-card em {
    color: var(--text-secondary);
    font-size: 0.78rem;
    font-style: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-empty-state {
    display: grid;
    place-items: center;
    gap: 0.35rem;
    padding: 2.4rem 1rem;
    color: var(--text-muted);
    text-align: center;
}

.dash-empty-state i {
    font-size: 2rem;
    opacity: 0.5;
}

.dash-empty-state p {
    margin: 0;
    font-size: 0.88rem;
}

.dash-tone-orange { background: var(--accent-orange-soft); color: var(--accent-orange); }
.dash-tone-blue { background: var(--accent-blue-soft); color: var(--accent-blue); }
.dash-tone-green { background: color-mix(in srgb, var(--accent-green) 14%, transparent); color: var(--accent-green); }
.dash-tone-red { background: color-mix(in srgb, var(--accent-red) 13%, transparent); color: var(--accent-red); }

.saas-dashboard .dash-alert-icon-wrap.danger {
    background: color-mix(in srgb, var(--accent-red) 13%, transparent);
    color: var(--accent-red);
}

.saas-dashboard .dash-alert-icon-wrap.warning {
    background: color-mix(in srgb, var(--accent-orange) 14%, transparent);
    color: var(--accent-orange);
}

.saas-dashboard .dash-alert-icon-wrap.info {
    background: var(--accent-blue-soft);
    color: var(--accent-blue);
}

@media (prefers-reduced-motion: reduce) {
    .saas-dashboard > section,
    .saas-dashboard .dash-module,
    .saas-dashboard .dash-feature-metric,
    .saas-dashboard .dash-metric-card {
        animation: none !important;
        transform: none !important;
    }
}

/* ============ STUDENT PROFILE WORKSPACE ============ */

.student-workspace {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.student-hero,
.student-panel,
.student-metric-card {
    border: 1px solid var(--border-subtle);
    background: linear-gradient(180deg, var(--surface-elevated), var(--surface-primary));
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
}

.student-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem;
    overflow: hidden;
    position: relative;
}

.student-hero::after {
    content: '';
    position: absolute;
    inset-inline-end: -5rem;
    top: -6rem;
    width: 18rem;
    height: 18rem;
    background: radial-gradient(circle, var(--accent-blue-soft), transparent 68%);
    pointer-events: none;
}

.student-identity {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    min-width: 0;
    position: relative;
    z-index: 1;
}

.student-avatar {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--accent-blue);
    background: var(--accent-blue-soft);
    font-size: 1.55rem;
}

.student-kicker {
    color: var(--accent-orange);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.student-identity h1 {
    margin: 0.18rem 0 0;
    color: var(--text-primary);
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    font-weight: 880;
    line-height: 1.08;
}

.student-alt-name,
.student-context-line,
.student-status-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.student-alt-name {
    color: var(--text-secondary);
    margin-top: 0.35rem;
    font-weight: 700;
}

.student-context-line {
    color: var(--text-secondary);
    margin-top: 0.65rem;
    font-size: 0.88rem;
}

.student-context-line span,
.student-status-row {
    min-width: 0;
}

.student-context-line i {
    color: var(--accent-orange);
}

.student-status-row {
    margin-top: 0.65rem;
}

.student-muted {
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.student-hero-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.student-hero-actions form {
    display: inline-flex;
}

.student-finance-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.student-metric-card {
    min-height: 112px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}

.student-metric-card::before {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background: var(--accent-blue);
}

.student-metric-success::before { background: var(--accent-green); }
.student-metric-warning::before { background: var(--accent-orange); }
.student-metric-danger::before { background: var(--accent-red); }
.student-metric-info::before { background: var(--accent-blue); }

.student-metric-label {
    color: var(--text-secondary);
    font-size: 0.75rem;
    font-weight: 820;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.student-metric-card strong {
    color: var(--text-primary);
    font-size: clamp(1.35rem, 2.5vw, 1.9rem);
    font-weight: 860;
    line-height: 1.1;
}

.student-workspace-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
    gap: 1rem;
    align-items: start;
}

.student-main-column,
.student-side-column {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.student-side-column {
    position: sticky;
    top: 82px;
}

.student-panel {
    overflow: hidden;
}

.student-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--border-subtle);
}

.student-panel-header h2 {
    color: var(--text-primary);
    font-size: 1.02rem;
    font-weight: 830;
    margin: 0.22rem 0 0;
}

.student-panel-body {
    padding: 1rem;
}

.student-count {
    min-width: 2.25rem;
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-pill);
    color: var(--accent-orange);
    background: var(--accent-orange-soft);
    font-weight: 850;
}

.student-payment-list {
    display: grid;
    gap: 0.75rem;
}

.student-payment-card {
    padding: 0.9rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-input);
    background: var(--surface-secondary);
}

.student-payment-card.void {
    opacity: 0.68;
}

.student-payment-main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.student-payment-amount {
    color: var(--accent-orange);
    font-size: 1.22rem;
    font-weight: 880;
    line-height: 1.1;
}

.student-payment-meta,
.student-payment-foot {
    color: var(--text-secondary);
    font-size: 0.8rem;
}

.student-payment-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    margin-top: 0.3rem;
}

.student-payment-badges {
    display: flex;
    justify-content: flex-end;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.student-payment-foot {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem 0.8rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border-subtle);
}

.student-payment-foot i {
    color: var(--text-muted);
}

.student-history-grid {
    gap: 0.75rem;
}

.student-detail-list {
    display: grid;
    gap: 0.6rem;
    padding: 1rem;
}

.student-detail-list div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem;
    border-radius: var(--radius-input);
    background: var(--surface-secondary);
}

.student-detail-list span,
.student-mini-metrics span {
    color: var(--text-secondary);
    font-size: 0.76rem;
    font-weight: 780;
}

.student-detail-list strong {
    color: var(--text-primary);
    font-size: 0.86rem;
    text-align: end;
    overflow-wrap: anywhere;
}

.student-notes {
    margin: 0 1rem 1rem;
    padding: 0.85rem;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-input);
    background: var(--surface-secondary);
}

.student-notes span {
    color: var(--text-primary);
    font-weight: 800;
}

.student-notes p {
    color: var(--text-secondary);
    margin: 0.45rem 0 0;
    font-size: 0.88rem;
}

.student-mini-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    padding: 1rem;
}

.student-mini-metrics div {
    padding: 0.75rem;
    border-radius: var(--radius-input);
    background: var(--surface-secondary);
}

.student-mini-metrics strong {
    display: block;
    color: var(--text-primary);
    font-size: 1.35rem;
    font-weight: 860;
    line-height: 1.1;
}

.student-mini-metrics span {
    display: block;
    margin-top: 0.25rem;
}

.student-empty-state {
    display: grid;
    place-items: center;
    gap: 0.35rem;
    min-height: 130px;
    color: var(--text-muted);
    text-align: center;
}

.student-empty-state i {
    font-size: 2rem;
    opacity: 0.55;
}

.student-empty-state p {
    margin: 0;
}

.student-modal-summary {
    padding: 0.9rem;
    border-radius: var(--radius-input);
    background: var(--surface-secondary);
    color: var(--text-secondary);
}

.student-modal-summary strong,
.student-positive {
    color: var(--accent-green);
    font-weight: 850;
}

.student-danger {
    color: var(--accent-red);
    font-weight: 850;
}

@media (max-width: 992px) {
    .student-workspace-grid {
        grid-template-columns: 1fr;
    }

    .student-side-column {
        position: static;
    }

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

@media (max-width: 768px) {
    .student-hero {
        flex-direction: column;
        padding: 1rem;
    }

    .student-identity {
        flex-direction: column;
    }

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

    .student-finance-grid,
    .student-mini-metrics {
        grid-template-columns: 1fr;
    }

    .student-payment-main,
    .student-panel-header {
        flex-direction: column;
        align-items: stretch;
    }

    .student-payment-badges {
        justify-content: flex-start;
    }

    .student-panel-header .btn {
        width: 100%;
    }
}

/* ============ RESPONSIVE UTILITIES ============ */

.d-flex-responsive {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* ============ TABLET (max-width: 992px) ============ */

@media (max-width: 992px) {
    .main-content {
        padding: 1.25rem 1.35rem 1.75rem;
    }

    .dash-hero-panel,
    .dash-metric-layout,
    .dash-main-grid {
        grid-template-columns: 1fr;
    }

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

    .stat-card .stat-number {
        font-size: 1.8rem;
    }

    .kpi-card-value {
        font-size: 1.3rem;
    }

    .kpi-card-icon {
        width: 44px;
        height: 44px;
        font-size: 1.25rem;
    }

    .page-title {
        font-size: 1.25rem;
    }

    .card-body {
        padding: 1rem;
    }

    .premium-form-card .card-body,
    .premium-form-card-narrow .card-body {
        padding: 1rem;
    }
}

/* ============ MOBILE (max-width: 768px) ============ */

@media (max-width: 768px) {
    .sidebar {
        left: 0;
        right: auto;
        transform: translateX(-100%);
        width: var(--sidebar-width) !important;
        transition: transform var(--transition-speed) ease;
    }

    body[dir="rtl"] .sidebar {
        left: auto;
        right: 0;
        transform: translateX(100%);
    }

    .sidebar.sidebar-open {
        transform: translateX(0) !important;
    }

    .sidebar.collapsed {
        width: var(--sidebar-width) !important;
    }

    .content-wrapper {
        margin-left: 0 !important;
    }

    body[dir="rtl"] .content-wrapper {
        margin-right: 0 !important;
    }

    .main-content {
        padding: 1rem 0.85rem 1.35rem;
    }

    .top-header {
        padding: 0 0.75rem;
        height: 56px;
    }

    .top-header-right {
        gap: 0.5rem;
    }

    .top-header-lang,
    .theme-mode-toggle {
        gap: 0.1rem;
        padding: 0.15rem;
    }

    .theme-mode-button {
        min-width: 34px;
        padding-inline: 0.5rem;
    }

    .theme-mode-button span {
        display: none;
    }

    .top-header-user {
        padding: 0.2rem 0.45rem;
        min-height: 34px;
    }

    .top-header-user span {
        display: none;
    }

    .top-header-user .badge {
        display: none;
    }

    .page-title {
        font-size: 1.15rem;
        margin-bottom: 1rem;
        padding: 0.78rem 0.85rem;
        border-radius: 11px;
    }

    .saas-dashboard {
        gap: 0.85rem;
    }

    .dash-hero-panel {
        padding: 1rem;
        border-radius: 16px;
    }

    .dash-command-search {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        border-radius: 16px;
        padding: 0.65rem;
    }

    .dash-command-search .btn {
        grid-column: 1 / -1;
        width: 100%;
    }

    .dash-secondary-metrics,
    .dash-student-grid {
        grid-template-columns: 1fr;
        gap: 0.7rem;
    }

    .dash-feature-metric {
        min-height: 174px;
    }

    .dash-feature-top strong {
        font-size: 3.1rem;
    }

    .dash-module-header {
        align-items: stretch;
        flex-direction: column;
        padding: 0.9rem;
    }

    .dash-module-header .btn {
        width: 100%;
    }

    .dash-alert-tile {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .dash-alert-tile > i:last-child {
        display: none;
    }

    .dash-activity-main {
        align-items: flex-start;
        flex-direction: column;
    }

    .dash-activity-meta {
        white-space: normal;
    }

    .form-hero {
        flex-direction: column;
        padding: 1rem;
    }

    .form-shell {
        padding: 0.65rem;
    }

    .form-section {
        padding: 0.85rem;
    }

    .form-section-head {
        flex-direction: column;
    }

    .form-actions-bar {
        position: static;
        flex-direction: column-reverse;
    }

    .form-actions-bar .btn {
        width: 100%;
    }

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

    .report-hero,
    .report-section-header {
        flex-direction: column;
    }

    .report-actions,
    .report-actions .btn {
        width: 100%;
    }

    .report-feature-grid,
    .report-metric-grid {
        grid-template-columns: 1fr;
    }

    .page-title i {
        width: 1.85rem;
        height: 1.85rem;
        border-radius: 9px;
    }

    .card {
        border-radius: 10px;
    }

    .card-header {
        border-radius: 10px 10px 0 0 !important;
        padding: 0.75rem 1rem;
        font-size: 0.875rem;
    }

    .card-body {
        padding: 0.85rem;
    }

    .premium-form-card .card-body,
    .premium-form-card-narrow .card-body {
        padding: 0.85rem;
    }

    .stat-card {
        padding: 1rem;
        border-radius: 10px;
        margin-bottom: 0.5rem;
    }

    .stat-card .stat-number {
        font-size: 1.6rem;
    }

    .stat-card .stat-label {
        font-size: 0.7rem;
    }

    .stat-card:hover {
        box-shadow: var(--ltc-shadow-sm);
    }

    .kpi-card {
        margin-bottom: 0.5rem;
        padding: 1rem;
        border-radius: 10px;
    }

    .kpi-card:hover {
        box-shadow: var(--ltc-shadow-sm);
    }

    .kpi-card-icon {
        width: 42px;
        height: 42px;
        font-size: 1.15rem;
        border-radius: 10px;
    }

    .kpi-card-value {
        font-size: 1.2rem;
    }

    .kpi-card-label {
        font-size: 0.75rem;
    }

    .kpi-card-sub {
        font-size: 0.7rem;
    }

    .table-responsive {
        border-radius: 10px;
    }

    .table thead th {
        padding: 0.6rem 0.65rem;
        font-size: 0.7rem;
    }

    .table tbody td {
        padding: 0.55rem 0.65rem;
        font-size: 0.8rem;
    }

    .btn {
        padding: 0.55rem 1rem;
        font-size: 0.85rem;
        min-height: 44px;
    }

    .btn-sm {
        padding: 0.4rem 0.75rem;
        font-size: 0.78rem;
        min-height: 36px;
    }

    .form-control,
    .form-select {
        font-size: 16px;
        padding: 0.6rem 0.85rem;
        min-height: 48px;
    }

    .form-label {
        font-size: 0.75rem;
    }

    .form-check-input {
        min-width: 1.25rem;
        min-height: 1.25rem;
    }

    .form-check-label {
        font-size: 0.85rem;
    }

    .filter-bar {
        padding: 0.85rem;
        border-radius: 10px;
    }

    .profile-header {
        padding: 1.25rem;
        border-radius: 10px;
        margin-bottom: 1rem;
    }

    .profile-header .profile-name {
        font-size: 1.2rem;
    }

    .profile-header .profile-detail {
        font-size: 0.82rem;
    }

    .alert {
        padding: 0.75rem 1rem;
        font-size: 0.82rem;
        border-radius: 8px;
    }

    .login-card {
        padding: 1.5rem;
        border-radius: 12px;
        margin: 0 0.5rem;
    }

    .login-card .login-title {
        font-size: 1.3rem;
    }

    .d-flex.justify-content-between.align-items-center {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .platform-heading-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .dash-shortcut-card {
        min-height: 90px;
        padding: 1rem 0.5rem;
        font-size: 0.75rem;
        border-radius: 11px;
    }

    .dash-shortcut-card:hover {
        box-shadow: var(--ltc-shadow-sm);
    }

    .dash-sc-icon {
        width: 40px;
        height: 40px;
        font-size: 1.15rem;
    }

    .dash-stat-mini {
        padding: 0.75rem;
        gap: 0.6rem;
    }

    .dash-stat-mini-val {
        font-size: 1.2rem;
    }

    .dash-stat-mini-icon {
        width: 36px;
        height: 36px;
        font-size: 1rem;
    }

    .dash-alert-row {
        padding: 0.75rem 1rem;
    }

    .dash-alert-icon-wrap {
        width: 34px;
        height: 34px;
        font-size: 0.95rem;
    }

    .dash-alert-title {
        font-size: 0.82rem;
    }

    .dash-search-form {
        flex-wrap: wrap;
    }

    .dash-search-input {
        font-size: 16px !important;
    }

    .dash-activity-item {
        padding: 0.65rem 1rem;
        gap: 0.65rem;
    }

    .dash-activity-icon-wrap {
        width: 32px;
        height: 32px;
        font-size: 0.85rem;
    }

    .dash-activity-name {
        font-size: 0.8rem;
    }

    .dash-activity-amount {
        font-size: 0.8rem;
    }

    .badge-pending,
    .badge-confirmed,
    .badge-canceled,
    .badge-active,
    .badge-open,
    .badge-closed,
    .badge-void {
        padding: 0.25rem 0.6rem;
        font-size: 0.65rem;
    }

    .payment-history-item {
        padding: 0.6rem 0.75rem;
        font-size: 0.82rem;
    }

    .wide-card-grid,
    .audit-card-list {
        grid-template-columns: 1fr;
    }

    .mobile-card-list {
        display: block;
    }

    .desktop-table {
        display: none;
    }
}

/* ============ SMALL MOBILE (max-width: 480px) ============ */

@media (max-width: 480px) {
    .main-content {
        padding: 0.75rem 0.6rem 1.1rem;
    }

    .page-title {
        font-size: 1rem;
        margin-bottom: 0.75rem;
        padding: 0.7rem 0.75rem;
    }

    .stat-card .stat-number {
        font-size: 1.35rem;
    }

    .kpi-card-value {
        font-size: 1.1rem;
    }

    .kpi-card-icon {
        width: 38px;
        height: 38px;
        font-size: 1rem;
    }

    .card-body {
        padding: 0.75rem;
    }

    .top-header-lang .lang-toggle {
        padding: 0.2rem 0.5rem;
        font-size: 0.7rem;
    }

    .login-card {
        padding: 1.25rem;
    }
}

/* ============ DESKTOP (min-width: 769px) ============ */

@media (min-width: 769px) {
    .sidebar-overlay {
        display: none !important;
    }

    .mobile-card-list {
        display: none !important;
    }
}

@media (min-width: 769px) and (max-width: 992px) {
    .wide-card-grid,
    .audit-card-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ============ PRINT ============ */

@media print {
    .sidebar, .sidebar-overlay, .top-header {
        display: none !important;
    }

    .content-wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .main-content {
        padding: 0;
    }
}
