:root {
    /* Colors - Kolshi App Theme */
    --primary: #FF6D00;
    --primary-hover: #E65100;
    --primary-light: #FF9E40;

    --secondary: #4CAF50;
    --danger: #E53935;
    --warning: #FFB300;
    --info: #2196F3;

    --bg-main: #F9F9F9;
    --bg-card: #ffffff;
    --bg-sidebar: #121212;

    --text-main: #1A1A1A;
    --text-muted: #757575;
    --text-sidebar: #E0E0E0;
    --text-sidebar-active: #ffffff;

    --border: #E0E0E0;
    --border-sidebar: #333333;

    /* Shadows & Radii */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);

    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;

    /* Transitions */
    --transition: all 0.3s ease;
}

/* Dark Mode Overrides */
body.dark-mode {
    --bg-main: #0a0a0a;
    --bg-card: #181818;
    --text-main: #f5f5f5;
    --text-muted: #a0a0a0;
    --border: #2a2a2a;
    background-color: var(--bg-main);
    color: var(--text-main);
}

body.dark-mode .topbar,
body.dark-mode .card,
body.dark-mode .settings-accordion,
body.dark-mode .modal-content {
    background-color: var(--bg-card);
    border-color: var(--border);
}

body.dark-mode .accordion-header {
    background-color: #202020;
}

body.dark-mode .accordion-header.open {
    background-color: #332200;
}

body.dark-mode .data-table th {
    background-color: #202020;
}

body.dark-mode .input-with-icon input {
    background-color: #202020;
    color: white;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Cairo', sans-serif;
}

body {
    background-color: var(--bg-main);
    color: var(--text-main);
    font-size: 15px;
    line-height: 1.5;
    overflow-x: hidden;
}

body.auth-booting {
    overflow: hidden;
}

.auth-boot-splash {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background:
        radial-gradient(circle at top right, rgba(255, 109, 0, 0.12), transparent 28%),
        linear-gradient(180deg, #fffaf5 0%, #f8fafc 100%);
    z-index: 9999;
}

.auth-boot-card {
    min-width: min(420px, 100%);
    display: grid;
    gap: 10px;
    justify-items: center;
    text-align: center;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(255, 109, 0, 0.15);
    border-radius: 24px;
    padding: 28px 24px;
    box-shadow: 0 18px 55px rgba(15, 23, 42, 0.10);
}

.auth-boot-card strong {
    font-size: 1.05rem;
    color: var(--text-main);
}

.auth-boot-card span {
    color: var(--text-muted);
    font-size: 0.92rem;
}

.auth-boot-spinner {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--primary);
    background: rgba(255, 109, 0, 0.10);
    font-size: 1.35rem;
}

/* Utilities */
.hidden {
    display: none !important;
}

.text-center {
    text-align: center;
}

.text-primary {
    color: var(--primary);
}

.text-muted {
    color: var(--text-muted);
}

.text-sm {
    font-size: 0.875rem;
}

.w-100 {
    width: 100%;
}

.mt-3 {
    margin-top: 1rem;
}

.py-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.ml-2 {
    margin-left: 0.5rem;
}

/* Transition Effects */
.transition-fade {
    animation: fadeIn 0.4s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Buttons */
button {
    cursor: pointer;
    font-family: inherit;
    border: none;
    outline: none;
    transition: var(--transition);
}

.btn-primary {
    background-color: var(--primary);
    color: white;
    padding: 0.6rem 1.2rem;
    border-radius: var(--radius-md);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-shadow: 0 4px 6px rgba(79, 70, 229, 0.2);
}

.btn-primary:hover {
    background-color: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 8px rgba(79, 70, 229, 0.3);
}

.btn-primary:active {
    transform: translateY(0);
}

:root {
    /* Colors - Kolshi App Theme */
    --primary: #FF6D00;
    --primary-hover: #E65100;
    --primary-light: #FF9E40;

    --secondary: #4CAF50;
    --danger: #E53935;
    --warning: #FFB300;
    --info: #2196F3;

    --bg-main: #F9F9F9;
    --bg-card: #ffffff;
    --bg-sidebar: #121212;

    --text-main: #1A1A1A;
    --text-muted: #757575;
    --text-sidebar: #E0E0E0;
    --text-sidebar-active: #ffffff;

    --border: #E0E0E0;
    --border-sidebar: #333333;

    /* Shadows & Radii */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);

    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;

    /* Transitions */
    --transition: all 0.3s ease;
}

/* Dark Mode Overrides */
body.dark-mode {
    --bg-main: #0a0a0a;
    --bg-card: #181818;
    --text-main: #f5f5f5;
    --text-muted: #a0a0a0;
    --border: #2a2a2a;
    background-color: var(--bg-main);
    color: var(--text-main);
}

body.dark-mode .topbar,
body.dark-mode .card,
body.dark-mode .settings-accordion,
body.dark-mode .modal-content {
    background-color: var(--bg-card);
    border-color: var(--border);
}

body.dark-mode .accordion-header {
    background-color: #202020;
}

body.dark-mode .accordion-header.open {
    background-color: #332200;
}

body.dark-mode .data-table th {
    background-color: #202020;
}

body.dark-mode .input-with-icon input {
    background-color: #202020;
    color: white;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Cairo', sans-serif;
}

body {
    background-color: var(--bg-main);
    color: var(--text-main);
    font-size: 15px;
    line-height: 1.5;
    overflow-x: hidden;
}

/* Utilities */
.hidden {
    display: none !important;
}

.text-center {
    text-align: center;
}

.text-primary {
    color: var(--primary);
}

.text-muted {
    color: var(--text-muted);
}

.text-sm {
    font-size: 0.875rem;
}

.w-100 {
    width: 100%;
}

.mt-3 {
    margin-top: 1rem;
}

.py-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.ml-2 {
    margin-left: 0.5rem;
}

/* Transition Effects */
.transition-fade {
    animation: fadeIn 0.4s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Buttons */
button {
    cursor: pointer;
    font-family: inherit;
    border: none;
    outline: none;
    transition: var(--transition);
}

.btn-primary {
    background-color: var(--primary);
    color: white;
    padding: 0.6rem 1.2rem;
    border-radius: var(--radius-md);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-shadow: 0 4px 6px rgba(79, 70, 229, 0.2);
}

.btn-primary:hover {
    background-color: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 8px rgba(79, 70, 229, 0.3);
}

.btn-primary:active {
    transform: translateY(0);
}

.btn-google {
    background-color: white;
    color: #4285F4;
    padding: 0.6rem 1.2rem;
    border: 1px solid #4285F4;
    border-radius: var(--radius-md);
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
}

.btn-google:hover {
    background-color: #f1f5f9;
}

.divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 1.5rem 0;
    color: var(--text-muted);
    font-size: 0.85rem;
}

.divider::before,
.divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid var(--border);
}

.divider span {
    padding: 0 10px;
}

.btn-icon {
    background: transparent;
    color: var(--text-muted);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-icon:hover {
    background-color: var(--bg-main);
    color: var(--primary);
}

.btn-action {
    background: transparent;
    padding: 0.4rem;
    border-radius: var(--radius-sm);
    color: var(--text-muted);
}

.btn-action:hover {
    background-color: var(--bg-main);
    color: var(--primary);
}

.btn-action.danger:hover {
    color: var(--danger);
    background-color: #fee2e2;
}

.btn-action.success:hover {
    color: var(--secondary);
    background-color: #d1fae5;
}

/* Badges */
.badge {
    padding: 0.25rem 0.6rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
}

.badge-warning {
    background-color: #fef3c7;
    color: #d97706;
}

.badge-success {
    background-color: #d1fae5;
    color: #059669;
}

.badge-danger {
    background-color: #fee2e2;
    color: #dc2626;
}

.badge-info {
    background-color: #dbeafe;
    color: #2563eb;
}

/* Login Screen Styles */
.login-container {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
    position: relative;
    overflow: hidden;
}

.login-bg-shapes .shape {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    z-index: 0;
}

.login-bg-shapes .shape-1 {
    width: 400px;
    height: 400px;
    background-color: rgba(79, 70, 229, 0.2);
    top: -100px;
    right: -100px;
}

.login-bg-shapes .shape-2 {
    width: 300px;
    height: 300px;
    background-color: rgba(16, 185, 129, 0.2);
    bottom: -50px;
    left: -100px;
}

.login-box {
    background: white;
    width: 100%;
    max-width: 420px;
    padding: 2.5rem;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    z-index: 1;
    position: relative;
}

.logo-area {
    text-align: center;
    margin-bottom: 2rem;
}

.logo-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--primary), #818cf8);
    color: white;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 auto 1rem;
    box-shadow: 0 4px 10px rgba(79, 70, 229, 0.3);
}

.logo-area h2 {
    color: var(--text-main);
    font-weight: 800;
    margin-bottom: 0.2rem;
}

.logo-area p {
    color: var(--text-muted);
}

.input-group {
    margin-bottom: 1.2rem;
}

.input-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--text-main);
    font-size: 0.9rem;
}

.input-with-icon {
    position: relative;
    display: flex;
    align-items: center;
}

.input-with-icon i {
    position: absolute;
    /* Login credentials are always entered in English/LTR, so keep the
       decorative icon on that side and reserve space for it. */
    left: 1rem;
    right: auto;
    color: var(--text-muted);
    pointer-events: none;
}

.input-with-icon input {
    width: 100%;
    padding: 0.75rem 1rem 0.75rem 2.75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    font-family: inherit;
    font-size: 0.95rem;
    transition: var(--transition);
    background-color: #f9fafb;
    direction: ltr;
    text-align: left;
}

.input-with-icon input:focus {
    border-color: var(--primary);
    background-color: white;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
    outline: none;
}

#login-btn {
    width: 100%;
    margin-top: 1rem;
    padding: 0.8rem;
    font-size: 1rem;
}

.error-msg {
    color: var(--danger);
    font-size: 0.85rem;
    margin-top: 1rem;
    text-align: center;
    min-height: 20px;
}

/* Dashboard Layout */
.dashboard-container {
    display: flex;
    height: 100vh;
}

.sidebar {
    width: 260px;
    background-color: var(--bg-sidebar);
    color: var(--text-sidebar);
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    transition: var(--transition);
}

.sidebar-header {
    padding: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    border-bottom: 1px solid var(--border-sidebar);
}

.sidebar-header .logo-mini {
    width: 36px;
    height: 36px;
    background-color: var(--primary);
    color: white;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
}

.sidebar-header h2 {
    font-size: 1.2rem;
    font-weight: 800;
    color: white;
}

.nav-section {
    padding: 1.5rem 1.5rem 0.5rem;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #9ca3af;
    font-weight: 700;
}

.nav-links {
    list-style: none;
    flex-grow: 1;
    overflow-y: auto;
    padding: 0.5rem;
}

.nav-links li {
    padding: 0.8rem 1rem;
    margin-bottom: 0.25rem;
    border-radius: var(--radius-md);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 1rem;
    transition: var(--transition);
    font-weight: 600;
}

.nav-links li:hover {
    background-color: rgba(255, 255, 255, 0.05);
    color: var(--text-sidebar-active);
}

.nav-links li.active {
    background-color: var(--primary);
    color: white;
}

.sidebar-footer {
    padding: 1rem;
    border-top: 1px solid var(--border-sidebar);
}

.btn-logout {
    width: 100%;
    padding: 0.75rem;
    background-color: transparent;
    color: #ef4444;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-weight: 600;
}

.btn-logout:hover {
    background-color: rgba(239, 68, 68, 0.1);
}

.main-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.topbar {
    height: 70px;
    background-color: white;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2rem;
    flex-shrink: 0;
}

.topbar-left {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.topbar h1 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-main);
}

.d-mobile {
    display: none;
}

.user-info {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.user-details {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.admin-email {
    font-weight: 600;
    font-size: 0.9rem;
}

.admin-role {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.avatar {
    width: 40px;
    height: 40px;
    background-color: var(--primary-light);
    color: var(--primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.content-area {
    flex-grow: 1;
    overflow-y: auto;
    padding: 2rem;
}

/* Cards */
.card {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--border);
    margin-bottom: 2rem;
    overflow: hidden;
}

.card-header {
    padding: 1.5rem;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #fafafa;
}

.card-header h3 {
    font-size: 1.1rem;
    font-weight: 700;
}

/* Tables */
.table-responsive {
    overflow-x: auto;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
}

.data-table th,
.data-table td {
    padding: 1rem 1.5rem;
    text-align: right;
    border-bottom: 1px solid var(--border);
}

.data-table th {
    font-weight: 600;
    color: var(--text-muted);
    font-size: 0.85rem;
    text-transform: uppercase;
    background-color: #f9fafb;
}

.data-table tbody tr:hover {
    background-color: #f9fafb;
}

.data-table td {
    font-size: 0.95rem;
}

/* Empty State */
.empty-state {
    text-align: center;
    padding: 4rem 2rem;
}

.empty-icon {
    font-size: 3rem;
    color: var(--text-muted);
    opacity: 0.3;
    margin-bottom: 1rem;
}

.empty-state h4 {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
}

.empty-state p {
    color: var(--text-muted);
}

/* Zones Grid */
.zones-grid {
    padding: 1.5rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
}

.zone-card {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: var(--transition);
}

.zone-card:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow-md);
}

.zone-info h4 {
    font-size: 1.1rem;
    margin-bottom: 0.25rem;
}

.zone-info p {
    color: var(--text-muted);
    font-size: 0.85rem;
}

/* Toast */
.toast {
    position: fixed;
    bottom: -100px;
    left: 20px;
    background-color: white;
    box-shadow: var(--shadow-lg);
    border-radius: var(--radius-md);
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    transition: bottom 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 1000;
    border-right: 4px solid var(--secondary);
}

.toast.show {
    bottom: 20px;
}

.toast-icon {
    color: var(--secondary);
    font-size: 1.25rem;
}

.toast-content {
    font-weight: 600;
}

@media (max-width: 768px) {
    .sidebar {
        position: fixed;
        left: -100%;
        height: 100vh;
        z-index: 50;
    }

    .sidebar.open {
        left: 0;
    }

    .d-mobile {
        display: inline-flex;
    }

    .form-row {
        flex-direction: column;
    }
}

/* ======================== Settings Tab ======================== */

/* Sync Bar */
.settings-sync-bar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.25rem;
    background: linear-gradient(135deg, #e8f5e9, #f1f8e9);
    border: 1px solid #a5d6a7;
    border-radius: var(--radius-lg);
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #2e7d32;
}

.settings-sync-bar i {
    font-size: 1.1rem;
}

.sync-status {
    margin-right: auto;
    font-size: 0.8rem;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-weight: 700;
}

.sync-status.synced {
    background: #c8e6c9;
    color: #1b5e20;
}

.sync-status.saving {
    background: #fff9c4;
    color: #f57f17;
}

/* Accordion */
.settings-accordion {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    margin-bottom: 1rem;
    overflow: hidden;
    transition: var(--transition);
    box-shadow: var(--shadow-sm);
}

.settings-accordion:hover {
    box-shadow: var(--shadow-md);
}

.accordion-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.1rem 1.5rem;
    cursor: pointer;
    transition: var(--transition);
    -webkit-user-select: none;
    user-select: none;
    background-color: #fafafa;
}

.accordion-header:hover {
    background-color: #f5f5f5;
}

.accordion-header.open {
    background-color: #fff3e0;
    border-bottom: 1px solid var(--border);
}

.accordion-title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 700;
    font-size: 1rem;
    color: var(--text-main);
}

.accordion-title i {
    color: var(--primary);
    width: 20px;
    text-align: center;
}

.accordion-arrow {
    transition: transform 0.3s ease;
    color: var(--text-muted);
    font-size: 0.85rem;
}

.accordion-header.open .accordion-arrow {
    transform: rotate(180deg);
    color: var(--primary);
}

.accordion-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s ease;
    padding: 0 1.5rem;
}

.accordion-body.open {
    max-height: 2000px;
    padding: 1.5rem;
}

/* Settings Form */
.settings-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.form-row {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.form-row>.form-group {
    flex: 1;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.form-group.full-width {
    width: 100%;
}

.form-group label {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-main);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.form-group label i {
    color: var(--primary);
}

.settings-form input[type="text"],
.settings-form input[type="number"],
.settings-form input[type="url"],
.settings-form input[type="email"],
.settings-form input[type="tel"],
.settings-form select,
.settings-form textarea {
    width: 100%;
    padding: 0.65rem 0.9rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    font-family: inherit;
    font-size: 0.9rem;
    transition: var(--transition);
    background-color: #f9fafb;
    color: var(--text-main);
}

.settings-form input:focus,
.settings-form select:focus,
.settings-form textarea:focus {
    border-color: var(--primary);
    background-color: white;
    box-shadow: 0 0 0 3px rgba(255, 109, 0, 0.1);
    outline: none;
}

.settings-form textarea {
    resize: vertical;
    min-height: 60px;
}

.form-section-title {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--primary);
    padding-top: 0.75rem;
    border-top: 1px dashed var(--border);
    margin-top: 0.5rem;
}

.delivery-pricing-tiers {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.delivery-pricing-tier-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 0.75rem;
    align-items: flex-end;
    padding: 0.75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: rgba(255, 109, 0, 0.04);
}

.delivery-pricing-tier-row .btn-icon {
    width: 42px;
    height: 42px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--bg-card);
    color: var(--danger);
}

@media (max-width: 768px) {
    .delivery-pricing-tier-row {
        grid-template-columns: 1fr;
    }

    .delivery-pricing-tier-row .btn-icon {
        width: 100%;
    }
}

/* Toggle Switch */
.toggle-switch {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 26px;
    cursor: pointer;
}

.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-switch .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: 0.3s;
    border-radius: 26px;
}

.toggle-switch .slider::before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: 0.3s;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.toggle-switch input:checked+.slider {
    background-color: var(--primary);
}

.toggle-switch input:checked+.slider::before {
    transform: translateX(22px);
}

/* Save Button */
.btn-save {
    margin-top: 1rem;
    padding: 0.7rem 1.5rem;
    background: linear-gradient(135deg, var(--primary), var(--primary-hover));
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    align-self: flex-start;
    transition: var(--transition);
    box-shadow: 0 4px 12px rgba(255, 109, 0, 0.25);
}

.btn-save:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(255, 109, 0, 0.35);
}

.btn-save:active {
    transform: translateY(0);
}

.btn-save.saving {
    opacity: 0.7;
    pointer-events: none;
}

/* Loading State for forms */
.loading-state {
    text-align: center;
    padding: 2rem;
    color: var(--text-muted);
}

/* ======================== Modals ======================== */
.modal {
    display: none;
    position: fixed;
    z-index: 2000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    align-items: center;
    justify-content: center;
}

.modal.show {
    display: flex;
}

.modal-content {
    background-color: #fefefe;
    border-radius: var(--radius-lg);
    width: 90%;
    max-width: 600px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    animation: modalSlideIn 0.3s ease-out;
    display: flex;
    flex-direction: column;
    max-height: 90vh;
}

#settings-action-modal.wide-modal .modal-content {
    width: min(96vw, 1320px);
    max-width: 1320px;
}

#order-modal .modal-content {
    width: min(96vw, 1280px);
    max-width: 1280px;
    max-height: 94vh;
}

@keyframes modalSlideIn {
    from {
        transform: translateY(-30px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.modal-header {
    padding: 1.5rem;
    border-bottom: 1px solid var(--border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fafafa;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.modal-header h3 {
    margin: 0;
    font-size: 1.25rem;
    color: var(--text-main);
}

.btn-close-modal {
    background: none;
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
    color: var(--text-muted);
    transition: color 0.2s;
}

.btn-close-modal:hover {
    color: var(--danger);
}

.modal-body {
    padding: 1.5rem;
    overflow-y: auto;
    flex-grow: 1;
}

.modal-footer {
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--border);
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    background-color: #fafafa;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.btn-secondary {
    padding: 0.6rem 1.2rem;
    border: 1px solid var(--border);
    background-color: white;
    color: var(--text-main);
    border-radius: var(--radius-md);
    cursor: pointer;
    font-weight: 600;
    transition: all 0.2s;
}

.btn-secondary:hover {
    background-color: #f1f5f9;
}

.btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.6rem 1.2rem;
    border-radius: var(--radius-md);
    background-color: var(--danger);
    color: white;
    font-weight: 700;
    box-shadow: 0 4px 6px rgba(229, 57, 53, 0.2);
}

.btn-danger:hover {
    background-color: #c62828;
    transform: translateY(-1px);
    box-shadow: 0 6px 8px rgba(229, 57, 53, 0.28);
}

.btn-danger:disabled {
    cursor: not-allowed;
    opacity: 0.65;
    transform: none;
}

/* Specific Order Badge Colors */
.badge-pending {
    background-color: #fef3c7;
    color: #d97706;
}

.badge-accepted {
    background-color: #dbeafe;
    color: #2563eb;
}

.badge-delivering {
    background-color: #e0e7ff;
    color: #4f46e5;
}

.badge-delivered {
    background-color: #d1fae5;
    color: #059669;
}

.badge-cancelled {
    background-color: #fee2e2;
    color: #dc2626;
}

.nav-count-badge {
    margin-inline-start: auto;
    min-width: 1.4rem;
    height: 1.4rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.4rem;
    text-align: center;
}

.store-driver-requests-list {
    display: grid;
    gap: 0.8rem;
}

.store-driver-request-card {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 1rem;
    background: var(--bg-card);
}

.store-driver-request-card h4 {
    margin: 0 0 0.75rem;
}

.store-driver-request-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.6rem 1rem;
    margin-bottom: 0.85rem;
}

.store-driver-request-meta span {
    color: var(--text-muted);
    font-size: 0.85rem;
}

.store-driver-request-meta strong {
    display: block;
    color: var(--text-main);
    margin-top: 0.15rem;
    overflow-wrap: anywhere;
}

/* Order Details Styles */
.order-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.detail-item label {
    display: block;
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-bottom: 0.2rem;
}

.detail-item span {
    font-weight: 600;
    color: var(--text-main);
}

.order-items-list {
    margin-top: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.order-item-row {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border);
}

.order-item-row:last-child {
    border-bottom: none;
}

.order-total-row {
    display: flex;
    justify-content: space-between;
    padding: 1rem;
    background-color: #fafafa;
    font-weight: 700;
    border-top: 2px solid var(--border);
}

/* ======================== Users Tab ======================== */

/* Stats Bar */
.users-stats-bar {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.users-actions-bar {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.user-modal-header {
    background: linear-gradient(135deg, var(--primary), var(--primary-hover));
    color: white;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.user-modal-header h3 {
    color: white;
}

.btn-close-user-modal {
    color: rgba(255, 255, 255, 0.7) !important;
}

.user-detail-modal-content {
    max-width: 680px;
}

.user-detail-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1rem;
}

#managed-account-zone[multiple],
#driver-zone-assignment-select {
    min-height: 148px;
    padding: 0.5rem;
}

.stat-item {
    flex: 1;
    min-width: 120px;
    padding: 1rem 1.25rem;
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--text-main);
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

.stat-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.stat-item i {
    font-size: 1.1rem;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-sm);
}

.stat-item:first-child i {
    background: #f3f4f6;
    color: #6b7280;
}

.stat-item.stat-customer i {
    background: #dbeafe;
    color: #2563eb;
}

.stat-item.stat-seller i {
    background: #fef3c7;
    color: #d97706;
}

.stat-item.stat-delivery i {
    background: #d1fae5;
    color: #059669;
}

.stat-item.stat-admin i {
    background: #ede9fe;
    color: #7c3aed;
}

/* Filter Buttons */
.users-filter-group {
    display: flex;
    gap: 0.35rem;
    background: #f3f4f6;
    border-radius: var(--radius-md);
    padding: 0.25rem;
}

.filter-btn {
    padding: 0.45rem 0.85rem;
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    font-family: inherit;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-muted);
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

.filter-btn:hover {
    background: white;
    color: var(--text-main);
}

.filter-btn.active {
    background: var(--primary);
    color: white;
    box-shadow: 0 2px 8px rgba(255, 109, 0, 0.3);
}

/* ======================== Admin Settings Hub ======================== */
.admin-settings-hub-card {
    margin-bottom: 1rem;
}

.admin-settings-hub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.admin-settings-hub-item {
    border: 1px solid var(--border);
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #fffaf5 100%);
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    cursor: pointer;
    transition: var(--transition);
    text-align: right;
}

.admin-settings-hub-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: rgba(255, 109, 0, 0.28);
}

.admin-settings-hub-item.disabled {
    cursor: default;
    opacity: 0.72;
}

.admin-settings-hub-item.disabled:hover {
    transform: none;
}

.admin-settings-hub-item-main {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.admin-settings-hub-icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    font-size: 1.2rem;
    color: var(--accent, var(--primary));
    background: color-mix(in srgb, var(--accent, var(--primary)) 14%, white);
    flex-shrink: 0;
}

.admin-settings-hub-copy {
    min-width: 0;
}

.admin-settings-hub-copy strong {
    display: block;
    margin-bottom: 4px;
    color: var(--text-main);
    font-size: 1rem;
}

.admin-settings-hub-copy p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.84rem;
    line-height: 1.6;
}

