@import url("/static/css/banner-size.css");
/* =========================================================
   RAWAFI TRANSPORT MANAGEMENT SYSTEM — FINAL UI
   ========================================================= */

:root {
    --primary: #d89b22;
    --primary-dark: #ad7510;
    --navy: #153d4b;
    --navy-dark: #092933;
    --navy-deep: #061f27;
    --surface: #f3f6f7;
    --white: #ffffff;
    --text: #20333b;
    --muted: #6f8188;
    --border: #dfe7e9;
    --sidebar-width: 250px;
    --sidebar-collapsed-width: 76px;
    --topbar-height: 56px;
    --shadow-soft: 0 4px 18px rgba(13, 48, 59, 0.06);
}

* {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
}

body {
    overflow: hidden;
    background: var(--surface);
    color: var(--text);
    font-family: "Tajawal", "Segoe UI", Arial, sans-serif;
    font-size: 14px;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

.app-shell {
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

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

.sidebar {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 1040;
    width: var(--sidebar-width) !important;
    height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: var(--white);
    background:
        radial-gradient(circle at 20% 5%, rgba(216, 155, 34, 0.11), transparent 27%),
        linear-gradient(180deg, var(--navy) 0%, var(--navy-dark) 58%, var(--navy-deep) 100%);
    border-left: 1px solid rgba(255, 255, 255, 0.05);
    transition: width 0.25s ease;
}

.sidebar-header {
    flex: 0 0 88px;
    min-height: 88px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.sidebar-logo {
    width: 52px;
    height: 52px;
    min-width: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--white);
    border-radius: 12px;
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.14);
}

.sidebar-logo img {
    width: 100%;
    height: 100%;
    padding: 4px;
    object-fit: contain;
}

.sidebar-home-link {
    text-decoration: none;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease;
}

.sidebar-home-link:hover {
    transform: translateY(-1px) scale(1.02);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.20);
}

.sidebar-home-link:focus-visible {
    outline: 3px solid rgba(216, 155, 34, 0.55);
    outline-offset: 3px;
}

.sidebar-title {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.sidebar-title strong {
    color: var(--white);
    font-size: 1rem;
    font-weight: 800;
    white-space: nowrap;
}

.sidebar-title small {
    margin-top: 3px;
    color: #c3d0d4;
    font-size: 0.68rem;
    white-space: nowrap;
}

/* الـ Scroll هنا فقط */
.sidebar-nav {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    padding: 10px 10px 14px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.22) transparent;
}

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

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

.sidebar-nav::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.21);
    border-radius: 20px;
}

.sidebar .nav-link {
    flex: 0 0 auto;
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 2px 0;
    padding: .58rem .75rem;
    color: #c8d4d7;
    border: 1px solid transparent;
    border-radius: 9px;
    font-size: .82rem;
    font-weight: 500;
    white-space: nowrap;
    transition: .18s ease;
}

.sidebar .nav-link i {
    width: 21px;
    min-width: 21px;
    color: #e4ab39;
    font-size: 1rem;
    text-align: center;
}

.sidebar .nav-link .nav-symbol{width:21px;min-width:21px;color:#e4ab39;font-family:"Segoe UI Symbol","Noto Sans Symbols",Arial,sans-serif;font-size:1.08rem;font-weight:800;line-height:1;text-align:center;overflow:visible}

.sidebar .nav-link span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar .nav-link:hover {
    color: var(--white);
    background: rgba(255,255,255,.075);
    transform: translateX(-2px);
}

.sidebar .nav-link.active {
    color: var(--white);
    background: linear-gradient(90deg, rgba(216,155,34,.24), rgba(216,155,34,.1));
    border-color: rgba(216,155,34,.25);
    box-shadow: inset -3px 0 var(--primary);
}

.sidebar-footer {
    flex: 0 0 48px;
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 7px 10px;
    background: rgba(0,0,0,.09);
    border-top: 1px solid rgba(255,255,255,.08);
}

.sidebar-collapse-button {
    width: 100%;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c7d3d6;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 8px;
}

.sidebar-collapse-button:hover {
    color: var(--white);
    background: rgba(255,255,255,.1);
}

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

.main-content {
    width: calc(100% - var(--sidebar-width));
    height: 100vh;
    margin-right: var(--sidebar-width);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: width .25s ease, margin-right .25s ease;
}

.topbar {
    flex: 0 0 var(--topbar-height);
    height: var(--topbar-height);
    min-height: var(--topbar-height);
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 16px;
    padding: 0 22px;
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid var(--border);
    box-shadow: 0 2px 10px rgba(13,48,59,.035);
}

.menu-button {
    border: 0;
    background: transparent;
}

.topbar-title {
    color: var(--navy);
    text-align: right;
    font-size: .94rem;
    font-weight: 800;
}

.topbar-logout {
    margin: 0;
}

.topbar-logout .btn {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: .38rem .78rem;
    font-size: .76rem;
    font-weight: 700;
    border-radius: 8px;
}

.content-area {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    padding: 16px 20px 10px;
    overflow-x: hidden;
    overflow-y: auto;
}

.content-area:has(.dashboard-layout) {
    padding-top: 0;
    padding-right: 0;
    padding-left: 0;
    overflow: hidden;
}


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

.content-area:has(.dashboard-layout) {
    padding: 0 0 10px;
    overflow: hidden;
}

.dashboard-layout {
    width: 100%;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.dashboard-banner {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.dashboard-banner-image {
    width: 100%;
    height: auto;
    max-height: none;
    display: block;
    margin: 0;
    padding: 0;
    object-fit: contain;
    object-position: center;
    border-radius: 0;
}

.dashboard-body {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 0;
    overflow: hidden;
    background:
        linear-gradient(rgba(20,61,75,.016) 1px, transparent 1px),
        linear-gradient(90deg, rgba(20,61,75,.016) 1px, transparent 1px),
        var(--white);
    background-size: 28px 28px;
    border: 1px solid var(--border);
    border-radius: 15px;
    box-shadow: var(--shadow-soft);
}

.dashboard-body::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 180px;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--primary));
    border-radius: 0 15px 0 0;
}

.dashboard-footer {
    flex: 0 0 34px;
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 6px 4px 0;
    color: var(--muted);
    font-size: .7rem;
}

.dashboard-footer strong {
    color: var(--primary-dark);
}

/* ========================= GENERAL PAGES ========================= */

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

.page-actions h2 {
    margin: 0;
    color: var(--navy);
    font-size: 1.35rem;
    font-weight: 800;
}

.filter-bar,
.form-section,
.data-panel {
    margin-bottom: 16px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow-soft);
}

.filter-bar,
.form-section {
    padding: 16px;
}

.form-section h3 {
    margin: 0 0 14px;
    padding-bottom: 11px;
    color: var(--navy);
    font-size: 1rem;
    font-weight: 800;
    border-bottom: 1px solid #edf1f2;
}

.form-label {
    margin-bottom: 5px;
    color: #3e565e;
    font-size: .84rem;
    font-weight: 700;
}

.form-control,
.form-select,
.input-group-text {
    min-height: 39px;
    background: #fbfcfc;
    border-color: #d9e2e4;
    font-size: .85rem;
    border-radius: 8px;
}

.form-control:focus,
.form-select:focus {
    background: var(--white);
    border-color: var(--primary);
    box-shadow: 0 0 0 .2rem rgba(216,155,34,.14);
}

.btn-primary {
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary-dark);
    --bs-btn-hover-border-color: var(--primary-dark);
    color: var(--white);
    font-weight: 700;
}

.data-panel {
    padding: 0;
    overflow: auto;
}

.data-panel .table {
    min-width: 900px;
    margin: 0;
}

.table > :not(caption) > * > * {
    padding: 11px 13px;
    vertical-align: middle;
}

.table thead th {
    color: #405860;
    background: #f1f5f6;
    font-size: .79rem;
    font-weight: 800;
}

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

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

.app-shell.sidebar-collapsed .main-content {
    width: calc(100% - var(--sidebar-collapsed-width));
    margin-right: var(--sidebar-collapsed-width);
}

.app-shell.sidebar-collapsed .sidebar-title,
.app-shell.sidebar-collapsed .sidebar .nav-link span:not(.nav-symbol) {
    display: none;
}

.app-shell.sidebar-collapsed .sidebar-header {
    justify-content: center;
    padding-inline: 8px;
}

.app-shell.sidebar-collapsed .sidebar-nav {
    padding-inline: 8px;
}

.app-shell.sidebar-collapsed .sidebar .nav-link {
    justify-content: center;
    padding-inline: .45rem;
}

.app-shell.sidebar-collapsed .sidebar .nav-link i {
    width: auto;
    min-width: 0;
    font-size: 1.1rem;
}
.app-shell.sidebar-collapsed .sidebar .nav-link .nav-symbol{width:auto;min-width:0;font-size:1.16rem}

.app-shell.sidebar-collapsed .sidebar-collapse-button i {
    transform: rotate(180deg);
}

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

@media (min-width: 1600px) {
    :root {
        --sidebar-width: 260px;
    }

    
}

@media (max-width: 1199.98px) {
    :root {
        --sidebar-width: 225px;
    }

    
}

@media (max-width: 991.98px) {
    body {
        overflow-y: auto;
    }

    .app-shell {
        min-height: 100vh;
        height: auto;
        overflow: visible;
    }

    .sidebar {
        width: 260px !important;
    }

    .main-content,
    .app-shell.sidebar-collapsed .main-content {
        width: 100%;
        height: auto;
        min-height: 100vh;
        margin-right: 0;
        overflow: visible;
    }

    .topbar {
        position: sticky;
        top: 0;
        z-index: 1020;
        padding-inline: 12px;
    }

    .content-area,
    .content-area:has(.dashboard-layout) {
        min-height: calc(100vh - var(--topbar-height));
        padding: 14px;
        overflow: visible;
    }

    .dashboard-layout {
        height: auto;
        min-height: calc(100vh - 84px);
        overflow: visible;
    }

    .dashboard-banner-image {
        max-height: none;
    }

    .dashboard-body {
        min-height: 380px;
    }

    .dashboard-footer {
        min-height: 48px;
        flex-wrap: wrap;
    }

    .sidebar-footer {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .topbar-title {
        font-size: .78rem;
    }

    .topbar-logout .btn {
        padding-inline: .55rem;
        font-size: .7rem;
    }

    .content-area {
        padding: 10px;
    }

    .dashboard-banner,
    .dashboard-banner-image {
        border-radius: 12px;
    }

    .dashboard-body {
        min-height: 330px;
        margin-top: 10px;
    }

    .dashboard-footer {
        justify-content: center;
        text-align: center;
        font-size: .64rem;
    }

    .page-actions {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* =========================================================
   RAWAFI LOGIN PAGE
   ========================================================= */

.login-page {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    overflow: hidden;

    color: #173247;
    background: #edf2f4;

    font-family: "Tajawal", "Segoe UI", Arial, sans-serif;
}

/* الصفحة بالكامل */

.login-shell {
    width: 100%;
    min-height: 100vh;

    display: grid;
    grid-template-columns: minmax(420px, 40%) minmax(0, 60%);

    direction: ltr;

    background: #ffffff;
}

/* =========================================================
   LOGIN FORM PANEL
   ========================================================= */

.login-form-panel {
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 45px 55px;

    direction: rtl;

    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(216, 155, 34, 0.06),
            transparent 28%
        ),
        #ffffff;
}

.login-form-container {
    width: 100%;
    max-width: 500px;

    animation: loginFadeIn 0.55s ease both;
}

.login-heading {
    margin-bottom: 30px;
}

.login-kicker {
    display: inline-block;

    margin-bottom: 8px;

    color: #b57b0d;

    font-size: 0.88rem;
    font-weight: 800;
}

.login-heading h1 {
    margin: 0 0 9px;

    color: #16354a;

    font-size: clamp(2.15rem, 3vw, 3.15rem);
    font-weight: 800;
    line-height: 1.2;
}

.login-heading p {
    margin: 0;

    color: #778790;

    font-size: 1rem;
    line-height: 1.8;
}

/* =========================================================
   ALERT
   ========================================================= */

.login-alert {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 22px;

    border-radius: 11px;

    font-size: 0.86rem;
}

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

.login-form {
    width: 100%;
}

.login-field {
    margin-bottom: 20px;
}

.login-field label {
    display: block;

    margin-bottom: 8px;

    color: #19364a;

    font-size: 0.91rem;
    font-weight: 800;
}

.login-input-group {
    width: 100%;
    height: 56px;

    display: flex;
    align-items: stretch;

    overflow: hidden;

    background: #f9fbfc;
    border: 1px solid #d5dfe3;
    border-radius: 11px;

    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        background 0.18s ease;
}

.login-input-group:focus-within {
    background: #ffffff;
    border-color: #d89b22;

    box-shadow:
        0 0 0 4px rgba(216, 155, 34, 0.12),
        0 6px 18px rgba(12, 48, 62, 0.06);
}

.login-input-icon {
    flex: 0 0 56px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #173b4d;

    background: #f3f7f8;
    border-left: 1px solid #dfe6e8;

    font-size: 1.18rem;
}

.login-input-group input {
    flex: 1 1 auto;
    min-width: 0;

    padding: 0 16px;

    color: #162f40;

    background: transparent;
    border: 0;
    outline: 0;

    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 500;
}

.login-input-group input::placeholder {
    color: #9aa7ad;
    font-weight: 400;
}

.login-password-toggle {
    flex: 0 0 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #4d6875;

    background: transparent;
    border: 0;
    border-right: 1px solid #dfe6e8;

    font-size: 1.1rem;

    cursor: pointer;

    transition:
        color 0.18s ease,
        background 0.18s ease;
}

.login-password-toggle:hover {
    color: #ad7510;
    background: #fff8e8;
}

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

.login-submit-button {
    width: 100%;
    min-height: 56px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    margin-top: 8px;
    padding: 0 24px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #174d5b 0%,
            #0f3745 55%,
            #092936 100%
        );

    border: 0;
    border-radius: 11px;

    box-shadow: 0 10px 24px rgba(8, 43, 55, 0.18);

    font-family: inherit;
    font-size: 1rem;
    font-weight: 800;

    cursor: pointer;

    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        background 0.18s ease;
}

.login-submit-button:hover {
    transform: translateY(-2px);

    background:
        linear-gradient(
            135deg,
            #1b5868 0%,
            #12404e 55%,
            #0a2d3a 100%
        );

    box-shadow: 0 14px 30px rgba(8, 43, 55, 0.25);
}

.login-submit-button:active {
    transform: translateY(0);
}

.login-submit-button i {
    font-size: 1.1rem;
}

/* =========================================================
   SECURITY MESSAGE
   ========================================================= */

.login-security {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    margin-top: 34px;
    padding-top: 25px;

    border-top: 1px solid #e4eaec;
}

.login-security-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #163d4c;

    background: #f2f6f7;
    border: 1px solid #dbe4e7;
    border-radius: 12px;

    font-size: 1.15rem;
}