.admin-settings-hub-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    flex-shrink: 0;
}

.admin-settings-hub-arrow {
    color: #94a3b8;
    font-size: 0.95rem;
}

.admin-settings-hub-status {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eef2ff;
    color: #4338ca;
}

.admin-settings-hub-status.ready {
    background: #ecfdf5;
    color: #047857;
}

.admin-settings-hub-status.soon {
    background: #fff7ed;
    color: #c2410c;
}

.settings-modal-list {
    display: grid;
    gap: 12px;
}

.settings-modal-item {
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 14px 16px;
    background: #fff;
}

.settings-modal-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.settings-modal-item-head strong {
    font-size: 0.96rem;
}

.settings-modal-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--text-muted);
    font-size: 0.82rem;
}

.settings-modal-item-note {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--border);
    color: var(--text-main);
    font-size: 0.85rem;
}

.settings-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.settings-inline-actions button[disabled] {
    opacity: 0.55;
    cursor: not-allowed;
}

.settings-panel-hero {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 18px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255, 109, 0, 0.14);
    background: linear-gradient(135deg, rgba(255, 247, 237, 0.95), rgba(255, 255, 255, 0.98));
}

.settings-panel-hero h4 {
    margin: 0 0 6px;
    font-size: 1rem;
}

.settings-panel-hero p {
    margin: 0;
    max-width: 620px;
}

.settings-toolbar-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    margin-bottom: 16px;
    align-items: end;
}

.settings-toolbar-actions {
    margin-top: 0;
    justify-content: flex-end;
}

.settings-permission-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 16px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid #fde68a;
    background: #fffbeb;
    color: #92400e;
    font-size: 0.92rem;
}

.settings-permission-note i {
    margin-top: 2px;
}

.product-discount-empty {
    display: grid;
    gap: 10px;
    justify-items: center;
    text-align: center;
    padding: 34px 18px;
    border: 1px dashed rgba(255, 109, 0, 0.28);
    border-radius: 16px;
    background: rgba(255, 109, 0, 0.04);
}

.product-discount-empty i {
    font-size: 30px;
    color: var(--primary);
}

.product-discount-table th,
.product-discount-table td {
    white-space: nowrap;
}

.product-discount-thumb {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    object-fit: cover;
    border: 1px solid var(--border);
    background: var(--bg-main);
}

.product-discount-thumb-empty {
    display: grid;
    place-items: center;
    color: var(--text-muted);
}

.product-discount-product-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--bg-main);
}

.product-discount-product-head img,
.product-discount-product-head > div:first-child {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    object-fit: cover;
    display: grid;
    place-items: center;
    background: #fff;
    color: var(--text-muted);
    border: 1px solid var(--border);
}

.product-discount-product-head strong,
.product-discount-product-head span {
    display: block;
}

.product-discount-product-head span {
    color: var(--text-muted);
    margin-top: 3px;
    font-weight: 700;
}

.product-discount-preview {
    margin-top: 16px;
    padding: 14px;
    border: 1px solid rgba(255, 109, 0, 0.18);
    border-radius: 16px;
    background: #fff8f2;
}

.product-discount-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.product-discount-preview-grid div {
    padding: 10px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.product-discount-preview-grid span,
.product-discount-preview-grid strong {
    display: block;
}

.product-discount-preview-grid span {
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 700;
}

.product-discount-preview-grid strong {
    margin-top: 3px;
    font-size: 16px;
}

.product-discount-errors {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fee2e2;
    color: #991b1b;
    font-size: 13px;
    font-weight: 700;
}

.product-discount-errors p {
    margin: 0;
}

.product-discount-errors p + p {
    margin-top: 4px;
}

.offer-campaign-row {
    display: grid;
    grid-template-columns: 124px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.offer-campaign-thumb {
    width: 124px;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: #fff7ed;
    color: var(--primary);
    border: 1px solid rgba(255, 109, 0, 0.14);
}

.offer-campaign-thumb.offer-campaign-shape-square {
    aspect-ratio: 1 / 1;
}

.offer-campaign-thumb.offer-campaign-shape-rectangle {
    aspect-ratio: 16 / 9;
}

.offer-campaign-thumb img,
.offer-campaign-current-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.offer-campaign-current-image {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}

.offer-campaign-current-image img {
    aspect-ratio: 16 / 9;
    border-radius: 10px;
}

.offer-campaign-current-image.offer-campaign-shape-square img {
    aspect-ratio: 1 / 1;
}

.offer-campaign-current-image span {
    color: var(--text-muted);
    font-size: 0.82rem;
    word-break: break-all;
}

@media (max-width: 768px) {
    .settings-panel-hero,
    .settings-toolbar-grid {
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .settings-toolbar-actions {
        justify-content: stretch;
    }

    .offer-campaign-row,
    .offer-campaign-current-image {
        grid-template-columns: 1fr;
    }

    .offer-campaign-thumb {
        width: 100%;
    }
}

.zone-editor-modal {
    max-width: 1180px;
    width: min(96vw, 1180px);
}

.zone-editor-layout {
    display: grid;
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.zone-editor-panel {
    display: grid;
    gap: 14px;
}

.zone-editor-map-shell {
    border: 1px solid var(--border);
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
}

.zone-editor-map-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(135deg, rgba(255, 247, 237, 0.95), rgba(255, 255, 255, 0.98));
}

.zone-editor-map-toolbar strong {
    display: block;
    margin-bottom: 4px;
}

.zone-editor-map-toolbar p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.86rem;
}

.zone-editor-map-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.zone-editor-map {
    height: 520px;
    width: 100%;
    background: #f3f4f6;
}

.zone-editor-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.zone-editor-stat {
    padding: 12px 14px;
    border-radius: 14px;
    background: #fff7ed;
    border: 1px solid rgba(255, 109, 0, 0.14);
}

.zone-editor-stat span {
    display: block;
    color: var(--text-muted);
    font-size: 0.8rem;
    margin-bottom: 4px;
}

.zone-editor-stat strong {
    font-size: 1rem;
}

.zone-editor-inline-note {
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid #fde68a;
    background: #fffbeb;
    color: #92400e;
    font-size: 0.88rem;
}

.zone-editor-inline-note i {
    margin-left: 6px;
}

.zone-editor-map .leaflet-control-attribution {
    font-size: 10px;
}

body.dark-mode .zone-editor-map-shell,
body.dark-mode .zone-editor-stat {
    background: #181818;
    border-color: var(--border);
}

body.dark-mode .zone-editor-map-toolbar {
    background: #202020;
}

body.dark-mode .zone-editor-inline-note {
    background: rgba(146, 64, 14, 0.2);
    border-color: rgba(253, 230, 138, 0.3);
    color: #fcd34d;
}

@media (max-width: 980px) {
    .zone-editor-layout {
        grid-template-columns: 1fr;
    }

    .zone-editor-map {
        height: 420px;
    }
}

@media (max-width: 640px) {
    .zone-editor-summary {
        grid-template-columns: 1fr;
    }

    .zone-editor-map-toolbar {
        flex-direction: column;
    }
}

/* Role Badges */
.badge-customer {
    background-color: #dbeafe;
    color: #2563eb;
}

.badge-seller {
    background-color: #eef2ff;
    color: #4338ca;
}

.badge-delivery {
    background-color: #e0f2fe;
    color: #0369a1;
}

.badge-admin {
    background-color: #ede9fe;
    color: #7c3aed;
}

/* User Avatar in Table */
.user-cell {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.user-avatar-sm {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary-light), var(--primary));
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 700;
    flex-shrink: 0;
}

.user-avatar-sm img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

/* Clickable User Row */
.data-table tbody tr.clickable-row {
    cursor: pointer;
    transition: var(--transition);
}

.data-table tbody tr.clickable-row:hover {
    background-color: #fff7ed;
    box-shadow: inset 4px 0 0 var(--primary);
}

/* ======================== User Detail Modal ======================== */

/* User Profile Header */
.user-profile-header {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.5rem;
    margin: -1.5rem -1.5rem 1.5rem -1.5rem;
    background: linear-gradient(135deg, #fff7ed, #fef3c7);
    border-bottom: 1px solid var(--border);
}

.user-avatar-lg {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary), var(--primary-hover));
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-weight: 800;
    box-shadow: 0 4px 12px rgba(255, 109, 0, 0.3);
    flex-shrink: 0;
}

.user-avatar-lg img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.user-profile-info h4 {
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 0.25rem;
    color: var(--text-main);
}

.user-profile-info .user-email-display {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 0.5rem;
}

.user-profile-info .user-badges {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Info Section */
.user-info-section {
    margin-bottom: 1.5rem;
}

.user-info-section-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #fff3e0;
}

.user-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
}

.user-info-item {
    padding: 0.75rem;
    background: #f9fafb;
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
}

.user-info-item label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-bottom: 0.25rem;
    font-weight: 600;
}

.user-info-item span {
    font-weight: 700;
    color: var(--text-main);
    font-size: 0.9rem;
}

/* Document Cards */
.user-docs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.doc-card {
    border: 2px dashed var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: var(--transition);
    cursor: pointer;
}

.doc-card:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.doc-card-label {
    padding: 0.6rem;
    background: #f9fafb;
    text-align: center;
    font-weight: 700;
    font-size: 0.8rem;
    color: var(--text-main);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    border-bottom: 1px solid var(--border);
}

.doc-card-label i {
    color: var(--primary);
}

.doc-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.doc-card:hover img {
    transform: scale(1.05);
}

.doc-card-empty {
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.5rem;
    color: var(--text-muted);
}

.doc-card-empty i {
    font-size: 2rem;
    opacity: 0.3;
}

/* Image Lightbox */
.image-lightbox {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    align-items: center;
    justify-content: center;
    cursor: zoom-out;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.image-lightbox.show {
    display: flex;
}

.image-lightbox img {
    max-width: 90%;
    max-height: 90vh;
    border-radius: var(--radius-lg);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    animation: modalSlideIn 0.3s ease-out;
}

/* Responsive for Users */
@media (max-width: 768px) {
    .users-stats-bar {
        flex-direction: column;
    }

    .users-filter-group {
        flex-wrap: wrap;
    }

    .user-info-grid,
    .user-docs-grid {
        grid-template-columns: 1fr;
    }
}

.finance-v5-shell {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.finance-v5-rail {
    background: linear-gradient(90deg, rgba(255, 109, 0, 0.08), rgba(255, 255, 255, 0));
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 1rem 1.5rem;
    height: fit-content;
    position: relative;
    top: auto;
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    z-index: 100;
}

.finance-v5-rail-header {
    display: flex;
    gap: 0.9rem;
    align-items: center;
    margin-bottom: 0;
    padding-left: 1.5rem;
    border-left: 1px solid var(--border);
}

.finance-v5-rail-header h2 {
    font-size: 1.1rem;
    margin-bottom: 0.2rem;
}

.finance-v5-rail-header p {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.finance-v5-badge {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff6d00, #ff9e40);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.finance-v5-rail-btn {
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 0.85rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    font-weight: 700;
    color: var(--text-main);
    background: var(--bg-card);
    transition: var(--transition);
    min-width: 220px;
}

.finance-v5-rail-btn:hover,
.finance-v5-rail-btn.active {
    border-color: rgba(255, 109, 0, 0.45);
    background: rgba(255, 109, 0, 0.08);
    transform: translateY(-1px);
}

.finance-v5-main {
    display: grid;
    gap: 1rem;
}

.finance-v5-hero,
.finance-v5-search,
.finance-v5-results-card,
.finance-v5-account-card {
    padding: 1.25rem;
}

.finance-v5-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    background:
        radial-gradient(circle at top right, rgba(255, 109, 0, 0.15), transparent 36%),
        var(--bg-card);
}

/* The account is selected from search now, so the old cash-dashboard banner
   only repeated information and consumed a large portion of the page. */
.finance-v5-hero {
    display: none;
}

.finance-v5-eyebrow {
    display: inline-flex;
    margin-bottom: 0.4rem;
    color: var(--primary);
    font-weight: 800;
    font-size: 0.82rem;
}

.finance-v5-hero h3 {
    font-size: 1.55rem;
    margin-bottom: 0.45rem;
}

.finance-v5-hero p,
.finance-v5-status,
.finance-v5-search-hint {
    color: var(--text-muted);
}

/* Keep search results directly below the search field instead of in a second
   page-sized panel. */
.finance-v5-search .finance-v5-results-card {
    width: 100%;
    margin-top: 0.9rem;
    padding: 0.9rem 0 0;
    border: 0;
    border-top: 1px solid #e2e8f0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.finance-v5-search .finance-v5-results-card .card-header {
    padding: 0 0 0.7rem;
    background: transparent;
}

.finance-v5-search .finance-v5-results-card .card-header h3 {
    font-size: 1rem;
}

.finance-v5-search .finance-v5-results-card .card-header p {
    margin-top: 0.2rem;
}

.finance-v5-search .finance-v5-results-card .finance-v5-empty-large {
    min-height: 96px;
}

.finance-v5-status {
    font-size: 0.92rem;
    font-weight: 600;
}

.finance-v5-search-row {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.finance-v5-search-input {
    flex: 1 1 420px;
}

.finance-v5-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

.finance-v5-results-card,
.finance-v5-account-card {
    width: 100%;
}

.finance-v5-results,
.finance-v5-account-body {
    display: grid;
    gap: 0.85rem;
}

.finance-v5-result-item {
    width: 100%;
    text-align: right;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 1rem;
    background: var(--bg-card);
    display: flex;
    align-items: center;
    transition: var(--transition);
}

.finance-v5-result-item:hover,
.finance-v5-result-item.active {
    border-color: rgba(255, 109, 0, 0.45);
    background: rgba(255, 109, 0, 0.06);
}

.finance-v5-result-row {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(120px, 1.25fr) minmax(150px, 1.6fr) minmax(90px, 1fr) auto;
    align-items: center;
    gap: 0.9rem;
}

.finance-v5-result-col {
    min-width: 0;
}

.finance-v5-result-col-name strong,
.finance-v5-result-col-contact span,
.finance-v5-result-col-id small {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.finance-v5-result-col-contact span,
.finance-v5-result-col-id small {
    color: var(--text-muted);
}

.finance-v5-result-col-status {
    display: flex;
    justify-content: flex-start;
}

/* Search result cards: keep the empty state compact and give every account
   a clear, touch-friendly card once a search returns results. */
#finance-v5-results .finance-v5-empty-large {
    min-height: 140px;
}

.finance-v5-results {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    align-items: stretch;
}

.finance-v5-result-item {
    min-height: 156px;
    padding: 1rem 1.05rem;
    border-radius: 16px;
    box-shadow: 0 2px 7px rgba(15, 23, 42, 0.04);
    position: relative;
    overflow: hidden;
}

.finance-v5-result-item::before {
    content: "فتح الحساب المالي";
    position: absolute;
    inset-inline-start: 1rem;
    bottom: 0.8rem;
    color: #ea580c;
    font-size: 0.78rem;
    font-weight: 800;
}

.finance-v5-result-item::after {
    content: "←";
    position: absolute;
    inset-inline-start: 1rem;
    bottom: 0.62rem;
    color: #ea580c;
    font-size: 1.1rem;
    transform: translateX(-1.2rem);
}

.finance-v5-result-item:hover,
.finance-v5-result-item.active {
    transform: translateY(-2px);
    box-shadow: 0 9px 22px rgba(234, 88, 12, 0.12);
}

.finance-v5-result-row {
    height: 100%;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    align-content: start;
    gap: 0.65rem 0.75rem;
    padding-bottom: 1.8rem;
}

.finance-v5-result-col-name {
    grid-column: 1 / -1;
}

.finance-v5-result-col-name strong {
    color: #17233a;
    font-size: 1.05rem;
}

.finance-v5-result-col-contact {
    grid-column: 1 / -1;
}

.finance-v5-result-col-contact span {
    color: #475569;
    font-size: 0.85rem;
}

.finance-v5-result-col-id {
    align-self: center;
}

.finance-v5-result-col-id small {
    width: fit-content;
    max-width: 100%;
    padding: 0.32rem 0.5rem;
    border-radius: 8px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 0.74rem;
}

.finance-v5-result-col-status {
    justify-content: flex-end;
}

.finance-v5-empty {
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: var(--text-muted);
    text-align: center;
}

.finance-v5-empty-large {
    min-height: 300px;
    flex-direction: column;
}

.finance-v5-account-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.finance-v5-action-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-end;
}

.finance-v5-account-identity h4 {
    font-size: 1.2rem;
    margin-bottom: 0.6rem;
}

.finance-v5-account-tags,
.finance-v5-tab-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.finance-v5-chip,
.finance-v5-tab-chip {
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    background: var(--bg-main);
    color: var(--text-main);
    font-size: 0.85rem;
    border: 1px solid var(--border);
}

.finance-v5-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.85rem;
}

.finance-v5-accountant-active .finance-v5-tab-body .finance-v5-summary-grid {
    display: none;
}

/* Accounting manager operational dashboard */
.finance-manager-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.35rem 1.5rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(255, 109, 0, 0.22);
    border-radius: 18px;
    background: linear-gradient(110deg, #fff7ef 0%, #fff 58%);
}

.finance-manager-kicker {
    display: block;
    margin-bottom: .35rem;
    color: var(--primary);
    font-weight: 800;
    font-size: .82rem;
}

.finance-manager-hero h3 {
    margin: 0;
    color: var(--text-main);
    font-size: 1.45rem;
}

.finance-manager-hero p {
    margin: .45rem 0 0;
    color: var(--text-muted);
}

.finance-manager-live-status {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem .75rem;
    border-radius: 999px;
    background: #edfdf3;
    color: #15803d;
    font-weight: 700;
    font-size: .8rem;
    white-space: nowrap;
}

.finance-manager-live-status i { font-size: .55rem; }

.finance-manager-action-queue {
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #fff;
}

.finance-manager-section-heading span {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-main);
}

.finance-manager-section-heading small { color: var(--text-muted); }

.finance-manager-action-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin-top: .8rem;
}

.finance-manager-action-card {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: .65rem;
    align-items: center;
    padding: .9rem;
    text-align: right;
    border: 1px solid #f2ddd0;
    border-radius: 14px;
    background: #fffaf6;
    color: var(--text-main);
    cursor: pointer;
    transition: var(--transition);
}

.finance-manager-action-card:hover {
    transform: translateY(-2px);
    border-color: var(--primary);
    box-shadow: 0 8px 18px rgba(255, 109, 0, .12);
}

.finance-manager-action-card i {
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--primary);
    color: #fff;
}

.finance-manager-action-card span { font-weight: 800; }
.finance-manager-action-card small { margin-top: .18rem; color: var(--text-muted); }

@media (max-width: 760px) {
    .finance-manager-hero { flex-direction: column; }
    .finance-manager-action-grid { grid-template-columns: 1fr; }
    .finance-manager-live-status { white-space: normal; }
}