.login-security div:last-child {
    display: flex;
    flex-direction: column;
}

.login-security strong {
    color: #29414e;

    font-size: 0.82rem;
    font-weight: 800;
}

.login-security small {
    margin-top: 3px;

    color: #8a989e;

    font-size: 0.68rem;
}

/* =========================================================
   VISUAL PANEL
   ========================================================= */

.login-visual-panel {
    position: relative;
    min-width: 0;
    min-height: 100vh;

    overflow: hidden;

    direction: rtl;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 78% 25%,
            rgba(29, 104, 124, 0.5),
            transparent 33%
        ),
        radial-gradient(
            circle at 20% 90%,
            rgba(216, 155, 34, 0.09),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #0a3341 0%,
            #092a38 50%,
            #061d29 100%
        );
}

/*
اختياري:
لو وضعت صورة تانكر باسم login-hero.jpg داخل:
app/static/assets/images/login-hero.jpg

ألغِ التعليق عن background-image أدناه.
*/

/*
.login-visual-panel {
    background-image:
        linear-gradient(
            135deg,
            rgba(8, 46, 60, 0.95),
            rgba(4, 24, 35, 0.86)
        ),
        url("/static/assets/images/login-hero.jpg");

    background-size: cover;
    background-position: center;
}
*/

.login-visual-overlay {
    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(255, 255, 255, 0.025) 50%,
            transparent 100%
        );
}

.login-visual-panel::before {
    content: "";

    position: absolute;
    top: -270px;
    right: -180px;

    width: 680px;
    height: 680px;

    border: 2px solid rgba(216, 155, 34, 0.74);
    border-radius: 50%;

    pointer-events: none;
}

.login-visual-panel::after {
    content: "";

    position: absolute;
    right: -145px;
    bottom: -280px;

    width: 600px;
    height: 600px;

    border:
        1px solid rgba(216, 155, 34, 0.42);

    border-radius: 50%;

    pointer-events: none;
}

.login-decoration {
    position: absolute;

    width: 160px;
    height: 160px;

    opacity: 0.45;

    background-image:
        radial-gradient(
            circle,
            #d89b22 1.5px,
            transparent 1.8px
        );

    background-size: 17px 17px;

    pointer-events: none;
}

.login-decoration-top {
    top: 22px;
    left: 22px;
}

.login-decoration-bottom {
    right: 22px;
    bottom: 22px;
}

.login-visual-content {
    position: relative;
    z-index: 2;

    width: 100%;
    min-height: 100vh;

    display: flex;
    flex-direction: column;

    padding: 45px 58px 34px;

    animation: loginSlideIn 0.65s ease both;
}

/* =========================================================
   OFFICIAL LOGOS
   ========================================================= */

.login-partner-logos {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 24px;
}

.login-logo-box {
    height: 88px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 10px 16px;

    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 15px;

    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.15);
}

.login-logo-box img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}

.rawafi-box {
    width: 190px;
}

.sec-box {
    width: 165px;
}

.login-logo-separator {
    width: 1px;
    height: 67px;

    background: rgba(255, 255, 255, 0.25);
}

/* =========================================================
   VISUAL MESSAGE
   ========================================================= */

.login-visual-message {
    width: 100%;
    max-width: 770px;

    margin: auto 0;

    text-align: right;
}

.login-platform-label {
    display: inline-flex;
    align-items: center;

    margin-bottom: 18px;
    padding: 7px 14px;

    color: #efbd51;

    background: rgba(216, 155, 34, 0.1);
    border: 1px solid rgba(216, 155, 34, 0.35);
    border-radius: 999px;

    font-size: 0.82rem;
    font-weight: 800;
}

.login-visual-message h2 {
    margin: 0 0 18px;

    color: #ffffff;

    font-size: clamp(2.7rem, 4.8vw, 5.4rem);
    font-weight: 800;
    line-height: 1.25;
}

.login-visual-message h2 span {
    color: #e1a324;
}

.login-visual-message p {
    max-width: 680px;

    margin: 0;

    color: #cedce0;

    font-size: clamp(1rem, 1.35vw, 1.25rem);
    line-height: 1.9;
}

/* =========================================================
   VISUAL FOOTER
   ========================================================= */

.login-visual-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    padding-top: 22px;

    color: #b8c9ce;

    border-top: 1px solid rgba(255, 255, 255, 0.1);

    font-size: 0.72rem;
}

/* =========================================================
   MOBILE LOGO
   ========================================================= */

.login-mobile-brand {
    margin-bottom: 30px;
    text-align: center;
}

.login-mobile-brand img {
    width: 170px;
    height: 92px;

    margin: auto;

    object-fit: contain;
}