/* Accounting manager dashboard (server-backed operational workspace) */
.accounting-manager-dashboard { direction: rtl; color: #182235; }
.accounting-manager-mode .topbar { display: none; }
.am-header { display:flex; align-items:center; gap:28px; padding:16px 20px; border:1px solid #e8edf3; border-radius:20px; background:#fff; box-shadow:0 4px 18px rgba(15,23,42,.04); }
.am-brand { display:flex; align-items:center; gap:10px; margin-left:auto; white-space:nowrap; }
.am-brand-mark { display:grid; place-items:center; width:45px; height:45px; border-radius:14px; background:#fff1e8; color:var(--primary); font-size:22px; }
.am-brand h1 { margin:0; font-size:21px; }.am-brand p { margin:2px 0 0; color:#64748b; font-size:12px; }
.am-header nav { display:flex; flex:1; justify-content:center; gap:8px; overflow:auto; }.am-header nav button { display:grid; gap:5px; min-width:82px; padding:9px 6px; color:#475569; background:transparent; border:0; border-bottom:2px solid transparent; cursor:pointer; font:inherit; font-size:12px; white-space:nowrap; }.am-header nav button i { font-size:17px; }.am-header nav button.active { color:var(--primary); border-bottom-color:var(--primary); font-weight:800; }
.am-user { display:flex; gap:8px; align-items:center; white-space:nowrap; }.am-user>i { color:var(--primary); font-size:32px; }.am-user strong,.am-user small { display:block; }.am-user small { color:#64748b; font-size:11px; }
.accounting-manager-dashboard main { padding:16px 10px; }.am-filter { display:flex; gap:8px; align-items:center; margin-bottom:16px; padding:12px; background:#fff; border:1px solid #e8edf3; border-radius:14px; }.am-filter button { border:1px solid #e2e8f0; border-radius:9px; background:#fff; padding:9px 14px; cursor:pointer; font:inherit; }.am-filter button.active,.am-filter #am-refresh { background:var(--primary); color:#fff; border-color:var(--primary); }.am-filter span { margin-left:auto; color:#94a3b8; font-size:12px; }.am-period-actions,.am-date-range { display:flex; gap:7px; align-items:center; }.am-date-range label { display:flex; gap:5px; align-items:center; color:#64748b; font-size:12px; white-space:nowrap; }.am-date-range input { border:1px solid #e2e8f0; border-radius:8px; padding:7px 8px; color:#334155; background:#fff; font:inherit; font-size:12px; direction:ltr; }
.am-movements-page>header p { margin:4px 0 0; color:#64748b; font-size:12px; font-weight:500; }.am-movement-filter { margin:16px; flex-wrap:wrap; }.am-movement-type { display:flex; align-items:center; gap:6px; color:#64748b; font-size:12px; white-space:nowrap; }.am-movement-type select { min-width:170px; border:1px solid #e2e8f0; border-radius:8px; padding:8px 10px; color:#334155; background:#fff; font:inherit; font-size:12px; }.am-movement-filter-actions { display:flex; gap:7px; align-items:center; }.am-movement-error { margin:0 16px 14px; padding:11px 13px; border:1px solid #fecaca; border-radius:9px; color:#b91c1c; background:#fff7f7; font-size:13px; }.am-inline-loading { padding:14px; border-top:1px solid #eef2f6; }.am-movement-more { display:flex; align-items:center; justify-content:center; gap:12px; padding:16px; border-top:1px solid #eef2f6; }.am-movement-more button { border:1px solid #fed7aa; border-radius:9px; padding:9px 14px; color:#c2410c; background:#fff7ed; cursor:pointer; font:inherit; }.am-movement-more small { color:#64748b; }
.am-section { margin-bottom:16px; }.am-section h2,.am-panel h2,.am-equation h2 { margin:0; font-size:17px; }.am-actions,.am-metrics,.am-reconciliation { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:10px; }.am-actions button { min-height:112px; padding:16px; text-align:right; border:1px solid #f3d8c6; border-radius:14px; background:linear-gradient(135deg,#fff,#fff7f1); cursor:pointer; }.am-actions b { display:block; color:var(--primary); font-size:24px; }.am-actions span { display:block; font-weight:700; font-size:13px; }.am-actions small { display:block; margin-top:5px; color:#8a94a6; font-size:11px; line-height:1.4; }
.am-metrics { grid-template-columns:repeat(6,minmax(0,1fr)); }.am-metric { padding:15px; border:1px solid #e7edf4; border-radius:14px; background:#fff; }.am-metric span { display:block; color:#64748b; font-size:12px; }.am-metric strong { display:block; margin-top:8px; font-size:17px; }.am-metric.positive strong { color:#15803d; }.am-metric.negative strong { color:#dc2626; }.am-metric.info strong { color:#7c3aed; }.am-metric.highlight { background:#fff7f0; border-color:#ffb17a; }.am-metric.highlight strong { color:var(--primary); }
.am-equation { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:16px 0; padding:16px; border:1px solid #fde4d1; border-radius:14px; background:#fffbf7; }.am-equation p,.am-note { margin:5px 0 0; color:#64748b; font-size:13px; }.am-equation>strong { padding:12px 16px; color:#fff; background:var(--primary); border-radius:10px; white-space:nowrap; }.am-balance-equation>div { min-width:0; }.am-equation-terms { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:13px; }.am-equation-terms span { min-width:105px; padding:8px 10px; border:1px solid #f0d9c8; border-radius:9px; background:#fff; color:#172033; font-weight:800; text-align:center; }.am-equation-terms small { display:block; margin-top:3px; color:#64748b; font-size:10px; font-weight:600; }.am-equation-terms b { color:var(--primary); font-size:18px; }
.am-columns { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.am-panel { overflow:hidden; border:1px solid #e8edf3; border-radius:14px; background:#fff; }.am-panel>header { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid #edf1f5; }.am-panel>header button { border:0; background:transparent; color:var(--primary); cursor:pointer; font:inherit; }.am-page { min-height:440px; }.am-table { overflow:auto; }.am-table table { width:100%; border-collapse:collapse; font-size:12px; }.am-table th,.am-table td { padding:11px 13px; text-align:right; border-bottom:1px solid #eef2f6; white-space:nowrap; }.am-table th { color:#64748b; font-weight:700; background:#fafcff; }.am-status { padding:4px 7px; border-radius:7px; color:#15803d; background:#eefbf3; }.am-empty,.am-loading { padding:42px 18px; color:#64748b; text-align:center; }.am-loading i { margin-left:7px; color:var(--primary); }
.am-clickable-row { cursor:pointer; transition:background .15s ease; }.am-clickable-row:hover { background:#fff7f1; }
.am-store-layout { display:grid; grid-template-columns:minmax(340px,1.05fr) minmax(0,1.95fr); gap:14px; }.am-store-list { align-self:start; }.am-store-detail { min-width:0; }.am-store-search { display:flex; gap:10px; padding:16px; border-bottom:1px solid #edf1f5; }.am-store-search input { flex:1; min-width:0; border:1px solid #dce4ec; border-radius:10px; padding:10px 12px; font:inherit; }.am-store-profile { display:flex; justify-content:space-between; gap:18px; padding:18px; border-bottom:1px solid #edf1f5; }.am-store-profile strong,.am-store-profile span { display:block; }.am-store-profile strong { font-size:21px; margin-bottom:8px; }.am-store-profile span { color:#64748b; font-size:13px; margin-top:4px; }.am-store-profile>i { display:grid; place-items:center; width:58px; height:58px; border-radius:18px; color:var(--primary); background:#fff1e8; font-size:26px; }.am-store-metrics { margin:16px; grid-template-columns:repeat(3,minmax(0,1fr)); }.am-store-actions { display:flex; gap:10px; padding:0 16px; }.am-store-actions button { padding:10px 16px; border:1px solid #e2e8f0; border-radius:10px; cursor:pointer; font:inherit; background:#fff; }.am-store-actions .btn-primary { color:#fff; background:var(--primary); border-color:var(--primary); }.am-store-eligible { margin-top:16px; }.am-store-history { margin-top:16px; }
.am-receipts-page>header p { margin:4px 0 0; color:#64748b; font-size:13px; font-weight:500; }.am-receipts-layout { direction:ltr !important; display:grid; grid-template-columns:minmax(300px,1fr) minmax(420px,1.45fr) minmax(340px,1.1fr); grid-template-areas:"details orders receipts"; min-height:560px; }.am-receipts-layout>section { direction:rtl; min-width:0; border-left:1px solid #edf1f5; }.am-receipts-layout>section:last-child { border-left:0; }.am-receipt-detail-pane { grid-area:details; overflow:hidden; }.am-receipt-orders-pane { grid-area:orders; }.am-receipt-list-pane { grid-area:receipts; }.am-receipts-layout header { display:flex; align-items:center; justify-content:space-between; min-height:60px; padding:12px 14px; border-bottom:1px solid #edf1f5; }.am-receipts-layout header h2 { margin:0; font-size:16px; }.am-receipts-layout header span { color:#64748b; font-size:12px; }.am-receipts-layout .am-table { max-height:560px; }.am-receipts-layout .am-table th,.am-receipts-layout .am-table td { padding:11px 10px; }.am-clickable-row.active { background:#fff3eb; box-shadow:inset -3px 0 0 var(--primary); }.am-receipt-detail-scroll { height:560px; overflow-y:auto; overscroll-behavior:contain; }.am-order-details { padding:16px; }.am-order-details-loading { min-height:260px; display:flex; align-items:center; justify-content:center; }.am-order-title { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid #edf1f5; }.am-order-title strong { font-size:17px; }.am-order-title span { color:#15803d; background:#eefbf3; border-radius:8px; padding:5px 8px; font-size:12px; }.am-order-details dl,.am-receipt-summary dl { margin:0; }.am-order-details dl>div,.am-receipt-summary dl>div { padding:10px 0; border-bottom:1px solid #f0f3f6; }.am-order-details dt,.am-receipt-summary dt { color:#64748b; font-size:12px; margin-bottom:4px; }.am-order-details dd,.am-receipt-summary dd { margin:0; overflow-wrap:anywhere; font-size:13px; font-weight:700; }.am-order-details h3 { margin:18px 0 10px; font-size:15px; }.am-order-financials { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.am-order-financials h3,.am-order-note h3 { grid-column:1/-1; }.am-order-financials>div { border:1px solid #edf1f5; border-radius:9px; padding:9px; }.am-order-financials span,.am-order-financials strong { display:block; }.am-order-financials span { color:#64748b; font-size:11px; }.am-order-financials strong { margin-top:3px; font-size:13px; }.am-order-note p { margin:0; padding:10px; border-radius:9px; background:#fff8f3; color:#475569; font-size:13px; white-space:pre-wrap; }.am-order-raw-table { max-height:260px; }.am-order-raw-table td:last-child { max-width:230px; white-space:normal; overflow-wrap:anywhere; }.am-compact-empty { padding:22px 10px; }.am-receipt-summary-pane { border-top:1px solid #edf1f5; }.am-receipt-summary-pane>header { min-height:auto; padding:12px 14px; }.am-receipt-summary { padding:14px; }.am-receipt-summary .am-order-title { margin-bottom:4px; }.am-receipt-summary dl { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }.am-receipt-summary dl>div { min-width:0; }
@media (max-width:1100px) { .am-header { align-items:flex-start; flex-wrap:wrap; }.am-header nav { order:3; flex-basis:100%; justify-content:flex-start; }.am-metrics { grid-template-columns:repeat(3,1fr); } }
@media (max-width:1100px) { .am-receipts-layout { grid-template-columns:1fr 1fr; grid-template-areas:"receipts orders" "details details"; }.am-receipt-detail-pane { border-top:1px solid #edf1f5; }.am-receipts-layout>section { border-left:1px solid #edf1f5; }.am-receipts-layout>section:last-child { border-left:0; } }
@media (max-width:900px) { .am-store-layout { grid-template-columns:1fr; }.am-store-metrics { grid-template-columns:1fr 1fr; }.am-receipts-layout { grid-template-columns:1fr; grid-template-areas:"receipts" "orders" "details"; }.am-receipts-layout>section { border-left:0; border-top:1px solid #edf1f5; }.am-receipts-layout>section:first-child { border-top:0; } }
@media (max-width:700px) { .am-columns { grid-template-columns:1fr; }.am-actions,.am-reconciliation { grid-template-columns:1fr 1fr; }.am-metrics { grid-template-columns:1fr 1fr; }.am-user { display:none; }.am-filter { flex-wrap:wrap; }.am-filter span { order:4; flex-basis:100%; }.am-date-range { width:100%; }.am-date-range label { flex:1; }.am-date-range input { width:100%; min-width:0; }.am-movement-type,.am-movement-type select,.am-movement-filter-actions { width:100%; }.am-movement-filter-actions button { flex:1; padding-inline:7px; }.am-movement-more { align-items:stretch; flex-direction:column; text-align:center; }.am-equation { align-items:stretch; flex-direction:column; }.am-equation>strong { align-self:flex-start; } }

/* Receipt summary: compact vertical accounting slip above the selected receipt list. */
.am-transaction-hero { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; border-radius:12px; background:#fff7ed; color:#9a3412; }.am-transaction-hero>div span,.am-transaction-hero>div strong { display:block; }.am-transaction-hero>div span { font-size:13px; font-weight:700; }.am-transaction-hero>div strong { margin-top:5px; font-size:22px; }.am-detail-status { padding:6px 10px; border-radius:999px; color:#166534; background:#dcfce7; font-size:12px; font-weight:700; }.am-detail-section { margin-top:20px; }.am-detail-section h4 { margin:0 0 10px; font-size:15px; }.am-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.am-detail-field { min-width:0; padding:10px; border:1px solid #e8edf3; border-radius:9px; background:#fbfcfe; }.am-detail-field span,.am-detail-field strong { display:block; }.am-detail-field span { color:#64748b; font-size:11px; }.am-detail-field strong { margin-top:4px; overflow-wrap:anywhere; font-size:13px; }.am-detail-note { margin:0; padding:11px; border-radius:9px; background:#fff8f3; white-space:pre-wrap; }.am-detail-hint { display:flex; gap:11px; align-items:flex-start; padding:12px; border:1px dashed #fdba74; border-radius:10px; background:#fffbeb; }.am-detail-hint i { color:#c2410c; font-size:20px; }.am-detail-hint strong,.am-detail-hint span { display:block; }.am-detail-hint span { margin-top:3px; color:#64748b; font-size:12px; }
.am-detail-button { border:1px solid #fed7aa; border-radius:8px; padding:6px 10px; background:#fff7ed; color:#c2410c; font:inherit; font-size:12px; cursor:pointer; white-space:nowrap; }
.am-detail-button:hover { background:#ffedd5; }
.am-transaction-modal { width:min(720px,96vw); }
.am-transaction-summary { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; padding:12px; border-radius:10px; background:#fff7ed; color:#9a3412; }
.am-transaction-summary strong { font-size:16px; }
.am-transaction-modal .am-table td { white-space:normal; overflow-wrap:anywhere; }
.am-receipt-summary-pane { border-bottom:1px solid #edf1f5; background:#fff; }
.am-receipt-summary-pane>header { min-height:auto; padding:10px 14px; }
.am-receipt-summary { padding:8px 14px 14px; }
.am-receipt-summary .am-order-title { display:none; }
.am-receipt-summary dl { display:block; }
.am-receipt-summary dl>div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:5px 0; min-width:0; border-bottom:0; }
.am-receipt-summary dt { flex:0 0 auto; margin:0; }
.am-receipt-summary dd { text-align:left; font-size:12px; }
.am-receipt-search { display:flex; align-items:center; gap:8px; padding:10px 14px; border-bottom:1px solid #edf1f5; background:#fbfcfe; color:#94a3b8; }
.am-receipt-search input { width:100%; min-width:0; border:1px solid #dce4ec; border-radius:8px; padding:8px 10px; font:inherit; background:#fff; }
.am-receipt-search select { flex:0 0 155px; min-width:0; border:1px solid #dce4ec; border-radius:8px; padding:8px 9px; color:#334155; font:inherit; background:#fff; }
.am-receipts-layout.is-idle { grid-template-columns:minmax(0,1fr); grid-template-areas:"receipts"; }
.am-receipts-layout.has-receipt:not(.has-order) { grid-template-columns:minmax(420px,1.45fr) minmax(340px,1.1fr); grid-template-areas:"orders receipts"; }
.am-pane-enter { animation:am-receipt-pane-enter .32s cubic-bezier(.2,.8,.2,1) both; }
@keyframes am-receipt-pane-enter { from { opacity:0; transform:translateX(-28px); } to { opacity:1; transform:translateX(0); } }
@media (max-width:1100px) { .am-receipts-layout.is-idle { grid-template-columns:1fr; grid-template-areas:"receipts"; }.am-receipts-layout.has-receipt:not(.has-order) { grid-template-columns:1fr 1fr; grid-template-areas:"orders receipts"; } }
@media (max-width:900px) { .am-receipts-layout.has-receipt:not(.has-order) { grid-template-columns:1fr; grid-template-areas:"receipts" "orders"; } }
.am-order-paid td { background:#effbf3; }.am-order-unpaid td { background:#fff5f4; }.am-order-paid:hover td { background:#e6f8ec; }.am-order-unpaid:hover td { background:#ffebe8; }
.am-store-payment-status { display:inline-block; padding:4px 7px; border-radius:7px; font-size:11px; white-space:nowrap; }.am-store-payment-status.paid,.am-status-paid { color:#15803d; background:#dcfce7; }.am-store-payment-status.unpaid { color:#dc2626; background:#fee2e2; }
.am-receipt-paid td { background:#effbf3 !important; }.am-receipt-paid .am-status { color:#15803d; background:#dcfce7; }
.am-status-office { color:#1d4ed8 !important; background:#dbeafe !important; }.am-status-unpaid { color:#dc2626 !important; background:#fee2e2 !important; }.am-receipt-unpaid td { background:#fff5f4 !important; }

.finance-v5-summary-card {
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 1rem;
    display: grid;
    gap: 0.45rem;
    background: var(--bg-main);
}

.finance-v5-summary-card-button {
    width: 100%;
    text-align: inherit;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

.finance-v5-summary-card span {
    color: var(--text-muted);
    font-size: 0.85rem;
}

.finance-v5-summary-card strong {
    font-size: 1.2rem;
}

.finance-v5-paid-field {
    display: inline-flex;
    width: fit-content;
    margin-top: 0.45rem;
    border-radius: 999px;
    padding: 0.25rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 700;
}

.finance-v5-paid-field.success {
    background: rgba(22, 163, 74, 0.1);
    color: #15803d;
}

.finance-v5-paid-field.pending {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}

.finance-v5-summary-card-highlight {
    border-color: rgba(255, 109, 0, 0.45);
    background: rgba(255, 109, 0, 0.06);
}

.finance-v5-summary-card-success {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.finance-v5-summary-card-success span {
    color: #166534;
    font-weight: 700;
}

.finance-v5-summary-card-success strong {
    color: #15803d;
}

.stores-search-field {
    min-width: min(320px, 48vw);
}

.store-zones-hero {
    align-items: center;
}

.store-zone-count {
    display: grid;
    min-width: 84px;
    text-align: center;
}

.store-zone-count strong {
    font-size: 1.5rem;
    color: var(--primary);
}

.store-zones-list,
.store-zone-options {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.store-zone-card {
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-card);
}

.store-zone-card.is-primary {
    border-color: var(--primary);
}

.store-zone-card-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.store-zone-card-header > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.store-zone-details-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.store-zone-details-grid > div {
    display: grid;
    gap: 3px;
}

.store-zone-details-grid span,
.store-zone-option small {
    color: var(--text-muted);
    font-size: 0.78rem;
}

.store-zone-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-card);
}

.store-zone-option.is-inactive {
    background: var(--bg-main);
}

.store-zone-option-main {
    display: grid;
    gap: 3px;
}

.store-zone-primary-choice {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

@media (max-width: 820px) {
    .store-zone-details-grid {
        grid-template-columns: 1fr;
    }

    .store-zone-option {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .store-zone-option .badge,
    .store-zone-primary-choice {
        grid-column: 2;
        justify-self: start;
    }
}

.finance-v5-reconciliation-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: -0.2rem 0 1rem;
}

.finance-v5-reconciliation-summary > span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 0.5rem 0.7rem;
    font-size: 0.82rem;
    font-weight: 700;
}

.finance-v5-reconciliation-shortage {
    color: #b42318;
    background: #fff1f0;
    border-color: #fecaca;
}

.finance-v5-reconciliation-excess {
    color: #1d4ed8;
    background: #eff6ff;
    border-color: #bfdbfe;
}

.finance-v5-reconciliation-amount {
    display: grid;
    gap: 0.3rem;
    min-width: 148px;
    border: 1px solid transparent;
    border-radius: 7px;
    padding: 0.45rem 0.55rem;
    white-space: normal;
}

.finance-v5-reconciliation-amount strong {
    color: inherit;
}

.finance-v5-reconciliation-amount small {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    font-weight: 700;
}

.finance-v5-table td.finance-v5-amount-deduction {
    color: #9a3412;
    background: #fff7ed;
    font-weight: 700;
}

.finance-v5-table td.finance-v5-reconciliation-net-shortage {
    color: #b42318;
    background: #fff7f5;
    font-weight: 700;
}

.finance-v5-table td.finance-v5-reconciliation-net-excess {
    color: #1d4ed8;
    background: #f4f8ff;
    font-weight: 700;
}

.finance-v5-free-delivery-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #bbf7d0;
    border-radius: 7px;
    padding: 0.35rem 0.5rem;
    color: #166534;
    background: #f0fdf4;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: normal;
}

.finance-v5-next-step {
    border: 1px dashed rgba(255, 109, 0, 0.4);
    border-radius: 14px;
    padding: 1rem;
    display: flex;
    gap: 0.6rem;
    align-items: center;
    color: var(--text-muted);
}

.finance-v5-mini-history {
    display: grid;
    gap: 0.75rem;
}

.finance-v5-mini-history-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.finance-v5-mini-history-header span {
    color: var(--text-muted);
    font-size: 0.85rem;
}

.finance-v5-history-list {
    display: grid;
    gap: 0.6rem;
}

.finance-v5-history-item {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 0.85rem 1rem;
    background: var(--bg-main);
    width: 100%;
    text-align: inherit;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
}

.finance-v5-history-item > div {
    display: grid;
    gap: 0.2rem;
}

.finance-v5-history-item.accountant-static {
    cursor: default;
}

.finance-v5-history-item:hover,
.finance-v5-history-item:focus-visible,
.finance-v5-history-item.expanded {
    border-color: rgba(255, 109, 0, 0.42);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.finance-v5-history-item span,
.finance-v5-history-item small {
    color: var(--text-muted);
}

.finance-v5-history-hint {
    margin-top: 0.3rem;
    color: var(--primary) !important;
    font-size: 0.78rem;
}

.finance-v5-history-details {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.45rem;
}

.finance-v5-history-detail-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 0.35rem;
    border-top: 1px dashed rgba(15, 23, 42, 0.08);
}

.finance-v5-history-detail-row span {
    color: var(--text-muted);
    font-size: 0.84rem;
}

.finance-v5-history-detail-row strong {
    color: var(--text-main);
    font-size: 0.88rem;
}

.finance-v5-history-breakdown {
    color: var(--text-main) !important;
    font-size: 0.8rem;
    line-height: 1.5;
}

.finance-v5-modal-grid {
    display: grid;
    gap: 1rem;
}

.finance-v5-settlement-layout {
    display: grid;
    gap: 1.25rem;
}

.finance-v5-settlement-overview,
.finance-v5-settlement-form-panel {
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #fff;
}

.finance-v5-settlement-overview {
    padding: 1.1rem;
    background: linear-gradient(145deg, #fffaf5 0%, #fff 64%);
    border-color: rgba(255, 109, 0, 0.28);
    display: grid;
    align-content: start;
    gap: 1rem;
}

.finance-v5-settlement-overview-head h4,
.finance-v5-settlement-form-heading h4 {
    margin: 0.3rem 0 0;
    color: #17233a;
    font-size: 1.12rem;
}

.finance-v5-settlement-overview-head p,
.finance-v5-settlement-form-heading span {
    margin: 0.4rem 0 0;
    color: var(--text-muted);
    font-size: 0.84rem;
    line-height: 1.65;
}

.finance-v5-settlement-kicker {
    display: inline-flex;
    width: fit-content;
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 109, 0, 0.12);
    color: #c2410c;
    font-size: 0.76rem;
    font-weight: 800;
}

.finance-v5-settlement-entity-line {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #64748b;
    font-size: 0.82rem;
}

.finance-v5-settlement-entity-line i {
    color: #ea580c;
}

.finance-v5-settlement-breakdown {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.finance-v5-settlement-breakdown-item {
    min-width: 0;
    border: 1px solid #e2e8f0;
    border-radius: 13px;
    background: #fff;
    padding: 0.7rem;
    display: grid;
    gap: 0.35rem;
}

.finance-v5-settlement-breakdown-item span {
    color: #64748b;
    font-size: 0.75rem;
    line-height: 1.35;
}

.finance-v5-settlement-breakdown-item strong {
    color: #17233a;
    font-size: 1rem;
    white-space: nowrap;
}

.finance-v5-settlement-breakdown-item.company {
    border-color: #bfdbfe;
    background: #f8fbff;
}

.finance-v5-settlement-breakdown-item.driver {
    border-color: #fed7aa;
    background: #fffaf5;
}

.finance-v5-settlement-breakdown-item.total {
    border-color: rgba(255, 109, 0, 0.45);
    background: #fff7ed;
}

.finance-v5-settlement-breakdown-item.total strong {
    color: #c2410c;
}

.finance-v5-settlement-form-panel {
    padding: 1.1rem;
}

.finance-v5-settlement-form-heading {
    padding-bottom: 0.9rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #e2e8f0;
}

.finance-v5-settlement-form-grid .form-group {
    margin: 0;
}

.finance-v5-settlement-form-grid .finance-v5-company-discount-payment {
    margin-top: 0;
    min-height: 100%;
}

.finance-v5-final-confirm-modal {
    max-width: 940px;
    padding: 0;
    overflow: hidden;
}

.finance-v5-final-confirm-header {
    position: relative;
    padding: 1.2rem 1.5rem;
    background: #17233a;
    border-bottom: 3px solid #f97316;
    color: #fff;
}

.finance-v5-final-confirm-header .btn-close-modal {
    position: absolute;
    inset-inline-start: 1rem;
    top: 1rem;
    border: 0;
    background: transparent;
    color: #fff;
}

.finance-v5-final-confirm-header > div {
    padding-inline-start: 2.25rem;
}

.finance-v5-confirm-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #fed7aa;
    font-size: 0.78rem;
    font-weight: 800;
}

.finance-v5-final-confirm-header h3 {
    margin: 0.3rem 0 0;
    color: #fff;
    font-size: 1.28rem;
}

.finance-v5-final-confirm-body {
    padding: 1.25rem;
    background: #f8fafc;
    max-height: 78vh;
    overflow: auto;
}

.finance-v5-confirmation-layout {
    display: grid;
    gap: 1rem;
}

.finance-v5-confirmation-summary,
.finance-v5-confirmation-steps {
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #fff;
}

.finance-v5-confirmation-summary {
    padding: 1.15rem;
    background: linear-gradient(145deg, #f8fbff 0%, #fff 70%);
}

.finance-v5-confirmation-label {
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 800;
}

.finance-v5-confirmation-amount {
    display: block;
    margin: 0.35rem 0 1rem;
    color: #1d4ed8;
    font-size: 1.8rem;
}

.finance-v5-confirmation-party {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

.finance-v5-confirmation-party span,
.finance-v5-confirmation-detail span {
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 700;
}

.finance-v5-confirmation-party strong {
    color: #17233a;
}

.finance-v5-confirmation-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
    margin-top: 1rem;
}

.finance-v5-confirmation-detail,
.finance-v5-confirmation-empty {
    min-width: 0;
    border: 1px solid #e2e8f0;
    border-radius: 13px;
    padding: 0.7rem;
    background: #f8fafc;
}

.finance-v5-confirmation-detail {
    display: grid;
    gap: 0.35rem;
}

.finance-v5-confirmation-detail strong {
    color: #17233a;
    font-size: 1rem;
    line-height: 1.35;
}

.finance-v5-confirmation-empty {
    grid-column: 1 / -1;
    color: #64748b;
    text-align: center;
    font-size: 0.85rem;
}

.finance-v5-confirmation-steps {
    padding: 1rem;
    display: grid;
    gap: 0.75rem;
}

.finance-v5-confirmation-warning {
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
    border: 1px solid #fed7aa;
    border-radius: 13px;
    padding: 0.75rem;
    background: #fff7ed;
    color: #9a3412;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.55;
}

.finance-v5-confirmation-warning i {
    margin-top: 0.15rem;
}

.finance-v5-confirmation-review {
    padding: 0.75rem;
    border-radius: 13px;
    background: #f1f5f9;
    display: grid;
    gap: 0.35rem;
}

.finance-v5-confirmation-review span {
    color: #475569;
    font-size: 0.82rem;
    font-weight: 700;
}

.finance-v5-confirmation-review strong {
    color: #c2410c;
    font-size: 1rem;
}

.finance-v5-confirmation-input {
    padding: 0.85rem;
    border: 1px solid #e2e8f0;
    border-radius: 13px;
}

.finance-v5-confirmation-input label {
    display: block;
    margin-bottom: 0.55rem;
    color: #17233a;
    font-size: 0.88rem;
    font-weight: 900;
}

.finance-v5-confirmation-input input {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #bfdbfe;
    border-radius: 11px;
    padding: 0.7rem 0.85rem;
    color: #17233a;
    font: inherit;
    font-size: 1.05rem;
    font-weight: 800;
}

.finance-v5-confirmation-input input:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.finance-v5-confirmation-input small {
    display: block;
    margin-top: 0.45rem;
    color: #64748b;
    font-size: 0.75rem;
    line-height: 1.45;
}

.finance-v5-confirmation-message {
    min-height: 0;
    padding: 0.15rem 0.25rem;
}

.finance-v5-final-confirm-footer {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.9rem 1.25rem;
    border-top: 1px solid #e2e8f0;
    background: #fff;
}

.finance-v5-final-confirm-footer .btn-primary,
.finance-v5-final-confirm-footer .btn-secondary {
    min-width: 190px;
}

.finance-v5-final-confirm-footer .btn-primary:disabled {
    background: #d98989;
    border-color: #d98989;
    color: #fff;
}

.finance-v5-modal-info {
    display: grid;
    gap: 0.75rem;
}

.finance-v5-modal-entity {
    display: grid;
    gap: 0.2rem;
    padding: 0.9rem 1rem;
    border-radius: 12px;
    background: var(--bg-main);
    border: 1px solid var(--border);
}

.finance-v5-modal-entity span {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.finance-v5-store-settlement-breakdown {
    border: 1px solid rgba(255, 109, 0, 0.28);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 247, 237, 0.95), rgba(255, 255, 255, 0.9));
    padding: 1rem;
    display: grid;
    gap: 0.85rem;
}

.finance-v5-breakdown-head,
.finance-v5-breakdown-total,
.finance-v5-breakdown-grid > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.finance-v5-breakdown-head {
    align-items: flex-start;
    border-bottom: 1px solid rgba(255, 109, 0, 0.18);
    padding-bottom: 0.75rem;
}

.finance-v5-breakdown-head strong {
    font-size: 1rem;
}

.finance-v5-breakdown-head span,
.finance-v5-breakdown-grid span,
.finance-v5-field-hint {
    color: var(--text-muted);
    font-size: 0.85rem;
}

.finance-v5-breakdown-grid {
    display: grid;
    gap: 0.65rem;
}

.finance-v5-breakdown-grid > div {
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 12px;
    padding: 0.7rem 0.8rem;
}

.finance-v5-breakdown-grid strong {
    white-space: nowrap;
}

.finance-v5-breakdown-grid .is-positive strong {
    color: #15803d;
}

.finance-v5-breakdown-grid .is-negative strong {
    color: #b45309;
}

.finance-v5-breakdown-grid .is-paid strong {
    color: #15803d;
}

.finance-v5-breakdown-grid .is-pending strong {
    color: #b45309;
}

.finance-v5-breakdown-total {
    border-radius: 14px;
    background: rgba(255, 109, 0, 0.1);
    border: 1px solid rgba(255, 109, 0, 0.32);
    padding: 0.8rem 0.9rem;
}

.finance-v5-breakdown-total strong {
    color: var(--primary);
    font-size: 1.25rem;
}

.finance-v5-field-hint {
    display: block;
    margin-top: 0.35rem;
}

.finance-v5-company-discount-payment {
    margin-top: 0.75rem;
    border: 1px solid rgba(255, 109, 0, 0.28);
    border-radius: 14px;
    background: rgba(255, 247, 237, 0.9);
    padding: 0.8rem;
    display: grid;
    gap: 0.3rem;
}

.finance-v5-company-discount-payment span,
.finance-v5-company-discount-payment small {
    color: var(--text-muted);
    font-size: 0.84rem;
}

.finance-v5-company-discount-payment strong {
    color: var(--primary);
    font-size: 1.05rem;
}

.finance-v5-company-discount-payment input {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 0.7rem 0.85rem;
    background: #fff;
    color: var(--text-main);
    font: inherit;
}

.finance-v5-company-discount-payment.is-cleared {
    border-color: rgba(22, 163, 74, 0.35);
    background: rgba(22, 163, 74, 0.08);
}

.finance-v5-company-discount-payment.is-cleared strong {
    color: #15803d;
}

.finance-v5-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.finance-v5-inline-message {
    min-height: 24px;
    color: var(--text-muted);
    font-size: 0.9rem;
}

.finance-v5-inline-message.success {
    color: #0f9d58;
    font-weight: 700;
}

.finance-v5-inline-message.error {
    color: #dc2626;
    font-weight: 700;
}

/* Premium Tab Bar and Dynamic Layouts */
.finance-v5-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.5rem 0;
    margin-bottom: 0.5rem;
}

.finance-v5-tab-btn {
    border: 1px solid var(--border);
    background: var(--bg-card);
    border-radius: 12px;
    padding: 0.75rem 1.4rem;
    font-size: 1.02rem;
    font-weight: 800;
    color: var(--text-muted);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    cursor: pointer;
}

.finance-v5-tab-btn i {
    font-size: 1.1rem;
    opacity: 0.85;
}

.finance-v5-tab-btn:hover {
    color: var(--primary);
    border-color: rgba(255, 109, 0, 0.35);
    background: rgba(255, 109, 0, 0.04);
    transform: translateY(-1px);
}

.finance-v5-tab-btn.active {
    color: #fff;
    background: var(--primary);
    border-color: var(--primary);
    box-shadow: 0 4px 12px rgba(255, 109, 0, 0.22);
}

/* Modal Column Grid Layouts */
.finance-v5-confirm-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .finance-v5-confirm-grid {
        grid-template-columns: 1fr 1.25fr;
    }
    
    .finance-v5-modal-grid {
        grid-template-columns: 1fr 1.35fr;
    }

    .finance-v5-settlement-layout {
        grid-template-columns: minmax(290px, 0.9fr) minmax(420px, 1.25fr);
        align-items: start;
    }

    .finance-v5-confirmation-layout {
        grid-template-columns: minmax(280px, 0.95fr) minmax(360px, 1.15fr);
        align-items: start;
    }
}

.accounting-zone-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--bg-card);
}

.accounting-zone-scope,
.accounting-zone-toolbar-actions,
.accounting-zone-result-head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.accounting-zone-scope > i {
    color: var(--primary-color);
    font-size: 1.3rem;
}

.accounting-zone-scope > div {
    display: grid;
    gap: 3px;
}

.accounting-zone-scope span,
.accounting-zone-result-head span {
    color: var(--text-muted);
    font-size: 0.84rem;
}

.accounting-zone-toolbar-actions select {
    min-width: 190px;
    min-height: 40px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--bg-card);
    color: var(--text-main);
    padding: 6px 10px;
}

.accounting-zone-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.accounting-zone-summary-grid > div {
    min-height: 86px;
    display: grid;
    align-content: center;
    gap: 7px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--bg-card);
}

.accounting-zone-summary-grid > div:nth-child(1) {
    border-inline-start: 4px solid #2563eb;
}

.accounting-zone-summary-grid > div:nth-child(2) {
    border-inline-start: 4px solid #059669;
}

.accounting-zone-summary-grid > div:nth-child(3) {
    border-inline-start: 4px solid #7c3aed;
}

.accounting-zone-summary-grid > div.highlight {
    border-color: #fb923c;
    background: #fff7ed;
}

.accounting-zone-summary-grid span {
    color: var(--text-muted);
    font-size: 0.82rem;
}

.accounting-zone-summary-grid strong {
    color: var(--text-main);
    font-size: 1.05rem;
}

.accounting-zone-result-head {
    justify-content: space-between;
    padding-block: 4px;
}

.accounting-zone-main-table .finance-v5-table {
    min-width: 1120px;
}

.accounting-zone-main-table td > small {
    display: block;
    margin-top: 4px;
    color: var(--text-muted);
}

.accounting-zone-detail-row > td {
    padding: 12px !important;
    background: #f8fafc;
}

.accounting-zone-inner-table {
    border-radius: 6px;
    background: var(--bg-card);
}

.accounting-zone-inner-table .finance-v5-table {
    min-width: 860px;
}

.accounting-zone-row-toggle {
    min-width: 108px;
}

body.dark-mode .accounting-zone-summary-grid > div.highlight {
    background: rgba(124, 45, 18, 0.24);
}

body.dark-mode .accounting-zone-detail-row > td {
    background: rgba(15, 23, 42, 0.7);
}

@media (max-width: 900px) {
    .accounting-zone-toolbar,
    .accounting-zone-result-head {
        align-items: stretch;
        flex-direction: column;
    }

    .accounting-zone-toolbar-actions {
        flex-wrap: wrap;
    }

    .accounting-zone-toolbar-actions select {
        flex: 1 1 190px;
    }

    .accounting-zone-summary-grid {
        grid-template-columns: 1fr;
    }
}

.am-zone-toolbar {
    justify-content: space-between;
}

.am-zone-scope,
.am-zone-overview,
.am-zone-overview-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.am-zone-scope > i,
.am-zone-overview > div > i {
    color: var(--primary);
    font-size: 18px;
}

.am-zone-scope > div {
    display: grid;
    gap: 2px;
}

.am-zone-scope span {
    color: #64748b;
    font-size: 12px;
}

.am-zone-toolbar label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #64748b;
    font-size: 12px;
}

.am-zone-toolbar select {
    min-width: 190px;
    min-height: 38px;
    padding: 6px 9px;
    border: 1px solid #dbe3ec;
    border-radius: 6px;
    background: #fff;
    color: #182235;
    font: inherit;
}

.am-zone-overview {
    justify-content: space-between;
    margin-bottom: 12px;
    padding: 12px 14px;
    border: 1px solid #dbe3ec;
    border-radius: 6px;
    background: #fff;
}

.am-zone-overview > div:first-child {
    display: flex;
    align-items: center;
    gap: 8px;
}

.am-zone-overview > div:first-child span {
    color: #64748b;
    font-size: 12px;
}

.am-zone-overview-actions button {
    padding: 8px 11px;
    border: 1px solid #dbe3ec;
    border-radius: 6px;
    background: #fff;
    color: #334155;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
}

.am-zone-table > table {
    min-width: 1100px;
}

.am-zone-table td small {
    display: block;
    margin-top: 4px;
    color: #64748b;
}

.am-zone-detail > td {
    padding: 12px !important;
    background: #f8fafc;
}

.am-zone-detail .am-table {
    border: 1px solid #dbe3ec;
    border-radius: 6px;
    background: #fff;
}

body.dark-mode .am-zone-toolbar select,
body.dark-mode .am-zone-overview,
body.dark-mode .am-zone-overview-actions button,
body.dark-mode .am-zone-detail .am-table {
    background: #1e293b;
    border-color: rgba(148, 163, 184, 0.22);
    color: #e2e8f0;
}

body.dark-mode .am-zone-detail > td {
    background: rgba(15, 23, 42, 0.72);
}

@media (max-width: 700px) {
    .am-zone-toolbar,
    .am-zone-overview {
        align-items: stretch;
        flex-direction: column;
    }

    .am-zone-toolbar label,
    .am-zone-toolbar select {
        width: 100%;
    }

    .am-zone-overview-actions button {
        flex: 1;
    }
}

@media (max-width: 540px) {
    .finance-v5-settlement-breakdown {
        grid-template-columns: 1fr;
    }

    .finance-v5-confirmation-details {
        grid-template-columns: 1fr;
    }

    .finance-v5-final-confirm-footer {
        flex-direction: column-reverse;
    }

    .finance-v5-final-confirm-footer .btn-primary,
    .finance-v5-final-confirm-footer .btn-secondary {
        width: 100%;
    }
}

.finance-v5-tab-body,
.finance-v5-tab-panel,
.finance-v5-panel-header,
.finance-v5-subsection,
.finance-v5-notes-list,
.finance-v5-report-values {
    display: grid;
    gap: 1rem;
}

.finance-v5-panel-header p,
.finance-v5-subsection-head span,
.finance-v5-report-row span,
.finance-v5-note-meta,
.finance-v5-note-head small {
    color: var(--text-muted);
}

.finance-v5-table-wrap {
    overflow: auto;
    border: 1px solid var(--border);
    border-radius: 14px;
}

.finance-v5-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 900px;
    background: var(--bg-card);
}

.finance-v5-table th,
.finance-v5-table td {
    padding: 0.9rem 1rem;
    text-align: right;
    border-bottom: 1px solid var(--border);
    vertical-align: top;
    white-space: nowrap;
}

.finance-v5-table thead th {
    background: var(--bg-main);
    font-size: 0.85rem;
    color: var(--text-muted);
}

.finance-v5-table tbody tr:hover {
    background: rgba(255, 109, 0, 0.04);
}

/* The daily-receipt scan modal needs every financial field visible without a horizontal scrollbar. */
#finance-v5-driver-receipt-orders-modal {
    padding: min(2vh, 20px) min(1vw, 20px);
    overflow: hidden;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-modal-content {
    width: min(99vw, 1920px);
    max-width: 1920px;
    height: min(96vh, 1220px);
    max-height: 96vh;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-modal-body {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table-wrap {
    overflow-x: hidden;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table {
    min-width: 0;
    table-layout: fixed;
    font-size: 0.78rem;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table th,
#finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table td {
    min-width: 0;
    padding: 0.62rem 0.42rem;
    line-height: 1.45;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table th {
    line-height: 1.35;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-amount,
#finance-v5-driver-receipt-orders-modal .finance-v5-free-delivery-label {
    min-width: 0;
    justify-content: center;
}

@media (max-width: 1320px) {
    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table-wrap {
        border: 0;
        background: transparent;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table,
    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table tbody {
        display: block;
        width: 100%;
        background: transparent;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table tbody {
        display: grid;
        gap: 0.75rem;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table tbody tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
        padding: 0.7rem;
        border: 1px solid var(--border);
        border-radius: 10px;
        background: var(--bg-card);
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table tbody td {
        display: grid;
        grid-template-columns: minmax(94px, 0.9fr) minmax(0, 1.25fr);
        align-items: center;
        gap: 0.45rem;
        padding: 0.55rem 0.6rem;
        border: 1px solid var(--border);
        border-radius: 7px;
        background: var(--bg-main);
        text-align: right;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table tbody td::before {
        content: attr(data-label);
        color: var(--text-muted);
        font-size: 0.72rem;
        font-weight: 700;
        line-height: 1.35;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table tbody td.finance-v5-amount-deduction {
        color: #9a3412;
        background: #fff7ed;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table tbody td.finance-v5-reconciliation-net-shortage {
        color: #b42318;
        background: #fff7f5;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table tbody td.finance-v5-reconciliation-net-excess {
        color: #1d4ed8;
        background: #f4f8ff;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table tbody td[colspan] {
        display: block;
        grid-column: 1 / -1;
        text-align: center;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table tbody td[colspan]::before {
        display: none;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table tbody tr:hover {
        background: rgba(255, 109, 0, 0.04);
    }
}

@media (max-width: 700px) {
    #finance-v5-driver-receipt-orders-modal {
        align-items: stretch;
        padding: 0;
        overflow-y: auto;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-modal-content {
        width: 100vw;
        height: 100vh;
        max-height: none;
        border-radius: 0;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-modal-body {
        padding: 0.9rem;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-table tbody tr {
        grid-template-columns: 1fr;
    }
}

/* Server-backed reconciliation workspace for scanned driver daily receipts. */
#finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-modal-content {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    background: #fbfcfe;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-modal-header {
    align-items: flex-start;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-modal-header h3 {
    margin: 0;
    font-size: 1.18rem;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-modal-header p {
    margin: 0.35rem 0 0;
    color: var(--text-muted);
    font-size: 0.82rem;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-driver-receipt-modal-body {
    padding: clamp(0.8rem, 1.4vw, 1.45rem);
}

.finance-v5-reconciliation-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid #dde7f4;
    border-radius: 8px;
    background: #ffffff;
}

.finance-v5-reconciliation-eyebrow {
    display: block;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 700;
}

.finance-v5-reconciliation-hero h4 {
    margin: 0.2rem 0;
    color: #0f172a;
    font-size: 1.1rem;
}

.finance-v5-reconciliation-hero p {
    margin: 0;
    color: #64748b;
    font-size: 0.8rem;
}

.finance-v5-reconciliation-summary-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 0.55rem;
    margin: 0.85rem 0;
}

.finance-v5-reconciliation-summary-grid > div {
    min-width: 0;
    padding: 0.78rem;
    border: 1px solid #e2e8f0;
    border-radius: 7px;
    background: #ffffff;
}

.finance-v5-reconciliation-summary-grid > div.matched {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.finance-v5-reconciliation-summary-grid > div.difference {
    border-color: #fecaca;
    background: #fff7f5;
}

.finance-v5-reconciliation-summary-grid span,
.finance-v5-reconciliation-summary-grid strong {
    display: block;
    overflow-wrap: anywhere;
}

.finance-v5-reconciliation-summary-grid span {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 700;
}

.finance-v5-reconciliation-summary-grid strong {
    margin-top: 0.34rem;
    color: #0f172a;
    font-size: 0.88rem;
}

.finance-v5-reconciliation-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 30px;
    padding: 0.3rem 0.58rem;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 0.76rem;
    font-weight: 800;
    white-space: nowrap;
}

button.finance-v5-reconciliation-status {
    appearance: none;
    cursor: pointer;
    font: inherit;
}

button.finance-v5-reconciliation-status:hover {
    filter: brightness(0.98);
}

.finance-v5-reconciliation-status small {
    font: inherit;
    font-size: 0.67rem;
}

.finance-v5-reconciliation-status.matched {
    color: #166534;
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.finance-v5-reconciliation-status.review {
    color: #92400e;
    border-color: #fde68a;
    background: #fffbeb;
}

.finance-v5-reconciliation-status.mismatch,
.finance-v5-reconciliation-status.blocked {
    color: #b42318;
    border-color: #fecaca;
    background: #fff5f5;
}

.finance-v5-reconciliation-alert,
.finance-v5-reconciliation-ready {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0.65rem 0;
    padding: 0.72rem 0.85rem;
    border: 1px solid #e2e8f0;
    border-radius: 7px;
    font-size: 0.82rem;
    font-weight: 700;
}

.finance-v5-reconciliation-alert.warning {
    color: #92400e;
    border-color: #fde68a;
    background: #fffbeb;
}

.finance-v5-reconciliation-alert.error {
    color: #b42318;
    border-color: #fecaca;
    background: #fff5f5;
}

.finance-v5-reconciliation-ready {
    color: #166534;
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.finance-v5-reconciliation-toolbar {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: start;
    margin: 1rem 0 0.7rem;
    padding: 0.8rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}

.finance-v5-reconciliation-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
}

.finance-v5-reconciliation-filter-grid label {
    display: grid;
    gap: 0.28rem;
    min-width: 0;
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 700;
}

.finance-v5-reconciliation-filter-grid input,
.finance-v5-reconciliation-filter-grid select {
    width: 100%;
    min-width: 0;
    min-height: 35px;
    padding: 0.42rem 0.54rem;
    border: 1px solid #d7e0eb;
    border-radius: 5px;
    background: #ffffff;
    color: #0f172a;
    font: inherit;
}

.finance-v5-reconciliation-filter-grid .finance-v5-reconciliation-check {
    display: flex;
    align-items: end;
    gap: 0.42rem;
    padding-bottom: 0.35rem;
    color: #334155;
}

.finance-v5-reconciliation-check input {
    width: 16px;
    min-height: 16px;
    accent-color: var(--primary-color);
}

.finance-v5-reconciliation-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.finance-v5-reconciliation-toolbar-actions .btn-secondary,
.finance-v5-reconciliation-column-manager .btn-secondary,
.finance-v5-reconciliation-pagination .btn-secondary {
    min-height: 36px;
    white-space: nowrap;
}

.finance-v5-reconciliation-column-manager {
    position: absolute;
    z-index: 5;
    top: calc(100% - 0.2rem);
    left: 0.8rem;
    width: min(440px, calc(100vw - 2rem));
    max-height: min(62vh, 520px);
    overflow-y: auto;
    padding: 0.8rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.16);
}

.finance-v5-reconciliation-column-manager.hidden {
    display: none;
}

.finance-v5-reconciliation-column-manager-head,
.finance-v5-reconciliation-column-option,
.finance-v5-reconciliation-column-option label,
.finance-v5-reconciliation-column-controls {
    display: flex;
    align-items: center;
}

.finance-v5-reconciliation-column-manager-head {
    justify-content: space-between;
    gap: 0.6rem;
    margin-bottom: 0.6rem;
}

.finance-v5-reconciliation-column-option {
    justify-content: space-between;
    gap: 0.6rem;
    min-height: 37px;
    padding: 0.35rem 0;
    border-top: 1px solid #eef2f7;
}

.finance-v5-reconciliation-column-option label {
    gap: 0.5rem;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
}

.finance-v5-reconciliation-column-option input {
    width: 16px;
    height: 16px;
    accent-color: var(--primary-color);
}

.finance-v5-reconciliation-column-controls {
    gap: 0.3rem;
}

.finance-v5-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #d7e0eb;
    border-radius: 5px;
    background: #ffffff;
    color: #334155;
    cursor: pointer;
}

.finance-v5-icon-btn:hover:not(:disabled) {
    border-color: #fdba74;
    background: #fff7ed;
    color: #c2410c;
}

.finance-v5-icon-btn:disabled {
    opacity: 0.42;
    cursor: not-allowed;
}

.finance-v5-reconciliation-table-shell {
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 8px;
    background: #ffffff;
}

.finance-v5-reconciliation-table-meta,
.finance-v5-reconciliation-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    padding: 0.72rem 0.8rem;
    color: #64748b;
    font-size: 0.77rem;
    font-weight: 700;
}

.finance-v5-reconciliation-pagination {
    justify-content: flex-start;
    border-top: 1px solid #e2e8f0;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 0.74rem;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table th,
#finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table td {
    min-width: 0;
    padding: 0.6rem 0.34rem;
    border-top: 1px solid #e7edf4;
    text-align: center;
    vertical-align: middle;
    white-space: normal;
    overflow-wrap: anywhere;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    color: #475569;
    background: #f8fafc;
    font-size: 0.69rem;
}

#finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table td small {
    display: block;
    margin-top: 0.18rem;
    color: #92400e;
    font-size: 0.64rem;
}

@media (min-width: 1481px) {
    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table .finance-v5-reconciliation-column-status,
    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table .finance-v5-reconciliation-column-order {
        position: sticky;
        background: #ffffff;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table th.finance-v5-reconciliation-column-status,
    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table th.finance-v5-reconciliation-column-order {
        z-index: 3;
        background: #f8fafc;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table .finance-v5-reconciliation-column-status {
        right: 0;
        width: 98px;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table .finance-v5-reconciliation-column-order {
        right: 98px;
        width: 132px;
    }
}

.finance-v5-reconciliation-negative,
.finance-v5-reconciliation-difference.shortage {
    color: #b42318;
    font-weight: 800;
}

.finance-v5-reconciliation-positive,
.finance-v5-reconciliation-difference.excess {
    color: #1d4ed8;
    font-weight: 800;
}

.finance-v5-reconciliation-difference.matched {
    color: #15803d;
    font-weight: 800;
}

.finance-v5-reconciliation-detail-row td {
    padding: 0 !important;
    background: #f8fafc;
}

.finance-v5-reconciliation-detail-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.45rem;
    padding: 0.75rem;
}

.finance-v5-reconciliation-detail-grid > div {
    min-width: 0;
    padding: 0.58rem;
    border: 1px solid #dce5ef;
    border-radius: 5px;
    background: #ffffff;
}

.finance-v5-reconciliation-detail-grid span,
.finance-v5-reconciliation-detail-grid strong {
    display: block;
    overflow-wrap: anywhere;
}

.finance-v5-reconciliation-detail-grid span {
    color: #64748b;
    font-size: 0.68rem;
}

.finance-v5-reconciliation-detail-grid strong {
    margin-top: 0.25rem;
    color: #0f172a;
    font-size: 0.78rem;
}

.finance-v5-reconciliation-detail-bottom {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
    padding: 0 0.75rem 0.75rem;
}

.finance-v5-reconciliation-detail-bottom h5 {
    margin: 0 0 0.4rem;
    color: #334155;
    font-size: 0.8rem;
}

.finance-v5-reconciliation-adjustment-list,
.finance-v5-reconciliation-reasons {
    display: grid;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.finance-v5-reconciliation-adjustment-list li,
.finance-v5-reconciliation-reasons li {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    min-height: 31px;
    padding: 0.42rem 0.5rem;
    border: 1px solid #dce5ef;
    border-radius: 5px;
    background: #ffffff;
    color: #475569;
    font-size: 0.73rem;
}

.finance-v5-reconciliation-adjustment-list li small {
    flex-basis: 100%;
    color: #64748b;
}

.finance-v5-reconciliation-adjustment-list li em {
    color: #92400e;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 700;
}

.finance-v5-reconciliation-sources {
    margin: 0 0.75rem 0.75rem;
    padding: 0.65rem;
    border: 1px dashed #94a3b8;
    border-radius: 5px;
    background: #ffffff;
    color: #475569;
    font-size: 0.74rem;
}

.finance-v5-reconciliation-sources summary {
    cursor: pointer;
    font-weight: 800;
}

.finance-v5-reconciliation-sources dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
    margin: 0.6rem 0 0;
}

.finance-v5-reconciliation-sources dl > div {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr);
    gap: 0.4rem;
    padding: 0.35rem;
    border: 1px solid #e2e8f0;
}

.finance-v5-reconciliation-sources dt,
.finance-v5-reconciliation-sources dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.finance-v5-reconciliation-override-panel {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(260px, 1.5fr) auto;
    gap: 0.7rem;
    align-items: center;
    margin-top: 0.8rem;
    padding: 0.85rem;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #fff7f5;
}

.finance-v5-reconciliation-override-panel strong,
.finance-v5-reconciliation-override-panel span {
    display: block;
}

.finance-v5-reconciliation-override-panel span {
    margin-top: 0.22rem;
    color: #7f1d1d;
    font-size: 0.73rem;
}

.finance-v5-reconciliation-override-panel textarea {
    width: 100%;
    min-height: 58px;
    padding: 0.5rem;
    border: 1px solid #fca5a5;
    border-radius: 5px;
    resize: vertical;
}

.finance-v5-reconciliation-modal-footer {
    justify-content: space-between;
}

.finance-v5-reconciliation-audit-report {
    margin: 0.8rem 0;
    border: 1px solid #fde68a;
    border-radius: 8px;
    background: #fffbeb;
}

.finance-v5-reconciliation-audit-report.is-passed {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.finance-v5-reconciliation-audit-head,
.finance-v5-reconciliation-audit-issue {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
}

.finance-v5-reconciliation-audit-head {
    padding: 0.75rem 0.85rem;
}

.finance-v5-reconciliation-audit-head div {
    display: grid;
    gap: 0.14rem;
}

.finance-v5-reconciliation-audit-head span {
    color: #64748b;
    font-size: 0.73rem;
    font-weight: 700;
}

.finance-v5-reconciliation-audit-head > strong {
    color: #0f172a;
    font-size: 0.85rem;
}

.finance-v5-reconciliation-audit-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    border-top: 1px solid #fde68a;
    border-bottom: 1px solid #fde68a;
    background: #fde68a;
}

.finance-v5-reconciliation-audit-metrics span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    gap: 0.4rem;
    padding: 0.52rem 0.65rem;
    background: #ffffff;
    color: #64748b;
    font-size: 0.71rem;
    font-weight: 700;
}

.finance-v5-reconciliation-audit-metrics strong {
    color: #0f172a;
    font-size: 0.82rem;
}

.finance-v5-reconciliation-audit-issues {
    display: grid;
    gap: 0.45rem;
    padding: 0.7rem 0.85rem;
}

.finance-v5-reconciliation-audit-issue,
.finance-v5-reconciliation-audit-empty {
    min-width: 0;
    padding: 0.56rem 0.65rem;
    border: 1px solid #fcd34d;
    border-radius: 6px;
    background: #ffffff;
    color: #78350f;
    text-align: right;
    font: inherit;
}

button.finance-v5-reconciliation-audit-issue {
    width: 100%;
    cursor: pointer;
}

button.finance-v5-reconciliation-audit-issue:hover {
    border-color: #f59e0b;
    background: #fffbeb;
}

.finance-v5-reconciliation-audit-issue.is-error {
    border-color: #fecaca;
    color: #991b1b;
}

.finance-v5-reconciliation-audit-issue strong,
.finance-v5-reconciliation-audit-issue small {
    display: block;
    min-width: 0;
}

.finance-v5-reconciliation-audit-issue small {
    margin-top: 0.16rem;
    color: #64748b;
    font-size: 0.68rem;
    overflow-wrap: anywhere;
}

.finance-v5-reconciliation-audit-issue > span {
    flex: 0 0 auto;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 800;
}

.finance-v5-reconciliation-adjustment-modal .finance-v5-reconciliation-adjustment-content {
    width: min(94vw, 720px);
    max-width: 720px;
}

.finance-v5-driver-receipt-earning-info strong {
    display: block;
    margin-top: 0.35rem;
    color: #0f172a;
}

@media (max-width: 1480px) {
    .finance-v5-reconciliation-summary-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .finance-v5-reconciliation-filter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table,
    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table tbody {
        display: block;
        width: 100%;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table .finance-v5-reconciliation-column-status,
    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table .finance-v5-reconciliation-column-order {
        position: static;
        width: auto;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table tbody {
        display: grid;
        gap: 0.65rem;
        padding: 0.65rem;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table tbody > tr:not(.finance-v5-reconciliation-detail-row) {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.45rem;
        padding: 0.55rem;
        border: 1px solid #dce5ef;
        border-radius: 7px;
        background: #ffffff;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table tbody > tr:not(.finance-v5-reconciliation-detail-row) td {
        display: grid;
        grid-template-columns: minmax(105px, 0.85fr) minmax(0, 1.15fr);
        gap: 0.35rem;
        align-items: center;
        padding: 0.45rem;
        border: 1px solid #edf2f7;
        border-radius: 5px;
        text-align: right;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table tbody > tr:not(.finance-v5-reconciliation-detail-row) td::before {
        content: attr(data-label);
        color: #64748b;
        font-size: 0.68rem;
        font-weight: 800;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-detail-row {
        display: block;
        margin-top: -0.65rem;
        padding: 0 0.65rem 0.65rem;
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-detail-row td {
        display: block;
        width: 100%;
        border: 1px solid #dce5ef;
        border-top: 0;
        border-radius: 0 0 7px 7px;
    }
}

@media (max-width: 880px) {
    .finance-v5-reconciliation-toolbar {
        grid-template-columns: 1fr;
    }

    .finance-v5-reconciliation-filter-grid,
    .finance-v5-reconciliation-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-v5-reconciliation-detail-bottom,
    .finance-v5-reconciliation-override-panel {
        grid-template-columns: 1fr;
    }

    .finance-v5-reconciliation-audit-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .finance-v5-reconciliation-hero,
    .finance-v5-reconciliation-table-meta,
    .finance-v5-reconciliation-pagination {
        align-items: flex-start;
        flex-direction: column;
    }

    .finance-v5-reconciliation-summary-grid,
    .finance-v5-reconciliation-filter-grid,
    .finance-v5-reconciliation-detail-grid,
    .finance-v5-reconciliation-sources dl {
        grid-template-columns: 1fr;
    }

    .finance-v5-reconciliation-audit-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #finance-v5-driver-receipt-orders-modal .finance-v5-reconciliation-table tbody > tr:not(.finance-v5-reconciliation-detail-row) {
        grid-template-columns: 1fr;
    }
}

.finance-v5-order-row {
    cursor: pointer;
}

.finance-v5-order-row.expanded {
    background: rgba(255, 109, 0, 0.06);
}

.finance-v5-order-details-row td {
    background: #fffaf5;
    padding: 0;
}

.finance-v5-order-details {
    padding: 1rem;
    display: grid;
    gap: 0.9rem;
}

.finance-v5-order-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.85rem;
}

.finance-v5-order-details-card {
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 0.9rem;
    background: #fff;
    display: grid;
    gap: 0.55rem;
}

.finance-v5-order-details-card h5 {
    margin: 0;
    font-size: 0.95rem;
}

.finance-v5-order-detail-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.88rem;
}

.finance-v5-order-detail-line span {
    color: var(--text-muted);
}

.finance-v5-order-detail-line strong {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.finance-v5-order-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.18rem 0.55rem;
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1.2;
}

.finance-v5-order-badge-percentage {
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
}

.finance-v5-order-badge-fixed {
    background: rgba(249, 115, 22, 0.12);
    color: #c2410c;
}

.finance-v5-order-badge-free_delivery {
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
}

.finance-v5-order-badge-default {
    background: rgba(148, 163, 184, 0.16);
    color: #475569;
}

.finance-v5-order-details-footer {
    display: grid;
    gap: 0.4rem;
    font-size: 0.88rem;
}

.finance-v5-report-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
}

.finance-v5-report-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.finance-v5-table-action {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.75rem;
    white-space: nowrap;
}

.finance-v5-table-action.active {
    border-color: rgba(255, 109, 0, 0.45);
    background: rgba(255, 109, 0, 0.08);
    color: var(--primary);
}

.finance-v5-report-card,
.finance-v5-note-card,
.finance-v5-error-box {
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--bg-main);
    padding: 1rem;
}

.finance-v5-report-card-head,
.finance-v5-subsection-head,
.finance-v5-note-head,
.finance-v5-form-actions,
.finance-v5-audit-item {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.finance-v5-report-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: baseline;
    border-top: 1px dashed rgba(0, 0, 0, 0.08);
    padding-top: 0.75rem;
}

.finance-v5-report-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.finance-v5-note-card p {
    margin: 0;
    line-height: 1.8;
}

.finance-v5-note-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    font-size: 0.9rem;
}

.finance-v5-note-form,
.finance-v5-subsection {
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 1rem;
    background: var(--bg-card);
}

.finance-v5-audit-list {
    display: grid;
    gap: 0.65rem;
}

.finance-v5-audit-item {
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 0.9rem 1rem;
    background: var(--bg-main);
}

.finance-v5-audit-item > div {
    display: grid;
    gap: 0.2rem;
}

.finance-v5-error-box {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    color: #dc2626;
    font-weight: 700;
}

@media (max-width: 1100px) {
    .finance-v5-shell,
    .finance-v5-grid {
        grid-template-columns: 1fr;
    }

    .finance-v5-rail {
        position: static;
    }
}

@media (max-width: 768px) {
    .finance-v5-hero,
    .finance-v5-account-header {
        flex-direction: column;
    }

    .finance-v5-form-grid,
    .finance-v5-history-item,
    .finance-v5-mini-history-header,
    .finance-v5-report-card-head,
    .finance-v5-subsection-head,
    .finance-v5-note-head,
    .finance-v5-form-actions,
    .finance-v5-audit-item,
    .finance-v5-note-meta,
    .finance-v5-report-row {
        grid-template-columns: 1fr;
        display: grid;
    }
}

@media (max-width: 560px) {
    .finance-v5-result-row {
        grid-template-columns: minmax(88px, 1fr) minmax(120px, 1.25fr) minmax(78px, 0.9fr) auto;
        gap: 0.55rem;
    }
}
/* Finance V5 Report Styles */
.finance-v5-report-actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
    padding: 0 10px;
}

.finance-v5-print-report-btn {
    box-shadow: 0 4px 12px rgba(255, 109, 0, 0.2);
    border-radius: var(--radius-lg);
    padding: 12px 24px;
    font-size: 16px;
    transition: transform 0.2s;
}

.finance-v5-print-report-btn:hover {
    transform: translateY(-2px);
}

@media print {
    .sidebar, .topbar, .finance-v5-rail, .finance-v5-hero, .finance-v5-search, .finance-v5-rail-header, .finance-v5-note-form, .no-print {
        display: none !important;
    }
    
    body {
        background: white !important;
        color: black !important;
    }
    
    .content-area, .finance-v5-main {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }
    
    .card {
        border: none !important;
        box-shadow: none !important;
        margin-bottom: 0 !important;
    }
    
    .finance-v5-table th {
        background-color: #f3f4f6 !important;
        -webkit-print-color-adjust: exact;
    }
}

/* Report Preview Modal */
.finance-v5-preview-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
    backdrop-filter: blur(4px);
}

.finance-v5-preview-content {
    background: white;
    width: 90%;
    max-width: 1000px;
    height: 90vh;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

.finance-v5-preview-header {
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f9fafb;
}

.finance-v5-preview-header h3 {
    margin: 0;
    font-size: 1.25rem;
    color: #111827;
}

.finance-v5-preview-body {
    flex: 1;
    overflow-y: auto;
    padding: 2rem;
    background: #f3f4f6;
}

.finance-v5-report-paper {
    background: white;
    padding: 36px;
    min-height: 100%;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    margin: 0 auto;
    max-width: 800px;
    font-family: 'Cairo', sans-serif;
    color: #1f2937;
}

.finance-v5-report-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.25rem 1.4rem;
    border: 1px solid #fed7aa;
    border-radius: 16px;
    background: linear-gradient(135deg, #fff7ed, #ffffff 70%);
    margin-bottom: 1.25rem;
}

.finance-v5-report-hero-badge {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    background: linear-gradient(135deg, #ff6d00, #ff9e40);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    font-weight: 800;
    flex-shrink: 0;
    box-shadow: 0 14px 30px rgba(255, 109, 0, 0.18);
}

.finance-v5-report-hero-copy {
    display: grid;
    gap: 0.3rem;
    flex: 1;
}

.finance-v5-report-hero-copy span {
    color: #c2410c;
    font-size: 0.82rem;
    font-weight: 800;
}

.finance-v5-report-hero-copy h2 {
    margin: 0;
    font-size: 1.8rem;
    color: #111827;
}

.finance-v5-report-hero-copy p {
    margin: 0;
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.7;
}

.finance-v5-preview-footer {
    padding: 1.25rem 1.5rem;
    border-top: 1px solid #e5e7eb;
    display: flex;
    justify-content: center;
    gap: 1rem;
    background: #f9fafb;
}

.finance-v5-report-header {
    margin-bottom: 1rem;
    padding: 1rem 1.25rem;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    background: #fff;
}

.finance-v5-report-header h3 {
    color: #0f172a;
    margin: 0 0 0.25rem;
    font-size: 1.35rem;
}

.finance-v5-report-header p {
    margin: 0;
    color: #64748b;
    font-size: 0.92rem;
}

.finance-v5-report-stamp {
    display: grid;
    gap: 0.25rem;
    text-align: left;
}

.finance-v5-report-stamp span {
    color: #64748b;
    font-size: 0.78rem;
}

.finance-v5-report-stamp strong {
    color: #111827;
    font-size: 0.95rem;
}

.finance-v5-report-meta {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 30px;
    background: #f8fafc;
    padding: 20px;
    border-radius: 12px;
}

.finance-v5-report-meta-item {
    display: flex;
    flex-direction: column;
}

.finance-v5-report-meta-item span {
    font-size: 0.85rem;
    color: #64748b;
}

.finance-v5-report-meta-item strong {
    font-size: 1rem;
    color: #1e293b;
}

.finance-v5-report-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1.4rem 0 0.8rem;
}

.finance-v5-report-section-head strong {
    color: #111827;
    font-size: 1.05rem;
}

.finance-v5-report-section-head span {
    color: #64748b;
    font-size: 0.86rem;
}

.finance-v5-report-table-wrap {
    margin-top: 0;
    border-radius: 16px;
    overflow: hidden;
}

.finance-v5-report-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
}

.finance-v5-report-table th {
    background: #f1f5f9;
    padding: 12px;
    text-align: right;
    font-size: 0.9rem;
    color: #475569;
    border-bottom: 2px solid #e2e8f0;
}

.finance-v5-report-table td {
    padding: 12px;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.9rem;
}

.finance-v5-report-table td.is-positive {
    color: #0f9d58;
    font-weight: 800;
}

.finance-v5-report-table td.is-negative {
    color: #c2410c;
    font-weight: 800;
}

.finance-v5-report-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 15px;
    margin-top: 20px;
}

.finance-v5-report-summary-box {
    background: #fff7ed;
    border: 1px solid #ffedd5;
    padding: 15px;
    border-radius: 10px;
    text-align: center;
}

.finance-v5-report-summary-box span {
    display: block;
    font-size: 0.8rem;
    color: #9a3412;
}

.finance-v5-report-summary-box strong {
    font-size: 1.1rem;
    color: #7c2d12;
}

.finance-v5-signatures {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.finance-v5-signatures div {
    border-top: 1px dashed #cbd5e1;
    padding-top: 1rem;
    display: grid;
    gap: 0.5rem;
    text-align: center;
}

.finance-v5-signatures span {
    color: #64748b;
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    .finance-v5-report-hero,
    .finance-v5-report-header,
    .finance-v5-signatures {
        grid-template-columns: 1fr;
        display: grid;
    }

    .finance-v5-report-stamp {
        text-align: right;
    }

    .finance-v5-report-meta {
        grid-template-columns: 1fr;
    }
}

.btn-report-action {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 10px;
    font-weight: 700;
}

.btn-report-download {
    background: #10b981;
    color: white;
}

.btn-report-print {
    background: #3b82f6;
    color: white;
}

.btn-report-close {
    background: #ef4444;
    color: white;
}

.markup-preview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.markup-preview-card {
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #fff;
    padding: 14px 16px;
    display: grid;
    gap: 6px;
}

.markup-preview-card span {
    color: var(--text-muted);
    font-size: 0.85rem;
}

.markup-preview-card strong {
    color: var(--text-main);
    font-size: 1.25rem;
}

.markup-preview-card-highlight {
    border-color: rgba(255, 109, 0, 0.28);
    background: linear-gradient(135deg, rgba(255, 247, 237, 0.95), rgba(255, 255, 255, 0.98));
}

@media (max-width: 768px) {
    .markup-preview-grid {
        grid-template-columns: 1fr;
    }
}

.exec-dashboard {
    display: grid;
    gap: 22px;
}

.exec-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 28px;
    border: 1px solid rgba(255, 109, 0, 0.12);
    background:
        radial-gradient(circle at top left, rgba(14, 165, 233, 0.10), transparent 26%),
        radial-gradient(circle at bottom right, rgba(249, 115, 22, 0.14), transparent 28%),
        linear-gradient(135deg, rgba(255, 250, 245, 0.98), rgba(255, 255, 255, 0.98));
}

.exec-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    color: var(--text-muted);
    font-size: 0.82rem;
    margin-bottom: 10px;
}

.exec-hero h2 {
    margin: 0 0 10px;
    font-size: 1.9rem;
}

.exec-hero p {
    color: var(--text-muted);
    max-width: 760px;
}

.exec-filters {
    padding: 22px;
}

.exec-filter-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.exec-filter-item {
    display: grid;
    gap: 8px;
}

.exec-filter-item label {
    font-weight: 700;
    color: var(--text-main);
}

.exec-filter-item-wide {
    grid-column: span 3;
}

.exec-period-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.exec-pill {
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    color: var(--text-main);
    font-weight: 700;
}

.exec-pill.active {
    background: linear-gradient(135deg, #f97316, #fb923c);
    color: white;
    border-color: transparent;
    box-shadow: 0 12px 24px rgba(249, 115, 22, 0.18);
}

.exec-section {
    display: grid;
    gap: 14px;
}

.exec-section-header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 14px;
}

.exec-section-header h3 {
    margin: 0 0 6px;
    font-size: 1.25rem;
}

.exec-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.exec-kpi-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 18px;
    display: grid;
    gap: 12px;
    box-shadow: var(--shadow-sm);
}

.exec-kpi-button {
    width: 100%;
    text-align: inherit;
    cursor: pointer;
    font: inherit;
    color: inherit;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.exec-kpi-button:hover,
.exec-kpi-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: rgba(14, 165, 233, 0.28);
}

.exec-kpi-button:focus-visible {
    outline: 3px solid rgba(14, 165, 233, 0.18);
}

.exec-kpi-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.exec-kpi-head span:first-child {
    color: var(--text-muted);
    font-weight: 700;
}

.exec-kpi-value {
    font-size: 1.5rem;
    color: var(--text-main);
}

.exec-kpi-foot {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 0.9rem;
}

.exec-kpi-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--text-muted);
    font-size: 0.84rem;
    font-weight: 700;
    padding-top: 6px;
    border-top: 1px dashed rgba(148, 163, 184, 0.25);
}

.exec-kpi-button:hover .exec-kpi-action,
.exec-kpi-button:focus-visible .exec-kpi-action {
    color: #0f766e;
}

.exec-split-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 14px;
}

.exec-triple-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.exec-panel {
    padding: 18px;
    border-radius: 18px;
}

.exec-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.exec-panel-header h4 {
    margin: 0;
}

.exec-chart-wrap {
    position: relative;
    min-height: 260px;
}

.exec-performance-list,
.exec-mini-list,
.exec-financial-list,
.exec-alerts-grid {
    display: grid;
    gap: 12px;
}

.exec-performance-item,
.exec-mini-list-item,
.exec-financial-list div,
.exec-alert-card {
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.92);
}

.exec-performance-item {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 12px;
}

.exec-performance-rank {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: rgba(249, 115, 22, 0.12);
    color: #f97316;
    font-weight: 800;
}

.exec-performance-body,
.exec-performance-main,
.exec-performance-meta,
.exec-alert-card,
.exec-alert-action {
    display: grid;
    gap: 8px;
}

.exec-performance-main {
    grid-template-columns: 1fr auto;
    align-items: center;
}

.exec-performance-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    color: var(--text-muted);
    font-size: 0.88rem;
}

.exec-zones-table td,
.exec-zones-table th {
    white-space: nowrap;
    vertical-align: top;
}

.exec-recommendation-cell {
    min-width: 260px;
    white-space: normal !important;
    color: var(--text-main);
}

.exec-financial-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.exec-financial-list div,
.exec-mini-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.exec-financial-deep-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.exec-alerts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.exec-alert-head,
.exec-alert-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.exec-alert-card p {
    margin: 0;
    color: var(--text-main);
}

.exec-alert-meta {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.exec-alert-action span {
    color: var(--text-muted);
    font-size: 0.86rem;
}

.exec-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
}

.exec-status-good {
    border-color: rgba(34, 197, 94, 0.20);
    background: rgba(34, 197, 94, 0.08);
    color: #15803d;
}

.exec-status-warning {
    border-color: rgba(245, 158, 11, 0.20);
    background: rgba(245, 158, 11, 0.10);
    color: #b45309;
}

.exec-status-critical {
    border-color: rgba(239, 68, 68, 0.20);
    background: rgba(239, 68, 68, 0.08);
    color: #b91c1c;
}

.exec-status-info {
    border-color: rgba(59, 130, 246, 0.18);
    background: rgba(59, 130, 246, 0.08);
    color: #1d4ed8;
}

.exec-status-stable {
    border-color: rgba(100, 116, 139, 0.18);
    background: rgba(148, 163, 184, 0.08);
    color: #475569;
}

.exec-detail-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 24px;
}

.exec-detail-modal[hidden] {
    display: none !important;
}

.exec-detail-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(5px);
}

.exec-detail-sheet {
    position: relative;
    width: min(720px, calc(100vw - 48px));
    max-height: min(88vh, 920px);
    margin: 0;
    border-radius: 28px;
    overflow-y: auto;
    box-shadow: 0 18px 55px rgba(15, 23, 42, 0.22);
    border: 1px solid rgba(148, 163, 184, 0.18);
    padding: 18px;
}

.exec-detail-close {
    position: sticky;
    top: 14px;
    margin-inline-start: auto;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: var(--bg-card);
    cursor: pointer;
    z-index: 2;
}

.exec-detail-content {
    display: grid;
    gap: 18px;
    margin-top: 8px;
}

.exec-detail-header,
.exec-detail-stat-grid,
.exec-detail-list,
.exec-detail-alerts {
    display: grid;
    gap: 12px;
}

.exec-detail-header h3,
.exec-detail-section h4,
.exec-detail-block h5 {
    margin: 0;
}

.exec-detail-header p,
.exec-detail-alert p,
.exec-detail-note {
    margin: 0;
    color: var(--text-muted);
}

.exec-detail-eyebrow {
    display: inline-flex;
    margin-bottom: 6px;
    color: #0f766e;
    font-weight: 800;
    font-size: 0.82rem;
}

.exec-detail-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.exec-detail-stat,
.exec-detail-list > div,
.exec-detail-alert {
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.86);
}

.exec-detail-stat span,
.exec-detail-list span,
.exec-detail-alert span {
    color: var(--text-muted);
    font-size: 0.88rem;
}

.exec-detail-stat strong,
.exec-detail-list strong,
.exec-detail-alert strong {
    display: block;
    margin-top: 6px;
}

.exec-detail-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.exec-detail-section {
    display: grid;
    gap: 12px;
}

.exec-detail-block {
    display: grid;
    gap: 10px;
}

body.exec-modal-open {
    overflow: hidden;
}

.exec-trend-up {
    color: #15803d;
}

.exec-trend-down {
    color: #b91c1c;
}

.exec-trend-stable {
    color: #64748b;
}

.exec-state {
    padding: 14px 16px;
    border-radius: 14px;
    font-weight: 700;
}

.exec-state-loading {
    background: rgba(59, 130, 246, 0.08);
    color: #1d4ed8;
}

.exec-state-error {
    background: rgba(239, 68, 68, 0.08);
    color: #b91c1c;
}

.exec-state-empty {
    background: rgba(148, 163, 184, 0.10);
    color: #475569;
}

.exec-skeleton-card,
.exec-skeleton-row {
    position: relative;
    overflow: hidden;
}

.exec-skeleton-card::after,
.exec-skeleton-row::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);
    animation: execShimmer 1.4s infinite;
}

.exec-skeleton-list {
    display: grid;
    gap: 12px;
}

.exec-skeleton-line {
    height: 12px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.18);
}

.exec-skeleton-line.short {
    width: 40%;
}

.exec-skeleton-line.tall {
    width: 70%;
    height: 28px;
}

@keyframes execShimmer {
    100% {
        transform: translateX(100%);
    }
}

body.dark-mode .exec-hero,
body.dark-mode .exec-performance-item,
body.dark-mode .exec-mini-list-item,
body.dark-mode .exec-financial-list div,
body.dark-mode .exec-alert-card,
body.dark-mode .exec-pill,
body.dark-mode .exec-kpi-card,
body.dark-mode .exec-detail-stat,
body.dark-mode .exec-detail-list > div,
body.dark-mode .exec-detail-alert,
body.dark-mode .exec-detail-close {
    background: rgba(24, 24, 24, 0.96);
}

body.dark-mode .exec-hero {
    border-color: rgba(255, 255, 255, 0.08);
}

@media (max-width: 1300px) {
    .exec-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .exec-split-grid,
    .exec-triple-grid,
    .exec-financial-grid,
    .exec-financial-deep-grid,
    .exec-alerts-grid,
    .exec-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .exec-filter-item-wide {
        grid-column: span 2;
    }

    .exec-detail-list,
    .exec-detail-stat-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .exec-hero {
        padding: 22px;
        flex-direction: column;
        align-items: flex-start;
    }

    .exec-kpi-grid,
    .exec-split-grid,
    .exec-triple-grid,
    .exec-financial-grid,
    .exec-financial-deep-grid,
    .exec-alerts-grid,
    .exec-filter-grid,
    .exec-performance-meta {
        grid-template-columns: 1fr;
    }

    .exec-filter-item-wide {
        grid-column: span 1;
    }

    .exec-chart-wrap {
        min-height: 220px;
    }

    .exec-detail-sheet {
        width: 100%;
        max-height: calc(100vh - 24px);
        border-radius: 24px;
    }
}

/* ═══════════════════════════════════════════════════════
   Security Deposit Management Section
   ═══════════════════════════════════════════════════════ */

/* Progress Bar */
.deposit-progress-bar {
    height: 10px;
    background: #e9ecef;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 16px;
}

.deposit-progress-fill {
    height: 100%;
    border-radius: 8px;
    transition: width 0.5s ease;
}

.deposit-progress-fill.status-normal {
    background: linear-gradient(90deg, #00c853, #69f0ae);
}

.deposit-progress-fill.status-warning1 {
    background: linear-gradient(90deg, #ffa726, #ffb74d);
}

.deposit-progress-fill.status-warning2 {
    background: linear-gradient(90deg, #ff7043, #ff8a65);
}

.deposit-progress-fill.status-blocked {
    background: linear-gradient(90deg, #e53935, #ef5350);
}

/* Orders Row */
.deposit-orders-row {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
}

.deposit-order-stat {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
}

.deposit-order-stat.paid {
    background: #d1fae5;
    color: #059669;
}

.deposit-order-stat.paid i {
    color: #059669;
}

.deposit-order-stat.unpaid {
    background: #fef3c7;
    color: #d97706;
}

.deposit-order-stat.unpaid i {
    color: #d97706;
}

/* Actions */
.deposit-actions {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.deposit-input-group {
    flex: 1;
    min-width: 200px;
}

.deposit-input-group label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-main);
    margin-bottom: 6px;
}

.deposit-input-group input {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    font-size: 15px;
    font-family: 'Cairo', sans-serif;
    outline: none;
    transition: border-color 0.3s;
}

.deposit-input-group input:focus {
    border-color: var(--primary);
}

.deposit-actions .btn-secondary {
    background: var(--bg-card);
    border: 1px solid var(--border);
    padding: 10px 18px;
    border-radius: var(--radius-md);
    cursor: pointer;
    font-family: 'Cairo', sans-serif;
    font-weight: 600;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.3s;
    color: var(--text-main);
}

.deposit-actions .btn-secondary:hover {
    background: var(--bg-main);
    border-color: var(--text-main);
}

.deposit-actions .btn-primary {
    padding: 10px 18px;
    font-size: 14px;
}

@media (max-width: 600px) {
    .deposit-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .deposit-orders-row {
        flex-direction: column;
    }
    .deposit-actions {
        flex-direction: column;
    }
}

.mobile-widget-builder-layout {
    display: grid;
    grid-template-columns: minmax(420px, 1.2fr) minmax(420px, 1fr);
    gap: 20px;
    align-items: start;
}

.mobile-widget-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.mobile-widgets-admin-panel {
    padding: 20px;
}

.mobile-widgets-admin-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--bg-main);
}

.mobile-widgets-admin-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(110px, 1fr));
    gap: 12px;
    flex: 1;
}

.mobile-widgets-admin-stats div {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--bg-card);
}

.mobile-widgets-admin-stats span {
    display: block;
    font-size: 24px;
    font-weight: 800;
    color: var(--primary);
}

.mobile-widgets-admin-stats small {
    color: var(--text-muted);
    font-weight: 700;
}

.mobile-widgets-admin-controls {
    display: flex;
    align-items: end;
    gap: 10px;
    flex-wrap: wrap;
}

.mobile-widgets-admin-controls label {
    font-size: 12px;
    font-weight: 800;
    color: var(--text-muted);
}

.mobile-widgets-admin-controls select {
    min-width: 180px;
}

.mobile-widgets-admin-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mobile-widget-admin-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--bg-card);
}

.mobile-widget-admin-row-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: var(--radius-md);
    color: var(--primary);
    background: rgba(0, 200, 83, 0.12);
}

.mobile-widget-admin-row-main {
    flex: 1;
    min-width: 0;
}

.mobile-widget-admin-row-main strong {
    display: block;
    margin-bottom: 4px;
}

.mobile-widget-admin-actions {
    justify-content: flex-end;
}

.btn-secondary.danger-soft {
    color: var(--danger);
    border-color: rgba(220, 38, 38, 0.3);
}

.form-hint {
    display: block;
    margin-top: 6px;
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 600;
}

@media (max-width: 900px) {
    .mobile-widgets-admin-hero,
    .mobile-widget-admin-row {
        flex-direction: column;
        align-items: stretch;
    }

    .mobile-widgets-admin-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .mobile-widget-admin-actions {
        justify-content: stretch;
    }

    .mobile-widget-admin-actions button {
        flex: 1;
    }
}

.mobile-widget-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--bg-card);
}

.mobile-widget-item.dragging {
    opacity: 0.55;
}

.mobile-widget-drag {
    color: var(--text-muted);
    cursor: grab;
}

.mobile-widget-item-main {
    flex: 1;
    min-width: 0;
}

.mobile-preview-shell {
    position: sticky;
    top: 12px;
    min-width: 0;
}

.mobile-preview-phone {
    width: 100%;
    min-height: 620px;
    padding: 18px;
    border-radius: 32px;
    background: #0f172a;
    border: 8px solid #111827;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.22);
    color: #fff;
}

.mobile-preview-title {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 16px;
}

.mobile-preview-widget {
    overflow: hidden;
    margin-bottom: 12px;
    padding: 12px;
    border-radius: 18px;
    background: #142033;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.mobile-preview-widget strong {
    display: block;
    font-size: 14px;
    margin-bottom: 4px;
}

.mobile-preview-widget span {
    display: block;
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
}

.mobile-preview-image {
    height: 120px;
    margin: -12px -12px 10px;
    background: #1e293b;
    overflow: hidden;
}

.mobile-preview-image img,
.mobile-preview-product img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mobile-preview-icon {
    height: 100%;
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, 0.35);
}

.mobile-preview-products {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.mobile-preview-product {
    min-height: 96px;
    overflow: hidden;
    border-radius: 12px;
    background: #1e293b;
}

.mobile-preview-product img,
.mobile-preview-product i {
    display: block;
    height: 64px;
}

.mobile-preview-product i {
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, 0.35);
}

.mobile-preview-product span {
    padding: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mobile-product-picker {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 10px;
    max-height: 320px;
    overflow: auto;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--bg-main);
}

.mobile-product-choice {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border-radius: 10px;
    background: var(--bg-card);
    cursor: pointer;
}

.mobile-product-choice img,
.mobile-product-image-fallback {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    object-fit: cover;
    background: var(--bg-main);
}

.mobile-product-image-fallback {
    display: grid;
    place-items: center;
    color: var(--text-muted);
}

.mobile-style-picker {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
}

.mobile-style-card {
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #fff;
    padding: 10px;
    text-align: right;
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mobile-style-card:hover,
.mobile-style-card.active {
    border-color: rgba(255, 109, 0, 0.45);
    box-shadow: 0 8px 24px rgba(255, 109, 0, 0.12);
    transform: translateY(-1px);
}

.mobile-style-card strong {
    font-size: 0.92rem;
    color: var(--text-main);
}

.mobile-style-card span {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.mobile-style-card-frame {
    height: 92px;
    border-radius: 14px;
    background: #0f172a;
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
    padding: 8px;
    color: #fff;
}

.mobile-editor-preview-panel {
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: linear-gradient(180deg, #fff, #fff8f2);
}

.mobile-editor-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.mobile-editor-preview-head strong {
    color: var(--text-main);
}

.mobile-editor-preview-head span {
    color: var(--text-muted);
    font-size: 0.8rem;
}

.mobile-editor-preview-note {
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px dashed rgba(255, 109, 0, 0.28);
    background: rgba(255, 109, 0, 0.06);
    color: var(--text-muted);
    font-size: 0.85rem;
    line-height: 1.6;
}

.mobile-crop-guide {
    display: grid;
    gap: 12px;
    margin: 12px 0 4px;
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: #f8fafc;
}

.mobile-crop-guide-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.mobile-crop-guide-head strong {
    display: block;
    color: #0f172a;
    font-size: 0.95rem;
}

.mobile-crop-guide-head span,
.mobile-crop-guide p {
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.6;
}

.mobile-crop-reset {
    white-space: nowrap;
}

.mobile-crop-presets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.mobile-crop-preset {
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 12px;
    background: #fff;
    color: #334155;
    padding: 12px;
    text-align: start;
    cursor: pointer;
    transition: 0.2s ease;
}

.mobile-crop-preset strong,
.mobile-crop-preset span {
    display: block;
}

.mobile-crop-preset strong {
    color: #0f172a;
    font-size: 0.9rem;
}

.mobile-crop-preset span {
    margin-top: 3px;
    color: #64748b;
    font-size: 0.78rem;
}

.mobile-crop-preset.active {
    border-color: rgba(255, 109, 0, 0.5);
    background: rgba(255, 109, 0, 0.08);
    box-shadow: 0 8px 20px rgba(255, 109, 0, 0.12);
}

.mobile-crop-specs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.mobile-crop-specs span {
    min-width: 0;
    padding: 8px 10px;
    border-radius: 10px;
    background: #fff;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 700;
    text-align: center;
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.mobile-crop-guide p {
    margin: 0;
}

.mobile-preview-phone.compact {
    min-height: 0;
    padding: 14px;
    border-radius: 24px;
}

.mobile-preview-phone.compact .mobile-preview-widget {
    margin-bottom: 0;
}

.mobile-preview-image-only {
    padding: 0;
    background: transparent;
    border: none;
}

.mobile-preview-image-only .mobile-preview-image {
    height: auto;
    aspect-ratio: 16 / 7;
    margin: 0;
    border-radius: 18px;
}

.mobile-preview-shape-rectangle .mobile-preview-image {
    height: auto;
    aspect-ratio: 16 / 7;
}

.mobile-preview-shape-square .mobile-preview-image {
    height: auto;
    aspect-ratio: 1 / 1;
}

.mobile-preview-products-empty {
    border: 1px dashed rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.06);
}

.mobile-editor-draggable-frame {
    position: relative;
    overflow: hidden;
    cursor: grab;
    touch-action: none;
}

.mobile-editor-draggable-frame.dragging {
    cursor: grabbing;
}

.mobile-editor-draggable-frame::after {
    content: "اسحب الصورة";
    position: absolute;
    left: 12px;
    bottom: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(7, 17, 31, 0.72);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    pointer-events: none;
}

.mobile-editor-draggable-frame::after {
    z-index: 3;
}

.mobile-editor-draggable-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.5);
    background:
        linear-gradient(90deg, transparent 32.9%, rgba(255, 255, 255, 0.18) 33%, transparent 33.2%, transparent 66.8%, rgba(255, 255, 255, 0.18) 67%, transparent 67.1%),
        linear-gradient(0deg, transparent 32.9%, rgba(255, 255, 255, 0.18) 33%, transparent 33.2%, transparent 66.8%, rgba(255, 255, 255, 0.18) 67%, transparent 67.1%);
    pointer-events: none;
    z-index: 2;
}

.mini-hero,
.mini-coupon,
.mini-delivery,
.mini-countdown,
.mini-bundle,
.mini-horizontal-cards,
.mini-grid,
.mini-vertical-list,
.mini-compact-slider {
    width: 100%;
    height: 100%;
}

.mini-hero i,
.mini-coupon i,
.mini-delivery i,
.mini-countdown i,
.mini-bundle i,
.mini-horizontal-cards i,
.mini-grid i,
.mini-vertical-list i,
.mini-compact-slider i {
    display: block;
    background: rgba(255, 255, 255, 0.14);
    border-radius: 10px;
}

.mini-hero {
    display: grid;
    grid-template-rows: 1fr 12px 8px 18px;
    gap: 6px;
}

.mini-hero b,
.mini-hero span,
.mini-hero em,
.mini-coupon b,
.mini-coupon span,
.mini-delivery b,
.mini-delivery span,
.mini-countdown b,
.mini-countdown em {
    display: block;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
}

.mini-hero em {
    width: 46%;
    background: rgba(255, 109, 0, 0.9);
}

.mini-coupon,
.mini-delivery,
.mini-countdown {
    display: grid;
    grid-template-columns: 42px 1fr;
    grid-template-rows: 1fr 10px 8px;
    gap: 6px 8px;
}

.mini-coupon i,
.mini-delivery i,
.mini-countdown i {
    grid-row: 1 / span 3;
}

.mini-countdown em {
    width: 58%;
    background: rgba(255, 109, 0, 0.9);
}

.mini-bundle,
.mini-horizontal-cards,
.mini-compact-slider {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
}

.mini-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 6px;
}

.mobile-widget-editor-shell {
    gap: 18px;
}

.mobile-widget-editor-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 6px;
}

.mobile-widget-editor-header h4 {
    margin: 0 0 6px;
    font-size: 1.1rem;
}

.mobile-widget-editor-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mobile-widget-tabbar {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.mobile-widget-tab {
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #f8fafc;
    color: #334155;
    border-radius: 14px;
    padding: 12px 14px;
    font-weight: 800;
    cursor: pointer;
    transition: 0.2s ease;
}

.mobile-widget-tab.active {
    background: linear-gradient(135deg, #0f172a, #1e293b);
    color: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
}

.mobile-widget-tabpanel {
    display: none;
}

.mobile-widget-tabpanel.active {
    display: block;
}

.mobile-widget-section-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #fff;
    padding: 18px;
    margin-bottom: 16px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.mobile-widget-section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.mobile-widget-section-head strong {
    font-size: 1rem;
    color: #0f172a;
}

.mobile-widget-section-head span {
    color: #64748b;
    font-size: 0.84rem;
}

.mobile-widget-empty-state {
    border: 1px dashed rgba(15, 23, 42, 0.12);
    border-radius: 18px;
    padding: 24px;
    text-align: center;
    color: #64748b;
    background: #f8fafc;
}

.mini-vertical-list {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    gap: 6px;
}

/* ======================== Support Dashboard ======================== */
.support-dashboard-shell {
    display: grid;
    gap: 18px;
}

.support-dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.support-kpi {
    min-height: 82px;
}

.support-kpi div {
    display: grid;
    gap: 2px;
}

.support-kpi span {
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
}

.support-kpi small {
    color: var(--text-muted);
    font-weight: 700;
}

.support-kpi-open i {
    background: #dbeafe;
    color: #2563eb;
}

.support-kpi-new i {
    background: #fef3c7;
    color: #d97706;
}

.support-kpi-feedback i {
    background: #e0f2fe;
    color: #0284c7;
}

.support-kpi-urgent i {
    background: #fee2e2;
    color: #dc2626;
}

.support-dashboard-header {
    align-items: flex-start;
}

.support-dashboard-filters {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(150px, 1fr));
    gap: 12px;
    padding: 18px 20px 10px;
    border-bottom: 1px solid var(--border);
}

.support-order-search-card {
    overflow: hidden;
}

.support-order-search-bar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 12px;
    align-items: end;
    padding: 18px 20px;
    border-bottom: 1px solid var(--border);
}

.support-order-search-bar .form-group {
    margin-bottom: 0;
}

.support-order-search-bar label {
    display: block;
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 800;
    margin-bottom: 6px;
}

.support-order-search-bar input {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 0.7rem 0.85rem;
    background: #fff;
    color: var(--text-main);
    font-family: inherit;
}

.support-order-search-results {
    display: grid;
    gap: 10px;
    padding: 16px 20px 20px;
}

.support-order-search-empty {
    border: 1px dashed var(--border);
    border-radius: var(--radius-lg);
    padding: 18px;
    color: var(--text-muted);
    text-align: center;
    background: #f8fafc;
}

.support-order-result {
    display: grid;
    grid-template-columns: minmax(180px, 1.2fr) repeat(3, minmax(130px, 1fr)) auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: #fff;
}

.support-receipt-result {
    border: 1px solid #f6b36a;
    border-radius: var(--radius-lg);
    background: #fffaf5;
    overflow: hidden;
}

.support-receipt-result-main {
    display: grid;
    grid-template-columns: minmax(180px, 1.2fr) repeat(2, minmax(145px, 1fr)) auto auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
}

.support-receipt-result-main > div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.support-receipt-result-main label {
    color: var(--text-muted);
    font-size: 0.74rem;
    font-weight: 800;
}

.support-receipt-result-main strong,
.support-receipt-result-main small {
    overflow-wrap: anywhere;
}

.support-receipt-permission-note {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #92400e;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

.support-receipt-orders {
    display: grid;
    gap: 10px;
    padding: 0 14px 14px;
    border-top: 1px solid #fed7aa;
}

.support-receipt-orders.hidden {
    display: none;
}

.support-order-result div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.support-order-result label {
    color: var(--text-muted);
    font-size: 0.74rem;
    font-weight: 800;
}

.support-order-result strong,
.support-order-result span {
    overflow-wrap: anywhere;
}

.support-order-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.support-result-actions {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 6px !important;
}

#order-modal.support-store-movement-modal .modal-content {
    width: min(98vw, 1680px);
    max-width: 1680px;
    max-height: 96vh;
}

#order-modal.support-store-movement-modal .modal-body {
    padding: 18px;
    overflow-x: hidden;
}

.support-store-movement {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.support-movement-summary {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.support-movement-summary > div {
    display: grid;
    align-content: center;
    gap: 5px;
    min-width: 0;
    min-height: 78px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: #fff;
}

.support-movement-summary > div.is-total {
    border-color: rgba(255, 109, 0, 0.45);
    background: rgba(255, 109, 0, 0.06);
}

.support-movement-summary span,
.support-movement-summary small {
    color: var(--text-muted);
    font-size: 0.76rem;
    overflow-wrap: anywhere;
}

.support-movement-summary strong {
    overflow-wrap: anywhere;
}

.support-movement-warning {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid #f59e0b;
    border-radius: var(--radius-md);
    background: #fffbeb;
    color: #92400e;
}

.support-movement-warning span {
    flex: 1;
}

.support-movement-table-wrap {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
}

.support-movement-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.support-movement-table th,
.support-movement-table td {
    padding: 11px 9px;
    border-bottom: 1px solid var(--border);
    text-align: right;
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.support-movement-table th {
    color: var(--text-muted);
    background: #f8fafc;
    font-size: 0.77rem;
}

.support-movement-table td small {
    display: block;
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 0.72rem;
}

.support-movement-table th:nth-child(1) { width: 18%; }
.support-movement-table th:nth-child(2) { width: 15%; }
.support-movement-table th:nth-child(3) { width: 24%; }
.support-movement-table th:nth-child(4) { width: 15%; }
.support-movement-table th:nth-child(5) { width: 18%; }
.support-movement-table th:nth-child(6) { width: 10%; }

.support-movement-detail-row.hidden {
    display: none;
}

.support-movement-detail-row > td {
    padding: 0;
    background: #f8fafc;
}

.support-movement-order-detail,
.support-movement-order-empty {
    padding: 16px;
}

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

.support-movement-detail-head > div {
    display: grid;
    gap: 3px;
}

.support-movement-detail-head span {
    color: var(--text-muted);
    font-size: 0.76rem;
}

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

.support-movement-detail-grid section {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: #fff;
}

.support-movement-detail-grid h5 {
    margin: 0 0 10px;
    font-size: 0.88rem;
}

.support-financial-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px dashed var(--border);
    font-size: 0.78rem;
}

.support-financial-line:last-child {
    border-bottom: 0;
}

.support-financial-zero {
    display: none;
}

.show-zero-values .support-financial-zero {
    display: flex;
}

.support-financial-meta-zero {
    display: none;
}

.show-zero-values .support-financial-meta-zero {
    display: block;
}

.support-financial-note,
.support-promotion-list span {
    display: block;
    margin-bottom: 7px;
    color: var(--text-muted);
    font-size: 0.75rem;
}

.support-financial-subheading {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
    font-size: 0.78rem;
    font-weight: 800;
}

.support-financial-explainer {
    margin: 5px 0 8px;
    color: var(--text-muted);
    font-size: 0.72rem;
    line-height: 1.6;
}

.support-reconciliation-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.32rem 0.55rem;
    border-radius: var(--radius-sm);
    font-size: 0.74rem;
    font-weight: 800;
}

.support-reconciliation-state.is-matched {
    color: #166534;
    background: #dcfce7;
}

.support-reconciliation-state.is-review {
    color: #92400e;
    background: #fef3c7;
}

.support-reconciliation-state.is-mismatch {
    color: #991b1b;
    background: #fee2e2;
}

.support-reconciliation-reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 8px;
}

.support-reconciliation-reasons code,
.support-reconciliation-reasons span {
    max-width: 100%;
    padding: 3px 5px;
    border-radius: var(--radius-sm);
    background: #f1f5f9;
    font-size: 0.72rem;
    overflow-wrap: anywhere;
}

.support-movement-technical {
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px dashed var(--border);
    border-radius: var(--radius-md);
    background: #fff;
}

.support-movement-technical summary {
    cursor: pointer;
    font-weight: 800;
}

.support-movement-technical > div {
    display: grid;
    grid-template-columns: minmax(160px, 0.45fr) minmax(0, 1fr);
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px dashed var(--border);
}

.support-movement-technical code {
    overflow-wrap: anywhere;
}

.support-order-detail {
    display: grid;
    gap: 16px;
}

.support-money-status {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: #f8fafc;
}

.support-money-status>i {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    background: #fee2e2;
    color: #dc2626;
}

.support-money-status-at_office>i {
    background: #fef3c7;
    color: #d97706;
}

.support-money-status-store_settlement_created>i {
    background: #dbeafe;
    color: #2563eb;
}

.support-money-status-delivered_to_store>i {
    background: #dcfce7;
    color: #16a34a;
}

.support-money-status label,
.support-money-status-amount label {
    display: block;
    color: var(--text-muted);
    font-size: 0.76rem;
    font-weight: 800;
    margin-bottom: 4px;
}

.support-money-status strong {
    display: block;
    color: var(--text-main);
    font-size: 1rem;
}

.support-money-status span {
    color: var(--text-muted);
    font-size: 0.86rem;
}

.support-money-status-amount {
    min-width: 160px;
    text-align: left;
}

.support-money-timeline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.support-money-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: #fff;
}

.support-money-step>i {
    margin-top: 3px;
    color: #cbd5e1;
}

.support-money-step.done>i {
    color: #16a34a;
}

.support-money-step strong,
.support-money-step span,
.support-money-step small {
    display: block;
    overflow-wrap: anywhere;
}

.support-money-step span,
.support-money-step small {
    color: var(--text-muted);
    font-size: 0.78rem;
}

.support-order-total-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.support-order-total-grid div {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 12px;
    background: #fff;
}

.support-order-total-grid span {
    display: block;
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 800;
    margin-bottom: 4px;
}

.support-order-total-grid .total {
    border-color: rgba(255, 109, 0, 0.35);
    background: rgba(255, 109, 0, 0.06);
}

.support-order-items {
    display: grid;
    gap: 10px;
}

.support-order-items h4 {
    margin: 0;
    color: var(--text-main);
}

.support-order-detail-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 12px;
    background: #fff;
}

.support-order-detail-item small,
.support-order-detail-item span {
    display: block;
    color: var(--text-muted);
    font-size: 0.82rem;
}

.support-dashboard-filters .form-group,
.support-ticket-actions .form-group {
    margin-bottom: 0;
}

.support-dashboard-filters label,
.support-ticket-actions label,
.support-detail-grid label,
.support-ticket-note label {
    display: block;
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 800;
    margin-bottom: 6px;
}

.support-dashboard-filters input,
.support-dashboard-filters select,
.support-ticket-actions input,
.support-ticket-actions select,
.support-ticket-actions textarea {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 0.7rem 0.85rem;
    background: #fff;
    color: var(--text-main);
    font-family: inherit;
}

.support-mode-tabs {
    display: flex;
    gap: 8px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--border);
    background: #fff;
    flex-wrap: wrap;
}

.support-mode-tab {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: #f9fafb;
    color: var(--text-muted);
    padding: 0.55rem 0.9rem;
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.support-mode-tab.active,
.support-mode-tab:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.support-dashboard-table th,
.support-dashboard-table td {
    vertical-align: top;
}

.support-ticket-meta,
.support-status-stack,
.support-ticket-title {
    display: grid;
    gap: 6px;
    justify-items: start;
}

.support-ticket-title strong {
    color: var(--text-main);
    font-weight: 800;
    max-width: 340px;
    overflow-wrap: anywhere;
}

.support-ticket-title small,
.support-ticket-meta small {
    color: var(--text-muted);
    font-size: 0.78rem;
}

.support-ticket-detail {
    display: grid;
    gap: 18px;
}

.support-ticket-detail-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: #f8fafc;
}

.support-ticket-detail-head h4 {
    margin: 8px 0 4px;
    font-size: 1.1rem;
}

.support-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.support-detail-grid div,
.support-ticket-note,
.support-message,
.support-ticket-actions {
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: #fff;
    padding: 14px;
}

.support-detail-grid strong,
.support-ticket-note p,
.support-message p {
    overflow-wrap: anywhere;
}

.support-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.support-attachment-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    background: #f9fafb;
    color: var(--text-main);
    font-size: 0.82rem;
    text-decoration: none;
}

.support-message-thread {
    display: grid;
    gap: 10px;
}

.support-message.customer {
    border-right: 4px solid var(--info);
}

.support-message.support {
    border-right: 4px solid var(--primary);
}

.support-message-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    color: var(--text-muted);
    font-size: 0.82rem;
}

.support-empty-thread {
    border: 1px dashed var(--border);
    border-radius: var(--radius-lg);
    padding: 18px;
    color: var(--text-muted);
    text-align: center;
    background: #f8fafc;
}

.support-ticket-actions {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(220px, 2fr);
    gap: 12px;
}

.support-ticket-actions .full-width,
.support-ticket-actions .support-inline-check {
    grid-column: 1 / -1;
}

.support-inline-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
    color: var(--text-main);
}

.support-inline-check input {
    width: 16px;
    height: 16px;
    accent-color: var(--primary);
}

body.dark-mode .support-dashboard-filters input,
body.dark-mode .support-order-search-bar input,
body.dark-mode .support-dashboard-filters select,
body.dark-mode .support-ticket-actions input,
body.dark-mode .support-ticket-actions select,
body.dark-mode .support-ticket-actions textarea,
body.dark-mode .support-mode-tabs,
body.dark-mode .support-detail-grid div,
body.dark-mode .support-ticket-note,
body.dark-mode .support-message,
body.dark-mode .support-ticket-actions {
    background: #202020;
    border-color: var(--border);
    color: var(--text-main);
}

body.dark-mode .support-ticket-detail-head,
body.dark-mode .support-empty-thread,
body.dark-mode .support-order-search-empty,
body.dark-mode .support-order-result,
body.dark-mode .support-money-status,
body.dark-mode .support-money-step,
body.dark-mode .support-order-total-grid div,
body.dark-mode .support-order-detail-item,
body.dark-mode .support-attachment-chip {
    background: #202020;
    border-color: var(--border);
}