/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes loginFadeIn {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

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

@keyframes loginSlideIn {
    from {
        opacity: 0;
        transform: translateX(25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

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

@media (max-width: 1199.98px) {

    .login-shell {
        grid-template-columns: minmax(390px, 43%) minmax(0, 57%);
    }

    .login-form-panel {
        padding: 40px 38px;
    }

    .login-visual-content {
        padding: 40px 38px 30px;
    }

    .login-visual-message h2 {
        font-size: 3.2rem;
    }

    .rawafi-box {
        width: 165px;
    }

    .sec-box {
        width: 145px;
    }

}

@media (max-width: 991.98px) {

    .login-page {
        overflow-y: auto;
    }

    .login-shell {
        display: block;
        min-height: 100vh;
    }

    .login-visual-panel {
        display: none;
    }

    .login-form-panel {
        min-height: 100vh;

        padding: 32px 22px;
    }

    .login-form-container {
        max-width: 520px;
    }

}

@media (max-width: 575.98px) {

    .login-form-panel {
        align-items: flex-start;

        padding: 25px 18px;
    }

    .login-heading {
        margin-bottom: 24px;
    }

    .login-heading h1 {
        font-size: 2rem;
    }

    .login-heading p {
        font-size: 0.88rem;
    }

    .login-input-group {
        height: 52px;
    }

    .login-input-icon {
        flex-basis: 50px;
    }

    .login-submit-button {
        min-height: 52px;
    }

    .login-security {
        align-items: flex-start;
    }

}

/* ========================= V2 NAVIGATION & HUBS ========================= */
.sidebar-collapse-button { gap: 8px; font: inherit; }
.sidebar-collapse-button span { font-size: .76rem; font-weight: 700; }
.app-shell.sidebar-collapsed .sidebar-collapse-button span { display:none; }
.menu-button { width:38px; height:38px; display:flex; align-items:center; justify-content:center; color:var(--navy); background:#f4f7f8; border:1px solid var(--border); border-radius:9px; }
.menu-button:hover { color:var(--primary-dark); background:#fff8e8; }
.page-heading,.settings-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.page-heading h1,.settings-header h1 { margin:2px 0 6px; color:var(--navy); font-size:1.55rem; font-weight:800; }
.page-heading p,.settings-header p,.page-actions p { margin:0; color:var(--muted); }
.page-kicker { color:var(--primary-dark); font-size:.72rem; font-weight:800; letter-spacing:.04em; }
.action-card-grid { display:grid; gap:18px; }
.action-card-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.action-card,.import-card { position:relative; min-height:180px; padding:24px; background:var(--white); border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow-soft); }
a.action-card { display:flex; align-items:center; gap:18px; transition:.2s ease; }
a.action-card:hover { transform:translateY(-3px); border-color:rgba(216,155,34,.55); box-shadow:0 13px 28px rgba(13,48,59,.12); }
.action-card-icon { width:64px; height:64px; min-width:64px; display:flex; align-items:center; justify-content:center; color:var(--primary-dark); background:#fff7e6; border:1px solid #f2d89d; border-radius:16px; font-size:1.8rem; }
.action-card h2,.import-card h3 { margin:0 0 8px; color:var(--navy); font-size:1.05rem; font-weight:800; }
.action-card p,.import-card p { margin:0; color:var(--muted); line-height:1.75; }
.action-card-arrow { margin-right:auto; color:var(--primary-dark); font-size:1.2rem; }
.settings-header { flex-direction:column; }
.settings-top-actions { width:100%; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.settings-top-actions a { min-height:72px; display:flex; align-items:center; justify-content:center; gap:10px; padding:12px; color:var(--navy); background:var(--white); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow-soft); font-weight:800; }
.settings-top-actions a:hover { color:var(--primary-dark); border-color:rgba(216,155,34,.55); }
.settings-top-actions i { color:var(--primary); font-size:1.25rem; }
.settings-welcome { min-height:300px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:var(--white); border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow-soft); }
.settings-welcome i { color:var(--primary); font-size:3.2rem; }
.settings-welcome h2 { margin:12px 0 6px; color:var(--navy); font-weight:800; }
.settings-welcome p { color:var(--muted); }

/* Compact settings hub: actions are the interface, without a decorative panel. */
.settings-page-compact{padding:4px 0}.settings-compact-title{margin-bottom:14px}.settings-compact-title h1{margin:2px 0;color:var(--navy);font-size:1.55rem;font-weight:800}.settings-action-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.settings-action-grid a{min-height:64px;box-shadow:0 3px 10px rgba(20,49,70,.05)}
@media(max-width:1100px){.settings-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.import-card { min-height:300px; }
.import-card .action-card-icon { margin-bottom:16px; }
@media (max-width:991.98px){.action-card-grid-two,.settings-top-actions{grid-template-columns:1fr 1fr}.sidebar-collapse-button{display:none}}
@media (max-width:575.98px){.action-card-grid-two,.settings-top-actions{grid-template-columns:1fr}.action-card{align-items:flex-start}.action-card-arrow{display:none}}

.main-screen{min-height:100%;padding:24px;background:linear-gradient(145deg,#f4f8fb,#eef5f3)}
.main-screen-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.main-screen-header h1{margin:0 0 4px;color:#173f53;font-size:1.45rem;font-weight:900}.main-screen-header p{margin:0;color:#687d8b}
.main-screen-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#176b51;color:#fff;font-size:1.35rem;box-shadow:0 8px 18px rgba(23,107,81,.2)}
.main-screen-card{display:flex;align-items:center;gap:14px;max-width:480px;padding:18px;border:1px solid #dce7e4;border-radius:15px;background:#fff;color:#173f53;text-decoration:none;box-shadow:0 8px 24px rgba(19,52,73,.07);transition:.18s}.main-screen-card:hover{color:#176b51;transform:translateY(-2px);box-shadow:0 12px 28px rgba(19,52,73,.11)}.main-screen-card>i:first-child{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#e8f5ef;color:#168557;font-size:1.15rem}.main-screen-card span{display:flex;flex:1;flex-direction:column}.main-screen-card strong{font-size:.95rem}.main-screen-card small{margin-top:3px;color:#71838f;font-size:.73rem}

/* Keep the application header visible while dashboard content scrolls. */
.topbar {
    position: relative;
    z-index: 1030;
}
.journal-page{padding:0 4px}.journal-toolbar{top:70px;z-index:20;background:#fff;border:1px solid #e6edf5;border-radius:14px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:15px;box-shadow:0 5px 18px rgba(15,37,48,.06)}.journal-toolbar h2{font-size:1.25rem;margin:0}.journal-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.journal-controls label{font-size:.75rem;color:#65758b}.journal-controls .form-control{min-width:135px;height:38px}.journal-kpis{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:12px 0}.journal-kpis div{background:#fff;border:1px solid #e6edf5;border-radius:12px;padding:10px 14px}.journal-kpis span{display:block;color:#718096;font-size:.78rem}.journal-kpis b{font-size:1.18rem;color:#164e63}.journal-table-wrap{max-height:calc(100vh - 275px);border:1px solid #e5eaf0;border-radius:13px;background:#fff}.journal-table thead{position:sticky;top:0;z-index:4}.journal-table th{background:#f1f7fb!important;color:#17384a;white-space:nowrap}.journal-table td{vertical-align:middle}.journal-table input{min-width:105px}.journal-table td:first-child{position:sticky;right:0;background:#fff;z-index:2}@media(max-width:1000px){.journal-toolbar{position:static;align-items:stretch;flex-direction:column}.journal-kpis{grid-template-columns:repeat(2,1fr)}.journal-table-wrap{max-height:none}}

/* ========================= JOURNALS UX REFINEMENT ========================= */
.content-area:has(.journal-page),.content-area:has(.review-page){padding:8px 14px 10px;overflow:hidden}
.journal-page{height:100%;padding:0;display:flex;flex-direction:column}
.journal-page form:not(.journal-import-form){height:100%;min-height:0;display:flex;flex-direction:column}
.journal-toolbar{position:relative;top:auto;flex:0 0 auto;margin:0;padding:9px 14px;border-radius:12px;box-shadow:0 3px 12px rgba(15,37,48,.05)}
.journal-title-block{min-width:210px}.journal-title-block h2{font-size:1.18rem;margin:0 0 2px}.journal-title-block small{font-size:.76rem;color:#6b7d88}
.journal-controls{flex-wrap:nowrap}.journal-controls label{margin:0}.journal-controls .form-control{height:36px;min-width:125px;padding:.35rem .65rem}.journal-search-label .form-control{min-width:210px}.journal-save-button{height:36px;white-space:nowrap}
.journal-save-message{flex:0 0 auto;margin:8px 0 0;padding:9px 13px;border-radius:10px;font-weight:700}
.journal-kpis{flex:0 0 auto;margin:8px 0;gap:8px}.journal-kpis div{padding:7px 12px;border-radius:10px}.journal-kpis span{font-size:.72rem}.journal-kpis b{font-size:1.05rem}
.journal-table-wrap{flex:1 1 auto;min-height:0;max-height:none;border-radius:11px}.journal-table>:not(caption)>*>*{padding:7px 10px}.journal-table input{height:38px}
.review-page{height:100%;min-height:0;display:flex;flex-direction:column}.review-heading{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.review-heading h1{font-size:1.35rem;margin:2px 0}.review-heading p{margin:0;color:var(--muted);font-size:.86rem}.review-quick-actions{display:flex;gap:8px}
.review-panel{flex:1 1 auto;min-height:0;padding:12px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft);overflow:hidden;display:flex;flex-direction:column}.review-filters{display:flex;gap:8px;flex:0 0 auto;margin-bottom:10px}.review-filters .form-select{max-width:220px}.review-journal-list{overflow:auto;display:grid;gap:9px;padding-inline-end:3px}.review-journal-card{display:flex;align-items:center;gap:13px;padding:12px 14px;background:#fbfdff;border:1px solid #e4ebf1;border-radius:12px}.review-journal-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:1.25rem}.review-journal-icon.gps{color:#2563eb;background:#eaf2ff}.review-journal-icon.fuel{color:#d97706;background:#fff3df}.review-journal-main{flex:1}.review-journal-title{display:flex;align-items:center;gap:10px}.review-journal-title strong{color:var(--navy)}.review-journal-title span{font-size:.8rem;color:var(--muted)}.review-journal-meta{display:flex;gap:16px;margin-top:5px;font-size:.78rem;color:#65758b}.review-journal-meta span{display:flex;align-items:center;gap:5px}.review-journal-meta .ready{color:#15803d}.review-journal-meta .locked{color:#b45309}.review-journal-actions{display:flex;align-items:center;gap:7px}.review-journal-actions form{margin:0}.review-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center}.review-empty i{font-size:3rem;color:#b9c8d2}.review-empty h3{margin:10px 0 4px;color:var(--navy)}.review-empty p{margin:0}
@media(max-width:1100px){.journal-toolbar{align-items:stretch;flex-direction:column}.journal-controls{flex-wrap:wrap}.review-heading,.review-journal-card{align-items:stretch;flex-direction:column}.review-journal-actions{flex-wrap:wrap}.content-area:has(.journal-page),.content-area:has(.review-page){overflow:auto}}

/* Users and permissions — compact professional layout */
.content-area:has(.users-page){padding:14px 18px;overflow:auto}
.users-page{max-width:1500px;margin:auto}.users-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.users-header h1{font-size:1.45rem;margin:2px 0 4px;color:var(--navy)}.users-header p{margin:0;color:var(--muted)}
.users-layout{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:16px;align-items:start}.user-create-card,.users-list-panel{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-soft)}.user-create-card{padding:18px;position:sticky;top:8px}.user-card-title{display:flex;align-items:center;gap:11px;padding-bottom:14px;border-bottom:1px solid #edf1f4;margin-bottom:14px}.user-card-title h2,.users-list-head h2{font-size:1.08rem;margin:0;color:var(--navy)}.user-card-title p,.users-list-head p{font-size:.78rem;color:var(--muted);margin:3px 0 0}.user-card-icon{width:42px;height:42px;border-radius:12px;background:#eaf4ff;color:#2372d9;display:grid;place-items:center;font-size:1.2rem}
.admin-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce6ee;background:#f8fbfd;border-radius:11px;padding:10px 12px;cursor:pointer}.admin-toggle span{display:flex;flex-direction:column}.admin-toggle small{color:var(--muted);font-size:.72rem}.admin-toggle.compact{max-width:270px;padding:8px 10px}.permissions-title{display:flex;justify-content:space-between;align-items:center;margin:15px 0 8px;font-size:.82rem}.permission-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.permission-option{position:relative;display:flex;align-items:center;gap:8px;min-height:39px;padding:8px 9px;border:1px solid #e2e9ef;border-radius:9px;background:#fbfdff;cursor:pointer;font-size:.8rem;transition:.15s}.permission-option:hover{border-color:#a9c8e5;background:#f4f9fd}.permission-option>.form-check-input{position:absolute;opacity:0;pointer-events:none}.permission-check{width:19px;height:19px;border:1px solid #c8d5df;border-radius:5px;display:grid;place-items:center;color:transparent;background:#fff}.permission-option:has(input:checked){border-color:#79add9;background:#eef7ff;color:#124d76}.permission-option input:checked+.permission-check{background:#2372d9;border-color:#2372d9;color:#fff}.permission-option:has(input:disabled){opacity:.68}
.users-list-panel{overflow:hidden}.users-list-head{padding:15px 17px;border-bottom:1px solid #edf1f4}.users-list{padding:12px;display:grid;gap:11px}.user-account-card{border:1px solid #e1e8ed;border-radius:13px;background:#fff;overflow:hidden}.user-account-summary{display:flex;align-items:center;gap:11px;padding:12px 14px;background:#fbfdfe;border-bottom:1px solid #edf1f4}.user-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e9f4ed;color:#258445;font-size:1.05rem}.user-identity{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.user-identity strong{font-size:1rem;color:var(--navy)}.role-badge{display:inline-block;margin-inline-start:7px;background:#eaf2ff;color:#2867bd;border-radius:99px;padding:3px 8px;font-size:.68rem}.status-pill{display:inline-flex;align-items:center;gap:5px;font-size:.73rem}.status-pill.active{color:#16803c}.status-pill.inactive{color:#788791}.user-permissions-form{padding:12px 14px}.permission-cards.compact{grid-template-columns:repeat(4,minmax(120px,1fr))}.user-card-actions{display:flex;justify-content:flex-start;margin-top:11px}
@media(max-width:1150px){.users-layout{grid-template-columns:1fr}.user-create-card{position:static}.permission-cards.compact{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media(max-width:760px){.permission-cards,.permission-cards.compact{grid-template-columns:1fr 1fr}.users-header,.user-account-summary,.user-identity{align-items:stretch;flex-direction:column}.user-account-summary form{align-self:flex-start}}
/* v10: journals, reports and users */
.journal-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;min-height:calc(100vh - 210px)}
.journal-drafts-panel{background:#fff;border:1px solid #dfe7ef;border-radius:14px;overflow:hidden;height:fit-content;position:sticky;top:8px}.drafts-head{display:flex;justify-content:space-between;padding:12px;background:#f2f7fb;color:#17384a}.drafts-head span{background:#dcecff;border-radius:20px;padding:1px 9px}.drafts-list{max-height:55vh;overflow:auto}.draft-link{display:flex;justify-content:space-between;padding:11px 12px;border-bottom:1px solid #edf1f5;text-decoration:none;color:#31485a}.draft-link.active,.draft-link:hover{background:#eaf5ff;color:#0b67bd}.draft-link small{color:#7b8b98}.journal-main-panel{min-width:0}.compact-toolbar{margin-bottom:10px}.reports-page,.report-page{padding:24px}.reports-title{margin-bottom:20px}.report-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.report-cards a{background:#fff;border:1px solid #dfe7ef;border-radius:16px;padding:24px;text-decoration:none;color:#17384a;box-shadow:0 8px 22px rgba(22,53,74,.06);display:flex;flex-direction:column;gap:8px}.report-cards i{font-size:2rem;color:#d99a16}.report-cards b{font-size:1.05rem}.report-cards span{color:#728394;font-size:.85rem}.report-filter{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin:16px 0;background:#fff;padding:14px;border-radius:14px;border:1px solid #e1e8ef}.report-page .table-responsive{background:#fff;border-radius:14px;border:1px solid #e1e8ef;max-height:calc(100vh - 230px)}
.users-page{padding:22px}.users-layout{grid-template-columns:380px minmax(0,1fr)!important;align-items:start}.user-create-card{position:sticky;top:10px}.permission-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.permission-option{min-height:48px;border:1px solid #dce5ee!important;background:#f8fbfd!important;border-radius:10px!important;padding:10px!important}.existing-users-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.existing-user-card{border-radius:16px!important;box-shadow:0 8px 24px rgba(19,52,73,.06)}
@media(max-width:1100px){.journal-workspace{grid-template-columns:1fr}.journal-drafts-panel{position:static}.report-cards{grid-template-columns:repeat(2,1fr)}.users-layout{grid-template-columns:1fr!important}.user-create-card{position:static}.existing-users-grid{grid-template-columns:1fr}}
/* Maintenance module */
.maintenance-page,.maintenance-form-page{padding:18px;min-height:100%}.maintenance-settings{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:12px}.maintenance-settings label,.maintenance-form-card label{font-weight:700;font-size:.78rem;margin-bottom:5px;color:#29475a}.maintenance-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.maintenance-kpis article,.maintenance-dashboard-strip article{background:#fff;border-radius:14px;border:1px solid #e1e8ef;padding:13px;display:flex;align-items:center;justify-content:space-between}.maintenance-kpis b{font-size:1.45rem}.maintenance-kpis .normal{border-inline-start:5px solid #22c55e}.maintenance-kpis .warning{border-inline-start:5px solid #eab308}.maintenance-kpis .due{border-inline-start:5px solid #f97316}.maintenance-kpis .overdue{border-inline-start:5px solid #dc2626}.maintenance-table-wrap{background:#fff;border:1px solid var(--border);border-radius:14px;max-height:calc(100vh - 310px)}.maintenance-status{display:inline-flex;padding:4px 9px;border-radius:99px;font-size:.75rem;font-weight:800}.maintenance-status.normal{background:#dcfce7;color:#15803d}.maintenance-status.warning{background:#fef9c3;color:#a16207}.maintenance-status.due{background:#ffedd5;color:#c2410c}.maintenance-status.overdue{background:#fee2e2;color:#b91c1c}.maintenance-status.open{background:#e0f2fe;color:#0369a1}.maintenance-status.workshop{background:#fef3c7;color:#a16207}.maintenance-status.completed{background:#ede9fe;color:#6d28d9}.maintenance-status.posted{background:#dcfce7;color:#15803d}.maintenance-form-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow-soft)}.maintenance-form-actions{display:flex;gap:10px;margin-top:18px}.review-journal-icon.maintenance{color:#7c3aed;background:#ede9fe}.maintenance-dashboard-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.maintenance-dashboard-strip article{flex-direction:column;align-items:flex-start;gap:4px}.maintenance-dashboard-strip span{font-size:.75rem;color:#64748b}.maintenance-dashboard-strip b{font-size:1.15rem;color:#17384a}@media(max-width:1100px){.maintenance-settings,.maintenance-kpis,.maintenance-dashboard-strip{grid-template-columns:repeat(2,1fr)}}


/* Maintenance Arabic Compact V2 */
.content-area:has(.maintenance-page),.content-area:has(.maintenance-form-page),.content-area:has(.maintenance-report-page){padding:10px 14px!important;overflow:auto}.maintenance-page,.maintenance-form-page,.maintenance-report-page{padding:0!important;min-height:0}.maintenance-heading{margin:0 0 8px!important;min-height:44px;align-items:center}.maintenance-heading h1{font-size:1.28rem!important;margin:0 0 2px!important}.maintenance-heading p{font-size:.78rem!important;line-height:1.35}.maintenance-heading .page-kicker{font-size:.68rem}.maintenance-settings-panel{background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:9px;overflow:hidden}.maintenance-settings-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;color:var(--navy);font-weight:800;font-size:.85rem;background:#fbfcfd}.maintenance-settings-panel>summary::-webkit-details-marker{display:none}.maintenance-settings-panel>summary small{color:var(--muted);font-weight:600;font-size:.7rem}.maintenance-settings-panel[open]>summary{border-bottom:1px solid #edf1f4}.maintenance-settings{margin:0!important;border:0!important;border-radius:0!important;padding:10px 12px!important;grid-template-columns:repeat(3,minmax(150px,1fr)) auto!important;gap:9px!important}.maintenance-settings label,.maintenance-form-card label{font-size:.76rem!important;margin-bottom:3px!important}.maintenance-settings .form-control,.maintenance-form-card .form-control,.maintenance-form-card .form-select,.maintenance-filter .form-select{min-height:38px;padding:.4rem .65rem;font-size:.84rem}.maintenance-kpis{gap:8px!important;margin-bottom:9px!important}.maintenance-kpis article{padding:9px 12px!important;border-radius:11px!important;min-height:52px}.maintenance-kpis b{font-size:1.25rem!important}.maintenance-table-wrap{max-height:calc(100vh - 230px)!important;border-radius:12px!important}.maintenance-table-wrap .table>:not(caption)>*>*{padding:9px 10px!important;font-size:.78rem;white-space:nowrap}.maintenance-table-wrap thead th{font-size:.74rem!important}.maintenance-form-card{padding:14px!important;border-radius:13px!important}.maintenance-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.maintenance-form-grid .span-2{grid-column:span 2}.maintenance-form-grid .span-3{grid-column:1/-1}.maintenance-form-card textarea.form-control{min-height:64px;resize:vertical}.maintenance-form-actions{margin-top:10px!important;padding-top:10px;border-top:1px solid #edf1f4;justify-content:flex-start}.maintenance-filter{grid-template-columns:repeat(3,minmax(150px,1fr)) auto!important;margin:8px 0 9px!important;padding:9px!important;border-radius:11px!important}.maintenance-report-page{padding:0!important}.maintenance-report-page .maintenance-table-wrap{max-height:calc(100vh - 155px)!important}@media(max-width:1100px){.maintenance-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-form-grid .span-3{grid-column:1/-1}.maintenance-settings{grid-template-columns:repeat(2,1fr)!important}.maintenance-filter{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:700px){.maintenance-form-grid,.maintenance-settings,.maintenance-filter,.maintenance-kpis{grid-template-columns:1fr!important}.maintenance-form-grid .span-2,.maintenance-form-grid .span-3{grid-column:auto}.maintenance-heading{align-items:stretch!important;flex-direction:column}}
/* Revenue journal */
.revenue-page{padding:16px;min-height:100%}.revenue-kpis{display:grid;grid-template-columns:repeat(8,minmax(105px,1fr));gap:8px;margin-bottom:10px}.revenue-kpis article{background:#fff;border:1px solid #dfe7ef;border-radius:11px;padding:9px 10px;display:flex;flex-direction:column;gap:3px}.revenue-kpis span{font-size:.66rem;color:#6d7f91}.revenue-kpis b{font-size:1rem;color:#17384a}.revenue-search{display:flex;gap:10px;margin-bottom:8px}.revenue-search .form-control{max-width:460px}.revenue-table-wrap{max-height:calc(100vh - 285px);background:#fff;border:1px solid #dfe7ef;border-radius:12px}.revenue-entry-table{min-width:2200px}.revenue-entry-table thead{position:sticky;top:0;z-index:3;background:#eef4f8}.revenue-entry-table th{font-size:.68rem;white-space:nowrap}.revenue-entry-table td{font-size:.7rem;white-space:nowrap}.revenue-entry-table .form-control,.revenue-entry-table .form-select{min-width:105px;font-size:.7rem;padding:.3rem .4rem}.revenue-entry-table input[type=file]{min-width:190px}.revenue-number{direction:ltr}.revenue-dashboard-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:10px 0}.revenue-dashboard-strip article{background:#fff;border:1px solid #e1e8ef;border-radius:12px;padding:11px;display:flex;flex-direction:column;gap:4px;border-inline-start:4px solid #d99a16}.revenue-dashboard-strip span{font-size:.7rem;color:#66788e}.revenue-dashboard-strip b{font-size:1.08rem;color:#17384a}.revenue-dashboard-strip small{font-size:.62rem;color:#7c8c9b}@media(max-width:1200px){.revenue-kpis{grid-template-columns:repeat(4,1fr)}.revenue-dashboard-strip{grid-template-columns:repeat(3,1fr)}}

.review-journal-icon.revenue{color:#047857;background:#d1fae5}.revenue-workspace{grid-template-columns:220px minmax(0,1fr)}.revenue-journal-page .journal-controls{flex-wrap:wrap}.revenue-journal-page .journal-kpis{grid-template-columns:repeat(8,minmax(105px,1fr))}.revenue-journal-page .journal-kpis>div{min-width:0}.revenue-journal-page .journal-table-wrap{max-height:calc(100vh - 245px)}@media(max-width:1200px){.revenue-journal-page .journal-kpis{grid-template-columns:repeat(4,1fr)}}@media(max-width:800px){.revenue-workspace{grid-template-columns:1fr}.revenue-journal-page .journal-kpis{grid-template-columns:repeat(2,1fr)}}

/* Unified date format: DD/MM/YYYY across the application */
.arabic-date-input{position:relative;display:block;width:100%;min-width:0}.arabic-date-input>.form-control{padding-inline-end:2.45rem;direction:ltr;text-align:center}.arabic-date-button{position:absolute;inset-inline-end:.35rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;border:0;background:transparent;color:#17384a;display:grid;place-items:center;border-radius:.45rem;z-index:2}.arabic-date-button:hover{background:#eef4f8}.arabic-date-button:disabled{opacity:.45}.native-date-source{position:absolute!important;inset:0!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;padding:0!important;border:0!important}.arabic-date-input .form-control:invalid{border-color:#dc3545}


/* ========================= FINAL COMPACT JOURNAL LAYOUT ========================= */
.app-brand-title{display:flex!important;align-items:center;gap:10px;color:#10384b!important}.app-brand-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#fff4d8,#f8d58b);color:#b97800;box-shadow:inset 0 0 0 1px rgba(217,154,22,.25)}.app-brand-text{display:flex;flex-direction:column;line-height:1.15}.app-brand-text strong{font-size:.92rem;font-weight:900;letter-spacing:.01em}.app-brand-text small{font-size:.62rem;color:#728394;margin-top:3px;font-weight:700}
.content-area:has(.compact-journal-page){padding:6px 10px 8px!important}.compact-journal-page .journal-toolbar-pro{display:grid;grid-template-columns:auto minmax(390px,1fr) auto;align-items:center;gap:10px;padding:7px 10px;background:linear-gradient(100deg,#ffffff 0%,#f7fbff 100%);border-color:#dce8f1}.journal-title-pro{display:flex;align-items:center;gap:9px;min-width:190px}.journal-title-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eaf4ff;color:#2473ce;font-size:1.1rem}.journal-title-pro h2{font-size:1.04rem!important}.journal-title-pro small{font-size:.68rem!important}.journal-inline-kpis{display:grid;grid-template-columns:repeat(5,minmax(78px,1fr));gap:6px}.journal-inline-kpis .kpi{min-width:0;border-radius:9px;padding:5px 8px;border:1px solid #dfe8ef;text-align:center;background:#fff}.journal-inline-kpis .kpi span{display:block;font-size:.61rem;color:#6e8091;white-space:nowrap}.journal-inline-kpis .kpi b{display:block;font-size:.84rem;color:#17384a;white-space:nowrap}.journal-inline-kpis .kpi-assets{background:#eef7ff;border-color:#d5e8fb}.journal-inline-kpis .kpi-engine{background:#eef9f0;border-color:#d5ecd9}.journal-inline-kpis .kpi-idle{background:#fff8e9;border-color:#f3e2b8}.journal-inline-kpis .kpi-km{background:#f2efff;border-color:#dfd8fa}.journal-inline-kpis .kpi-liters{background:#eaf9fb;border-color:#cfecef}.journal-inline-kpis .kpi-base{background:#eef5ff;border-color:#d7e4f7}.journal-inline-kpis .kpi-tax{background:#fff2e9;border-color:#f4d9c7}.journal-inline-kpis .kpi-total{background:#edf9f3;border-color:#d1eadc}.journal-controls-pro{gap:5px!important;justify-content:flex-end}.journal-controls-pro label{font-size:.62rem!important}.journal-controls-pro .form-control{height:32px!important;min-width:100px!important;font-size:.76rem;padding:.25rem .45rem!important}.journal-controls-pro .journal-search-label .form-control{min-width:165px!important}.journal-controls-pro .btn{height:32px;padding:.28rem .58rem;font-size:.75rem;white-space:nowrap}.journal-workspace-pro{grid-template-columns:188px minmax(0,1fr)!important;gap:8px!important;min-height:calc(100vh - 150px)!important;margin-top:7px}.journal-drafts-pro{top:0!important;border-radius:10px!important;align-self:start;max-height:calc(100vh - 160px);overflow:auto}.journal-drafts-pro .drafts-head{padding:8px 9px;font-size:.72rem;position:sticky;top:0;z-index:3}.journal-drafts-pro .draft-link{padding:7px 9px}.journal-drafts-pro .draft-link b{font-size:.7rem}.journal-drafts-pro .draft-link small{font-size:.62rem}.journal-main-pro{min-width:0;min-height:0}.journal-scroll-area{height:calc(100vh - 158px)!important;max-height:calc(100vh - 158px)!important;overflow:auto!important;scrollbar-gutter:stable both-edges;direction:rtl;border-radius:10px!important}.journal-scroll-area::-webkit-scrollbar{width:13px;height:13px}.journal-scroll-area::-webkit-scrollbar-track{background:#e8eef3;border-radius:10px}.journal-scroll-area::-webkit-scrollbar-thumb{background:#7e919f;border-radius:10px;border:3px solid #e8eef3}.journal-scroll-area::-webkit-scrollbar-thumb:hover{background:#596e7d}.journal-table-pro{table-layout:fixed!important;width:100%!important;min-width:900px;margin:0;direction:rtl}.journal-table-pro th{text-align:center!important;vertical-align:middle!important;font-size:.72rem;padding:7px 5px!important}.journal-table-pro td{text-align:center;font-size:.74rem;padding:5px!important}.journal-table-pro input{width:100%!important;min-width:0!important;height:31px!important;padding:.2rem .38rem!important;font-size:.75rem;text-align:center}.journal-table-pro .asset-code-cell{white-space:nowrap;text-align:right!important;padding-inline:9px!important}.journal-table-pro .asset-code-cell strong{white-space:nowrap;font-size:.76rem}.journal-table-pro .col-code{width:185px}.journal-table-pro .col-plate{width:105px}.journal-table-pro .col-small{width:92px}.journal-table-pro .col-money{width:105px}.journal-table-pro .col-type{width:100px}.journal-table-pro .col-date{width:105px}.journal-table-pro .col-notes{width:155px}.journal-table-pro td:first-child,.journal-table-pro th:first-child{position:sticky;right:0;z-index:3}.journal-table-pro th:first-child{z-index:6;background:#e8f2f9!important}.journal-table-pro td:first-child{background:#fff}.journal-table-pro thead{position:sticky;top:0;z-index:5}
@media(max-width:1400px){.compact-journal-page .journal-toolbar-pro{grid-template-columns:auto 1fr}.journal-controls-pro{grid-column:1/-1}.journal-inline-kpis{grid-template-columns:repeat(5,1fr)}.journal-workspace-pro{min-height:calc(100vh - 185px)!important}.journal-scroll-area{height:calc(100vh - 193px)!important;max-height:calc(100vh - 193px)!important}}

/* Single-trailer revenue entry */
.revenue-single-page .journal-toolbar{padding:7px 10px}.revenue-selector-panel{background:#fff;border:1px solid #dfe8ef;border-radius:12px;padding:10px;margin-top:8px;display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;gap:9px;align-items:end}.revenue-selector-panel label{font-size:.72rem;color:#64748b;font-weight:700}.revenue-selector-panel .form-control,.revenue-selector-panel .form-select{height:36px}.revenue-single-card{margin-top:8px;background:#fff;border:1px solid #dfe8ef;border-radius:14px;padding:12px;box-shadow:0 4px 16px rgba(15,37,48,.05);overflow:hidden}.revenue-single-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid #edf1f4}.revenue-single-head h3{font-size:1rem;margin:0;color:#17384a}.revenue-single-meta{display:flex;gap:8px;flex-wrap:wrap}.revenue-single-meta span{background:#f1f6fa;border-radius:99px;padding:4px 9px;font-size:.68rem;color:#466174}.revenue-entry-grid{display:grid;grid-template-columns:repeat(6,minmax(115px,1fr));gap:8px}.revenue-entry-grid .field{min-width:0}.revenue-entry-grid label{display:block;font-size:.66rem;font-weight:800;color:#526b7d;margin-bottom:3px}.revenue-entry-grid .form-control,.revenue-entry-grid .form-select{height:35px;font-size:.75rem}.revenue-entry-grid .wide-2{grid-column:span 2}.revenue-entry-grid .wide-3{grid-column:span 3}.revenue-entry-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.revenue-entry-actions .btn{height:36px}.revenue-empty-state{margin-top:10px;min-height:260px;background:#fff;border:1px dashed #b9cad6;border-radius:14px;display:grid;place-items:center;text-align:center;color:#728394}.revenue-empty-state i{font-size:2.6rem;color:#d99a16}.revenue-single-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:8px}.revenue-single-kpis>div{background:#fff;border:1px solid #dfe8ef;border-radius:10px;padding:7px 10px;text-align:center}.revenue-single-kpis span{display:block;font-size:.65rem;color:#718096}.revenue-single-kpis b{font-size:.9rem;color:#17384a}@media(max-width:1200px){.revenue-entry-grid{grid-template-columns:repeat(3,1fr)}.revenue-selector-panel{grid-template-columns:1fr 170px auto}}@media(max-width:760px){.revenue-entry-grid{grid-template-columns:1fr}.revenue-entry-grid .wide-2,.revenue-entry-grid .wide-3{grid-column:auto}.revenue-selector-panel{grid-template-columns:1fr}.revenue-single-kpis{grid-template-columns:repeat(2,1fr)}}


/* Compact single-row revenue selector and review handoff */
.revenue-single-page{padding-bottom:8px}.revenue-single-page .journal-toolbar{margin-bottom:0}.revenue-selector-panel.revenue-selector-inline{margin-top:6px;padding:7px 10px;display:grid;grid-template-columns:minmax(170px,.8fr) minmax(230px,1.25fr) 170px auto;gap:8px;align-items:end;border-radius:10px}.revenue-selector-inline .revenue-selector-field{min-width:0}.revenue-selector-inline label{display:block;margin:0 0 2px;font-size:.66rem;line-height:1.1}.revenue-selector-inline .form-control,.revenue-selector-inline .form-select{height:34px;margin:0!important;font-size:.73rem;padding-top:.25rem;padding-bottom:.25rem}.revenue-selector-inline .revenue-open-btn{height:34px;white-space:nowrap;padding-inline:15px}.revenue-empty-state.revenue-empty-state-compact{margin-top:6px;min-height:52px;height:52px;padding:7px 14px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:9px;text-align:right}.revenue-empty-state-compact i{font-size:1.35rem}.revenue-empty-state-compact strong{font-size:.86rem;color:#425b6d;white-space:nowrap}.revenue-empty-state-compact span{font-size:.68rem;color:#7a8b99}.revenue-single-card{margin-top:6px;padding:10px}.revenue-single-head{margin-bottom:7px;padding-bottom:7px}.revenue-entry-actions{margin-top:8px}.revenue-entry-actions .btn-success{min-width:190px}@media(max-width:1100px){.revenue-selector-panel.revenue-selector-inline{grid-template-columns:1fr 1.2fr 160px auto}}@media(max-width:760px){.revenue-selector-panel.revenue-selector-inline{grid-template-columns:1fr}.revenue-empty-state.revenue-empty-state-compact{height:auto;min-height:72px;flex-wrap:wrap;text-align:center}.revenue-empty-state-compact span{width:100%}}

/* ===== Revenue daily: remove inherited full-height form whitespace ===== */
.revenue-single-page{
  height:auto!important;
  min-height:0!important;
  display:block!important;
  overflow:visible!important;
}
.revenue-single-page > form.revenue-selector-panel,
.revenue-single-page > form.revenue-single-card{
  height:auto!important;
  min-height:0!important;
  flex:none!important;
}
.revenue-single-page .revenue-selector-inline{
  align-self:stretch;
  justify-content:initial!important;
}
.revenue-single-page .revenue-single-card{
  display:block!important;
}
.content-area:has(.revenue-single-page){
  overflow:auto!important;
}
@media (min-width:761px){
  .revenue-single-page .revenue-selector-inline{
    min-height:56px!important;
    max-height:64px;
  }
}
/* Expenses module */
.expense-page{padding:18px 20px 28px;max-width:1700px;margin:auto}.expense-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 28px;border-radius:20px;background:linear-gradient(125deg,#102f46,#1c536b);color:#fff;box-shadow:0 16px 38px rgba(17,48,70,.18)}.expense-hero h1,.journal-topline h1{font-weight:800;margin:4px 0 6px}.expense-hero p,.journal-topline p{margin:0;opacity:.8}.eyebrow{font-size:.78rem;letter-spacing:.04em;color:#cfe6ee}.expense-summary{display:flex;gap:12px}.expense-summary div{min-width:185px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);padding:13px 17px;border-radius:14px}.expense-summary span{display:block;font-size:.78rem;opacity:.78}.expense-summary strong{font-size:1.35rem}.expense-tabs-nav,.expense-tab-strip{display:flex;gap:8px;margin:16px 0}.expense-tabs-nav>a,.expense-tabs-nav>span{flex:1;display:flex;align-items:center;gap:10px;text-decoration:none;padding:14px 18px;border:1px solid #dbe4e9;border-radius:14px;background:#fff;color:#294552}.expense-tabs-nav .active{border-color:#287598;box-shadow:0 8px 22px rgba(40,117,152,.12)}.expense-tabs-nav i{font-size:1.3rem}.expense-tabs-nav small{margin-right:auto;color:#75858d}.expense-tabs-nav .disabled{opacity:.55}.expense-module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.expense-module-card{background:#fff;border:1px solid #e1e8ec;border-radius:18px;padding:22px;min-height:225px;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 24px rgba(22,55,72,.06)}.expense-module-card.primary{border-top:4px solid #27799d}.module-icon{width:48px;height:48px;border-radius:14px;background:#eaf4f8;color:#256f8e;display:grid;place-items:center;font-size:1.4rem}.expense-module-card h2{font-size:1.2rem;font-weight:800}.expense-module-card p{color:#647782}.module-actions{display:flex;gap:8px;margin-top:auto}.expense-module-card.muted{opacity:.7}.journal-topline{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:10px}.back-link{text-decoration:none;font-size:.83rem;color:#5b7380}.journal-actions{display:flex;gap:8px}.expense-tab-strip{border-bottom:1px solid #dbe5ea;margin-bottom:12px}.expense-tab-strip a,.expense-tab-strip span{padding:9px 17px;text-decoration:none;color:#60737c;border-bottom:3px solid transparent}.expense-tab-strip a.active{color:#176a8b;border-color:#176a8b;font-weight:700}.expense-tab-strip span{opacity:.45}.journal-controlbar{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid #dfe8ec;padding:12px 16px;border-radius:15px;margin-bottom:12px}.month-selector{display:flex;align-items:center;gap:9px}.month-selector label{font-size:.82rem;font-weight:700}.month-selector input{border:1px solid #cedbe1;border-radius:9px;padding:7px 10px}.journal-meta{display:flex;gap:20px;align-items:center;flex:1}.journal-meta span{font-size:.8rem;color:#72828a}.journal-meta strong{display:block;color:#243f4b;font-size:.93rem}.status-pill{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.75rem}.status-pill.draft{background:#fff3cd;color:#805d00}.status-pill.posted{background:#d8f3e5;color:#12613a}.status-pill.new{background:#e8f0f5;color:#46616e}.draft-list{display:flex;gap:5px;align-items:center;font-size:.76rem}.draft-list a{background:#fff5d9;padding:4px 8px;border-radius:8px;text-decoration:none}.import-panel{display:flex;align-items:center;gap:12px;border:1px dashed #82b7a0;background:#f4fbf7;border-radius:14px;padding:10px 14px;margin-bottom:10px}.import-panel>div{display:flex;align-items:center;gap:10px;flex:1}.import-panel i{font-size:1.6rem;color:#208655}.import-panel small{display:block;color:#638075}.expense-table-wrap{overflow:auto;border:1px solid #dfe7eb;border-radius:14px;background:#fff;max-height:58vh}.expense-entry-table{margin:0;white-space:nowrap}.expense-entry-table th{background:#193b50!important;color:#fff;text-align:center;vertical-align:middle;font-size:.78rem;position:sticky;top:0;z-index:3}.expense-entry-table td{padding:5px;vertical-align:middle;text-align:center}.expense-entry-table input,.expense-entry-table select{width:100%;min-width:105px;border:1px solid #d3dfe4;border-radius:7px;padding:6px 7px;font-size:.78rem}.salary-entry-table .sticky-name{position:sticky;right:0;background:#fff;z-index:2;min-width:180px;text-align:right}.salary-entry-table thead .sticky-name{background:#193b50!important;z-index:5}.salary-entry-table .row-total{font-weight:800;background:#eef7fa}.salary-entry-table tfoot th,.general-expense-table tfoot th{background:#e8f1f5!important;color:#17384b!important;font-size:.9rem}.journal-footer{display:flex;align-items:center;gap:12px;margin-top:12px}.journal-footer textarea{min-height:58px!important}.review-card{background:#fff;border:1px solid #e0e8ec;border-radius:15px;overflow:auto;box-shadow:0 7px 22px rgba(23,58,74,.05)}.review-table{margin:0}.review-table th{background:#173a4f;color:#fff}.review-table td,.review-table th{text-align:center;vertical-align:middle}.general-expense-table td:nth-child(2){min-width:220px}.general-expense-table td:nth-child(3){min-width:330px}.general-expense-table td:nth-child(4){min-width:150px}.general-expense-table td:nth-child(5){min-width:220px}.add-row-bar{display:flex;align-items:center;gap:12px;padding:12px 15px;background:#f7fafb}.add-row-bar small{color:#70838d}.empty-state{text-align:center!important;padding:30px!important;color:#7b8c94!important}@media(max-width:1000px){.expense-module-grid{grid-template-columns:1fr}.expense-hero,.journal-topline,.journal-controlbar{align-items:stretch;flex-direction:column}.expense-summary{width:100%}.expense-summary div{flex:1}.journal-meta{flex-wrap:wrap}}

/* Compact independent expense journals */
.expense-home-compact{padding-top:12px}.expense-home-head{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid #dfe7eb;border-radius:15px;padding:14px 18px;margin-bottom:12px}.expense-home-head h1{font-size:1.65rem;font-weight:800;margin:1px 0}.expense-home-head p{margin:0;color:#687d87;font-size:.86rem}.eyebrow-dark{font-size:.72rem;color:#287598}.expense-summary-compact{display:flex;gap:8px}.expense-summary-compact span{background:#f2f7f9;border:1px solid #dfe9ed;border-radius:10px;padding:8px 12px;color:#627680;font-size:.75rem}.expense-summary-compact strong{display:block;color:#163c50;font-size:1rem}.expense-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.expense-choice-card{background:#fff;border:1px solid #dfe7eb;border-radius:15px;padding:16px;min-height:170px;display:flex;flex-direction:column}.expense-choice-card.active-card{border-top:3px solid #27799d}.choice-title{display:flex;align-items:center;gap:10px}.choice-title>i{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#eaf4f8;color:#247596;font-size:1.2rem}.choice-title h2{font-size:1.05rem;font-weight:800;margin:0}.choice-title small{color:#73858d}.choice-title b{margin-right:auto;background:#fff4d5;color:#805e00;border-radius:20px;padding:4px 9px;font-size:.72rem}.expense-choice-card p{font-size:.83rem;color:#687b84;margin:13px 0}.choice-actions{display:flex;gap:7px;margin-top:auto}.disabled-card{opacity:.58}.expense-entry-page{padding:8px 14px 14px;max-width:none}.entry-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.entry-title{display:flex;align-items:center;gap:9px}.entry-title h1{font-size:1.55rem;font-weight:800;margin:0;line-height:1.15}.entry-title small{color:#687b84}.icon-back{width:34px;height:34px;border:1px solid #d4e0e5;border-radius:9px;display:grid;place-items:center;color:#285b72;text-decoration:none;background:#fff}.entry-controlbar{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #dfe7eb;border-radius:12px;padding:7px 11px;margin-bottom:7px;min-height:52px}.compact-date-control{display:flex;align-items:center;gap:8px}.compact-date-control label,.compact-drafts label{font-size:.76rem;font-weight:700;color:#5f747e}.compact-date-control input{height:34px;border:1px solid #ccd9df;border-radius:8px;padding:4px 8px}.compact-meta{display:flex;align-items:center;gap:18px}.compact-meta span{font-size:.72rem;color:#71818a}.compact-meta strong{display:block;color:#213f4d;font-size:.84rem}.compact-drafts{margin-right:auto;display:flex;align-items:center;gap:5px}.compact-drafts a{font-size:.7rem;text-decoration:none;padding:3px 7px;background:#fff4d6;border-radius:7px}.import-toolbar{display:flex;align-items:center;gap:9px;border:1px dashed #73aa8e;background:#f4fbf7;border-radius:11px;padding:6px 10px;margin-bottom:7px;min-height:44px}.import-toolbar>span{font-size:.79rem;font-weight:700;color:#296a4c}.import-toolbar input[type=file]{font-size:.76rem;max-width:300px}.import-toolbar small{color:#678078;font-size:.7rem;margin-right:auto}.salary-main-form{display:flex;flex-direction:column}.compact-salary-table{max-height:calc(100vh - 305px);min-height:280px;border-radius:10px}.compact-salary-table .expense-entry-table th{padding:7px 5px;font-size:.72rem}.compact-salary-table .expense-entry-table td{padding:3px}.compact-salary-table .expense-entry-table input{padding:4px 5px;height:31px;min-width:92px;font-size:.74rem}.compact-salary-table .salary-entry-table .sticky-name{min-width:150px}.compact-journal-footer{display:flex;align-items:center;gap:8px;margin-top:7px}.compact-journal-footer input{height:38px}.compact-journal-footer button{white-space:nowrap;min-width:175px;height:38px}.general-entry-card{max-height:calc(100vh - 245px);overflow:auto}.general-entry-card .expense-entry-table td{padding:4px}.general-entry-card .add-row-bar{padding:7px 10px}@media(max-width:1000px){.expense-choice-grid{grid-template-columns:1fr}.expense-home-head,.entry-controlbar{align-items:stretch;flex-direction:column}.expense-summary-compact{width:100%}.compact-drafts{margin-right:0}.import-toolbar{flex-wrap:wrap}}

/* Compact finance entry screens */
.expense-entry-page{display:grid;grid-template-columns:minmax(260px,auto) minmax(520px,1fr);column-gap:12px;align-items:center;padding-top:4px}
.expense-entry-page>.entry-titlebar{margin:0;min-height:52px}
.expense-entry-page>.entry-controlbar{margin:0;justify-content:flex-start}
.expense-entry-page>.journal-workspace,.expense-entry-page>.import-toolbar,.expense-entry-page>.allocation-actions,.expense-entry-page>.allocation-results,.expense-entry-page>.review-card{grid-column:1/-1;width:100%}
.expense-entry-page>.journal-workspace{margin-top:7px}
.general-expense-table thead th,.salary-entry-table thead th{background:#183f53!important;color:#f8fcff!important;font-weight:800!important;border-color:#31586b!important}
.general-expense-table thead th{padding-block:10px!important}
.expense-home-compact{padding-top:4px}
.expense-home-head{padding:10px 14px}
.expense-choice-card{min-height:112px;padding:13px}
.expense-choice-card .choice-actions{margin-top:14px}
.allocation-actions{display:flex;justify-content:flex-end;gap:8px;margin:7px 0}
.allocation-results{margin-top:0}

/* Deductions journal */
.deduction-page{padding:8px 14px 16px;max-width:none}
.deduction-titlebar{display:flex;align-items:center;gap:10px;margin-bottom:7px;min-height:46px}
.deduction-titlebar h2{font-size:1.55rem;font-weight:800;margin:0}
.deduction-new-button{margin-right:auto}
.deduction-page .revenue-deduction-workspace{margin-top:0;align-items:start}
.deduction-entry{padding:0!important;overflow:hidden;margin-bottom:8px}
.deduction-entry>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:12px 14px;font-weight:800;color:#173f53;background:#f4f8fb;list-style:none}
.deduction-entry>summary::-webkit-details-marker{display:none}
.deduction-entry[open]>summary{border-bottom:1px solid #dce6ec}
.deduction-entry>form{padding:12px;margin:0!important}
.deduction-page .filter-bar{margin:8px 0!important;padding:10px!important}
.deduction-page .journal-kpis{margin:8px 0!important}
.deduction-page .data-panel{margin-top:8px}
@media(max-width:1000px){.expense-entry-page{display:block}.expense-entry-page>.entry-titlebar,.expense-entry-page>.entry-controlbar{margin-bottom:7px}.deduction-titlebar{flex-wrap:wrap}.deduction-new-button{margin-right:0}}

/* Compact asset operation screens */
.content-area:has(.operations-heading),.content-area:has(.compact-operation-heading){padding-top:8px!important}
.operations-heading{margin-bottom:8px}
.operations-heading+ .action-card-grid{gap:10px}
.operations-heading+ .action-card-grid .action-card{min-height:92px;padding:15px 18px;border-radius:13px}
.operations-heading+ .action-card-grid .action-card-icon{width:46px;height:46px;min-width:46px;border-radius:12px;font-size:1.35rem}
.operations-heading+ .action-card-grid .action-card h2{margin:0;font-size:1rem}
.compact-operation-heading{align-items:center;margin-bottom:8px;padding:0}
.compact-operation-heading h2{margin:0;font-size:1.5rem;font-weight:800;color:#173f53}
.compact-operation-form{padding:12px 14px;margin-bottom:8px;border-radius:13px}
.compact-operation-form .form-label{font-size:.78rem;font-weight:800;margin-bottom:4px;color:#294b5b}
.compact-operation-form .form-control,.compact-operation-form .form-select{min-height:38px}
.compact-operation-search{padding:10px 12px;border-radius:13px}
.compact-operation-search form{justify-content:flex-start}
.compact-operation-search .form-control{min-height:40px}
.content-area:has(.compact-operation-heading) .data-panel{margin-top:8px;border-radius:13px}
.content-area:has(.compact-operation-heading) .data-panel thead th{background:#173f53!important;color:#fff!important;font-weight:800}
#assignmentEntry+.data-panel{margin-top:8px}
@media(max-width:768px){.operations-heading+ .action-card-grid{grid-template-columns:1fr}.compact-operation-heading{align-items:stretch;flex-direction:column}.compact-operation-heading>div:last-child{width:100%}.compact-operation-heading .btn{flex:1}}

/* Compact GPS and revenue navigation bars */
@media (min-width:1101px){
  .compact-journal-page .journal-toolbar-pro{grid-template-columns:minmax(165px,.55fr) minmax(310px,.9fr) minmax(410px,1.15fr)!important;gap:7px;padding-block:5px}
  .compact-journal-page .journal-controls-pro{grid-column:auto!important;flex-wrap:nowrap!important}
  .compact-journal-page .journal-inline-kpis{gap:4px}
  .compact-journal-page .journal-inline-kpis .kpi{padding:3px 5px}
  .compact-journal-page .journal-inline-kpis .kpi span{font-size:.56rem}
  .compact-journal-page .journal-inline-kpis .kpi b{font-size:.75rem}
  .compact-journal-page .journal-workspace-pro{margin-top:3px;min-height:calc(100vh - 125px)!important}
  .compact-journal-page .journal-scroll-area{height:calc(100vh - 133px)!important;max-height:calc(100vh - 133px)!important}
}
.revenue-list-toolbar{display:flex;align-items:end;gap:14px;background:#fff;border:1px solid #dfe7eb;border-radius:14px;padding:9px 12px;margin-bottom:8px}
.revenue-list-toolbar h2{font-size:1.25rem;margin:0;white-space:nowrap}
.revenue-list-filter{display:grid;grid-template-columns:150px 150px minmax(240px,1fr) 90px auto;gap:7px;align-items:end;flex:1}
.revenue-list-filter label{font-size:.65rem;font-weight:800;color:#566d7b}
.revenue-list-filter .form-control,.revenue-list-filter .btn{height:35px;font-size:.75rem}
.revenue-single-page .journal-toolbar-pro{grid-template-columns:auto minmax(300px,.85fr) minmax(520px,1.35fr)}
.revenue-selector-panel.revenue-selector-toolbar{margin:0;padding:0;border:0;background:transparent;display:grid;grid-template-columns:minmax(135px,.8fr) minmax(180px,1fr) 145px auto auto;gap:5px;align-items:center}
.revenue-selector-toolbar .form-control,.revenue-selector-toolbar .form-select,.revenue-selector-toolbar .btn{height:32px!important;min-height:32px;font-size:.7rem;padding-block:.2rem}
.revenue-single-page .journal-workspace-pro{margin-top:3px}
@media(max-width:1100px){.revenue-list-toolbar{align-items:stretch;flex-direction:column}.revenue-list-filter{grid-template-columns:1fr 1fr}.revenue-single-page .journal-toolbar-pro{grid-template-columns:1fr}.revenue-selector-panel.revenue-selector-toolbar{grid-template-columns:1fr 1fr 150px auto auto}}

/* Dense finance toolbars and review workspace */
@media(min-width:1101px){
  .compact-journal-page .journal-toolbar-pro{grid-template-columns:150px minmax(470px,1fr) auto!important}
  .compact-journal-page .date-control .form-control{width:116px!important;min-width:116px!important}
  .compact-journal-page .price-control .form-control{width:92px!important;min-width:92px!important}
  .compact-journal-page .journal-search-label .form-control{width:145px!important;min-width:145px!important}
  .compact-journal-page[data-kind="fuel"] .journal-inline-kpis{grid-template-columns:88px minmax(100px,1fr) minmax(100px,1fr) minmax(100px,1fr) minmax(135px,1.3fr)}
  .compact-journal-page .journal-inline-kpis .kpi{padding:5px 7px;overflow:hidden}
  .compact-journal-page .journal-inline-kpis .kpi b{font-size:.82rem;overflow:hidden;text-overflow:ellipsis}
  .compact-journal-page .journal-inline-kpis .kpi-total b{font-size:.9rem}
}
.revenue-selector-panel.revenue-selector-toolbar{grid-template-columns:minmax(220px,1fr) 145px auto auto}
.deduction-page{padding-top:4px!important}
.deduction-titlebar{background:#fff;border:1px solid #dfe7eb;border-radius:13px;padding:7px 10px;margin-bottom:6px!important}
.deduction-titlebar h2{font-size:1.3rem!important}
.deduction-kpis{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:5px;margin-inline-start:12px}
.deduction-kpis>div{background:#f4f8fb;border:1px solid #dfe8ef;border-radius:9px;padding:4px 8px;min-width:105px}
.deduction-kpis span{display:block;font-size:.58rem;color:#697e8c}.deduction-kpis b{display:block;font-size:.78rem;color:#173f53;direction:ltr;white-space:nowrap}.deduction-kpis .total{background:#edf9f3}.deduction-kpis .total b{font-size:.88rem}
.deduction-new-button{height:34px;padding:.3rem .7rem;font-size:.76rem}
.deduction-page .revenue-deduction-workspace{grid-template-columns:188px minmax(0,1fr)!important;gap:7px!important;min-height:0!important}
.deduction-main{display:flex;flex-direction:column;gap:6px}
.deduction-entry-form{display:grid;grid-template-columns:125px 175px 110px 105px 110px minmax(160px,1fr) auto;gap:6px;align-items:end;background:#fff;border:1px solid #dfe7eb;border-radius:11px;padding:8px}
.deduction-form-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-bottom:5px;border-bottom:1px solid #edf1f4;font-size:.82rem}
.deduction-truck-field{grid-column:span 2}.deduction-truck-field .form-select{border-color:#d99b24!important;background-color:#fffaf0!important;font-weight:800;color:#173f53}
.deduction-entry-form label,.deduction-filter label{font-size:.62rem;font-weight:800;color:#5b707d;margin:0}.deduction-entry-form .form-control,.deduction-entry-form .form-select,.deduction-entry-form .btn{height:33px;font-size:.72rem}.deduction-entry-form .notes{grid-column:1/7}.deduction-entry-form .reason{grid-column:auto}.deduction-entry-form button{min-width:90px}
.deduction-filter{display:grid;grid-template-columns:135px 135px minmax(220px,1fr) 90px;gap:6px;align-items:end;background:#fff;border:1px solid #dfe7eb;border-radius:11px;padding:7px}
.deduction-filter .form-control,.deduction-filter .btn{height:33px;font-size:.72rem}.deduction-table{margin:0!important;max-height:calc(100vh - 245px);overflow:auto}.deduction-table th{background:#173f53!important;color:#fff!important;padding:7px!important;font-size:.7rem}.deduction-table td{padding:6px!important;font-size:.72rem}
.review-heading{background:#fff;border:1px solid #dfe7eb;border-radius:12px;padding:7px 10px;margin-bottom:6px!important}.review-heading h1{margin:0!important;font-size:1.18rem!important}.review-heading .review-filters{margin:0!important;margin-inline-start:auto}.review-heading .review-filters .form-select{height:34px;min-width:210px;font-size:.74rem}.review-heading .review-filters .btn{height:34px;font-size:.74rem}
.review-panel{padding:7px!important}.review-journal-list{gap:5px!important}.review-journal-card{padding:7px 9px!important;gap:8px!important}.review-journal-icon{width:36px!important;height:36px!important;border-radius:9px!important;font-size:1rem!important}.review-journal-meta{margin-top:2px!important;gap:10px!important;font-size:.7rem!important}.review-journal-title span{font-size:.72rem!important}.review-journal-actions .btn{height:33px;padding:.28rem .6rem;font-size:.72rem}.review-empty{min-height:100px!important}
@media(max-width:1000px){.deduction-kpis{order:4;width:100%;grid-template-columns:repeat(3,1fr)}.deduction-entry-form{grid-template-columns:1fr 1fr}.deduction-entry-form .reason,.deduction-entry-form .notes,.deduction-form-heading{grid-column:1/-1}.deduction-filter{grid-template-columns:1fr 1fr}.review-heading{align-items:stretch!important}}

/* Final single-row fuel and maintenance workspaces */
@media(min-width:1101px){
  .compact-journal-page .journal-toolbar-pro{grid-template-columns:180px minmax(500px,1fr) auto!important}
  .compact-journal-page .journal-title-pro{min-width:0!important}
  .compact-journal-page .journal-title-pro h2{font-size:.94rem!important;white-space:nowrap}
  .compact-journal-page[data-kind="fuel"] .journal-inline-kpis{grid-template-columns:86px repeat(3,minmax(100px,1fr)) minmax(145px,1.35fr)!important;min-width:500px}
  .compact-journal-page .journal-inline-kpis .kpi b{direction:ltr;font-size:clamp(.7rem,.72vw,.86rem)!important;text-overflow:clip!important}
  .compact-journal-page .journal-inline-kpis .kpi-total b{font-size:clamp(.78rem,.8vw,.96rem)!important}
  .compact-journal-page .journal-controls-pro{min-width:420px}
  .revenue-single-page .journal-inline-kpis{grid-template-columns:repeat(4,minmax(82px,1fr))!important}
}
.maintenance-monitor-page,.maintenance-journal-page{padding:5px 10px 10px!important}
.maintenance-monitor-toolbar{position:relative;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #dfe7eb;border-radius:12px;padding:6px 9px;margin-bottom:6px}
.maintenance-monitor-toolbar h1{font-size:1.16rem;margin:0;white-space:nowrap;color:#173f53}
.maintenance-kpis.maintenance-kpis-inline{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:5px;margin:0;flex:1}
.maintenance-kpis-inline article{min-height:34px!important;padding:4px 8px!important;border-radius:8px!important;flex-direction:row!important;align-items:center!important}
.maintenance-kpis-inline article span{font-size:.66rem}.maintenance-kpis-inline article b{font-size:.88rem!important}
.maintenance-icon-button,.maintenance-settings-popover>summary,.maintenance-new-icon{width:34px;height:34px;padding:0!important;display:grid!important;place-items:center;cursor:pointer;list-style:none;border-radius:8px}
.maintenance-settings-popover>summary{border:1px solid #ccdbe4;color:#315b70;background:#fff}.maintenance-settings-popover>summary::-webkit-details-marker{display:none}
.maintenance-settings-popover[open] .maintenance-settings{display:grid}
.maintenance-settings-popover .maintenance-settings{position:absolute;z-index:20;top:46px;left:44px;width:min(720px,calc(100vw - 330px));grid-template-columns:repeat(3,1fr) auto;margin:0;box-shadow:0 12px 35px rgba(15,42,58,.2);padding:10px}
.maintenance-monitor-page .maintenance-table-wrap{max-height:calc(100vh - 125px)!important;margin:0}.maintenance-monitor-page .maintenance-table-wrap th{font-size:.68rem;padding:7px 5px}.maintenance-monitor-page .maintenance-table-wrap td{font-size:.72rem;padding:6px 5px}
.maintenance-journal-toolbar{display:flex!important;align-items:center!important;gap:7px!important;padding:6px 9px!important}
.maintenance-journal-toolbar h1{white-space:nowrap}.maintenance-filter-inline{display:grid!important;grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) minmax(170px,.8fr) auto;gap:6px;align-items:center;flex:1;margin:0!important}
.maintenance-filter-inline .form-select,.maintenance-filter-inline .btn{height:34px;font-size:.72rem;padding-block:.2rem}.maintenance-journal-page .maintenance-table-wrap{max-height:calc(100vh - 125px)!important;margin:0}
@media(max-width:1100px){.maintenance-monitor-toolbar,.maintenance-journal-toolbar{align-items:stretch!important;flex-wrap:wrap}.maintenance-monitor-toolbar h1,.maintenance-journal-toolbar h1{width:100%}.maintenance-kpis.maintenance-kpis-inline{grid-template-columns:repeat(2,1fr)}.maintenance-filter-inline{grid-template-columns:1fr 1fr}.maintenance-settings-popover .maintenance-settings{position:fixed;inset:120px 20px auto;width:auto;grid-template-columns:1fr}}

/* Compact billing and report workspaces */
@media(min-width:1101px){
  .compact-journal-page[data-kind="fuel"] .journal-toolbar-pro{grid-template-columns:158px minmax(400px,1fr) 365px!important}
  .compact-journal-page[data-kind="fuel"] .journal-inline-kpis{grid-template-columns:72px repeat(4,minmax(76px,1fr))!important;min-width:400px!important}
  .compact-journal-page[data-kind="fuel"] .journal-controls-pro{min-width:365px!important}
  .compact-journal-page[data-kind="fuel"] .date-control .form-control{width:100px!important;min-width:100px!important}
  .compact-journal-page[data-kind="fuel"] .price-control .form-control{width:68px!important;min-width:68px!important}
  .compact-journal-page[data-kind="fuel"] .journal-search-label .form-control{width:125px!important;min-width:125px!important}
  .compact-journal-page[data-kind="fuel"] .journal-inline-kpis .kpi-total b{font-size:.78rem!important}
}
.billing-head{gap:10px;background:#fff;border:1px solid #dfe7ef;border-radius:12px;padding:6px 9px}.billing-head>div:first-child{min-width:175px}.billing-head .billing-totals{flex:1;margin:0;grid-template-columns:70px repeat(6,minmax(88px,1fr));gap:5px}.billing-head .billing-totals article{padding:4px 6px;min-height:40px}.billing-head .billing-totals span{font-size:.55rem}.billing-head .billing-totals b{font-size:.76rem;direction:ltr}.billing-head .selection-counter{display:flex;background:#173f66;padding:4px 7px}.billing-head .selection-counter b{font-size:.85rem;color:#fff}.billing-form-page form{min-height:0}.billing-form-page .billing-section{height:auto!important;min-height:0!important;margin-bottom:6px}.billing-form-page .billing-table-wrap{max-height:26vh!important;flex:none!important}.billing-form-page .billing-table-wrap table{height:auto!important}.billing-form-page .empty-state{height:46px!important;vertical-align:middle}.billing-form-page .sticky-save-bar{justify-content:flex-start;margin-top:2px}.billing-form-page .invoice-toolbar{margin-bottom:6px;padding:6px}.billing-form-page .invoice-toolbar .form-control{height:34px}.billing-section-head{padding-block:5px}
.content-area:has(.report-page),.content-area:has(.reports-page){padding:6px 10px 9px!important;overflow:auto}.report-page,.reports-page{padding:0!important}.report-page .page-actions p,.report-page .report-head p,.report-page .review-heading p,.report-page .page-kicker,.reports-title p,.report-cards span,.report-page>.alert{display:none!important}.report-page h1,.reports-page h1{font-size:1.15rem!important;margin:0!important;white-space:nowrap}.report-page>.page-actions,.report-page>.report-head,.report-page>.review-heading{min-height:42px!important;margin:0 0 5px!important;padding:5px 8px!important;align-items:center}.report-filter,.report-filters{margin:0 0 5px!important;padding:6px!important;gap:5px!important}.report-filter .form-control,.report-filter .form-select,.report-filter .btn,.report-filters .form-control,.report-filters .form-select,.report-filters .btn{height:33px!important;min-height:33px!important;font-size:.7rem!important}.report-page .table-responsive,.report-table-wrap{max-height:calc(100vh - 118px)!important;margin:0!important}.report-page table th{font-size:.68rem!important;padding:7px 6px!important;white-space:nowrap}.report-page table td{font-size:.7rem!important;padding:6px!important}.report-page a[href*="export=excel"],.report-excel-icon{width:34px!important;height:34px!important;padding:0!important;font-size:0!important;display:grid!important;place-items:center}.report-page a[href*="export=excel"] i,.report-excel-icon i{font-size:1rem}.report-toolbar{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #dfe7ef;border-radius:11px;padding:5px 7px;margin-bottom:5px}.report-toolbar-filter{display:grid;grid-template-columns:minmax(175px,1fr) 125px 34px;gap:5px;flex:1}.report-toolbar-filter .form-control,.report-toolbar-filter .form-select,.report-toolbar-filter .btn{height:34px;font-size:.7rem}.report-inline-kpis{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:4px}.report-inline-kpis article{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:70px;padding:4px 7px;background:#f5f8fa;border:1px solid #dfe7ef;border-radius:8px}.report-inline-kpis span{font-size:.58rem;color:#647887}.report-inline-kpis b{font-size:.8rem}.report-inline-kpis .normal{border-inline-start:3px solid #22c55e}.report-inline-kpis .warning{border-inline-start:3px solid #eab308}.report-inline-kpis .due{border-inline-start:3px solid #f97316}.report-inline-kpis .overdue{border-inline-start:3px solid #dc2626}.compact-report-page .maintenance-table-wrap{max-height:calc(100vh - 64px)!important}
@media(max-width:1100px){.billing-head{align-items:stretch;flex-direction:column}.billing-head .billing-totals{grid-template-columns:repeat(4,1fr)}.report-toolbar{flex-wrap:wrap}.report-toolbar h1{width:100%}.report-inline-kpis{grid-template-columns:repeat(2,1fr)}}

/* Revenue route pricing */
.revenue-rate-settings{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid #cbdce6;border-radius:8px;background:#fff;color:#315f76;transition:.15s}.revenue-rate-settings:hover{color:#fff;background:#1f6687;border-color:#1f6687;transform:rotate(18deg)}.revenue-rate-locked{background:#eef4f7!important;color:#173f53!important;font-weight:800;direction:ltr}
.route-rates-dialog{width:min(700px,calc(100vw - 30px));border:0;border-radius:14px;padding:0;box-shadow:0 22px 60px rgba(7,35,49,.28);color:#173f53}.route-rates-dialog::backdrop{background:rgba(7,35,49,.42);backdrop-filter:blur(2px)}.route-rates-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#173f53;color:#fff}.route-rates-head button{width:30px;height:30px;border:0;border-radius:7px;background:rgba(255,255,255,.12);color:#fff}.route-rate-form{display:grid;grid-template-columns:1fr 1fr 130px auto;gap:7px;padding:12px;border-bottom:1px solid #e3ebef}.route-rate-form .form-control,.route-rate-form .form-select,.route-rate-form .btn{height:36px;font-size:.75rem}.route-rate-list{max-height:280px;overflow:auto;padding:8px 12px 12px}.route-rate-list>div{display:flex;align-items:center;justify-content:space-between;padding:8px;border-bottom:1px solid #e7eef2;font-size:.75rem}.route-rate-list b{direction:ltr;color:#168557}.route-rate-list p{text-align:center;color:#71838e;margin:12px}
@media(max-width:700px){.route-rate-form{grid-template-columns:1fr 1fr}.route-rate-form .btn{grid-column:1/-1}}

/* Professional finance report dashboard */
.report-dashboard-head{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #dce7ee;border-radius:11px;padding:5px 7px;margin-bottom:5px;min-height:44px}.report-title-row{display:flex;align-items:center;gap:6px;min-width:max-content}.report-title-row h1{font-size:1.05rem!important;color:#173f53}.report-filter-inline{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));align-items:center;gap:5px!important;flex:1;margin:0!important;padding:0!important;border:0!important;background:transparent!important}.report-filter-inline .form-control,.report-filter-inline .form-select,.report-filter-inline .btn{height:33px!important;min-height:33px!important}.report-color-kpis{display:grid!important;gap:5px!important;margin:0 0 5px!important}.revenue-kpis.report-color-kpis{grid-template-columns:repeat(5,minmax(120px,1fr))!important}.report-color-kpis article{min-height:48px!important;padding:5px 8px!important;border-radius:9px!important;border:1px solid #dce7ee!important;border-inline-start:4px solid #3b82f6!important;background:#f8fbff!important;justify-content:center}.report-color-kpis article:nth-child(5n+2){background:#f2fbf6!important;border-inline-start-color:#22a06b!important}.report-color-kpis article:nth-child(5n+3){background:#fff8ee!important;border-inline-start-color:#e49b19!important}.report-color-kpis article:nth-child(5n+4){background:#f6f3ff!important;border-inline-start-color:#7c5ce0!important}.report-color-kpis article:nth-child(5n){background:#fff3f3!important;border-inline-start-color:#dc4c5b!important}.report-color-kpis article span{font-size:.62rem!important;color:#607887!important}.report-color-kpis article b{font-size:.88rem!important;color:#153d52!important;direction:ltr;white-space:nowrap}.report-color-kpis article.total{background:#eaf8f1!important;border-inline-start-color:#16885b!important}.report-color-kpis article.total b{font-size:1rem!important}.compact-two-kpis{grid-template-columns:repeat(2,minmax(135px,190px))!important;margin-inline-start:auto!important}.profit-kpis{grid-template-columns:repeat(5,minmax(130px,1fr))!important}.compact-finance-report .report-table-wrap,.report-page:has(.revenue-kpis)>.table-responsive{max-height:calc(100vh - 168px)!important}.compact-finance-report .report-head{display:none!important}.report-excel-icon{border-radius:8px!important;background:#f0fbf5!important;color:#168557!important}.report-excel-icon:hover{background:#168557!important;color:#fff!important}
@media(max-width:1100px){.report-dashboard-head{align-items:stretch;flex-direction:column}.report-title-row{justify-content:space-between}.revenue-kpis.report-color-kpis,.profit-kpis{grid-template-columns:repeat(2,1fr)!important}.compact-two-kpis{width:100%;grid-template-columns:1fr 1fr!important}}

.import-toolbar .salary-search{position:relative;display:flex;align-items:center;margin-inline-start:auto;min-width:290px}.import-toolbar .salary-search i{position:absolute;inset-inline-start:10px;color:#66808c;pointer-events:none}.import-toolbar .salary-search .form-control{height:33px;padding-inline-start:32px;font-size:.72rem;background:#fff}
@media(max-width:900px){.import-toolbar .salary-search{width:100%;min-width:0;margin-inline-start:0}}

/* Fuel journal: keep every control visible without squeezing labels or KPI cards. */
@media(min-width:1101px){
  .compact-journal-page[data-kind="fuel"] .journal-toolbar-pro{grid-template-columns:158px minmax(0,1fr)!important;gap:5px 10px!important;padding:3px 4px!important;border:0!important;box-shadow:none!important;background:transparent!important}
  .compact-journal-page[data-kind="fuel"] .journal-inline-kpis{grid-template-columns:repeat(5,minmax(82px,110px))!important;justify-content:end;min-width:0!important;gap:4px!important}
  .compact-journal-page[data-kind="fuel"] .journal-inline-kpis .kpi{min-height:34px;padding:3px 6px!important;border:0!important;box-shadow:none!important}
  .compact-journal-page[data-kind="fuel"] .journal-inline-kpis .kpi span{font-size:.54rem!important}
  .compact-journal-page[data-kind="fuel"] .journal-inline-kpis .kpi b{font-size:.72rem!important}
  .compact-journal-page[data-kind="fuel"] .journal-controls-pro{grid-column:1/-1!important;width:100%;min-width:0!important;display:flex!important;align-items:end!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:5px!important}
  .compact-journal-page[data-kind="fuel"] .date-control .form-control{width:122px!important;min-width:122px!important}
  .compact-journal-page[data-kind="fuel"] .price-control .form-control{width:105px!important;min-width:105px!important}
  .compact-journal-page[data-kind="fuel"] .journal-search-label .form-control{width:175px!important;min-width:175px!important}
}

/* حقل اختيار الأصل مع البحث والتجميع (رؤوس الشاحنات ثم الملحقات) */
.asset-picker{position:relative}
.asset-picker .asset-picker-input{width:100%;padding-inline-end:24px;text-overflow:ellipsis}
.asset-picker.is-invalid .asset-picker-input{border-color:#dc3545;box-shadow:0 0 0 .12rem rgba(220,53,69,.15)}
.asset-picker-caret{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);font-size:.65rem;color:var(--muted);pointer-events:none}
.asset-picker-menu{display:none;position:absolute;inset-inline:0;top:calc(100% + 3px);z-index:60;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 30px rgba(15,30,50,.17);max-height:300px;overflow:auto;padding:4px}
.asset-picker.is-open .asset-picker-menu{display:block}
.asset-picker-group-label{position:sticky;top:-4px;background:#f2f6f9;color:var(--navy);font-weight:800;font-size:.68rem;padding:4px 8px;margin:3px 0;border-radius:6px}
.asset-picker-option{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:.75rem;color:var(--navy);white-space:nowrap}
.asset-picker-option b{font-weight:700}
.asset-picker-option small{color:var(--muted);font-size:.68rem}
.asset-picker-option.is-active,.asset-picker-option:hover{background:var(--navy);color:#fff}
.asset-picker-option.is-active small,.asset-picker-option:hover small{color:rgba(255,255,255,.78)}
.asset-picker-all{font-weight:700}
.asset-picker-option[hidden],.asset-picker-group[hidden]{display:none}
.asset-picker-empty{padding:9px;text-align:center;color:var(--muted);font-size:.72rem}
.maintenance-filter-inline .asset-picker-input{height:34px;font-size:.72rem;padding-block:.2rem}

/* اسم المستخدم المسؤول عن اليومية في شاشة المراجعة */
.review-journal-owner{display:inline-flex;align-items:center;gap:4px;color:var(--navy);background:#eef4f8;border-radius:20px;padding:1px 9px;font-weight:700}
.review-journal-owner i{font-size:.72rem;opacity:.75}
/* حقل اختيار الأصل داخل نماذج الإدخال */
.maintenance-form-grid .asset-picker .asset-picker-input{min-height:38px;padding:.4rem .65rem;font-size:.84rem}

/* نموذج استيراد GPS لا يحمل واجهة مرئية؛ إبقاؤه في التخطيط كان يمنحه ارتفاع
   الصفحة فيغطي صفوف الجدول ويمنع النقر على حقولها بالماوس. */
.journal-import-form{position:absolute;width:0;height:0;padding:0;border:0;overflow:hidden}

/* عند تفعيل «مدير نظام» تُعرض كل الشاشات مؤشَّرة ومعطَّلة مع تنبيه واضح */
.permission-cards.admin-covered{opacity:.6}
.admin-covered-note{margin:6px 2px 0;font-size:.72rem;font-weight:700;color:var(--navy);background:#eef4f8;border-radius:8px;padding:6px 9px}

/* شريط اختيار التريلا: تخطيط مرن مستقل عن قواعد الشبكة القديمة التي تتنازعه
   بأعداد أعمدة مختلفة، فتتراكم الحقول ويخرج زرّا «فتح» و«رجوع» عن الشريط. */
.revenue-selector-toolbar{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px!important;grid-template-columns:none!important}
.revenue-selector-toolbar>#trailerSearch{flex:0 1 215px;min-width:130px}
.revenue-selector-toolbar>.arabic-date-input{flex:0 0 150px!important;width:150px!important;max-width:150px;margin:0}
.revenue-selector-toolbar>#revenueDay{flex:0 0 150px}
.revenue-selector-toolbar>.btn{flex:0 0 auto;white-space:nowrap;padding-inline:14px!important}
@media(max-width:900px){.revenue-selector-toolbar>#trailerSearch{flex:1 1 100%}}
/* بلا تريلا مختارة تختفي بطاقات المؤشرات، فيقع النموذج في العمود الأوسط
   الضيّق ويفيض عنه؛ يُثبَّت دائمًا في العمود الأخير الواسع. */
.journal-toolbar-pro>.revenue-selector-toolbar{grid-column:-2/-1;justify-self:stretch;min-width:0}
/* الشريط يهبط عند طرفه بعرض محتواه فقط: حقل الكود لا يتمدد، والأزرار
   تلتصق به بدل أن تُدفع خارج الشاشة، والعمود الأوسط ينكمش حين يخلو. */
.revenue-single-page .journal-toolbar-pro{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px;grid-template-columns:none!important}
.revenue-single-page .journal-title-block{flex:0 0 auto}
.revenue-single-page .journal-inline-kpis{flex:1 1 320px;min-width:0}
.revenue-single-page .revenue-selector-toolbar{flex:0 0 auto}
.journal-toolbar-pro>.revenue-selector-toolbar{justify-self:end;width:auto;max-width:100%;flex-wrap:wrap}
/* شبكة إدخال الرد كانت تفرض ستة أعمدة بحد أدنى ثابت، فتتجاوز عرض الشاشة
   عند التكبير أو على الشاشات الأضيق ويظهر شريط تمرير أفقي. */
.revenue-entry-grid{grid-template-columns:repeat(auto-fit,minmax(115px,1fr))!important}
/* اسم السائق المخصوم عليه يُبرز في بطاقة الخصم بشاشة المراجعة */
.review-deduction-driver{display:inline-flex;align-items:center;gap:4px;font-weight:800;color:var(--navy);background:#fdf1ef;border-radius:20px;padding:1px 9px}
.review-deduction-driver i{font-size:.72rem;opacity:.8}

/* يومية الخصم الإضافي: ترويسة واحدة وسطور متعددة لكل تريلا. */
.additional-deduction-form{background:#fff;border:1px solid #dfe7eb;border-radius:11px;padding:10px;display:flex;flex-direction:column;gap:9px;min-width:0}
.additional-deduction-form .deduction-form-heading{display:flex;align-items:center;justify-content:space-between;font-size:.78rem}
.additional-deduction-head{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.additional-deduction-head label{display:flex;flex-direction:column;gap:3px;font-size:.62rem;font-weight:800;color:#5b707d;margin:0;flex:0 0 150px;min-width:0}
.additional-deduction-head label.wide{flex:1 1 220px}
.additional-deduction-head .form-control{height:33px;font-size:.72rem}
.additional-deduction-lines{border:1px solid #e6edf1;border-radius:10px;padding:8px;min-width:0}
.additional-deduction-lines-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.additional-deduction-lines-head strong{font-size:.72rem;color:#33484f}
.additional-deduction-table{margin:0;font-size:.72rem}
.additional-deduction-table th{font-size:.62rem;font-weight:800;color:#5b707d;white-space:nowrap}
.additional-deduction-table td{padding:4px}
.additional-deduction-table .form-control,.additional-deduction-table .form-select{height:31px;font-size:.72rem}
.additional-deduction-table [data-line-tax],.additional-deduction-table [data-line-total]{background:#f4f7f9;font-weight:700}
.additional-deduction-table tfoot th{background:#f4f7f9;font-size:.7rem;color:#22343a}
.additional-deduction-actions{display:flex;gap:8px;flex-wrap:wrap}
.additional-deduction-row-actions{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.additional-deduction-row-actions form{margin:0}
.additional-deduction-page .deduction-table th,.additional-deduction-page .deduction-table td{white-space:nowrap}

/* لا تُخرج عناصر شاشة الردود عن عرض المحتوى فيظهر شريط تمرير أفقي. */
.revenue-single-page,.revenue-single-page>*{min-width:0;max-width:100%}
.revenue-selector-toolbar{max-width:100%;min-width:0}

/* سبب التمرير الأفقي في شاشة الردود: عناصر الإدخال لها عرض أدنى ضمني أكبر من
   عمود الشبكة، فيتجاوز محتوى البطاقة عرضها مهما ضاقت الشاشة أو اتسع الخط. */
.revenue-single-page .journal-workspace{grid-template-columns:188px minmax(0,1fr)!important}
.revenue-single-page .journal-main-panel,.revenue-single-page .revenue-single-card,
.revenue-single-page .journal-inline-kpis{min-width:0;max-width:100%}
.revenue-entry-grid>.field{min-width:0}
.revenue-entry-grid .form-control,.revenue-entry-grid .form-select,.revenue-entry-grid .d-flex{min-width:0;max-width:100%}
.revenue-entry-grid input[type=file]{min-width:0;flex:1 1 0}
.revenue-single-head,.revenue-single-meta{flex-wrap:wrap;min-width:0}

/* شريط اختيار التريلا كان ممنوعًا من الانكماش (flex:0 0 auto)، فيأخذ عرض
   محتواه ويخرج عن إطار الصفحة إلى إحداثيات سالبة في التخطيط من اليمين
   لليسار — وهو تجاوز لا يظهر في scrollWidth لكنه يُنتج شريط تمرير أفقي.
   صار كل عنصر في الشريط قابلًا للانكماش، وينزل النموذج لسطر مستقل عند الضيق. */
.revenue-single-page .journal-toolbar-pro{flex-wrap:wrap!important;min-width:0;max-width:100%}
.revenue-single-page .journal-toolbar-pro>*{min-width:0;max-width:100%}
.revenue-single-page .journal-title-pro{flex:0 1 auto}
.revenue-single-page .journal-inline-kpis{flex:0 1 auto;min-width:0}
.revenue-single-page .journal-inline-kpis .kpi{min-width:0}
.revenue-single-page .revenue-selector-toolbar{flex:0 1 auto!important;width:auto!important;justify-self:auto!important}
.revenue-single-page .revenue-selector-toolbar>#trailerSearch{flex:0 1 154px;min-width:96px;max-width:184px}
/* عرض حقل التاريخ يكفي «28/08/2026» مع زر التقويم بلا قص، والمساحة التي
   وفّرها اختصار العنوان تعوّضه. */
.revenue-single-page .revenue-selector-toolbar>.arabic-date-input{flex:0 0 190px!important;min-width:190px;max-width:190px;width:190px!important}
.revenue-single-page .revenue-selector-toolbar>.btn{flex:0 0 auto}

/* شريط يومية الردود: ترتيب واحد صريح يلغي تنازع قواعد الشبكة المتراكمة.
   الترويسة ثم اختيار التريلا وأزراره ثم المؤشرات التي تملأ ما تبقى، فلا
   يبقى فراغ في وسط الشريط ولا يخرج زر عن حافة الصفحة. */
.revenue-single-page .journal-toolbar-pro{display:flex!important;flex-wrap:wrap!important;align-items:center;justify-content:flex-start!important;gap:8px!important;grid-template-columns:none!important;padding:4px 6px!important}
.revenue-single-page .journal-title-pro{order:1;flex:0 0 auto;grid-column:auto!important}
/* العدادات تتمدد لتملأ ما بين الترويسة وأدوات الاختيار، فيلتصق البحث
   والرجوع بأقصى اليسار ويتوزع الشريط بتناسب بلا فراغ. */
/* minmax(0,1fr) مع min-width:0 يرفعان الحد الأدنى الذي يفرضه نص العدادات،
   فتنكمش هي أولًا عند ضيق الشريط وتبقى أزرار البحث والرجوع داخل الشاشة. */
.revenue-single-page .journal-inline-kpis{order:2;flex:1 1 200px;min-width:240px!important;max-width:none;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
.revenue-single-page .journal-inline-kpis .kpi{min-width:0;overflow:hidden}
.revenue-single-page .journal-inline-kpis .kpi span,.revenue-single-page .journal-inline-kpis .kpi b{overflow:hidden;text-overflow:ellipsis}
/* min-content يمنع انكماش النموذج تحت حد محتواه؛ بدونه تتسرّب أزراره خارج
   صندوقه وتقع فوق عدّادات المؤشرات. وعند ضيق السطر ينزل النموذج كاملًا
   إلى سطر تالٍ لأن الشريط يلتف. */
.revenue-single-page .revenue-selector-toolbar{order:3;flex:0 1 auto!important;min-width:min-content!important;display:flex!important;flex-wrap:wrap!important;align-items:center;gap:6px!important;width:auto!important;margin:0!important;justify-self:auto!important;grid-column:auto!important}

/* ضبط أبعاد شريط الردود: العدّاد أضيق بنصف سنتيمتر (نحو 19 بكسل)، وأدوات
   الاختيار تزاح سنتيمترين إلى اليمين عن حافة الشريط، وارتفاع حقول الاختيار
   مساوٍ لارتفاع العدادات (38 بكسل). 1سم ≈ 37.8 بكسل في المتصفح. */
/* الفراغ الذي كان يزيح أدوات الاختيار انتقل إلى ما قبل العدادات: تضيق
   العدادات نصف سنتيمتر لكل عدّاد، ويعود البحث والرجوع إلى أقصى اليسار،
   ويبقى عرض الشريط كما هو فلا ينزل إلى سطر ثانٍ. */
.revenue-single-page .revenue-selector-toolbar{margin-inline-end:0!important}
.revenue-single-page .revenue-selector-toolbar>#trailerSearch,
.revenue-single-page .revenue-selector-toolbar #revenueDay,
.revenue-single-page .revenue-selector-toolbar .btn{height:42px!important;min-height:42px!important;max-height:42px!important;align-self:center!important}
.revenue-single-page .revenue-selector-toolbar>.arabic-date-input{height:42px!important;max-height:42px!important;align-self:center!important;align-items:center}
.revenue-single-page .revenue-selector-toolbar .arabic-date-button{height:42px!important}

/* سطر الأدوات يتوسط رأسيًا مع العدادات: مع flex-wrap يتحكم align-content
   في موضع السطر، وكان يدفعه إلى الأعلى فيعلو الحقل عن العدادات تسعة بكسلات. */
.revenue-single-page .revenue-selector-toolbar{align-content:center!important;padding:0!important}
.revenue-single-page .revenue-selector-toolbar>*{margin-block:auto!important}

/* العدّاد وحقول الاختيار بارتفاع واحد مضبوط (42 بكسل) فلا يتبع أيٌّ منهما
   اتساع الخط، ويفصل بينهما نصف سنتيمتر لكل عدّاد فلا يركب شيء على شيء. */
.revenue-single-page .journal-inline-kpis .kpi{height:42px!important;display:flex;flex-direction:column;justify-content:center;padding-block:2px!important}

/* مسافات أوسع بين عناصر الشريط وبين حقول الاختيار، وفاصل ثابت قبل
   العدادات، فلا يلامس حقل الكود آخر عدّاد مهما اتسع الخط. */
.revenue-single-page .journal-toolbar-pro{gap:14px!important}
.revenue-single-page .revenue-selector-toolbar{gap:12px!important}
.revenue-single-page .journal-inline-kpis{margin-inline-end:14px!important}

/* آخر حقل على اليسار لا يلامس حافة الشريط. */
.revenue-single-page .revenue-selector-toolbar{margin-inline-end:16px!important}

/* حقل التاريخ يتكوّن من مُدخل ظاهر وآخر أصلي مخفي؛ الظاهر هو الذي كان
   يبقى بارتفاع 32 فيبدو أقصر من «فتح» و«رجوع». الارتفاع يُضبط لكليهما. */
.revenue-single-page .revenue-selector-toolbar .arabic-date-input input,
.revenue-single-page .revenue-selector-toolbar .arabic-date-input button{height:42px!important;min-height:42px!important;max-height:42px!important;align-self:center!important}