.support-admin-config {
    display: grid;
    gap: 14px;
    margin-top: 6px;
}

.support-admin-config-section {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: #f8fafc;
    padding: 14px;
}

.support-admin-config-section>strong {
    display: block;
    color: #0f172a;
    font-size: 0.95rem;
    margin-bottom: 10px;
}

.support-admin-check-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.support-admin-permission-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.support-admin-check {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px;
    background: #fff;
    color: #334155;
    font-size: 0.86rem;
    font-weight: 700;
}

.support-admin-check input {
    width: 16px;
    height: 16px;
    accent-color: var(--primary-color);
    flex: 0 0 auto;
}

body.dark-mode .support-admin-config-section {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(148, 163, 184, 0.18);
}

body.dark-mode .support-admin-config-section>strong {
    color: #e2e8f0;
}

body.dark-mode .support-admin-check {
    background: rgba(30, 41, 59, 0.84);
    border-color: rgba(148, 163, 184, 0.18);
    color: #cbd5e1;
}

@media (max-width: 980px) {
    .mobile-widget-builder-layout {
        grid-template-columns: 1fr;
    }

    .mobile-widget-tabbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mobile-crop-guide-head,
    .mobile-widget-editor-header {
        flex-direction: column;
    }

    .mobile-crop-specs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mobile-preview-shell {
        position: static;
    }

    .support-admin-check-grid,
    .support-admin-permission-grid,
    .support-dashboard-kpis,
    .support-dashboard-filters,
    .support-order-search-bar,
    .support-order-result,
    .support-receipt-result-main,
    .support-money-status,
    .support-money-timeline,
    .support-order-total-grid,
    .support-detail-grid,
    .support-ticket-actions {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 640px) {
    #order-modal.support-store-movement-modal .modal-content {
        width: 100vw;
        max-height: 100vh;
        border-radius: 0;
    }

    .support-movement-summary,
    .support-movement-detail-grid {
        grid-template-columns: 1fr;
    }

    .support-movement-warning,
    .support-movement-detail-head {
        align-items: stretch;
        flex-direction: column;
    }

    .support-movement-table,
    .support-movement-table tbody {
        display: block;
        width: 100%;
    }

    .support-movement-table thead {
        display: none;
    }

    .support-movement-table tbody > tr:not(.support-movement-detail-row) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        margin: 8px;
        border: 1px solid var(--border);
        border-radius: var(--radius-md);
        overflow: hidden;
    }

    .support-movement-table tbody > tr:not(.support-movement-detail-row) > td {
        display: grid;
        gap: 3px;
        border-bottom: 1px solid var(--border);
    }

    .support-movement-table tbody > tr:not(.support-movement-detail-row) > td::before {
        color: var(--text-muted);
        font-size: 0.68rem;
        font-weight: 800;
    }

    .support-movement-table tbody > tr:not(.support-movement-detail-row) > td:nth-child(1)::before { content: 'رقم الطلب'; }
    .support-movement-table tbody > tr:not(.support-movement-detail-row) > td:nth-child(2)::before { content: 'منتجات المتجر'; }
    .support-movement-table tbody > tr:not(.support-movement-detail-row) > td:nth-child(3)::before { content: 'العروض والخصومات'; }
    .support-movement-table tbody > tr:not(.support-movement-detail-row) > td:nth-child(4)::before { content: 'مستحق المتجر'; }
    .support-movement-table tbody > tr:not(.support-movement-detail-row) > td:nth-child(5)::before { content: 'المطابقة'; }
    .support-movement-table tbody > tr:not(.support-movement-detail-row) > td:nth-child(6)::before { content: 'التفاصيل'; }

    .support-movement-detail-row {
        display: block;
        width: 100%;
    }

    .support-movement-detail-row.hidden {
        display: none;
    }

    .support-movement-detail-row > td {
        display: block;
        width: 100%;
    }

    .support-movement-technical > div {
        grid-template-columns: 1fr;
    }
}

/* Operations: rich, scannable and responsive command board. No global overrides. */
#tab-operations,
#operations-candidate-modal,
#operations-details-layer {
    --ops-surface: #fff;
    --ops-muted-surface: #f6f8fb;
    --ops-page: #f9fbfd;
    --ops-border: #e2e8f0;
    --ops-text: #182234;
    --ops-muted: #66758a;
    --ops-orange-soft: #fff3e9;
    --ops-orange-border: #ffc99f;
    --ops-green-soft: #ecfdf2;
    --ops-green-text: #167347;
    --ops-red-soft: #fff0f0;
    --ops-amber-soft: #fff8ed;
    direction: rtl;
    color: var(--ops-text);
}
body.dark-mode #tab-operations,
body.dark-mode #operations-candidate-modal,
body.dark-mode #operations-details-layer {
    --ops-surface: #1d222b;
    --ops-muted-surface: #262c36;
    --ops-page: #161b23;
    --ops-border: #374151;
    --ops-text: #f3f5fa;
    --ops-muted: #adb8c9;
    --ops-orange-soft: #39271e;
    --ops-orange-border: #b05a1e;
    --ops-green-soft: #18382b;
    --ops-green-text: #7ae1a2;
    --ops-red-soft: #402226;
    --ops-amber-soft: #3b3021;
}
#tab-operations .operations-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    border: 1px solid var(--ops-border);
    border-radius: 14px;
    background: var(--ops-surface);
}
#tab-operations .operations-toolbar h3 { margin: 0 0 3px; font-size: 1.08rem; font-weight: 800; }
#tab-operations .operations-toolbar p { margin: 0; color: var(--ops-muted); }
#tab-operations .operations-filter-bar { display: flex; gap: 5px; padding: 4px; background: var(--ops-muted-surface); border: 1px solid var(--ops-border); border-radius: 12px; }
#tab-operations .operations-filter { font: inherit; font-weight: 700; font-size: .76rem; white-space: nowrap; border: 0; border-radius: 9px; color: var(--ops-muted); background: transparent; padding: 8px 11px; }
#tab-operations .operations-filter:hover { color: var(--ops-text); }
#tab-operations .operations-filter.active { background: var(--ops-surface); color: var(--primary); box-shadow: 0 2px 7px #152a451a; }
#tab-operations .operations-filter:focus-visible, #tab-operations button:focus-visible, #tab-operations summary:focus-visible,
#operations-candidate-modal button:focus-visible, #operations-details-layer button:focus-visible { outline: 3px solid var(--ops-orange-border); outline-offset: 2px; }
#tab-operations .operations-counters { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 12px 0 15px; }
#tab-operations .operations-counter { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 69px; border: 1px solid var(--ops-border); border-radius: 13px; background: var(--ops-surface); padding: 13px 16px; box-shadow: 0 2px 6px #152a4508; }
#tab-operations .operations-counter span { font-size: .78rem; color: var(--ops-muted); }
#tab-operations .operations-counter strong { font-size: 1.55rem; line-height: 1; font-weight: 800; font-variant-numeric: tabular-nums; }
#tab-operations .operations-counter-1 { border-right: 3px solid #ff8a33; }
#tab-operations .operations-counter-2 { border-right: 3px solid #e2a330; }
#tab-operations .operations-counter-3 { border-right: 3px solid #dc4d4d; }
#tab-operations .operations-zones-grid { --operations-columns: 1; display: grid; grid-template-columns: repeat(var(--operations-columns),minmax(0,1fr)); gap: 12px; align-items: start; }
#tab-operations .operations-zones-grid[data-zone-count="2"] { --operations-columns: 2; }
#tab-operations .operations-zones-grid[data-zone-count="3"] { --operations-columns: 3; }
#tab-operations .operations-zone-panel { min-width: 0; background: var(--ops-page); border: 1px solid var(--ops-border); border-radius: 15px; overflow: hidden; box-shadow: 0 3px 12px #1329460c; }
#tab-operations .operations-zone-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border-bottom: 1px solid var(--ops-border); background: var(--ops-surface); }
#tab-operations .operations-zone-head h3 { display: flex; align-items: center; gap: 7px; margin: 0; font-size: .94rem; font-weight: 800; overflow-wrap: anywhere; }
#tab-operations .operations-zone-head h3 i { color: var(--primary); }
#tab-operations .operations-zone-totals { display: flex; gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
#tab-operations .operations-zone-totals span { display: inline-flex; align-items: center; color: var(--ops-muted); background: var(--ops-muted-surface); font-size: .67rem; padding: 3px 7px; border-radius: 99px; }
#tab-operations .operations-zone-orders { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,272px),1fr)); grid-auto-rows: max-content; gap: 10px; padding: 10px; max-height: calc(100vh - 265px); overflow-y: auto; align-content: start; align-items: start; overscroll-behavior: contain; }
#tab-operations .operations-order { min-width: 0; background: var(--ops-surface); border: 1px solid var(--ops-border); border-right: 3px solid #acb6c4; border-radius: 12px; padding: 13px; box-shadow: 0 2px 6px #152a4508; transition: box-shadow .18s ease,border-color .18s ease; }
#tab-operations .operations-order:hover { box-shadow: 0 6px 18px #13294619; }
#tab-operations .operations-order.warning { border-right-color: #f0b331; }
#tab-operations .operations-order.delayed { border-right-color: #f28c25; }
#tab-operations .operations-order.critical { border-right-color: #e25555; }
#tab-operations .operations-order.severe { border-right-color: #b42335; }
#tab-operations .operations-order-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
#tab-operations .operations-order-identity { flex: 1; min-width: 0; }
#tab-operations .operations-order-code { display: block; width: fit-content; text-align: left; color: var(--primary); font-size: .8rem; font-weight: 900; letter-spacing: .15px; margin-bottom: 5px; }
#tab-operations .operations-order-store { display: block; font-size: .93rem; font-weight: 800; line-height: 1.45; overflow-wrap: anywhere; }
#tab-operations .operations-order-identity small { display: block; margin-top: 3px; color: var(--ops-muted); font-size: .7rem; overflow-wrap: anywhere; }
#tab-operations .operations-badge { display: inline-flex; align-items: center; flex-shrink: 0; max-width: 49%; padding: 5px 8px; border-radius: 7px; background: var(--ops-muted-surface); color: var(--ops-muted); font-size: .67rem; font-weight: 800; line-height: 1.6; text-align: center; overflow-wrap: anywhere; }
#tab-operations .operations-order.warning .operations-badge,
#tab-operations .operations-order.delayed .operations-badge { background: var(--ops-amber-soft); color: #a4620d; }
#tab-operations .operations-order.critical .operations-badge,
#tab-operations .operations-order.severe .operations-badge { background: var(--ops-red-soft); color: #ca3841; }
body.dark-mode #tab-operations .operations-order.warning .operations-badge,
body.dark-mode #tab-operations .operations-order.delayed .operations-badge { color: #f4c16e; }
body.dark-mode #tab-operations .operations-order.critical .operations-badge,
body.dark-mode #tab-operations .operations-order.severe .operations-badge { color: #ff8890; }
#tab-operations .operations-status-line { display: flex; align-items: center; gap: 5px; margin: 10px 0; min-height: 22px; font-weight: 600; font-size: .69rem; color: var(--ops-muted); flex-wrap: wrap; }
#tab-operations .operations-status-dot { height: 7px; width: 7px; border-radius: 50%; background: #37aa76; flex-shrink: 0; }
#tab-operations .operations-zone-inline { display: inline-flex; align-items: center; gap: 5px; margin-right: auto; font-weight: 500; max-width: 100%; overflow-wrap: anywhere; }
#tab-operations .operations-zone-inline i { color: var(--primary); }
#tab-operations .operations-quick-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
#tab-operations .operations-quick-grid > div { display: grid; gap: 4px; min-width: 0; border: 1px solid var(--ops-border); background: var(--ops-muted-surface); border-radius: 9px; padding: 9px; }
#tab-operations .operations-quick-grid > div > span { font-size: .68rem; color: var(--ops-muted); }
#tab-operations .operations-quick-grid i { color: var(--primary); }
#tab-operations .operations-quick-grid strong { font-size: .79rem; font-weight: 800; overflow-wrap: anywhere; }
#tab-operations .operations-quick-grid .operations-unassigned { color: var(--ops-muted); font-weight: 600; }
#tab-operations .operations-elapsed { font-variant-numeric: tabular-nums; }
#tab-operations .operations-destination { display: flex; gap: 8px; align-items: flex-start; border-bottom: 1px solid var(--ops-border); font-size: .72rem; line-height: 1.7; color: var(--ops-muted); padding: 10px 1px; overflow-wrap: anywhere; }
#tab-operations .operations-destination i { color: var(--primary); padding-top: 3px; }
#tab-operations .operations-dispatch-note { display: flex; align-items: flex-start; gap: 6px; margin-top: 9px; padding: 8px 9px; border-radius: 8px; color: var(--ops-text); background: var(--ops-amber-soft); font-size: .69rem; line-height: 1.7; }
#tab-operations .operations-dispatch-note i { margin-top: 3px; color: #dd8a0b; }
#tab-operations .operations-order-actions { margin-top: 10px; }
#tab-operations .operations-choose { width: 100%; min-height: 36px; border-radius: 9px; box-shadow: none; font-size: .78rem; font-weight: 800; padding: 8px; }
#tab-operations .operations-choose:hover { box-shadow: none; }
#tab-operations .operations-details-open { display: flex; width: 100%; align-items: center; justify-content: center; gap: 7px; margin-top: 8px; padding: 8px 10px; border: 1px solid var(--ops-border); border-radius: 9px; font: inherit; font-size: .73rem; font-weight: 700; color: var(--ops-muted); background: var(--ops-surface); cursor: pointer; }
#tab-operations .operations-details-open:hover { color: var(--primary); background: var(--ops-muted-surface); }
#tab-operations .operations-details-open .fa-chevron-left { margin-right: auto; font-size: .65rem; }
#tab-operations .operations-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; padding: 12px; border-top: 1px solid var(--ops-border); }
#tab-operations .operations-detail-item { display: grid; gap: 3px; min-width: 0; }
#tab-operations .operations-detail-item span, #tab-operations .operations-detail-address span { color: var(--ops-muted); font-size: .67rem; }
#tab-operations .operations-detail-item strong { color: var(--ops-text); font-weight: 700; font-size: .73rem; overflow-wrap: anywhere; }
#tab-operations .operations-break-all strong { word-break: break-all; }
#tab-operations .operations-detail-address { display: grid; gap: 4px; margin: 0 12px 12px; padding: 9px; background: var(--ops-muted-surface); border-radius: 7px; }
#tab-operations .operations-detail-address strong { font-size: .73rem; font-weight: 600; overflow-wrap: anywhere; }
#tab-operations .operations-details-explain { margin: 0 12px 12px; color: var(--ops-muted); font-size: .68rem; }
#tab-operations .operations-zone-message { grid-column: 1 / -1; padding: 22px 12px; text-align: center; color: var(--ops-muted); font-size: .79rem; line-height: 1.9; }
#tab-operations .operations-zone-error { color: #c43b43; background: var(--ops-red-soft); }

/* Order details are detached from the card grid to keep every row compact. */
#operations-details-layer { position: fixed; inset: 0; z-index: 2100; pointer-events: none; direction: rtl; }
#operations-details-layer .operations-details-drawer { pointer-events: auto; position: absolute; inset-block: 0; inset-inline-start: 0; width: min(440px,92vw); display: flex; flex-direction: column; color: var(--ops-text); background: var(--ops-surface); border-inline-end: 1px solid var(--ops-border); box-shadow: -12px 0 34px #0f172a2b; transform: translateX(100%); animation: operations-drawer-in .18s ease-out forwards; padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }
#operations-details-layer .operations-details-drawer > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 0 0 auto; padding: 16px 18px; border-bottom: 1px solid var(--ops-border); }
#operations-details-layer .operations-details-drawer h3 { margin: 0; font-size: 1.05rem; }
#operations-details-layer .operations-details-close { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--ops-border); border-radius: 10px; color: var(--ops-muted); background: var(--ops-muted-surface); cursor: pointer; }
#operations-details-layer .operations-details-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 18px; }
#operations-details-layer .operations-drawer-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--ops-muted); }
#operations-details-layer .operations-drawer-title strong { color: var(--primary); font-size: 1.35rem; }
#operations-details-layer .operations-drawer-store { display: grid; gap: 3px; margin: 14px 0; }
#operations-details-layer .operations-drawer-store strong { font-size: 1.02rem; overflow-wrap: anywhere; }
#operations-details-layer .operations-drawer-store span { color: var(--ops-muted); font-size: .78rem; }
#operations-details-layer .operations-account-row { display: grid; gap: 6px; padding: 12px; margin-bottom: 14px; border: 1px solid var(--ops-border); border-radius: 10px; background: var(--ops-muted-surface); }
#operations-details-layer .operations-account-row > span { color: var(--ops-muted); font-size: .72rem; }
#operations-details-layer .operations-account-row > div { display: flex; align-items: center; gap: 8px; min-width: 0; direction: ltr; }
#operations-details-layer .operations-account-row strong { flex: 1; min-width: 0; font-size: .82rem; overflow-wrap: anywhere; }
#operations-details-layer .operations-account-row button { flex: 0 0 auto; width: 32px; height: 32px; border: 1px solid var(--ops-border); border-radius: 8px; color: var(--primary); background: var(--ops-surface); cursor: pointer; }
#operations-details-layer .operations-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
#operations-details-layer .operations-detail-item { display: grid; gap: 4px; min-width: 0; padding: 10px; border: 1px solid var(--ops-border); border-radius: 9px; background: var(--ops-muted-surface); }
#operations-details-layer .operations-detail-item span, #operations-details-layer .operations-detail-address span { color: var(--ops-muted); font-size: .69rem; }
#operations-details-layer .operations-detail-item strong { font-size: .78rem; overflow-wrap: anywhere; }
#operations-details-layer .operations-detail-address { display: grid; gap: 5px; margin-top: 12px; padding: 11px; border-radius: 9px; background: var(--ops-muted-surface); }
#operations-details-layer .operations-detail-address strong { font-size: .76rem; overflow-wrap: anywhere; }
#operations-details-layer .operations-details-explain { color: var(--ops-muted); font-size: .72rem; line-height: 1.7; }
@keyframes operations-drawer-in { to { transform: translateX(0); } }

/* Dispatch selection modal is isolated from other admin modals. */
#operations-candidate-modal { padding: 14px; }
#operations-candidate-modal .operations-candidate-modal-content { width: min(800px,100%); max-width: 800px; max-height: min(92dvh,950px); background: var(--ops-surface); color: var(--ops-text); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; animation: operations-modal-open .16s ease-out; }
#operations-candidate-modal .operations-modal-head, #operations-candidate-modal .operations-modal-bottom { flex-shrink: 0; }
#operations-candidate-modal .modal-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
@keyframes operations-modal-open { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
#operations-candidate-modal .operations-modal-head { padding: 19px 23px; background: var(--ops-surface); border-bottom: 1px solid var(--ops-border); border-radius: 0; gap: 14px; }
#operations-candidate-modal .operations-modal-kicker { display: block; font-size: .73rem; color: var(--primary); font-weight: 800; margin-bottom: 2px; }
#operations-candidate-modal .operations-modal-head h3 { color: var(--ops-text); font-size: 1.45rem; direction: ltr; text-align: right; font-weight: 900; }
#operations-candidate-modal .operations-modal-head small { display: block; color: var(--ops-muted); font-size: .79rem; margin-top: 5px; }
#operations-candidate-modal .operations-modal-close { display: grid; place-items: center; height: 34px; width: 34px; border: 1px solid var(--ops-border); background: var(--ops-muted-surface); border-radius: 10px; color: var(--ops-muted); }
#operations-candidate-modal .modal-body { padding: 17px 22px 23px; background: var(--ops-page); }
#operations-candidate-modal .operations-candidate-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 9px; margin-bottom: 12px; }
#operations-candidate-modal .operations-last-check { color: var(--ops-muted); font-size: .75rem; }
#operations-candidate-modal .operations-refresh { display: inline-flex; gap: 7px; align-items: center; padding: 8px 11px; border: 1px solid var(--ops-border); border-radius: 9px; color: var(--ops-text); background: var(--ops-surface); font-size: .74rem; font-weight: 700; }
#operations-candidate-modal .operations-refresh:hover:not(:disabled) { border-color: var(--ops-orange-border); color: var(--primary); }
#operations-candidate-modal button:disabled { cursor: wait; opacity: .55; }
#operations-candidate-modal .operations-candidate-alert { border: 1px solid #f4b4b4; padding: 12px; color: #b42318; background: var(--ops-red-soft); border-radius: 10px; font-size: .77rem; margin-bottom: 12px; }
#operations-candidate-modal .operations-candidate-alert[hidden] { display: none; }
#operations-candidate-modal .operations-modal-list { display: grid; gap: 11px; }
#operations-candidate-modal .operations-candidate { display: grid; gap: 14px; border: 1px solid var(--ops-border); padding: 15px; border-radius: 13px; background: var(--ops-surface); }
#operations-candidate-modal .operations-candidate-top { border-color: var(--ops-orange-border); box-shadow: 0 0 0 1px var(--ops-orange-border) inset; }
#operations-candidate-modal .operations-candidate-head { display: flex; align-items: center; gap: 12px; min-width: 0; }
#operations-candidate-modal .operations-candidate-avatar { flex-shrink: 0; display: grid; place-items: center; height: 45px; width: 45px; border: 1px solid var(--ops-orange-border); border-radius: 12px; background: var(--ops-orange-soft); color: var(--primary); font-size: 1.15rem; font-weight: 800; }
#operations-candidate-modal .operations-candidate-name { display: grid; gap: 4px; min-width: 0; flex: 1; }
#operations-candidate-modal .operations-candidate-name strong { font-size: .94rem; overflow-wrap: anywhere; font-weight: 800; }
#operations-candidate-modal .operations-candidate-name small { color: var(--ops-muted); font-size: .67rem; overflow-wrap: anywhere; }
#operations-candidate-modal .operations-top-tag { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 99px; border: 1px solid var(--ops-orange-border); color: var(--primary); background: var(--ops-orange-soft); font-size: .7rem; font-weight: 800; max-width: 40%; text-align: center; line-height: 1.6; }
#operations-candidate-modal .operations-candidate-number { display: grid; place-items: center; height: 27px; width: 27px; border-radius: 50%; color: var(--ops-muted); background: var(--ops-muted-surface); font-size: .77rem; font-weight: 800; }
#operations-candidate-modal .operations-candidate-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
#operations-candidate-modal .operations-candidate-metric { display: grid; grid-template-columns: 16px minmax(0,1fr); gap: 3px 7px; padding: 9px 11px; border: 1px solid var(--ops-border); border-radius: 9px; background: var(--ops-muted-surface); align-items: start; }
#operations-candidate-modal .operations-candidate-metric i { color: var(--primary); grid-row: span 2; padding-top: 3px; font-size: .73rem; }
#operations-candidate-modal .operations-candidate-metric span { color: var(--ops-muted); font-size: .68rem; line-height: 1.5; }
#operations-candidate-modal .operations-candidate-metric strong { color: var(--ops-text); font-size: .88rem; font-weight: 800; }
#operations-candidate-modal .operations-candidate-metric strong { overflow-wrap: anywhere; }
#operations-candidate-modal .operations-candidate-footer { display: flex; align-items: center; gap: 10px; justify-content: space-between; }
#operations-candidate-modal .operations-eligible { display: flex; align-items: center; gap: 7px; font-size: .74rem; color: var(--ops-green-text); font-weight: 700; }
#operations-candidate-modal .operations-assign { min-width: 135px; border-radius: 9px; font-size: .78rem; font-weight: 800; box-shadow: none; min-height: 37px; }
#operations-candidate-modal .operations-assign:hover { box-shadow: none; }
#operations-candidate-modal .operations-candidate-missing { display: flex; align-items: flex-start; gap: 8px; margin-top: 12px; padding: 12px; color: var(--ops-muted); background: var(--ops-muted-surface); border: 1px dashed var(--ops-border); font-size: .72rem; border-radius: 10px; line-height: 1.7; }
#operations-candidate-modal .operations-zone-message { padding: 32px 15px; color: var(--ops-muted); text-align: center; }
#operations-candidate-modal .operations-zone-error { color: #c43b43; background: var(--ops-red-soft); }
#operations-candidate-modal .operations-empty-candidates { display: grid; justify-items: center; gap: 9px; }
#operations-candidate-modal .operations-empty-candidates i { font-size: 1.5rem; }
#operations-candidate-modal .operations-modal-bottom { display: flex; align-items: center; gap: 8px; padding: 11px 22px; background: var(--ops-surface); border-top: 1px solid var(--ops-border); color: var(--ops-muted); font-size: .71rem; line-height: 1.7; }
#operations-candidate-modal .operations-modal-bottom i { color: var(--primary); flex-shrink: 0; }
@media (max-width: 1250px) {
    #tab-operations .operations-zones-grid[data-zone-count="3"] { --operations-columns: 2; }
}
@media (max-width: 980px) {
    #tab-operations .operations-zones-grid { --operations-columns: 1 !important; }
    #tab-operations .operations-zone-orders { max-height: none; }
}
@media (max-width: 690px) {
    #tab-operations .operations-toolbar { flex-direction: column; align-items: stretch; padding: 12px; }
    #tab-operations .operations-filter-bar { width: 100%; justify-content: space-between; }
    #tab-operations .operations-filter { flex: 1; padding-inline: 4px; font-size: .69rem; }
    #tab-operations .operations-counters { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
    #tab-operations .operations-counter { min-height: 62px; padding: 10px; }
    #tab-operations .operations-counter strong { font-size: 1.3rem; }
    #tab-operations .operations-zone-orders { grid-template-columns: 1fr; }
    #operations-candidate-modal { padding: 6px; }
    #operations-candidate-modal .operations-candidate-modal-content { width: 100%; max-height: 95vh; border-radius: 14px; }
    #operations-candidate-modal .operations-modal-head { padding: 13px 15px; }
    #operations-candidate-modal .modal-body { padding: 12px; }
    #operations-candidate-modal .operations-candidate { padding: 11px; gap: 11px; }
    #operations-candidate-modal .operations-top-tag { max-width: 37%; font-size: .6rem; padding: 5px; }
    #operations-candidate-modal .operations-modal-bottom { padding: 10px 12px; }
    #operations-details-layer { pointer-events: auto; background: #0f172a70; display: flex; align-items: flex-end; }
    #operations-details-layer .operations-details-drawer { position: relative; inset: auto; width: 100%; max-height: min(88dvh,760px); border-radius: 18px 18px 0 0; border-inline-end: 0; border-top: 1px solid var(--ops-border); box-shadow: 0 -12px 34px #0f172a30; transform: translateY(100%); animation-name: operations-sheet-in; }
    #operations-details-layer .operations-details-body { padding: 14px; }
}
@media (max-width: 380px) {
    #operations-candidate-modal .operations-candidate-head { flex-wrap: wrap; }
    #operations-candidate-modal .operations-top-tag { max-width: 100%; margin-right: auto; }
    #operations-candidate-modal .operations-candidate-metrics { grid-template-columns: 1fr; }
    #operations-details-layer .operations-detail-grid { grid-template-columns: 1fr; }
}
@keyframes operations-sheet-in { to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
    #operations-candidate-modal .operations-candidate-modal-content { animation: none; }
    #operations-details-layer .operations-details-drawer { animation: none; transform: none; }
    #tab-operations .operations-order { transition: none; }
}
