:root {
    --bg: #f4f7fb;
    --panel: #ffffff;
    --text: #102033;
    --muted: #667085;
    --primary: #1155cc;
    --primary-dark: #0b3f99;
    --border: #d9e2ec;
    --shadow: 0 18px 40px rgba(16, 32, 51, .10);
}

* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: "Segoe UI", Arial, sans-serif;
    background: var(--bg);
    color: var(--text);
}

a { color: inherit; text-decoration: none; }

.app-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 280px 1fr;
}

.sidebar {
    background: #0f2340;
    color: white;
    padding: 22px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.brand-mark {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #2d7dff, #13c0a2);
    font-weight: 800;
}

.brand strong { display: block; font-size: 20px; }
.brand span { display: block; font-size: 12px; color: #b7c7df; }

.menu {
    margin-top: 32px;
    display: grid;
    gap: 8px;
}

.menu a {
    padding: 12px 14px;
    border-radius: 12px;
    color: #d7e3f4;
}

.menu a:hover {
    background: rgba(255,255,255,.10);
    color: white;
}

.main { padding: 24px; }
.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}

.topbar h1 { margin: 0; font-size: 26px; }
.topbar p { margin: 4px 0 0; color: var(--muted); }

.user-box {
    display: flex;
    align-items: center;
    gap: 10px;
}

button, .primary-btn {
    border: 0;
    border-radius: 12px;
    background: var(--primary);
    color: white;
    padding: 10px 16px;
    font-weight: 700;
    cursor: pointer;
}

button:hover, .primary-btn:hover { background: var(--primary-dark); }
.full { width: 100%; text-align: center; display: block; }
.secondary-btn {
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #eef4fb;
    color: var(--text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 39px;
    padding: 9px 14px;
    font-weight: 700;
}
.secondary-btn:hover { background: #dfeaf6; }
.danger-btn { background: #b42318; }
.danger-btn:hover { background: #8f1d14; }
.small {
    border-radius: 10px;
    min-height: 32px;
    padding: 6px 10px;
    font-size: 13px;
}

.content-card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 24px;
    box-shadow: var(--shadow);
}

.hero h2 { font-size: 32px; margin-top: 0; }
.hero p { color: var(--muted); max-width: 760px; }

.grid-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.metric-card {
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 20px;
    background: #fbfdff;
}

.metric-card span { color: var(--muted); }
.metric-card strong { display: block; font-size: 36px; margin-top: 8px; }
.section-title { font-weight: 800; margin: 18px 0 8px; }
.empty-state { text-align: center; padding: 60px 20px; }

.login-body {
    min-height: 100vh;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #0f2340, #1155cc);
}

.login-card {
    width: min(420px, calc(100% - 28px));
    background: white;
    border-radius: 26px;
    box-shadow: var(--shadow);
    padding: 28px;
}

.login-brand { margin-bottom: 22px; color: var(--text); }
.login-brand span { color: var(--muted); }
.login-card h1 { margin: 0 0 6px; }
.login-card p { color: var(--muted); margin-top: 0; }
.login-card label { display: block; margin: 14px 0 6px; font-weight: 700; }
.login-card input,
.login-card select {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    outline: none;
    min-height: 45px;
}
.login-card input:focus,
.login-card select:focus { border-color: var(--primary); }
.check-line {
    align-items: center;
    display: flex !important;
    gap: 8px;
    margin: 14px 0;
}
.check-line input {
    min-height: auto;
    width: auto;
}
.user-box small {
    color: var(--muted);
    font-weight: 700;
}
.alert {
    background: #fff1f1;
    color: #9b1c1c;
    border: 1px solid #ffd0d0;
    border-radius: 12px;
    padding: 10px 12px;
}
.notice {
    border-radius: 12px;
    font-weight: 700;
    margin-bottom: 14px;
    padding: 11px 14px;
}
.notice.success {
    background: #ecfdf3;
    border: 1px solid #abefc6;
    color: #067647;
}
.notice.error {
    background: #fff1f1;
    border: 1px solid #ffd0d0;
    color: #9b1c1c;
}
.toolbar {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}
.search-box,
.inline-form label {
    display: grid;
    gap: 6px;
}
.search-box span,
.inline-form span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}
input {
    border: 1px solid var(--border);
    border-radius: 12px;
    color: var(--text);
    min-height: 40px;
    outline: none;
    padding: 9px 12px;
}
input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(17, 85, 204, .12);
}
.inline-form select {
    border: 1px solid var(--border);
    border-radius: 12px;
    color: var(--text);
    min-height: 40px;
    outline: none;
    padding: 9px 12px;
}
.inline-form select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(17, 85, 204, .12);
}
.company-form,
.area-form {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
}
.company-form .wide {
    grid-column: 1 / -1;
}
.compact-check {
    align-items: center;
    display: flex !important;
    gap: 8px;
    margin: 0;
}
.compact-check input {
    min-height: auto;
    width: auto;
}
.form-actions {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}
.company-form .form-actions,
.area-form .form-actions {
    grid-column: 1 / -1;
}
.muted-inline {
    color: var(--muted);
    display: block;
    font-size: 12px;
    margin-top: 2px;
}
.split-layout {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.work-panel {
    border: 1px solid var(--border);
    border-radius: 8px;
    display: grid;
    gap: 14px;
    min-width: 0;
    padding: 16px;
}
.panel-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.panel-heading strong { display: block; }
.eyebrow {
    color: var(--muted);
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.pill {
    background: #eef4fb;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--primary-dark);
    font-size: 12px;
    font-weight: 800;
    padding: 7px 10px;
}
.inline-form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(160px, 1fr) auto auto;
}
.data-table-wrap {
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: auto;
}
.data-table {
    border-collapse: collapse;
    min-width: 100%;
}
.data-table th,
.data-table td {
    border-bottom: 1px solid var(--border);
    padding: 10px 12px;
    text-align: left;
    vertical-align: middle;
}
.data-table th {
    background: #f7f9fc;
    color: var(--muted);
    font-size: 12px;
    text-transform: uppercase;
}
.data-table tr:last-child td { border-bottom: 0; }
.selected-row td { background: #edf7ff; }
.actions-cell {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}
.actions-cell form {
    align-items: center;
    display: flex;
    gap: 8px;
}
.actions-cell input {
    min-height: 32px;
    min-width: 180px;
}
.compact { padding: 24px 12px; }

@media (max-width: 900px) {
    .app-shell { grid-template-columns: 1fr; }
    .sidebar { position: static; }
    .grid-cards { grid-template-columns: 1fr; }
    .topbar { align-items: flex-start; flex-direction: column; }
    .split-layout { grid-template-columns: 1fr; }
    .inline-form { grid-template-columns: 1fr; }
    .toolbar { align-items: stretch; flex-direction: column; }
    .actions-cell { justify-content: flex-start; }
}

.tx-shell-body {
    background: #111824;
    overflow: hidden;
}
.tx-shell {
    background: #070b11;
    color: #f7fbff;
    display: grid;
    grid-template-columns: 140px 1fr;
    grid-template-rows: 40px 64px 1fr 0px;
    height: 100vh;
}
.tx-titlebar {
    align-items: center;
    background: linear-gradient(90deg, #1466f4, #62d0e4);
    color: #ffffff;
    display: flex;
    grid-column: 1 / -1;
    justify-content: space-between;
    min-width: 0;
    padding: 4px 10px;
}
.institution {
    align-items: center;
    display: flex;
    gap: 8px;
    min-width: 0;
}
.institution strong,
.institution span {
    display: block;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.institution span {
    color: #fff65a;
    font-size: 12px;
    font-weight: 700;
}
.crest {
    align-items: center;
    background: #27cf62;
    border: 2px solid #0044b5;
    border-radius: 50%;
    color: #07345f;
    display: grid;
    flex: 0 0 32px;
    font-weight: 900;
    height: 32px;
    place-items: center;
    width: 32px;
}
.crest.institution-logo {
    overflow: hidden;
    background: #ffffff;
    border-color: rgba(255, 255, 255, .9);
}
.crest.institution-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.window-tools {
    align-items: center;
    display: flex;
    gap: 12px;
    font-weight: 800;
}
.window-tools .change-dependency-btn {
    align-items: center;
    background: rgba(0, 77, 188, .82);
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 7px;
    box-shadow: 0 1px 3px rgba(0, 37, 99, .28);
    color: #ffffff;
    display: inline-flex;
    font-size: .8125rem;
    min-height: 30px;
    padding: 5px 11px;
    text-decoration: none;
    white-space: nowrap;
}
.window-tools .change-dependency-btn:hover,
.window-tools .change-dependency-btn:focus-visible {
    background: #074fb9;
    border-color: #ffffff;
    color: #ffffff;
    outline: none;
}
.window-tools button {
    background: #165eed;
    border-radius: 8px;
    min-height: 30px;
    padding: 6px 12px;
}
.tx-sidebar {
    background: #282b35;
    border-right: 2px solid #555a68;
    display: flex;
    flex-direction: column;
    grid-row: 2 / 4;
    min-height: 0;
}
.tx-brand {
    align-items: center;
    border-bottom: 1px solid #686c77;
    color: #ffffff;
    display: flex;
    gap: 7px;
    min-height: 64px;
    padding: 8px 6px;
}
.tx-logo {
    align-items: center;
    background: radial-gradient(circle at 35% 30%, #8df7ff, #1b74df 60%, #0b265b);
    border: 2px solid #72e64b;
    border-radius: 50%;
    color: #fff;
    display: grid;
    flex: 0 0 36px;
    font-weight: 900;
    height: 36px;
    place-items: center;
    width: 36px;
}
.tx-brand strong {
    color: #36f042;
    display: block;
    font-size: 22px;
    line-height: 1;
}
.tx-brand span {
    color: #56ff5f;
    display: block;
    font-size: 11px;
}
.module-nav {
    display: grid;
    padding-top: 10px;
}
.module-nav a,
.sidebar-lower a {
    align-items: center;
    border-bottom: 1px solid transparent;
    color: #ffffff;
    display: flex;
    font-size: 13px;
    gap: 10px;
    min-height: 44px;
    padding: 8px 12px;
}
.module-nav a:hover,
.sidebar-lower a:hover,
.module-nav a.active,
.sidebar-lower a.active {
    background: linear-gradient(90deg, #c93b64, rgba(201, 59, 100, .25));
}
.nav-icon {
    align-items: center;
    background: #eef2f7;
    border-radius: 4px;
    color: #2b303a;
    display: grid;
    flex: 0 0 18px;
    font-size: 11px;
    font-weight: 900;
    height: 18px;
    place-items: center;
}
.sidebar-lower {
    border-top: 2px solid #626776;
    margin-top: auto;
}
.user-tile {
    align-items: center;
    border-top: 1px solid #626776;
    display: grid;
    gap: 10px;
    justify-items: center;
    padding: 14px 8px;
    width: 100%;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
}
.user-tile:hover, .user-tile[aria-expanded="true"] { background: linear-gradient(90deg, #c93b64, rgba(201, 59, 100, .25)); }
.avatar {
    align-items: center;
    background: #1684ff;
    border-radius: 50%;
    display: grid;
    font-size: 26px;
    font-weight: 900;
    height: 52px;
    place-items: center;
    width: 52px;
}
.user-tile span {
    font-size: 13px;
    max-width: 110px;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sidebar-lower { position: relative; }
.user-account-menu { position: absolute; left: 100%; bottom: 0; z-index: 1200; display: flex; min-width: 255px; padding: 6px; border: 1px solid #596270; border-radius: 0 7px 7px 0; background: #252936; box-shadow: 8px 8px 24px rgba(0, 0, 0, .38); }
.user-account-menu[hidden] { display: none; }
.user-account-menu form { margin: 0; }
.user-account-menu button { min-height: 42px; padding: 8px 14px; border: 0; background: transparent; color: #fff; white-space: nowrap; cursor: pointer; }
.user-account-menu button:hover { background: #c9472c; }
.change-password-dialog { width: min(520px, calc(100% - 30px)); padding: 0; border: 1px solid #506481; border-radius: 9px; background: #e6eef7; color: #172437; box-shadow: 0 24px 70px rgba(0, 0, 0, .55); }
.change-password-dialog::backdrop { background: rgba(1, 8, 18, .72); }
.change-password-dialog form { display: grid; gap: 12px; padding: 16px; }
.change-password-title { display: flex; align-items: center; justify-content: space-between; margin: -16px -16px 0; padding: 11px 16px; background: #1d315c; color: #fff; }
.change-password-title button { border: 0; background: transparent; color: #fff; font-size: 25px; cursor: pointer; }
.change-password-user { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; padding: 8px 10px; border-bottom: 1px solid #aeb8c5; background: #fff; }
.change-password-user .avatar { width: 38px; height: 38px; font-size: 19px; }
.change-password-user > div:last-child { display: grid; gap: 2px; }
.change-password-dialog label:not(.change-password-email) { display: grid; grid-template-columns: 165px 1fr; align-items: center; gap: 10px; color: #172437; font-weight: 700; }
.change-password-dialog input[type="password"] { min-width: 0; padding: 9px; border: 1px solid #78879a; border-radius: 4px; color: #111; background: #fff; }
.change-password-email { display: flex; align-items: center; gap: 8px; color: #172437; }
.change-password-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 6px; }
.change-password-actions button { padding: 9px 14px; border: 0; border-radius: 5px; background: #677487; color: #fff; cursor: pointer; }
.change-password-actions button[type="submit"] { background: #1f5dd4; }
.tx-main {
    background: #101521;
    display: grid;
    grid-row: 2 / 4;
    grid-template-rows: 64px 54px 1fr;
    min-height: 0;
    min-width: 0;
}
.tx-main.no-query-strip {
    grid-template-rows: 64px 1fr;
}
.module-strip {
    align-items: stretch;
    background: #282b35;
    border-bottom: 1px solid #6c707c;
    display: flex;
    gap: 2px;
    min-width: 0;
    overflow: visible;
}
.module-strip a {
    align-items: center;
    color: #ffffff;
    display: flex;
    flex: 0 0 auto;
    font-size: 13px;
    gap: 10px;
    min-width: 140px;
    padding: 10px 18px;
}
.module-strip a:hover {
    background: rgba(255,255,255,.08);
}
.module-submenu {
    display: flex;
    flex: 0 0 auto;
    min-width: 140px;
    position: relative;
}
.module-submenu-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: #fff;
    cursor: pointer;
    display: flex;
    font: inherit;
    gap: 10px;
    min-width: 140px;
    padding: 10px 18px;
}
.module-submenu-toggle:hover,
.module-submenu-toggle[aria-expanded="true"] { background: rgba(255,255,255,.09); }
.submenu-caret { margin-left: auto; }
.module-submenu-items {
    background: #3a3d4d;
    border: 1px solid #9ba0ad;
    box-shadow: 0 5px 10px rgba(0,0,0,.38);
    left: 0;
    min-width: 205px;
    position: absolute;
    top: 100%;
    z-index: 100;
}
.module-submenu-items a {
    border-bottom: 1px solid rgba(255,255,255,.08);
    display: block;
    min-width: 0;
    padding: 7px 24px;
    white-space: nowrap;
}
.module-submenu-items a:hover { background: #1717ef; }
#maintenance-menu { width: 290px; min-width: 290px; }
#maintenance-menu .module-submenu-toggle { width: 100%; justify-content: center; gap: 12px; }
#maintenance-menu .submenu-caret { margin-left: auto; transition: transform .18s ease; }
#maintenance-menu .module-submenu-toggle[aria-expanded="true"] .submenu-caret { transform: rotate(180deg); }
#maintenance-menu .module-submenu-items {
    left: 0; right: 0; width: 100%; min-width: 100%; overflow: hidden;
    border: 1px solid #75bde7; border-top: 3px solid #48bceb; border-radius: 0 0 12px 12px;
    background: linear-gradient(160deg, #102f50, #1b527d); box-shadow: 0 14px 28px rgba(0,17,38,.38);
}
#maintenance-menu .module-submenu-items a {
    padding: 12px 17px; border-bottom: 1px solid rgba(255,255,255,.13); color: #fff;
    transition: background .16s ease, padding-left .16s ease;
}
#maintenance-menu .module-submenu-items a:last-child { border-bottom: 0; }
#maintenance-menu .module-submenu-items a:hover { padding-left: 23px; background: linear-gradient(90deg,#1e83c1,#2eaee6); }
.module-strip a span {
    align-items: center;
    background: #f1f5f9;
    border-radius: 4px;
    color: #1f2937;
    display: grid;
    font-weight: 900;
    min-height: 18px;
    min-width: 18px;
    padding: 2px;
    place-items: center;
}
.collapse-button {
    background: transparent;
    color: #ffffff;
    margin-left: auto;
    min-width: 44px;
}
.query-strip {
    align-items: center;
    background: #1f2941;
    color: #ffffff;
    display: flex;
    gap: 10px;
    min-width: 0;
    overflow-x: auto;
    padding: 8px 12px;
}
.query-strip strong {
    color: #fff500;
    flex: 0 0 auto;
}
.query-strip label {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
    font-weight: 800;
}
.query-strip select {
    background: #5ba4c8;
    border: 1px solid #27e874;
    border-radius: 6px;
    color: #ffffff;
    min-height: 28px;
    min-width: 180px;
    padding: 3px 8px;
}
.query-action {
    background: #1684ff;
    border-radius: 10px;
    margin-left: auto;
}
.tx-content {
    position: relative;
    z-index: 1;
    min-width: 0;
    box-sizing: border-box;
    background: #000000;
    min-height: 0;
    overflow: auto;
    padding: 8px 18px 0;
}
.tx-statusbar {
    align-items: center;
    background: linear-gradient(90deg, #0f65ff, #5bd2e5);
    color: #06116a;
    display: flex;
    grid-column: 1 / -1;
    justify-content: space-between;
    padding: 0 12px;
}
.tx-statusbar strong {
    font-size: 16px;
}
.desktop-dashboard {
    display: grid;
    gap: 8px;
    grid-template-columns: 2fr 1fr 1.1fr .65fr;
    grid-template-rows: 160px 146px 126px;
    min-height: calc(100vh - 200px);
}
.dashboard-card {
    background: #000000;
    border: 1px solid #00ff21;
    border-radius: 9px;
    color: #ffffff;
    min-width: 0;
    overflow: hidden;
}
.dashboard-card h2 {
    background: #1f2a38;
    color: #fff500;
    font-size: 12px;
    font-weight: 500;
    margin: 0;
    min-height: 38px;
    padding: 12px 14px 8px;
}
.fuel-card {
    grid-column: 1;
    grid-row: 1 / 3;
}
.inventory-card {
    grid-column: 1;
    grid-row: 3;
}
.people-card {
    grid-column: 2 / 4;
    grid-row: 2;
}
.equipment-card {
    grid-column: 2 / 4;
    grid-row: 3;
}
.connected-card {
    grid-column: 4;
    grid-row: 2 / 4;
}
.fuel-grid,
.inventory-grid {
    display: grid;
    font-size: 12px;
    padding: 8px;
}
.fuel-grid {
    grid-template-columns: 70px 1fr 1fr;
}
.inventory-grid {
    grid-template-columns: 70px repeat(4, 1fr);
}
.fuel-grid > *,
.inventory-grid > * {
    align-items: center;
    border: 1px solid #e6e7ed;
    display: grid;
    min-height: 25px;
    place-items: center;
}
.fuel-grid strong,
.inventory-grid strong {
    background: #5e91e8;
    font-weight: 500;
}
.fuel-grid b,
.inventory-grid b,
.action-table a {
    background: #008a10;
    color: #ffffff;
    font-weight: 500;
}
.fuel-grid b.warning,
.inventory-grid b.warning,
.action-table a:nth-child(2) {
    background: #ff9800;
}
.ok-dot,
.warn-dot {
    background: #000000;
    position: relative;
}
.ok-dot::after,
.warn-dot::after {
    border-radius: 50%;
    content: "";
    height: 9px;
    width: 9px;
}
.ok-dot::after { background: #00ff21; }
.warn-dot::after { background: #ffa851; }
.chart-placeholder {
    border-top: 2px solid #000;
    height: calc(100% - 88px);
}
.chart-placeholder.fuel {
    background: linear-gradient(#8ab2ef, #edf4ff);
    margin-left: 72px;
}
.chart-placeholder.inventory {
    background: linear-gradient(#1d5a22, #f2fff4);
    margin-left: 8px;
    margin-right: 8px;
}
.action-table {
    display: grid;
    gap: 3px;
    padding: 8px;
}
.action-table a {
    border: 1px solid #e6e7ed;
    color: #ffffff;
    display: flex;
    font-size: 12px;
    justify-content: space-between;
    min-height: 24px;
    padding: 5px 10px;
    text-align: left;
}
.action-table a strong {
    color: #ffffff;
    font-weight: 700;
}
.action-table a span {
    color: #e6e7ed;
}
.empty-panel {
    border: 2px solid #f5f5f5;
    height: calc(100% - 50px);
    margin: 8px;
}
.empty-panel.small {
    height: 72px;
}
.connected-card table {
    border-collapse: collapse;
    color: #dbeafe;
    font-size: 12px;
    margin: 8px;
    width: calc(100% - 16px);
}
.connected-card th,
.connected-card td {
    border-bottom: 1px solid #2f3644;
    padding: 4px 6px;
    text-align: left;
}
.connected-card th {
    background: #eeeeee;
    color: #111827;
}
.active-state {
    color: #00ff21;
}
.idle-state {
    color: #ff7b54;
}
.inactive-state {
    color: #ff6b31;
}
.mini-table {
    border-collapse: collapse;
    color: #dbeafe;
    font-size: 12px;
    margin: 8px;
    width: calc(100% - 16px);
}
.mini-table td {
    border-bottom: 1px solid #2f3644;
    padding: 4px 6px;
}
.mini-table td:last-child {
    color: #00ff21;
    font-weight: 700;
    text-align: right;
}
.inventory-total {
    grid-row: span 2;
}
.bottom-tabs {
    background: #202b3b;
    border-top: 4px solid #2276ff;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    margin-top: 8px;
}
.bottom-tabs a {
    color: #cbd5e1;
    font-size: 14px;
    font-weight: 700;
    padding: 12px;
    text-align: center;
}
.bottom-tabs a.active {
    background: #101827;
    color: #ffffff;
}
.desktop-welcome {
    background: #111827;
    border: 1px solid #00ff21;
    border-radius: 8px;
    color: #ffffff;
    padding: 22px;
}
.desktop-welcome p {
    color: #cbd5e1;
}

.equipment-page {
    color: #ffffff;
    display: grid;
    gap: 10px;
}
.equipment-search {
    background: #101827;
    border: 1px solid #00ff21;
    border-radius: 8px;
    padding: 10px;
}
.equipment-search-form {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.equipment-search-form label {
    display: grid;
    gap: 5px;
    min-width: 280px;
}
.equipment-search-form span,
.equipment-form span {
    color: #fff500;
    font-size: 12px;
    font-weight: 700;
}
.equipment-search-form strong {
    color: #dbeafe;
    margin-left: auto;
}
.equipment-workspace {
    display: grid;
    gap: 10px;
    grid-template-columns: 390px minmax(0, 1fr);
}
.equipment-list,
.equipment-detail {
    background: #000000;
    border: 1px solid #00ff21;
    border-radius: 8px;
    min-width: 0;
}
.equipment-list {
    max-height: calc(100vh - 260px);
    overflow: auto;
}
.equipment-list table {
    border-collapse: collapse;
    font-size: 12px;
    width: 100%;
}
.equipment-list th,
.equipment-list td {
    border-bottom: 1px solid #273244;
    padding: 8px;
    text-align: left;
}
.equipment-list th {
    background: #5e91e8;
    color: #ffffff;
    position: sticky;
    top: 0;
    z-index: 1;
}
.equipment-list tbody tr {
    cursor: pointer;
}
.equipment-list tr.selected td,
.equipment-list tr:hover td {
    background: #173456;
}
.equipment-list tr.active td {
    background: #113f27;
    box-shadow: inset 3px 0 0 #00ff21;
}
.equipment-list td:first-child {
    color: #00ff21;
    font-weight: 700;
    width: 76px;
}
.equipment-detail {
    padding: 12px;
}
.equipment-detail header {
    align-items: center;
    border-bottom: 1px solid #273244;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 12px;
    padding-bottom: 10px;
}
.equipment-detail h1 {
    color: #ffffff;
    font-size: 20px;
    margin: 2px 0 0;
}
.equipment-image-card {
    align-items: center;
    background: linear-gradient(145deg, #070d17, #101827);
    border: 1px solid #236a7e;
    border-radius: 8px;
    display: flex;
    height: 170px;
    justify-content: center;
    margin: 0 0 12px;
    max-width: 240px;
    overflow: hidden;
    position: relative;
    width: min(100%, 240px);
}
.equipment-form .equipment-image-card {
    align-self: start;
    grid-column: 1;
    grid-row: 1 / span 4;
    margin: 0;
    max-width: none;
    min-height: 170px;
    width: 100%;
}
.equipment-image-card::before {
    border: 1px solid rgba(0, 255, 33, .35);
    border-radius: 6px;
    content: "";
    inset: 8px;
    pointer-events: none;
    position: absolute;
}
.equipment-image-card img {
    display: none;
    height: 100%;
    object-fit: contain;
    padding: 14px;
    position: relative;
    width: 100%;
    z-index: 1;
}
.equipment-image-card span {
    color: #dbeafe;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    position: relative;
    z-index: 1;
}
.equipment-image-card.has-image img {
    display: block;
}
.equipment-image-card.has-image span {
    display: none;
}
.equipment-image-card.image-error span {
    color: #fff500;
}
.equipment-form {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.equipment-form label {
    display: grid;
    gap: 5px;
    min-width: 0;
}
.equipment-form .equipment-vin-field {
    cursor: help;
}
.equipment-form .wide {
    grid-column: span 2;
}
.equipment-form input,
.equipment-form textarea,
.equipment-search-form input {
    background: #0b1220;
    border: 1px solid #31445f;
    border-radius: 8px;
    color: #ffffff;
    width: 100%;
}
.equipment-form input:focus,
.equipment-form textarea:focus,
.equipment-search-form input:focus {
    border-color: #5ab7d8;
    box-shadow: 0 0 0 3px rgba(90, 183, 216, .16);
}
.equipment-form input:disabled,
.equipment-form textarea:disabled {
    background: #070d17;
    border-color: #233248;
    color: #d6e2f1;
    opacity: 1;
}
.equipment-form.is-editing input,
.equipment-form.is-editing textarea {
    border-color: #4b6f96;
}
.equipment-form-actions {
    align-items: center;
    display: flex;
    gap: 10px;
    grid-column: 1 / -1;
    justify-content: flex-end;
}
.equipment-form-actions button:disabled,
.equipment-form-actions .secondary-btn:disabled {
    cursor: not-allowed;
    opacity: .55;
}
.equipment-form-actions .btn-cancelar,
.equipment-form-actions .btn-cancelar:disabled {
    background: #e5533d;
    border: 1px solid #ff7a66;
    color: #ffffff;
    opacity: 1;
}
.vin-hover-card {
    background: #07111f;
    border: 1px solid #00ff44;
    border-radius: 10px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .48);
    color: #ffffff;
    display: block;
    max-width: calc(100vw - 16px);
    overflow: hidden;
    position: fixed;
    width: 380px;
    z-index: 9999;
}
.vin-hover-card.d-none {
    display: none !important;
}
.vin-hover-head {
    background: linear-gradient(180deg, #10385a 0%, #092033 100%);
    border-bottom: 1px solid #00ff44;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    padding: 10px 14px;
}
.vin-hover-body {
    color: #dbeafe;
    font-size: 12px;
    line-height: 1.45;
    padding: 12px 14px 14px;
}
.vin-hover-body .vin-ok,
.vin-hover-body .vin-bad,
.vin-hover-body .vin-warn {
    font-weight: 800;
    margin-bottom: 8px;
}
.vin-hover-body .vin-ok {
    color: #7ef59a;
}
.vin-hover-body .vin-bad {
    color: #ff8b78;
}
.vin-hover-body .vin-warn {
    color: #fff500;
}
.vin-hover-body .vin-row {
    margin: 3px 0;
}
.vin-hover-body .vin-code {
    color: #ffffff;
    font-family: Consolas, "Courier New", monospace;
    font-weight: 800;
    letter-spacing: .4px;
    word-break: break-all;
}
.vin-hover-body .vin-mini {
    color: #9fb7d5;
    font-size: 11px;
    margin-top: 8px;
}

.mov-page {
    color: #ffffff;
    display: grid;
    gap: 10px;
}
.mov-filter {
    align-items: end;
    background: #101827;
    border: 1px solid #00ff21;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: 110px 150px minmax(170px, 1fr) auto 130px 130px auto 150px auto minmax(210px, 1.2fr) auto;
    padding: 10px;
}
.mov-filter label {
    display: grid;
    gap: 5px;
    min-width: 0;
}
.mov-filter span {
    color: #fff500;
    font-size: 12px;
    font-weight: 700;
}
.mov-filter input,
.mov-filter select {
    background: #0b1220;
    border: 1px solid #31445f;
    border-radius: 8px;
    color: #ffffff;
    min-height: 38px;
    width: 100%;
}
.mov-filter input:focus,
.mov-filter select:focus {
    border-color: #5ab7d8;
    box-shadow: 0 0 0 3px rgba(90, 183, 216, .16);
}
.mov-filter .mov-check {
    align-items: center;
    display: flex;
    gap: 6px;
    min-height: 38px;
}
.mov-filter .mov-check input {
    min-height: auto;
    width: auto;
}
.mov-filter-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.mov-filter-actions .secondary-btn:disabled,
.mov-row-actions .secondary-btn:disabled {
    cursor: not-allowed;
    opacity: .55;
}
.mov-filter-actions .mov-action-btn-icon {
    width: 42px;
    height: 39px;
    padding: 0;
    gap: 0;
    flex: 0 0 auto;
    color: #e8f1fa;
    background: #1c2a3d;
    border-color: #3a5271;
}
.mov-filter-actions a.mov-action-btn-icon {
    text-decoration: none;
}
.mov-filter-actions .mov-action-btn-icon svg {
    display: block;
    flex: 0 0 auto;
}
.mov-filter-actions .mov-action-btn-icon:hover {
    color: #ffffff;
    background: #2a3f5c;
}
.mov-filter-actions button.mov-action-btn-icon[type="submit"] {
    width: 42px;
    border: 0;
    border-radius: 12px;
    min-height: 39px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #00bb29;
    cursor: pointer;
}
.mov-filter-actions button.mov-action-btn-icon[type="submit"]:hover {
    background: #009d22;
}
.mov-excel-export {
    position: relative;
    z-index: 90;
    display: flex;
    align-items: center;
    gap: 0;
}
.mov-columns-button {
    width: 44px;
    height: 39px;
    display: grid;
    place-items: center;
    gap: 3px;
    margin: 0;
    padding: 0;
    border: 1px solid #5ab7d8;
    border-right: 0;
    border-radius: 12px 0 0 12px;
    background: #16202f;
    cursor: pointer;
}
.mov-columns-button span {
    width: 16px;
    height: 2px;
    display: block;
    background: #c7d5e8;
    border-radius: 2px;
}
.mov-columns-button:hover { background: #22334a; }
.mov-columns-button:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(90, 183, 216, .35); }
.mov-excel-button {
    height: 39px;
    margin: 0;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #5ab7d8;
    border-left: 0;
    border-radius: 0 12px 12px 0;
    color: #0b1220;
    font-weight: 900;
    font-size: 12px;
    letter-spacing: .04em;
    background: #5fc56d;
    cursor: pointer;
}
.mov-excel-button:hover { background: #7cd487; }
.mov-columns-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 60;
    width: 280px;
    max-height: 420px;
    padding: 14px;
    overflow-y: auto;
    color: #dce8f5;
    background: #101827;
    border: 1px solid #31445f;
    border-radius: 12px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
}
.mov-columns-heading {
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #31445f;
}
.mov-columns-heading strong {
    display: block;
    color: #fff;
    font-size: 13px;
}
.mov-columns-heading small {
    display: block;
    margin-top: 2px;
    color: #93a8c0;
    font-size: 11px;
}
.mov-columns-panel label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 2px;
    color: #dce8f5;
    font-size: 13px;
    cursor: pointer;
}
.mov-columns-panel label input {
    width: auto;
    min-height: auto;
    margin: 0;
}
.mov-columns-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #31445f;
}
.mov-columns-actions button {
    flex: 1;
    margin: 0;
    padding: 7px;
    border: 0;
    border-radius: 8px;
    color: #0b1220;
    font-weight: 800;
    font-size: 11px;
    background: #5ab7d8;
    cursor: pointer;
}
.mov-columns-actions button:hover { background: #7cc6e2; }
.mov-panel {
    align-content: start;
    background: #000000;
    border-color: #00ff21;
    gap: 0;
    min-height: calc(100vh - 245px);
    padding: 10px 14px 14px;
}
.mov-panel .panel-heading {
    min-height: 32px;
    padding: 0 0 6px;
}
.mov-panel .panel-heading > div {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
}
.mov-panel .panel-heading .eyebrow {
    margin: 0;
}
.mov-totals {
    background: #8b4513;
    border: 1px solid #a76735;
    color: #ffffff;
    display: flex;
    flex-wrap: wrap;
    font-weight: 800;
    gap: 18px;
    min-height: 32px;
    padding: 6px 10px;
}
.mov-table-wrap {
    border-color: #273244;
    max-height: calc(100vh - 320px);
    margin-top: 0;
}
.mov-table {
    font-size: 12px;
    min-width: 1500px;
}
.mov-table th {
    background: #5e91e8;
    color: #ffffff;
    position: sticky;
    top: 0;
    z-index: 1;
}
.mov-table th a {
    color: #ffffff;
    display: block;
}
.mov-table th a:hover {
    color: #fff500;
}
.mov-table td {
    border-bottom-color: #273244;
    color: #ffffff;
}
.mov-table tbody tr:hover td {
    background: #173456;
}
.mov-row-actions {
    display: flex;
    gap: 5px;
    min-width: 92px;
    white-space: nowrap;
}
.mov-row-actions .mov-action-icon {
    align-items: center;
    display: inline-flex;
    font-size: 17px;
    height: 31px;
    justify-content: center;
    min-width: 36px;
    padding: 3px 7px;
}
.mov-status {
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    min-width: 86px;
    justify-content: center;
    padding: 5px 8px;
}
.mov-status.pending {
    background: #7bdc77;
    color: #082b12;
}
.mov-status.active {
    background: #4682b4;
}
.mov-status.cancelled {
    background: #708090;
}
.mov-order {
    color: #ffffff;
}
.mov-order-form {
    background: #000000;
    border: 1px solid #00ff21;
    border-radius: 8px;
    overflow: hidden;
}
.mov-order-title {
    align-items: center;
    background: #0c4a9b;
    display: grid;
    gap: 12px;
    grid-template-columns: 180px 1fr 180px;
    padding: 6px 12px;
}
.mov-order-title strong {
    font-size: 16px;
}
.mov-state-group label,
.mov-number-boxes label,
.mov-order-body label {
    display: grid;
    gap: 5px;
    min-width: 0;
}
.mov-order-title span,
.mov-order-body span {
    color: #084a96;
    font-size: 12px;
    font-weight: 800;
}
.mov-order-title span {
    color: #ffffff;
}
.mov-number-boxes {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr 1fr;
}
.mov-order input,
.mov-order select,
.mov-order textarea {
    background: #0b1220;
    border: 1px solid #31445f;
    border-radius: 8px;
    color: #ffffff;
    min-height: 36px;
    padding: 8px 10px;
    width: 100%;
}
.mov-order input[readonly] {
    background: #123a8a;
    text-align: center;
}
.mov-order textarea {
    resize: vertical;
}
.mov-order-body {
    background: #add8e6;
    color: #111827;
    display: grid;
    gap: 10px;
    padding: 12px;
}
.mov-equipo-box,
.mov-order-grid,
.mov-text-grid {
    display: grid;
    gap: 10px;
}
.mov-equipo-box {
    grid-template-columns: 1fr 1fr;
}
.mov-order-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
.mov-text-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mov-search-field {
    display: grid;
    gap: 5px;
    min-width: 0;
    position: relative;
}
.mov-search-line {
    display: grid;
    gap: 6px;
    grid-template-columns: minmax(0, 1fr) 38px;
}
.mov-search-line-3 {
    grid-template-columns: minmax(0, 1fr) 38px 38px;
}
.mov-icon-btn {
    align-items: center;
    background: #0c4a9b;
    border: 1px solid #07346e;
    border-radius: 8px;
    display: grid;
    min-height: 36px;
    padding: 0;
    place-items: center;
}
.mov-icon-btn:hover {
    background: #083a79;
}
.mov-clear-btn {
    background: #6b7280;
    border-color: #4b5563;
}
.mov-clear-btn:hover {
    background: #4b5563;
}
.mov-search-results {
    background: #07111f;
    border: 1px solid #0c4a9b;
    border-radius: 8px;
    box-shadow: 0 18px 32px rgba(0, 0, 0, .38);
    display: none;
    left: 0;
    max-height: 220px;
    overflow: auto;
    padding: 6px;
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    z-index: 30;
}
.mov-search-results.open {
    display: grid;
    gap: 4px;
}
.mov-search-results button {
    background: transparent;
    border-radius: 6px;
    color: #ffffff;
    min-height: 30px;
    padding: 6px 8px;
    text-align: left;
}
.mov-search-results button:hover {
    background: #0c4a9b;
}
.mov-signature-bar {
    background: #708090;
    border-top: 1px solid #517083;
    padding: 8px;
}
.mov-signature-bar .mov-search-field {
    max-width: 620px;
}
.mov-signature-bar span {
    color: #ffffff;
}
.mov-span-2 {
    grid-column: span 2;
}
.mov-order-actions {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}
.mov-order-actions .secondary-btn:disabled {
    cursor: not-allowed;
    opacity: .55;
}
.mov-order-form.is-readonly input,
.mov-order-form.is-readonly select,
.mov-order-form.is-readonly textarea {
    border-color: #6b7280;
    opacity: .86;
}
.mov-order-form.is-readonly .mov-icon-btn {
    cursor: not-allowed;
    opacity: .45;
}

/* Fuel Intake Specific Styles (WinForms Style) */
.fuel-index {
    background: #b7dde5;
    color: #0b2f35;
    min-height: calc(100vh - 140px);
    display: flex;
    flex-direction: column;
}

.fuel-header {
    background: #004f4f;
    color: #ffffff;
    display: flex;
    align-items: center;
    padding: 4px 12px;
    gap: 15px;
    height: 40px;
}

.fuel-header h1 {
    font-size: 14px;
    margin: 0;
    font-weight: 700;
    text-transform: uppercase;
    flex: 1;
}

.fuel-header .period-selector select {
    background: #fff;
    color: #000;
    border: 1px solid #000;
    font-size: 12px;
    padding: 2px 4px;
    height: 24px;
}

.fuel-close-btn {
    background: #cc1515;
    color: white;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 12px;
    cursor: pointer;
}

.fuel-filter-bar {
    background: #edf3f4;
    border-bottom: 1px solid #7c9aa0;
    padding: 6px 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    color: #153f46;
}

.fuel-new-btn-circle {
    background: #008329;
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 20px;
    font-weight: bold;
    border: 2px solid #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    cursor: pointer;
}

.fuel-filter-group {
    display: flex;
    align-items: center;
    gap: 5px;
}

.fuel-filter-group label,
.fuel-filter-group span {
    color: #153f46;
    font-weight: 700;
}

.fuel-filter-bar select, .fuel-filter-bar input {
    font-size: 11px;
    padding: 2px 4px;
    height: 24px;
    border: 1px solid #78959d;
    border-radius: 2px;
    background: #ffffff;
    color: #102f35;
}

.fuel-filter-bar select:disabled,
.fuel-filter-bar input:disabled {
    background: #d6e3e6;
    color: #36545a;
    opacity: 1;
}

.fuel-grid-container {
    flex: 1;
    overflow: auto;
    background: #d9f0f4;
    margin: 4px;
    border: 1px solid #0d6060;
}

.fuel-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

.fuel-table thead th {
    background: #004f4f;
    color: white;
    text-align: left;
    padding: 4px 8px;
    position: sticky;
    top: 0;
    border-right: 1px solid #fff;
}

.fuel-table thead th a {
    color: #ffffff;
    text-decoration: none;
}

.fuel-table tbody tr:nth-child(odd) { background: #e6f9e9; }
.fuel-table tbody tr:nth-child(even) { background: #eef8ff; }

.fuel-table tbody tr:hover {
    background: #cceee9;
}

.fuel-table td {
    padding: 3px 8px;
    border-right: 1px solid #c5d6db;
    border-bottom: 1px solid #d5e4e8;
    white-space: nowrap;
    color: #0f2f33;
    font-weight: 600;
}

.fuel-status { font-weight: bold; }
.fuel-status.pendiente { color: #16803c; }
.fuel-status.activo { color: #155eef; }
.fuel-status.anulado { color: #5f6b7a; }

.fuel-action-col {
    width: 30px;
    text-align: center;
    padding: 2px !important;
}

.fuel-action-btn {
    display: inline-block;
    width: 22px;
    height: 22px;
    cursor: pointer;
    border: 1px solid #7c9aa0;
    background: #ffffff;
    line-height: 20px;
    text-align: center;
    color: #0f4f55;
    text-decoration: none;
}

.fuel-action-btn:hover {
    background: #cdeff2;
    border-color: #0f6b73;
}

.fuel-totals-bar {
    background: #004f4f;
    color: #fff;
    padding: 4px 12px;
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 11px;
    font-weight: bold;
}

.fuel-totals-bar .status-total {
    display: flex;
    gap: 10px;
}

.fuel-report-btn {
    align-items: center;
    border-radius: 2px;
    display: inline-flex;
    height: 22px;
    padding: 0 10px;
    text-decoration: none;
}

.maintenance-index {
    background: #b2dceb;
}

.maintenance-header {
    background: #1f6fb2;
}

.maintenance-filter-bar {
    background: #82c8eb;
    border-bottom-color: #0c83b5;
}

.maintenance-filter-form {
    background: transparent;
    border: 0;
    flex: 1;
    padding: 0;
}

.maintenance-number-input {
    width: 130px;
}

.maintenance-wide-select {
    min-width: 210px;
}

.maintenance-filter-button {
    border-radius: 2px;
    min-height: 24px;
}

.maintenance-grid {
    background: #b2dceb;
    border-color: #04c8df;
}

.maintenance-table thead th {
    background: #006eb8;
}

.maintenance-table tbody tr:nth-child(odd) {
    background: #d9f2fb;
}

.maintenance-table tbody tr:nth-child(even) {
    background: #bce2f1;
}

.maintenance-table tbody tr:hover {
    background: #96caf0;
}

.maintenance-table td {
    color: #082f49;
}

.maintenance-empty {
    color: #17455c;
    font-weight: 700;
    padding: 20px;
    text-align: center;
}

.maintenance-footer {
    background: #1f6fb2;
}

.maintenance-footer-totals {
    display: flex;
    gap: 20px;
    margin-left: auto;
}

/* Modal / Order Dialog */
.fuel-dialog-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.fuel-dialog {
    width: 620px;
    background: #afd9e3;
    border: 2px solid #005758;
    box-shadow: 5px 5px 15px rgba(0,0,0,0.3);
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 40px);
    min-width: 0;
}

.fuel-dialog-header {
    background: #004f4f;
    color: #fff;
    padding: 4px 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.fuel-dialog-header .status-tag {
    background: #fff;
    color: #004f4f;
    padding: 1px 6px;
    font-weight: bold;
    font-size: 11px;
}

.fuel-dialog-header h2 {
    font-size: 13px;
    margin: 0;
    flex: 1;
}

.fuel-dialog-header .number-info {
    font-size: 11px;
    display: flex;
    gap: 8px;
}

.fuel-dialog-body {
    padding: 15px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    font-size: 12px;
    color: #0f2f33;
    min-width: 0;
    overflow: auto;
}

.fuel-field {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    position: relative;
}

.fuel-field label { font-weight: bold; color: #0a3f55; }

.fuel-field input, .fuel-field select, .fuel-field textarea {
    border: 1px solid #6f99a3;
    box-sizing: border-box;
    padding: 4px 6px;
    font-size: 12px;
    background: #eaf8fb;
    color: #0f2f33;
    border-radius: 5px;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.fuel-field input:focus,
.fuel-field select:focus,
.fuel-field textarea:focus {
    border-color: #0f6b73;
    box-shadow: 0 0 0 2px rgba(15, 107, 115, .16);
    outline: none;
}

.fuel-dialog-body.is-readonly input,
.fuel-dialog-body.is-readonly select,
.fuel-dialog-body.is-readonly textarea,
.fuel-field input:read-only {
    background: #eef3f4;
    color: #253f45;
    opacity: 1;
}

.fuel-field.full { grid-column: span 2; }

.fuel-field-row {
    display: flex;
    gap: 5px;
    align-items: center;
    min-width: 0;
}

.fuel-field-row input,
.fuel-field-row select {
    flex: 1 1 auto;
    min-width: 0;
}

.fuel-small-btn {
    padding: 2px 6px;
    min-height: 24px;
    border-radius: 2px;
    font-size: 11px;
}

.fuel-dialog-footer {
    padding: 10px 15px;
    border-top: 1px solid #7c9aa0;
    display: flex;
    justify-content: center;
    gap: 20px;
}

.electronic-sign-btn {
    align-items: center;
    background: #f4f7fb;
    border: 1px solid #a8b5c5;
    border-radius: 4px;
    color: #17394a;
    cursor: pointer;
    display: inline-flex;
    font-size: 23px;
    height: 36px;
    justify-content: center;
    min-width: 42px;
    padding: 3px 7px;
}

.electronic-sign-btn:hover {
    background: #dcecff;
    border-color: #4b87c5;
}

.electronic-sign-btn span {
    line-height: 1;
}

.fuel-big-btn {
    min-width: 120px;
    height: 40px;
    font-size: 14px;
    border-radius: 4px;
    align-items: center;
    display: inline-flex;
    justify-content: center;
    text-decoration: none;
}

.fuel-print-btn {
    background: #004f4f;
    color: #ffffff;
}

.fuel-print-btn:hover {
    background: #00666a;
    color: #ffffff;
}

/* Egreso: las ventanas pertenecen al escritorio, debajo de module-strip. */
.tx-content:has(> .fuel-egress-overlay),
.tx-content:has(> .fuel-egreso-pdf-desktop-v7:not([hidden])) {
    overflow: clip;
}

.fuel-egress-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
    padding: 8px;
    overflow: hidden;
    background: rgba(0, 0, 0, .5);
    z-index: 1000;
}
.fuel-egress-dialog {
    background: #eaf9e9;
    border-color: #16803c;
    border-radius: 12px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .38);
    overflow: hidden;
    width: min(860px, 100%);
    max-height: 100%;
    min-height: 0;
    box-sizing: border-box;
}

.fuel-egress-dialog .fuel-dialog-header {
    flex-shrink: 0;
    flex-wrap: wrap;
    background: linear-gradient(90deg, #8bc98b, #087d19);
    min-height: 38px;
    padding: 5px 10px;
}

.fuel-egress-dialog .fuel-dialog-header .status-tag {
    background: #b6f0af;
    border-left: 4px solid #14862b;
    color: #08731c;
    font-size: 12px;
    padding: 5px 10px;
}

.fuel-egress-dialog .fuel-dialog-header h2 {
    color: #075f18;
    font-size: 14px;
}

.fuel-egress-dialog .number-info span {
    background: #087d19;
    border-radius: 5px;
    color: #fff;
    padding: 4px 7px;
}

.fuel-egress-dialog .fuel-close-btn {
    background: #07851a;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 5px;
    color: #fff;
    font-size: 17px;
    height: 28px;
    line-height: 1;
    padding: 0;
    text-align: center;
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
    width: 32px;
}

.fuel-egress-dialog .fuel-close-btn:hover,
.fuel-egress-dialog .fuel-close-btn:focus-visible {
    background: #ff6347;
    border-color: #fff;
    box-shadow: 0 2px 7px rgba(94, 25, 12, .42);
    color: #fff;
    outline: none;
    transform: scale(1.06);
}

.fuel-egress-dialog form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
}

.fuel-egress-body {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    background: #eaf9e9;
    gap: 7px 10px;
    min-height: 0;
    max-height: none;
    padding: 9px 14px;
}

.fuel-egress-body .fuel-field label {
    color: #174c25;
    font-size: 11px;
}

.fuel-egress-body .fuel-field input,
.fuel-egress-body .fuel-field select,
.fuel-egress-body .fuel-field textarea {
    background: #f8fbf8;
    border-color: #4d8b57;
    border-radius: 6px;
    min-height: 31px;
    padding: 4px 7px;
}

.fuel-egress-body .fuel-field.full {
    grid-column: 1 / -1;
}

.fuel-egress-panel,
.fuel-egress-strip {
    background: #d8efd7;
    border: 1px solid #4c8754;
    border-radius: 9px;
    display: grid;
    gap: 6px 9px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 8px 10px;
}

.fuel-destination-heading {
    align-items: center;
    background: #07550b;
    border-radius: 7px;
    color: #fff36a;
    display: flex;
    grid-column: 1 / -1;
    justify-content: space-between;
    min-height: 36px;
    padding: 4px 7px 4px 12px;
}

.fuel-destination-actions {
    align-items: center;
    display: flex;
    gap: 4px;
}

.fuel-destination-icon {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 20px;
    height: 29px;
    justify-content: center;
    min-width: 32px;
    padding: 2px 5px;
    text-decoration: none;
}

.fuel-destination-icon:hover,
.fuel-destination-icon:focus-visible {
    background: rgba(255, 255, 255, .18);
    color: #fff36a;
    outline: 1px solid rgba(255, 255, 255, .65);
}

.fuel-destinations-page {
    background: #eaf9e9;
    color: #153d20;
    min-height: 100%;
    padding: 18px;
}
.fuel-destinations-page > header {
    align-items: center;
    background: linear-gradient(90deg, #07550b, #159133);
    border-radius: 10px;
    color: #fff;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    padding: 12px 16px;
}
.fuel-destinations-page h1 { font-size: 20px; margin: 0; }
.fuel-destinations-page p { margin: 3px 0 0; }
.fuel-destination-form {
    align-items: end;
    background: #d4eed4;
    border: 1px solid #5c9865;
    border-radius: 9px;
    display: grid;
    gap: 10px;
    grid-template-columns: 140px 2fr 1.5fr;
    margin-bottom: 12px;
    padding: 12px;
}
.fuel-destination-form label { display: grid; font-size: 12px; font-weight: 700; gap: 3px; }
.fuel-destination-form input,
.fuel-destination-form select { min-height: 34px; }
.fuel-destination-form .wide { grid-column: 1 / 3; }
.fuel-destination-form-actions { display: flex; gap: 8px; justify-content: flex-end; }
.fuel-destination-table-wrap { max-height: calc(100vh - 285px); overflow: auto; }
.fuel-destination-row-actions { display: flex; gap: 7px; justify-content: center; }
.fuel-destination-row-actions form { margin: 0; }
.fuel-destination-row-actions a,
.fuel-destination-row-actions button { background: #fff; border: 1px solid #82a989; border-radius: 5px; cursor: pointer; padding: 3px 6px; text-decoration: none; }
.fuel-field-row .fuel-person-id { background: #eef5ee; flex: 0 0 108px; max-width: 108px; }
.fuel-field-row #choferSearchInput { flex: 1 1 0; min-width: 0; }
.fuel-egress-body .fuel-conductor-field {
    grid-column: span 2;
    order: 1;
}
.fuel-egress-body .fuel-type-field {
    grid-column: span 1;
    order: 2;
}
.fuel-egress-body .fuel-project-field {
    grid-column: 1 / -1;
    order: 3;
}
.fuel-egress-body .fuel-project-field ~ .fuel-field:not(.fuel-type-field),
.fuel-egress-body .fuel-project-field ~ .fuel-egress-strip {
    order: 4;
}
.fuel-search-filter {
    border: 0;
    border-bottom: 1px solid #8eb7c0;
    border-radius: 0;
    display: block;
    margin: 0;
    min-height: 34px;
    padding: 6px 9px;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 2;
}
.fuel-person-search-btn,
.fuel-inline-icon {
    align-items: center;
    background: #f4faf4;
    border: 1px solid #559062;
    border-radius: 5px;
    color: #163d20;
    cursor: pointer;
    display: inline-flex;
    font-size: 17px;
    height: 31px;
    justify-content: center;
    min-width: 34px;
    padding: 3px 6px;
    text-decoration: none;
}
.fuel-person-search-btn:hover,
.fuel-inline-icon:hover { background: #cde8cf; color: #08731c; }
.fuel-inline-message { color: #08731c; min-height: 14px; }
.fuel-inline-message.error { color: #b42318; }
.fuel-project-form { grid-template-columns: 2fr 180px 220px; }
.fuel-project-summary {
    align-items: center;
    background: #d5ead7;
    border: 1px solid #6a9d72;
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr auto auto;
    margin-bottom: 8px;
    padding: 7px;
}
.fuel-project-summary input { min-height: 32px; }
.fuel-project-summary strong { background: #25d92e; color: #08380d; padding: 7px 18px; }
.fuel-table tr.active-project td { background: #39f148; color: #06440b; font-weight: 700; }
.fuel-project-field { position: relative; }
.fuel-project-results {
    left: 0;
    max-height: min(420px, 55vh);
    right: 76px;
    top: 54px;
    width: auto;
    z-index: 50;
}
.fuel-project-results button { white-space: normal; }

.fuel-egress-strip {
    background: #f2faf1;
    border-radius: 7px;
}

.fuel-egress-dialog .fuel-dialog-footer {
    flex-shrink: 0;
    flex-wrap: wrap;
    background: #c9e7c8;
    border-top-color: #6ba272;
    gap: 8px;
    justify-content: flex-end;
    padding: 8px 14px;
}

.fuel-egress-dialog .fuel-big-btn {
    height: 34px;
    min-width: 112px;
}

.fuel-egress-dialog .fuel-print-btn,
.fuel-egress-dialog .primary-btn {
    background: #087d54;
}

.fuel-egress-results {
    max-width: min(420px, calc(100vw - 90px));
    width: 100%;
}

@media (max-width: 1100px) {
    .tx-shell {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto 1fr auto;
        overflow: auto;
    }
    .tx-sidebar {
        grid-row: auto;
    }
    .module-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .sidebar-lower {
        margin-top: 0;
    }
    .tx-main {
        grid-row: auto;
    }
    .desktop-dashboard {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    .fuel-card,
    .inventory-card,
    .people-card,
    .equipment-card,
    .connected-card {
        grid-column: auto;
        grid-row: auto;
        min-height: 180px;
    }
    .equipment-workspace {
        grid-template-columns: 1fr;
    }
    .mov-filter {
        grid-template-columns: 1fr;
    }
    .mov-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .mov-order-title,
    .mov-equipo-box,
    .mov-order-grid,
    .mov-text-grid {
        grid-template-columns: 1fr;
    }
    .mov-span-2 {
        grid-column: auto;
    }
    .equipment-form {
        grid-template-columns: 1fr;
    }
    .equipment-form .equipment-image-card {
        grid-column: auto;
        grid-row: auto;
        max-width: 240px;
    }
    .equipment-form .wide {
        grid-column: auto;
    }
    .fuel-egress-body,
    .fuel-egress-panel,
    .fuel-egress-strip {
        grid-template-columns: 1fr;
    }
    .fuel-egress-body .fuel-field.full {
        grid-column: auto;
    }
}

/* ==========================================================================
   MAINTENANCE ORDERS (MODAL/WINDOW STYLE)
   ========================================================================== */

.maintenance-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(16, 21, 33, 0.85); /* Semi-transparent over the shell */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

.maintenance-window {
    width: 760px;
    background: #d7d7d7;
    border: 2px solid #3f3f3f;
    box-shadow: 0 15px 40px rgba(0,0,0,0.6);
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 60px);
    font-family: 'Segoe UI', Arial, sans-serif;
    animation: maintenanceFadeIn 0.2s ease-out;
}

@keyframes maintenanceFadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.maintenance-window-titlebar {
    background: #3f3f3f;
    color: #ffffff;
    padding: 6px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 38px;
    flex-shrink: 0;
}

.maintenance-status-button {
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 4px;
    font-size: 10px;
    font-weight: 800;
    padding: 3px 10px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s;
    outline: none;
}

.maintenance-status-button.PENDIENTE { background: #4caf50; color: #fff; }
.maintenance-status-button.ACTIVO { background: #4682b4; color: #fff; }
.maintenance-status-button.ANULADO { background: #708090; color: #fff; }

.maintenance-title {
    font-size: 14px;
    font-weight: 700;
    margin: 0;
    flex: 1;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.maintenance-order-number {
    font-size: 12px;
    font-weight: 700;
    color: #fff500;
    font-family: 'Consolas', monospace;
}

.maintenance-close {
    color: #ffffff;
    font-size: 20px;
    font-weight: 800;
    cursor: pointer;
    margin-left: 15px;
    line-height: 1;
    text-decoration: none;
    display: flex;
    align-items: center;
}
.maintenance-close:hover { color: #fff500; }

.maintenance-window-body {
    padding: 12px;
    overflow-y: auto;
    background: #d7d7d7;
}

/* Equipment Panel */
.maintenance-equipment-panel {
    display: grid;
    grid-template-columns: 210px 1fr;
    gap: 15px;
    background: #e1e1e1;
    border: 1px solid #b0b0b0;
    padding: 10px;
    margin-bottom: 12px;
    border-radius: 4px;
}

.maintenance-photo-box {
    background: #ffffff;
    border: 1px solid #999;
    height: 180px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px;
    box-shadow: inset 0 0 5px rgba(0,0,0,0.1);
}
.maintenance-photo-box img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.maintenance-equipment-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 12px;
    font-size: 11px;
}

.maintenance-summary-item {
    display: flex;
    flex-direction: column;
}

.maintenance-summary-item label {
    font-weight: 800;
    color: #004d40;
    border-bottom: 1px solid #b0b0b0;
    margin-bottom: 2px;
    text-transform: uppercase;
    font-size: 10px;
}

.maintenance-summary-item span {
    color: #222;
    min-height: 15px;
}

/* Fields */
.maintenance-field-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 12px;
}

.maintenance-field {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.maintenance-field.wide { grid-column: span 2; }
.maintenance-field.full { grid-column: span 4; }

.maintenance-field label {
    font-size: 11px;
    font-weight: 800;
    color: #1a1a1a;
    text-transform: uppercase;
}

.maintenance-input, .maintenance-select, .maintenance-textarea {
    border: 1px solid #2f7d32;
    background: #ffffff;
    padding: 5px 8px;
    font-size: 12px;
    outline: none;
    border-radius: 2px;
    width: 100%;
}
.maintenance-input:focus, .maintenance-select:focus, .maintenance-textarea:focus {
    border-color: #1b5e20;
    box-shadow: 0 0 3px rgba(47, 125, 50, 0.5);
}

.maintenance-input[readonly], .maintenance-select:disabled, .maintenance-textarea[readonly] {
    background: #f0f0f0;
    border-color: #a0a0a0;
    color: #555;
}

/* Rubros Table */
.maintenance-rubros-panel {
    border: 1px solid #3f3f3f;
    background: #ffffff;
    margin-bottom: 12px;
    border-radius: 2px;
    overflow: hidden;
}

.maintenance-rubros-header {
    background: #202020;
    color: #ffffff;
    padding: 5px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.maintenance-rubros-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

.maintenance-rubros-table thead th {
    background: #333;
    color: #fff;
    padding: 5px 10px;
    text-align: left;
    border-right: 1px solid #444;
}

.maintenance-rubros-table tbody td {
    border-bottom: 1px solid #ddd;
    padding: 0; /* Remove padding to let inputs fill */
}

.maintenance-rubros-table input {
    border: 0 !important;
    background: transparent;
    padding: 6px 10px;
    width: 100%;
    border-radius: 0;
}
.maintenance-rubros-table input:focus { background: #e8f5e9; }

.maintenance-rubros-table .cost-col { width: 110px; }
.maintenance-rubros-table .action-col { width: 40px; text-align: center; }

/* Footer */
.maintenance-footer {
    background: #3f3f3f;
    padding: 10px 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    flex-shrink: 0;
}

.maintenance-footer-data {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.maintenance-signature-line {
    font-size: 10px;
    color: #ccc;
}
.maintenance-signature-line strong { color: #fff; font-size: 11px; }

.maintenance-footer-actions {
    display: flex;
    gap: 8px;
}

.m-btn {
    border: 0;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 16px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}

.m-btn-save { background: #2f7d32; color: #fff; border-bottom: 3px solid #1b5e20; }
.m-btn-save:hover { background: #388e3c; }

.m-btn-print { background: #1976d2; color: #fff; border-bottom: 3px solid #0d47a1; }
.m-btn-print:hover { background: #1e88e5; }

.m-btn-cancel { background: #757575; color: #fff; border-bottom: 3px solid #616161; }
.m-btn-cancel:hover { background: #9e9e9e; }

.m-btn-add {
    background: #00897b;
    color: #fff;
    padding: 3px 8px;
    font-size: 10px;
}

.m-btn-remove {
    color: #d32f2f;
    font-size: 16px;
    padding: 0;
    background: transparent;
}

.m-total-label {
    font-size: 14px;
    font-weight: 800;
    color: #fff500;
}


/* ==========================================================================
   FUEL KARDEX (DESKTOP WINDOW STYLE)
   ========================================================================== */

.kardex-fuel-overlay {
    background: rgba(16, 21, 33, 0.7);
    padding: 20px;
    min-height: calc(100vh - 140px);
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.kardex-fuel-window {
    width: 100%;
    max-width: 1200px;
    background: #e9e4d1; /* Beige background */
    border: 2px solid #5d4037; /* Brown border */
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    display: flex;
    flex-direction: column;
    font-family: 'Segoe UI', Arial, sans-serif;
}

.kardex-fuel-header {
    background: #5d4037;
    color: #ffffff;
    padding: 8px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.kardex-fuel-header h2 {
    font-size: 16px;
    font-weight: 800;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.kardex-fuel-close {
    color: #ffffff;
    font-size: 24px;
    font-weight: 800;
    text-decoration: none;
    line-height: 1;
}
.kardex-fuel-close:hover { color: #ffeb3b; }

.kardex-fuel-toolbar {
    background: #8d6e63;
    padding: 10px 15px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 15px;
    border-bottom: 1px solid #5d4037;
}

.kardex-fuel-toolbar label {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
}

.kardex-fuel-select, .kardex-fuel-input {
    background: #ffffff;
    border: 1px solid #5d4037;
    border-radius: 2px;
    padding: 4px 8px;
    font-size: 12px;
    outline: none;
    height: 30px;
}

.kardex-fuel-button {
    background: #3e2723;
    color: #fff;
    border: 1px solid #1b1210;
    border-radius: 4px;
    padding: 0 15px;
    height: 30px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-transform: uppercase;
}
.kardex-fuel-button:hover { background: #4e342e; }
.kardex-fuel-button.print { background: #1565c0; border-color: #0d47a1; }
.kardex-fuel-button.print:hover { background: #1976d2; }

.kardex-fuel-grid-wrap {
    background: #ffffff;
    margin: 10px;
    border: 1px solid #5d4037;
    max-height: 60vh;
    overflow: auto;
}

.kardex-fuel-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
    white-space: nowrap;
}

.kardex-fuel-table thead tr:first-child th {
    background: #5d4037;
    color: #fff;
    padding: 5px;
    border: 1px solid #3e2723;
    text-align: center;
}

.kardex-fuel-table thead tr:last-child th {
    background: #d7ccc8;
    color: #3e2723;
    padding: 3px 8px;
    border: 1px solid #a1887f;
    text-align: center;
}

.kardex-fuel-table td {
    padding: 4px 8px;
    border: 1px solid #d7ccc8;
    color: #333;
}

.kardex-row-anterior { background: #1b5e20 !important; color: #fff !important; font-weight: 700; }
.kardex-row-anterior td { color: #fff !important; }

.kardex-row-ingreso { background: #e3f2fd !important; }
.kardex-row-egreso { background: #fff8e1 !important; }

.kardex-negative { color: #d32f2f !important; font-weight: 700; }

.kardex-fuel-footer-totals {
    background: #5d4037;
    color: #fff;
    padding: 8px 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    font-weight: 700;
}

.kardex-total-item {
    display: flex;
    gap: 10px;
}
.kardex-total-item span { color: #ffeb3b; }



.kardex-window {
    background: #5d4037;
    color: #000;
    min-height: calc(100vh - 140px);
    display: flex;
    flex-direction: column;
    border: 1px solid #333;
    font-family: \"Segoe UI\", Tahoma, Geneva, Verdana, sans-serif;
}

.kardex-header {
    background: #5d4037;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 2px 10px;
    height: 32px;
    border-bottom: 1px solid #ffffff;
}

.kardex-title-group {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.kardex-icon {
    background: #1155cc;
    color: #fff;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    font-size: 14px;
    font-weight: bold;
}

.kardex-header h1 {
    font-size: 13px;
    margin: 0;
    font-weight: 800;
    color: #1155cc;
    letter-spacing: 0.5px;
}

.kardex-schema-info {
    font-size: 11px;
    font-weight: bold;
    margin-right: 20px;
}

.kardex-close-x {
    background: #f26522;
    color: #fff;
    width: 22px;
    height: 20px;
    display: grid;
    place-items: center;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
    border: 1px solid #000;
}

.kardex-toolbar {
    background: #5d4037;
    padding: 8px 12px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    border-bottom: 1px solid #ffffff;
}

.kardex-toolbar-row {
    display: flex;
    align-items: center;
    gap: 20px;
}

.kardex-toolbar-divider {
    height: 1px;
    background: #ffffff;
    margin: 2px 0;
}

.kardex-field {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: bold;
    color: #fff;
}

.kardex-field select {
    padding: 1px 4px;
    border: 1px solid #000;
    background: #fff;
    color: #000;
    height: 22px;
    min-width: 100px;
}

.kardex-actions {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.kardex-btn {
    height: 26px;
    min-width: 90px;
    padding: 0 10px;
    background: #e1e1e1;
    border: 1px solid #777;
    color: #000;
    font-size: 11px;
    font-weight: bold;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
    box-shadow: inset 1px 1px 0 #fff;
}

.kardex-btn:hover {
    background: #d4d4d4;
}

.kardex-btn .btn-icon {
    font-size: 14px;
}

.kardex-table-wrap {
    flex: 1;
    overflow: auto;
    background: #fff;
    border-top: 1px solid #000;
}

.kardex-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
    color: #000;
}

.kardex-table th {
    background: #e1e1e1;
    color: #000;
    padding: 2px 4px;
    text-align: center;
    border: 1px solid #777;
    position: sticky;
    top: 0;
    z-index: 10;
    font-weight: bold;
    box-shadow: inset 1px 1px 0 #fff;
}

.kardex-table th[colspan] {
    height: 20px;
}

.kardex-table td {
    padding: 2px 6px;
    border: 1px solid #ccc;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.row-anterior {
    background: #2e7d32 !important;
    color: #ffffff !important;
    font-weight: bold;
}

.row-ingreso {
    background: #4682b4 !important;
    color: #ffffff !important;
}

.row-egreso {
    background: #f5f5dc !important;
    color: #000000 !important;
}

.negativo-bg {
    background: #cc1515 !important;
    color: #ffffff !important;
}

.text-right { text-align: right; }
.text-center { text-align: center; }

.kardex-footer {
    background: #5d4037;
    color: #fff;
    padding: 4px 15px;
    display: flex;
    gap: 40px;
    font-size: 12px;
    border-top: 1px solid #ffffff;
}

.kardex-stat strong {
    font-size: 14px;
    margin-left: 5px;
    color: #fff500;
}

.kardex-alert {
    padding: 6px 12px;
    margin: 4px;
    border-radius: 2px;
    font-size: 12px;
    font-weight: bold;
    border: 1px solid #000;
}
.kardex-alert.success { background: #d4edda; color: #155724; }
.kardex-alert.danger { background: #f8d7da; color: #721c24; }

/* Administracion de usuarios */
.users-admin { display: grid; grid-template-columns: 285px minmax(0, 1fr); gap: 14px; min-height: 560px; }
.users-search-panel, .users-editor { background: #eef0f3; border: 1px solid #aab1bb; border-radius: 5px; overflow: hidden; }
.users-section-title { background: #c94708; color: #fff500; padding: 10px 14px; font-weight: 700; }
.users-search { display: grid; grid-template-columns: 1fr auto; gap: 7px; padding: 12px; border-bottom: 1px solid #c4c9d0; }
.users-search input { grid-column: 1 / -1; }
.users-search button, .users-search a, .users-actions button { border: 1px solid #fff; background: #c94708; color: #fff; padding: 8px 12px; text-decoration: none; cursor: pointer; }
.users-search a { background: #5b6573; text-align: center; }
.users-results { max-height: 495px; overflow: auto; }
.users-results a { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; color: #263448; text-decoration: none; border-bottom: 1px solid #d4d8dd; }
.users-results a:hover, .users-results a.active { background: #263448; color: #fff; box-shadow: inset 4px 0 #ff5a1f; }
.users-results span { font-size: .78rem; opacity: .75; }
.users-empty { padding: 20px; color: #667; }
.users-editor { padding: 12px; background: #d7d9dc; }
.users-placeholder { min-height: 480px; display: grid; place-content: center; text-align: center; gap: 8px; color: #56616f; }
.users-placeholder strong { font-size: 1.4rem; }
.users-card { background: #f9efe6; border: 1px solid #bb4109; border-radius: 10px; overflow: hidden; margin-bottom: 10px; }
.users-person-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 16px; padding: 12px; }
.users-person-grid label { display: grid; grid-template-columns: 105px minmax(0, 1fr); align-items: center; gap: 8px; }
.users-person-grid label > span:first-child { color: #111; }
.users-person-grid label.wide { grid-column: 1 / -1; }
.users-person-grid input, .users-person-grid select { min-width: 0; width: 100%; padding: 7px 9px; border: 1px solid #75808d; border-radius: 5px; background: #fffaf5; }
.users-person-grid input[readonly] { background: #e7e7e7; }
.password-field { display: grid; grid-template-columns: 1fr auto; }
.password-field button { border: 0; background: transparent; cursor: pointer; }
.access-title { display: flex; justify-content: space-between; align-items: center; }
.access-title label { display: flex; align-items: center; gap: 6px; font-size: .82rem; color: #fff; }
.access-layout { display: grid; grid-template-columns: 145px minmax(0, 1fr); min-height: 285px; }
.access-tabs { background: #263448; display: flex; flex-direction: column; }
.access-tabs button { padding: 14px 10px; border: 0; background: transparent; color: #b8c9da; cursor: pointer; text-align: center; }
.access-tabs button:hover, .access-tabs button.active { color: #fff; background: #1d2736; box-shadow: inset 4px 0 #4b75ff; }
.access-groups { padding: 15px 18px; }
.access-group { display: none; grid-template-columns: repeat(2, minmax(200px, 1fr)); gap: 12px 24px; }
.access-group.active { display: grid; }
.access-group label { display: flex; align-items: center; gap: 7px; color: #111; }
.access-group label > span { color: #111; }
.access-group input { width: 17px; height: 17px; accent-color: #c94708; }
.access-group b { font-weight: 500; color: #8a2c08; }
.users-actions { display: flex; justify-content: flex-end; gap: 6px; }
.users-actions button.danger { background: #a11f18; }
@media (max-width: 900px) {
    .users-admin { grid-template-columns: 1fr; }
    .users-results { max-height: 220px; }
}
@media (max-width: 650px) {
    .users-person-grid { grid-template-columns: 1fr; }
    .users-person-grid label, .users-person-grid label.wide { grid-column: 1; grid-template-columns: 1fr; }
    .access-layout { grid-template-columns: 1fr; }
    .access-tabs { flex-direction: row; overflow-x: auto; }
    .access-group { grid-template-columns: 1fr; }
}

/* Firma electronica por usuario */
.signature-admin { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 14px; min-height: 540px; }
.signature-users, .signature-editor { border: 1px solid #aab1bb; border-radius: 5px; background: #eef0f3; overflow: hidden; }
.signature-editor { padding: 18px; }
.signature-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px; background: #263448; color: #fff; border-radius: 8px 8px 0 0; }
.signature-heading > div { display: grid; gap: 4px; }
.signature-heading span, .signature-heading small { color: #c9d4e1; }
.signature-heading strong { font-size: 1.25rem; }
.signature-status { padding: 8px 13px; border-radius: 999px; background: #687381; color: #fff !important; font-weight: 800; }
.signature-status.status-valida { background: #218739; }
.signature-status.status-caducada, .signature-status.status-error { background: #ad2019; }
.signature-status.status-aun-no-vigente { background: #b26a00; }
.signature-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #c9ced5; border: 1px solid #c9ced5; }
.signature-details > div { display: grid; gap: 5px; padding: 14px; background: #fff9f4; color: #111; }
.signature-details > div.wide { grid-column: 1 / -1; }
.signature-details span { font-size: .78rem; color: #66717e; text-transform: uppercase; }
.signature-thumbprint { overflow-wrap: anywhere; font-family: Consolas, monospace; font-size: .82rem; }
.signature-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; padding: 18px; border: 1px solid #c94708; border-radius: 8px; background: #fff9f4; }
.signature-form label { display: grid; gap: 7px; color: #111; }
.signature-form .wide { grid-column: 1 / -1; }
.signature-form input { padding: 9px; border: 1px solid #7b8591; border-radius: 5px; background: #fff; color: #111; }
.signature-actions { display: flex; justify-content: flex-end; gap: 8px; }
.signature-actions button { padding: 9px 14px; border: 1px solid #fff; border-radius: 5px; background: #c94708; color: #fff; cursor: pointer; }
.signature-actions button:nth-child(2) { background: #24733b; }
.signature-actions button.danger { background: #a11f18; }
.signature-owner-note { margin: 12px 0 0; padding: 10px 12px; border-radius: 5px; background: #fff4d8; color: #6e4b00; text-align: right; }
.signature-delete-dialog { width: min(470px, calc(100% - 32px)); padding: 0; border: 1px solid #a11f18; border-radius: 9px; box-shadow: 0 18px 60px rgba(0, 0, 0, .45); color: #111; }
.signature-delete-dialog::backdrop { background: rgba(10, 18, 29, .7); }
.signature-delete-dialog form { display: grid; gap: 14px; padding: 18px; background: #fff9f4; }
.signature-delete-title { margin: -18px -18px 0; padding: 13px 18px; background: #a11f18; color: #fff; font-size: 1.05rem; font-weight: 800; }
.signature-delete-dialog p { margin: 0; color: #222; }
.signature-delete-dialog label { display: grid; gap: 7px; color: #111; font-weight: 700; }
.signature-delete-dialog input { padding: 9px; border: 1px solid #697583; border-radius: 5px; color: #111; background: #fff; }
.signature-delete-actions { display: flex; justify-content: flex-end; gap: 8px; }
.signature-delete-actions button { padding: 9px 13px; border: 0; border-radius: 5px; background: #647080; color: #fff; cursor: pointer; }
.signature-delete-actions button.danger { background: #a11f18; }
@media (max-width: 850px) {
    .signature-admin { grid-template-columns: 1fr; }
    .signature-users .users-results { max-height: 210px; }
}
@media (max-width: 600px) {
    .signature-details, .signature-form { grid-template-columns: 1fr; }
    .signature-details > div.wide, .signature-form .wide { grid-column: 1; }
    .signature-heading { align-items: flex-start; flex-direction: column; }
    .signature-actions { flex-direction: column; }
}

/* Configuracion SMTP */
.email-config { max-width: 980px; margin: 0 auto; border: 1px solid #566274; border-radius: 9px; overflow: hidden; background: #eef1f5; color: #172437; }
.email-config > header { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; background: #263448; color: #fff; }
.email-config > header span { color: #ffb13b; font-size: .76rem; font-weight: 800; letter-spacing: .12em; }
.email-config > header h1 { margin: 3px 0; color: #fff; }
.email-config > header p { margin: 0; color: #c9d4e0; }
.email-config-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #c94708; color: #fff; font-size: 28px; }
.email-config-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 18px; padding: 22px; }
.email-config-form label { display: grid; gap: 6px; color: #172437; font-weight: 700; }
.email-config-form label.wide, .email-config-form .wide { grid-column: 1 / -1; }
.email-config-form input { min-width: 0; padding: 9px; border: 1px solid #788698; border-radius: 5px; background: #fff; color: #111; }
.email-config-form .email-check { display: flex; align-items: center; align-self: end; min-height: 38px; }
.email-config-form .email-check input { width: auto; }
.email-config-actions { display: flex; justify-content: flex-end; }
.email-config-actions button, .email-test button { padding: 10px 15px; border: 0; border-radius: 5px; background: #c94708; color: #fff; cursor: pointer; }
.email-test { display: grid; grid-template-columns: 1fr minmax(360px, 1fr); align-items: center; gap: 18px; padding: 18px 22px; border-top: 1px solid #b8c0ca; background: #dfe5ec; }
.email-test > div { display: grid; gap: 3px; }
.email-test > div span { color: #5b6675; font-size: .84rem; }
.email-test form { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.email-test input { min-width: 0; padding: 9px; border: 1px solid #788698; border-radius: 5px; color: #111; }
@media (max-width: 650px) {
    .email-config-form, .email-test { grid-template-columns: 1fr; }
    .email-config-form label.wide, .email-config-form .wide { grid-column: 1; }
    .email-test form { grid-template-columns: 1fr; }
}

/* Consulta de puntaje y multas */
.score-page {
    color: #111827;
    margin: 10px auto;
    max-width: none;
    width: calc(100% - 20px);
}
.score-titlebar {
    align-items: center;
    background: linear-gradient(90deg, #176ee6, #57c7df);
    color: #fff;
    display: flex;
    justify-content: space-between;
    min-height: 44px;
    padding: 6px 10px;
}
.score-titlebar > div {
    align-items: center;
    display: flex;
    gap: 10px;
}
.score-titlebar h1 {
    font-size: 16px;
    margin: 0;
}
.score-titlebar > a {
    background: #f05a28;
    border-radius: 3px;
    color: #fff;
    font-size: 22px;
    line-height: 28px;
    text-align: center;
    width: 30px;
}
.score-icon {
    background: #00c853;
    border-radius: 50%;
    display: grid;
    font-weight: 900;
    height: 28px;
    place-items: center;
    width: 28px;
}
.score-card {
    background: #f3f4f6;
    border: 1px solid #5f6b7a;
    padding: 18px;
}
.score-search {
    align-items: end;
    display: grid;
    gap: 14px;
    grid-template-columns: 210px minmax(260px, 1fr) auto;
}
.score-search label {
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 5px;
}
.score-search input,
.score-search select {
    background: #fff;
    border: 1px solid #778394;
    border-radius: 3px;
    color: #111827;
    font: inherit;
    min-height: 36px;
    padding: 6px 9px;
    text-transform: uppercase;
}
.score-direct-button {
    background: #008b2d;
    border: 0;
    border-radius: 4px;
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    min-height: 36px;
    padding: 7px 14px;
}
.score-direct-button[hidden] {
    display: none;
}
.score-results-wrap {
    border: 1px solid #778394;
    margin-top: 12px;
    max-height: 300px;
    min-height: 150px;
    overflow: auto;
}
.score-results {
    border-collapse: collapse;
    font-size: 12px;
    width: 100%;
}
.score-results th {
    background: #548bd9;
    color: #fff;
    position: sticky;
    top: 0;
}
.score-results th,
.score-results td {
    border: 1px solid #c4cad2;
    padding: 8px 10px;
    text-align: left;
}
.score-results tbody tr:not(.score-empty) {
    background: #fff;
    cursor: pointer;
}
.score-results tbody tr:not(.score-empty):hover,
.score-results tbody tr.selected {
    background: #dbeafe;
}
.score-empty td {
    color: #64748b;
    padding: 24px;
    text-align: center;
}
.score-selected {
    align-items: center;
    background: #e8f1ff;
    border: 1px solid #93b8e8;
    display: flex;
    gap: 12px;
    margin-top: 14px;
    padding: 12px;
}
.score-selected[hidden] {
    display: none;
}
.score-selected > div {
    display: grid;
    margin-right: auto;
}
.score-selected span {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}
.score-selected code {
    color: #174ea6;
    font-size: 15px;
    font-weight: 900;
}
.score-selected button,
.score-selected a {
    background: #176ee6;
    border: 0;
    border-radius: 4px;
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    padding: 10px 14px;
}
.score-selected a {
    background: #008b2d;
}
.score-loading {
    color: #176ee6 !important;
    font-size: 12px !important;
}
.score-loading[hidden] {
    display: none;
}
.score-browser {
    background: #fff;
    border: 1px solid #778394;
    margin-top: 14px;
    overflow: hidden;
}
.score-browser-bar {
    align-items: center;
    background: #263247;
    color: #fff;
    display: flex;
    font-size: 12px;
    justify-content: space-between;
    min-height: 34px;
    padding: 5px 10px;
}
.score-browser-empty {
    color: #64748b;
    display: grid;
    min-height: 385px;
    padding: 20px;
    place-items: center;
    text-align: center;
}
.score-browser-empty[hidden] {
    display: none;
}
.score-browser iframe {
    border: 0;
    display: block;
    height: 755px;
    width: 100%;
}
.score-browser iframe[hidden] {
    display: none;
}
.score-help,
.score-status {
    font-size: 12px;
    margin: 12px 0 0;
}
.score-status {
    color: #176ee6;
    font-weight: 800;
    min-height: 18px;
}
@media (max-width: 720px) {
    .score-search { grid-template-columns: 1fr; }
    .score-selected { align-items: stretch; flex-direction: column; }
}



.kardex-window {
    background: #fff;
    color: #000;
    min-height: calc(100vh - 140px);
    display: flex;
    flex-direction: column;
    border: 1px solid #333;
    font-family: \"Segoe UI\", Tahoma, Geneva, Verdana, sans-serif;
}

.kardex-titlebar {
    background: #5d4037;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
    height: 30px;
    border-bottom: 1px solid #fff;
}

.kardex-title-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.kardex-box-icon {
    background: #1155cc;
    color: #fff;
    width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: bold;
}

.kardex-titlebar h1 {
    font-size: 12px;
    margin: 0;
    font-weight: 800;
    color: #1155cc;
    letter-spacing: 0.5px;
}

.kardex-title-right {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 11px;
    font-weight: bold;
}

.kardex-close-btn {
    background: #f26522;
    color: #fff;
    width: 20px;
    height: 18px;
    display: grid;
    place-items: center;
    text-decoration: none;
    font-weight: bold;
    font-size: 12px;
    border: 1px solid #000;
}

.kardex-toolbar {
    background: #5d4037;
    padding: 4px 12px;
    display: flex;
    align-items: center;
    gap: 15px;
    border-bottom: 1px solid #fff;
    flex-wrap: wrap;
}

.kardex-toolbar-group {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: bold;
    color: #fff;
}

.kardex-toolbar select {
    padding: 1px 4px;
    border: 1px solid #000;
    background: #fff;
    color: #000;
    height: 22px;
    min-width: 80px;
    font-size: 11px;
}

.kardex-actions {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.kardex-toolbar-button {
    height: 24px;
    min-width: 85px;
    padding: 0 8px;
    background: #e1e1e1;
    border: 1px solid #777;
    color: #000;
    font-size: 11px;
    font-weight: bold;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
    box-shadow: inset 1px 1px 0 #fff;
}

.kardex-toolbar-button:hover {
    background: #d4d4d4;
}

.kardex-toolbar-button .btn-icon {
    font-size: 13px;
}

.kardex-grid-wrap {
    flex: 1;
    overflow: auto;
    background: #fff;
}

.kardex-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
    color: #000;
}

.kardex-table th {
    background: #e1e1e1;
    color: #000;
    padding: 2px 4px;
    text-align: center;
    border: 1px solid #777;
    position: sticky;
    top: 0;
    z-index: 10;
    font-weight: bold;
    box-shadow: inset 1px 1px 0 #fff;
}

.kardex-table th[rowspan=\"2\"] {
    vertical-align: middle;
}

.kardex-table td {
    padding: 2px 6px;
    border: 1px solid #ccc;
    white-space: nowrap;
}

.row-anterior {
    background: #2e7d32 !important;
    color: #ffffff !important;
    font-weight: bold;
}

.row-ingreso {
    background: #4682b4 !important;
    color: #ffffff !important;
}

.row-egreso {
    background: #f5f5dc !important;
    color: #000000 !important;
}

.negativo-bg {
    background: #cc1515 !important;
    color: #ffffff !important;
}

.text-right { text-align: right; }
.text-center { text-align: center; }

.kardex-footer {
    background: #5d4037;
    color: #fff;
    padding: 4px 15px;
    display: flex;
    gap: 40px;
    font-size: 11px;
    border-top: 1px solid #fff;
}

.kardex-stat strong {
    font-size: 13px;
    margin-left: 5px;
    color: #fff500;
}

.kardex-alert {
    padding: 4px 10px;
    margin: 2px 10px;
    border-radius: 2px;
    font-size: 11px;
    font-weight: bold;
    border: 1px solid #000;
}
.kardex-alert.success { background: #d4edda; color: #155724; }
.kardex-alert.danger { background: #f8d7da; color: #721c24; }



.kardex-window {
    background: #fff;
    color: #000;
    min-height: calc(100vh - 140px);
    display: flex;
    flex-direction: column;
    border: 1px solid #333;
    font-family: \"Segoe UI\", Tahoma, Geneva, Verdana, sans-serif;
}

.kardex-titlebar {
    background: #5d4037;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
    height: 30px;
    border-bottom: 1px solid #fff;
}

.kardex-title-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.kardex-box-icon {
    background: #1155cc;
    color: #fff;
    width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: bold;
}

.kardex-titlebar h1 {
    font-size: 12px;
    margin: 0;
    font-weight: 800;
    color: #1155cc;
    letter-spacing: 0.5px;
}

.kardex-title-right {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 11px;
    font-weight: bold;
}

.kardex-close-btn {
    background: #f26522;
    color: #fff;
    width: 20px;
    height: 18px;
    display: grid;
    place-items: center;
    text-decoration: none;
    font-weight: bold;
    font-size: 12px;
    border: 1px solid #000;
}

.kardex-toolbar {
    height: 34px;
    background: #5d4037;
    border-top: 1px solid #d7c2aa;
    border-bottom: 3px solid #e7d2a6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3px 12px;
    gap: 12px;
    flex-wrap: nowrap;
}

.kardex-toolbar-left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.kardex-toolbar-left label {
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    margin-left: 8px;
}

.kardex-toolbar-left select {
    height: 23px;
    min-width: 85px;
    font-size: 12px;
    padding: 1px 4px;
}

.kardex-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    margin-left: auto;
}

.kardex-toolbar-button {
    height: 24px;
    min-width: 88px;
    padding: 2px 10px;
    border: 1px solid #777;
    background: linear-gradient(#ffffff, #dcdcdc);
    color: #000;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border-radius: 4px;
    cursor: pointer;
}

.kardex-grid-wrap {
    flex: 1;
    overflow: auto;
    background: #fff;
}

.kardex-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
    color: #000;
}

.kardex-table th {
    background: #e1e1e1;
    color: #000;
    padding: 2px 4px;
    text-align: center;
    border: 1px solid #777;
    position: sticky;
    top: 0;
    z-index: 10;
    font-weight: bold;
    box-shadow: inset 1px 1px 0 #fff;
}

.kardex-table th[rowspan=\"2\"] {
    vertical-align: middle;
}

.kardex-table td {
    padding: 2px 6px;
    border: 1px solid #ccc;
    white-space: nowrap;
}

.row-anterior {
    background: #2e7d32 !important;
    color: #ffffff !important;
    font-weight: bold;
}

.row-ingreso {
    background: #4682b4 !important;
    color: #ffffff !important;
}

.row-egreso {
    background: #f5f5dc !important;
    color: #000000 !important;
}

.negativo-bg {
    background: #cc1515 !important;
    color: #ffffff !important;
}

.text-right { text-align: right; }
.text-center { text-align: center; }

.kardex-footer {
    background: #5d4037;
    color: #fff;
    padding: 4px 15px;
    display: flex;
    gap: 40px;
    font-size: 11px;
    border-top: 1px solid #fff;
}

.kardex-stat strong {
    font-size: 13px;
    margin-left: 5px;
    color: #fff500;
}

.kardex-alert {
    padding: 4px 10px;
    margin: 2px 10px;
    border-radius: 2px;
    font-size: 11px;
    font-weight: bold;
    border: 1px solid #000;
}
.kardex-alert.success { background: #d4edda; color: #155724; }
.kardex-alert.danger { background: #f8d7da; color: #721c24; }


/* Kardex Fuel Specific Styles */
.kardex-window {
    background: #fff;
    color: #000;
    min-height: calc(100vh - 140px);
    display: flex;
    flex-direction: column;
    border: 1px solid #333;
    font-family: \"Segoe UI\", Tahoma, Geneva, Verdana, sans-serif;
}

.kardex-titlebar {
    background: #5d4037;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
    height: 30px;
    border-bottom: 1px solid #fff;
}

.kardex-title-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.kardex-box-icon {
    background: #1155cc;
    color: #fff;
    width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: bold;
}

.kardex-titlebar h1 {
    font-size: 12px;
    margin: 0;
    font-weight: 800;
    color: #1155cc;
    letter-spacing: 0.5px;
}

.kardex-title-right {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 11px;
    font-weight: bold;
}

.kardex-close-btn {
    background: #f26522;
    color: #fff;
    width: 20px;
    height: 18px;
    display: grid;
    place-items: center;
    text-decoration: none;
    font-weight: bold;
    font-size: 12px;
    border: 1px solid #000;
}

.kardex-toolbar {
    height: 34px;
    background: #5d4037;
    border-top: 1px solid #d7c2aa;
    border-bottom: 3px solid #e7d2a6;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 3px 12px;
    gap: 8px;
    flex-wrap: nowrap;
    overflow: visible;
}

.kardex-toolbar-left {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
    width: auto;
}

.kardex-toolbar-left label {
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    margin: 0 2px 0 10px;
}

.kardex-toolbar-left select {
    height: 23px;
    min-width: 78px;
    font-size: 12px;
    padding: 1px 4px;
}

.kardex-toolbar-button {
    height: 24px;
    min-width: 86px;
    padding: 2px 10px;
    border: 1px solid #777;
    background: linear-gradient(#ffffff, #dcdcdc);
    color: #000;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border-radius: 4px;
    cursor: pointer;
    line-height: 1;
}

.kardex-toolbar-button:hover {
    background: linear-gradient(#f7f7f7, #cfcfcf);
}

.kardex-grid-wrap {
    flex: 1;
    overflow: auto;
    background: #fff;
}

.kardex-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
    color: #000;
}

.kardex-table th {
    background: #e1e1e1;
    color: #000;
    padding: 2px 4px;
    text-align: center;
    border: 1px solid #777;
    position: sticky;
    top: 0;
    z-index: 10;
    font-weight: bold;
    box-shadow: inset 1px 1px 0 #fff;
}

.kardex-table th[rowspan=\"2\"] {
    vertical-align: middle;
}

.kardex-table td {
    padding: 2px 6px;
    border: 1px solid #ccc;
    white-space: nowrap;
}

.row-anterior {
    background: #2e7d32 !important;
    color: #ffffff !important;
    font-weight: bold;
}

.row-ingreso {
    background: #4682b4 !important;
    color: #ffffff !important;
}

.row-egreso {
    background: #f5f5dc !important;
    color: #000000 !important;
}

.negativo-bg {
    background: #cc1515 !important;
    color: #ffffff !important;
}

.text-right { text-align: right; }
.text-center { text-align: center; }

.kardex-footer {
    background: #5d4037;
    color: #fff;
    padding: 4px 15px;
    display: flex;
    gap: 40px;
    font-size: 11px;
    border-top: 1px solid #fff;
}

.kardex-stat strong {
    font-size: 13px;
    margin-left: 5px;
    color: #fff500;
}

.kardex-alert {
    padding: 4px 10px;
    margin: 2px 10px;
    border-radius: 2px;
    font-size: 11px;
    font-weight: bold;
    border: 1px solid #000;
}
.kardex-alert.success { background: #d4edda; color: #155724; }
.kardex-alert.danger { background: #f8d7da; color: #721c24; }

.document-signer {
    margin: 12px;
    color: #17263a;
    background: #eef2f6;
    border: 1px solid #e14b0a;
    border-radius: 12px;
    overflow: hidden;
}

.document-signer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 16px 20px;
    color: #fff;
    background: #273950;
}

.document-signer__header h1 {
    margin: 0 0 4px;
    font-size: 21px;
}

.document-signer__header p,
.document-signer__identity span,
.document-signer__identity small {
    display: block;
    margin: 0;
    color: #dce7f3;
}

.document-signer__identity {
    min-width: 280px;
    text-align: right;
}

.document-signer__identity .document-signer__status {
    display: inline-block;
    margin: 4px 0;
    padding: 3px 9px;
    color: #fff;
    background: #168a46;
    border-radius: 14px;
    font-weight: 700;
}

.document-signer form {
    padding: 14px;
}

.document-signer__controls {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.document-signer__file {
    flex: 1;
}

.document-signer__file > span,
.document-signer__file > small,
.document-signer__date > span,
.document-signer__date > small {
    display: block;
    margin-bottom: 5px;
}

.document-signer__file input,
.document-signer__date input {
    width: 100%;
    padding: 8px;
    background: #fff;
    border: 1px solid #8090a3;
    border-radius: 5px;
}

.document-signer__date {
    width: 245px;
}

.document-signer__toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.document-signer button {
    min-height: 38px;
    padding: 8px 14px;
    border: 0;
    border-radius: 6px;
    font-weight: 700;
    cursor: pointer;
}

.document-signer button:disabled {
    cursor: not-allowed;
    opacity: .48;
}

.document-signer .pen-tool {
    color: #fff;
    background: #d24a00;
}

.document-signer .pen-tool.active {
    outline: 3px solid #ffc107;
}

.pdf-stage {
    position: relative;
    min-height: 440px;
    height: calc(100vh - 285px);
    max-height: 720px;
    padding: 12px;
    box-sizing: border-box;
    overflow: auto;
    text-align: center;
    background: #3c4652;
    border-radius: 8px;
}

.pdf-empty:not([hidden]) {
    display: flex;
    min-height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #dce3ea;
}

.pdf-canvas-wrap {
    position: relative;
    line-height: 0;
    box-shadow: 0 3px 18px rgba(0, 0, 0, .45);
}

.pdf-canvas-wrap:not([hidden]) {
    display: block;
    width: max-content;
    min-width: 0;
    margin: 0 auto;
}

/* El estado vacío no debe reservar espacio cuando se muestra el PDF. */
#pdf-empty[hidden],
#pdf-canvas-wrap[hidden] {
    display: none;
}

#pdf-canvas {
    display: block;
    margin: 0;
    box-shadow: 0 5px 16px rgba(0, 0, 0, .30);
}

/* El marcador también usa display:flex en los estilos de esta pantalla. */
#signature-marker[hidden] {
    display: none !important;
}

.pdf-canvas-wrap.placing {
    cursor: crosshair;
}

.signature-placement-marker {
    position: absolute;
    display: flex;
    align-items: center;
    width: 280px;
    height: 78px;
    padding: 8px;
    color: #075b36;
    line-height: 1.15;
    text-align: left;
    background: rgba(255, 255, 255, .94);
    border: 2px dashed #07874e;
    box-sizing: border-box;
    pointer-events: none;
}

.signature-placement-marker > span {
    margin-right: 9px;
    font-size: 36px;
}

.signature-placement-marker small {
    display: block;
    margin-top: 3px;
    color: #526172;
}

.document-signer__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding-top: 12px;
}

.document-signer__footer button {
    color: #fff;
    background: #078442;
}

@media (max-width: 800px) {
    .document-signer__header,
    .document-signer__controls,
    .document-signer__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .document-signer__identity {
        min-width: 0;
        text-align: left;
    }
}
.tx-form-page{padding:14px}.tx-form-title{background:#08751d;color:#fff;border-radius:9px;padding:12px 15px;margin-bottom:10px}.tx-form-title h2{font-size:19px;margin:0}.tx-form-title p{margin:3px 0 0}.tx-card,.tx-filter-bar{background:#e5f4e5;border:1px solid #43884c;border-radius:9px;padding:12px;margin-bottom:10px}.tx-inline-form,.tx-filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.tx-card label,.tx-filter-bar label{display:grid;gap:3px;font-weight:700;min-width:180px}.tx-card input,.tx-card select,.tx-filter-bar input,.tx-filter-bar select{min-height:35px;border:1px solid #43884c;border-radius:6px;padding:5px 8px}.tx-empty{padding:18px;text-align:center}.correction-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.correction-options a{background:#08751d;color:#fff;padding:14px;border-radius:7px;text-decoration:none;font-weight:700}

.annual-balance{margin:12px;color:#17202a;background:#eef4f9;border:1px solid #8ca2b5;box-shadow:0 3px 14px rgba(0,0,0,.2)}
.annual-balance__header{padding:10px 14px;color:#fff;background:#7f94a7}.annual-balance__header h2{margin:0;font-size:18px;text-transform:uppercase}.annual-balance__header p{margin:3px 0 0}
.annual-balance__filters{display:flex;align-items:end;gap:14px;padding:12px;background:#b6cbe0}.annual-balance__filters label{display:grid;gap:4px;min-width:190px;color:#26384a;font-weight:700}.annual-balance__filters select{height:34px;padding:4px 8px;color:#111;background:#fff;border:1px solid #65798b}
.annual-balance__button,.annual-balance__recalculate{min-height:36px;padding:8px 16px;color:#fff!important;background:#42627e;border:0;border-radius:2px;text-decoration:none;font-weight:700}.annual-balance__recalculate{margin-left:auto;background:#718aa2}
.annual-balance__grid-wrap{min-height:300px;margin:0 12px;background:#fff;overflow:auto}.annual-balance__grid{width:100%;border-collapse:collapse;color:#202020!important;background:#d9d9d9}.annual-balance__grid th{padding:9px 8px;color:#fff!important;background:#626262;border:1px solid #777;text-align:center;text-transform:uppercase}.annual-balance__grid td{padding:7px 8px;color:#222!important;background:#d7d7d7;border:1px solid #8b8b8b;text-align:right}.annual-balance__grid td:first-child{text-align:left}.annual-balance__grid tbody tr:nth-child(even) td{background:#e5e5e5}.annual-balance__empty{padding:35px;color:#4e5d6b!important;text-align:center}.annual-balance__footer{padding:8px 14px;color:#26384a;text-align:right}
@media(max-width:800px){.annual-balance__filters{align-items:stretch;flex-direction:column}.annual-balance__filters label{width:100%}.annual-balance__recalculate{margin-left:0;text-align:center}}

.tx-form-page .tx-filter-bar label,.tx-form-page .tx-card label{color:#18321f!important}.tx-form-page .tx-filter-bar select,.tx-form-page .tx-card input,.tx-form-page .tx-card select{color:#101510!important;background:#fff!important}
.document-correction{margin:12px;color:#101820!important;background:#f8f8f8;border:7px solid #24304f;box-shadow:0 3px 16px rgba(0,0,0,.4)}.document-correction__header{padding:8px 10px;color:#fff;background:#24304f}.document-correction__header h2{margin:0;font-size:17px;text-transform:capitalize}.document-correction__search{display:flex;gap:5px;padding:7px;background:#fff}.document-correction__search label{align-self:center;font-weight:700}.document-correction select,.document-correction input{min-height:31px;padding:4px 7px;color:#111!important;background:#fff!important;border:1px solid #6f747b}.document-correction__search select:nth-of-type(2){min-width:285px}.document-correction__search input{width:130px;text-align:center;font-weight:700}.document-correction button{padding:5px 12px;color:#123;background:#eef2f6;border:1px solid #637080}.document-correction__summary{min-height:80px;margin:0 7px;padding:7px;color:#4f5964!important;background:#fff;border:1px solid #777;white-space:normal}.document-correction__tools{display:flex;justify-content:end;gap:3px;padding:15px 8px 5px}.document-correction__divider{border-top:4px solid #777}.document-correction__tab{display:inline-block;margin-left:5px;padding:5px 9px;background:#fff;border:1px solid #bbb}.document-correction__form{margin:0 7px 8px;padding:10px 8px 16px;background:#fff;border:1px solid #777}.document-correction__form label{display:flex;align-items:center;gap:7px;margin:8px 0;color:#111!important;font-weight:700}.document-correction__form label>input,.document-correction__form label>select{flex:1}.document-correction__form .wide{width:100%}.document-correction__identity{display:flex;align-items:center;justify-content:space-between}.document-correction__identity label{margin:0}.document-correction__row,.paired{display:flex;gap:6px}.document-correction__row .grow,.paired input:last-child{flex:1}.document-correction__form>.wide>.paired{flex:1}.document-correction__actions{text-align:right}.document-correction__actions button{color:#075b21;background:#d9f0dc;border-color:#4e8a58;font-weight:700}.document-correction__message{margin:6px;padding:7px;color:#075b21;background:#dff3e3}.document-correction__error{margin:6px;padding:7px;color:#9b111e;background:#ffe0e0}.document-correction__unsupported{margin:10px;padding:20px;color:#555;background:#fff}
.document-correction .field-approve{flex:0 0 32px;width:32px;height:31px;padding:2px;color:#075b21!important;background:#e0f0e2!important;border:1px solid #657465;font-size:18px;font-weight:800;line-height:1}.document-correction .field-approve:hover{background:#bfe5c5!important}.document-correction__identity .field-approve{margin-left:2px}
.fuel-total-field label{color:#075b37!important}.fuel-total-field #totalInput{color:#075b37!important;background:#eefaf2!important;border-color:#23824e!important;font-weight:800}.fuel-amount-words{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.fuel-amount-words div{min-height:34px;padding:8px 10px;color:#173a28!important;background:#dceee0;border:1px solid #4d8c60;border-radius:6px}.fuel-amount-words span{font-weight:700}@media(max-width:700px){.fuel-amount-words{grid-template-columns:1fr}}
.fuel-current-meter,.mov-current-meter{margin-left:auto;padding:5px 10px;color:#fff!important;background:#087d23;border-radius:6px;font-weight:700}.fuel-current-meter b,.mov-current-meter b{color:#fff!important;font-size:1.08em}

/* Movilización: presentación clara y compacta, alineada con Egreso de combustible. */
.mov-order{max-width:1240px;margin:10px auto;padding:0 8px;color:#17351e!important}
.mov-order-form{background:#dff1e1!important;border:1px solid #278442!important;border-radius:10px!important;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.mov-order-title{display:flex!important;align-items:center!important;gap:12px!important;min-height:54px;padding:7px 12px!important;color:#fff;background:#087b22!important}
.mov-order-title strong{flex:1;font-size:15px;white-space:nowrap}.mov-state-group{flex:0 0 150px}.mov-number-boxes{display:flex!important;flex:0 0 auto;gap:6px!important}.mov-number-boxes label{width:78px}.mov-order-title label{gap:2px!important}.mov-order-title input,.mov-order-title select{min-height:30px!important;height:30px!important;padding:3px 7px!important;color:#123!important;background:#fff!important;border-color:#b7cfbb!important;border-radius:5px!important}.mov-order-title input[readonly]{color:#075b1a!important;background:#e8f5ea!important}
.mov-current-meter{flex:0 0 auto;margin-left:0!important;padding:4px 8px!important;color:#075b1a!important;background:#d7f2dc!important;border:1px solid #69a875;border-radius:5px!important;font-size:11px!important}.mov-current-meter b{color:#075b1a!important;font-size:12px!important}
.mov-order-body{gap:8px!important;padding:10px!important;color:#17251b!important;background:#dff1e1!important}.mov-equipo-box{padding:9px;background:#c9e8cf;border:1px solid #5b9b66;border-radius:8px}.mov-equipo-box:before{content:'EQUIPO / VEHÍCULO';grid-column:span 2;padding:6px 9px;color:#fff;background:#08651b;border-radius:5px;font-size:12px;font-weight:800}
.mov-order input,.mov-order select,.mov-order textarea{min-height:32px!important;padding:6px 8px!important;color:#142019!important;background:#fff!important;border:1px solid #72a27a!important;border-radius:6px!important}.mov-order input[readonly]{color:#28452f!important;background:#eef5ef!important}.mov-order textarea{min-height:48px!important}.mov-order-body span{color:#174e24!important;font-size:11px!important}
.mov-order-grid,.mov-text-grid{gap:7px!important}.mov-search-line{grid-template-columns:minmax(0,1fr) 34px!important}.mov-search-line-3{grid-template-columns:minmax(0,1fr) 34px 34px!important}.mov-icon-btn{min-height:32px!important;color:#fff!important;background:#087b22!important;border-color:#08651b!important;border-radius:6px!important}.mov-icon-btn:hover{background:#0b9630!important}
.mov-search-results{padding:4px!important;color:#17251b!important;background:#fff!important;border-color:#4f8d5a!important;box-shadow:0 8px 20px rgba(0,0,0,.22)!important}.mov-search-results button{min-height:29px!important;color:#17251b!important;background:#fff!important;border-bottom:1px solid #d7e6da!important;border-radius:2px!important}.mov-search-results button:hover{color:#fff!important;background:#087b22!important}
.mov-signature-bar{padding:8px!important;background:#c9e8cf!important;border:1px solid #5b9b66!important;border-radius:7px}.mov-signature-bar span{color:#174e24!important}.mov-order-actions{padding-top:2px}.mov-order-actions button{background:#087b22!important}.mov-order-actions .secondary-btn{color:#17351e!important;background:#f2f5f2!important}
@media(max-width:900px){.mov-order-title{align-items:stretch!important;flex-wrap:wrap}.mov-order-title strong{order:-1;flex-basis:100%}.mov-state-group{flex:1}.mov-current-meter{align-self:end}.mov-order-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* Paleta azul para Orden de Movilización. */
.mov-order{color:#142b45!important}.mov-order-form{background:#e5f1f8!important;border-color:#377da9!important}.mov-order-title{background:#155b9d!important}.mov-order-title input,.mov-order-title select{border-color:#9bbbd1!important}.mov-order-title input[readonly]{color:#124b78!important;background:#e8f2fa!important}.mov-current-meter{color:#104b78!important;background:#d9ecf8!important;border-color:#77a8c8!important}.mov-current-meter b{color:#104b78!important}
.mov-order-body{color:#142b45!important;background:#e5f1f8!important}.mov-equipo-box,.mov-signature-bar{background:#cfe5f2!important;border-color:#6095b7!important}.mov-equipo-box:before{background:#155b9d!important}.mov-order input,.mov-order select,.mov-order textarea{color:#142b45!important;border-color:#74a2bf!important}.mov-order input[readonly]{color:#294b62!important;background:#f0f6fa!important}.mov-order-body span,.mov-signature-bar span{color:#174d72!important}.mov-icon-btn,.mov-order-actions button{background:#155b9d!important;border-color:#104678!important}.mov-icon-btn:hover,.mov-order-actions button:hover{background:#0d70bd!important}.mov-search-results{border-color:#4e89af!important}.mov-search-results button{color:#142b45!important;border-bottom-color:#d3e2ec!important}.mov-search-results button:hover{background:#155b9d!important}.mov-order-actions .secondary-btn{color:#173c57!important}
.transport-params{margin:12px;color:#17251b}.transport-params__header{padding:14px;color:#fff;background:#087b22;border-radius:9px}.transport-params__header h2{margin:0}.transport-params__card{margin-top:10px;padding:15px;background:#e3f2e4;border:1px solid #4b8954;border-radius:9px}.transport-params__new{display:flex;align-items:end;gap:10px;margin:14px 0}.transport-params__new label{display:grid;flex:1;color:#17351e;font-weight:700}.transport-params__new input{height:37px;padding:6px;color:#111;background:#fff;border:1px solid #43824d}.transport-params button{padding:8px 14px;color:#fff;background:#087b22;border:0;border-radius:6px;font-weight:700}.transport-params__table{width:100%;border-collapse:collapse;color:#17251b;background:#fff}.transport-params__table th{padding:9px;color:#fff;background:#075b45}.transport-params__table td{padding:8px;border:1px solid #bdd4c0}.transport-params__table .deactivate{background:#9b332c}.transport-params__table .activate{background:#16713b}.transport-params__table .is-active{color:#087b22;font-weight:800}.transport-params__table .is-inactive{color:#8d332e;font-weight:800}.transport-params__message{margin-top:8px;padding:9px;color:#075b1a;background:#d8f0dc}
.transport-params__tabs{display:flex;gap:3px;margin-top:10px;border-bottom:3px solid #087b22}.transport-params__tabs a{padding:10px 16px;color:#234;background:#d7e1e8;text-decoration:none;font-weight:700}.transport-params__tabs a.active{color:#fff;background:#087b22}.provider-layout{display:grid;grid-template-columns:310px 1fr;gap:14px}.provider-layout aside{display:flex;max-height:430px;overflow:auto;flex-direction:column;background:#fff;border:1px solid #768477}.provider-layout aside a{padding:9px;color:#26382a;border-bottom:1px solid #ccd5cd;text-decoration:none}.provider-layout aside a.selected{color:#fff;background:#087b22}.provider-layout .provider-new{color:#075b1a;background:#d9efdd;font-weight:800}.provider-editor{padding:14px;background:#fff;border:1px solid #768477}.provider-editor>label{display:grid;gap:4px;color:#17351e;font-weight:700}.provider-editor input{height:35px;padding:5px 8px;color:#111;background:#fff;border:1px solid #627568}.provider-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px}.provider-prices label{display:grid;color:#243b29;font-weight:700}.provider-actions{display:flex;justify-content:end;gap:8px;margin-top:18px}@media(max-width:760px){.provider-layout{grid-template-columns:1fr}}
.mov-result-filter{position:sticky;top:0;z-index:2;margin-bottom:3px;background:#f7fbff!important;border:1px solid #74a2bf!important}.mov-search-line input[readonly]{cursor:pointer;text-align:left!important}
.mov-icon-btn svg{display:block;width:19px;height:19px;margin:auto;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* TXMAN MAINTENANCE DESKTOP REDESIGN */

.maintenance-overlay {
    background: rgba(18, 25, 35, .72);
    padding: 10px;
}

.maintenance-window {
    width: min(770px, calc(100vw - 20px));
    max-height: calc(100vh - 20px);
    background: #d4d4d4;
    border: 1px solid #176b73;
    border-radius: 10px;
    box-shadow: 0 16px 45px rgba(0, 0, 0, .55);
    overflow: hidden;
}

.maintenance-window-titlebar {
    min-height: 38px;
    height: 38px;
    padding: 4px 9px;
    background: #3e3e3e;
    border-bottom: 1px solid #707070;
}

.maintenance-title {
    color: #fff;
    font-size: 14px;
    text-align: left;
    padding-left: 9px;
    text-transform: none;
    letter-spacing: 0;
}

.maintenance-status-button {
    min-width: 98px;
    min-height: 25px;
    border-radius: 2px;
    padding: 3px 9px;
    text-align: left;
}

.maintenance-status-button.PENDIENTE {
    background: #9bdd96;
    color: #0b5f19;
}

.maintenance-status-button.ACTIVO {
    background: #4682b4;
    color: #fff;
}

.maintenance-status-button.ANULADO {
    background: #708090;
    color: #eee;
}

.maintenance-order-number {
    color: #fff;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 13px;
}

.maintenance-order-number::first-letter {
    color: #fff;
}

.maintenance-close {
    width: 29px;
    height: 29px;
    margin-left: 4px;
    border-radius: 3px;
    justify-content: center;
    font-size: 22px;
    transition: background-color .15s, color .15s, transform .15s;
}

.maintenance-close:hover,
.maintenance-close:focus-visible {
    background: #ff6347;
    color: #fff;
    outline: 1px solid #fff;
    transform: scale(1.05);
}

.maintenance-window-body {
    padding: 9px 14px 7px;
    background: #d4d4d4;
}

.maintenance-equipment-panel {
    grid-template-columns: 125px minmax(0, 1fr);
    gap: 7px;
    min-height: 116px;
    margin-bottom: 7px;
    padding: 6px;
    background: #dedede;
    border: 1px solid #688b69;
    border-radius: 6px;
}

.maintenance-photo-box {
    width: 125px;
    height: 108px;
    padding: 2px;
    background: #f5f5f5;
    border: 1px solid #808080;
    box-shadow: none;
}

.maintenance-photo-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.maintenance-equipment-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-content: start;
    gap: 4px 9px;
}

.maintenance-equipment-summary .maintenance-field.full {
    grid-column: 1 / -1;
}

.maintenance-equipment-summary .maintenance-field label {
    color: #fff500;
    background: #303030;
    padding: 3px 7px;
    border-radius: 5px 5px 0 0;
}

.maintenance-equipment-summary .maintenance-select {
    min-height: 29px;
    border-radius: 0 0 5px 5px;
}

.maintenance-summary-item {
    min-width: 0;
}

.maintenance-summary-item label {
    color: #174b27;
    font-size: 9px;
    border-bottom-color: #aaa;
    white-space: nowrap;
}

.maintenance-summary-item span {
    min-height: 17px;
    color: #343434;
    font-size: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.maintenance-field-row {
    gap: 7px;
    margin-bottom: 6px;
}

.maintenance-field {
    gap: 2px;
}

.maintenance-field label {
    color: #1f1f1f;
    font-size: 10px;
}

.maintenance-input,
.maintenance-select,
.maintenance-textarea {
    min-height: 29px;
    padding: 3px 7px;
    border: 1px solid #2e7139;
    border-radius: 6px;
    background: #e6e6e6;
    color: #272727;
    font-size: 11px;
}

.maintenance-textarea {
    min-height: 43px;
    resize: vertical;
}

.maintenance-input[readonly],
.maintenance-select:disabled,
.maintenance-textarea[readonly] {
    background: #dedede;
    border-color: #6f8d73;
    color: #343434;
    opacity: 1;
}

.select2-container .select2-selection--single {
    min-height: 29px !important;
    border: 1px solid #2e7139 !important;
    border-radius: 6px !important;
    background: #e6e6e6 !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 27px !important;
    padding-left: 7px !important;
    color: #272727 !important;
    font-size: 11px;
}

.select2-container .select2-selection--single .select2-selection__arrow {
    height: 27px !important;
}

.maintenance-rubros-panel {
    margin: 7px 0 0;
    border: 1px solid #3a3a3a;
    border-radius: 0;
}

.maintenance-rubros-header {
    min-height: 28px;
    padding: 4px 8px;
    background: #303030;
    font-size: 10px;
    text-align: center;
}

.maintenance-rubros-table {
    font-size: 11px;
}

.maintenance-rubros-table thead th {
    padding: 4px 7px;
    background: #333;
    border-color: #4b4b4b;
}

.maintenance-rubros-table tbody tr:nth-child(odd) {
    background: #a9c5dd;
}

.maintenance-rubros-table tbody tr:nth-child(even) {
    background: #e3e3e3;
}

.maintenance-rubros-table tbody tr:hover {
    background: #c7dfef;
}

.maintenance-rubros-table tbody td {
    border-right: 1px solid #c1c1c1;
    border-bottom: 1px solid #adadad;
}

.maintenance-rubros-table input {
    min-height: 27px;
    padding: 3px 7px;
    color: #111;
    font-size: 11px;
}

.maintenance-rubros-table .cost-col {
    width: 120px;
}

.maintenance-rubros-table .action-col {
    width: 34px;
}

.m-btn-add {
    min-height: 23px;
    padding: 2px 8px;
    border: 1px solid #e9e9e9;
    border-radius: 3px;
    background: #087d73;
}

.m-btn-remove:hover {
    background: #ff6347;
    color: #fff;
}

.maintenance-footer {
    min-height: 51px;
    padding: 6px 14px;
    background: #3e3e3e;
    border-top: 1px solid #5e5e5e;
}

.maintenance-footer-data {
    min-width: 235px;
    gap: 2px;
}

.maintenance-signature-line {
    font-size: 9px;
}

.maintenance-signature-line strong {
    font-size: 10px;
}

.m-total-label {
    padding: 5px 12px;
    color: #fff500;
    font-size: 14px;
    white-space: nowrap;
}

.maintenance-footer-actions {
    gap: 6px;
}

.m-btn {
    min-height: 32px;
    padding: 6px 13px;
    border-radius: 4px;
    font-size: 11px;
}

@media (max-width: 720px) {
    .maintenance-window {
        width: calc(100vw - 10px);
        max-height: calc(100vh - 10px);
    }

    .maintenance-equipment-panel {
        grid-template-columns: 100px minmax(0, 1fr);
    }

    .maintenance-photo-box {
        width: 100px;
        height: 95px;
    }

    .maintenance-equipment-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .maintenance-field-row {
        grid-template-columns: 1fr;
    }

    .maintenance-field,
    .maintenance-field.wide,
    .maintenance-field.full {
        grid-column: auto;
    }

    .maintenance-footer {
        align-items: stretch;
        flex-direction: column;
        gap: 7px;
    }

    .maintenance-footer-actions {
        justify-content: flex-end;
    }
}

/* MAINTENANCE VEHICLE FLOATING SEARCH */

.maintenance-equipment-compact {
    align-items: stretch;
}

.maintenance-equipment-info {
    min-width: 0;
    position: relative;
}

.maintenance-equipment-toolbar {
    align-items: center;
    background: #343434;
    border-radius: 8px 8px 0 0;
    color: #fff;
    display: flex;
    gap: 10px;
    min-height: 34px;
    padding: 4px 7px 4px 10px;
}

.maintenance-register-label {
    color: #fff500;
    flex: 1 1 auto;
    font-size: 11px;
    min-width: 0;
}

.maintenance-register-label strong {
    color: #fff500;
}

.maintenance-current-meter {
    align-items: center;
    display: flex;
    gap: 7px;
    white-space: nowrap;
}

.maintenance-current-meter span {
    color: #fff;
    font-size: 10px;
}

.maintenance-current-meter output {
    background: #777;
    border: 1px solid #111;
    border-radius: 6px;
    color: #fff500;
    display: inline-block;
    font-family: Consolas, monospace;
    font-size: 11px;
    min-width: 118px;
    padding: 4px 8px;
    text-align: center;
}

.maintenance-vehicle-search {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 5px;
    color: #fff;
    display: inline-flex;
    font-size: 20px;
    height: 28px;
    justify-content: center;
    min-width: 34px;
    padding: 2px 5px;
}

.maintenance-vehicle-search:hover,
.maintenance-vehicle-search:focus-visible {
    background: rgba(255,255,255,.16);
    color: #fff500;
    outline: 1px solid rgba(255,255,255,.7);
}

.maintenance-equipment-data {
    align-content: start;
    background: #efefef;
    border: 1px solid #407947;
    border-radius: 0 0 9px 9px;
    color: #616161;
    display: flex;
    flex-wrap: wrap;
    font-size: 10px;
    gap: 3px 8px;
    line-height: 1.45;
    min-height: 67px;
    padding: 6px 8px;
}

.maintenance-equipment-data span {
    white-space: nowrap;
}

.maintenance-equipment-data b {
    color: #555;
    font-weight: 500;
}

.maintenance-equipment-results {
    background: #fff;
    border: 1px solid #285e38;
    border-radius: 7px;
    box-shadow: 0 12px 30px rgba(0,0,0,.35);
    display: none;
    left: 0;
    margin-top: 4px;
    max-height: min(360px, 55vh);
    overflow-y: auto;
    position: absolute;
    right: 0;
    top: 34px;
    z-index: 3000;
}

.maintenance-equipment-results.open {
    display: block;
}

.maintenance-equipment-filter {
    background: #fff;
    border: 0;
    border-bottom: 1px solid #9eb7a4;
    border-radius: 0;
    color: #222;
    min-height: 36px;
    padding: 7px 10px;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 2;
}

.maintenance-equipment-results button[data-id] {
    background: #f7faf7;
    border: 0;
    border-bottom: 1px solid #d4ddd6;
    border-radius: 0;
    color: #173c20;
    display: block;
    font-size: 11px;
    min-height: 34px;
    padding: 6px 10px;
    text-align: left;
    width: 100%;
}

.maintenance-equipment-results button[data-id]:hover,
.maintenance-equipment-results button[data-id]:focus-visible {
    background: #cce8d0;
    color: #075e17;
    outline: none;
}

.maintenance-validation {
    color: #c62828;
    display: block;
    font-size: 10px;
    font-weight: 700;
    margin-top: 2px;
}

@media (max-width: 720px) {
    .maintenance-equipment-toolbar {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .maintenance-current-meter {
        order: 3;
        width: 100%;
    }

    .maintenance-current-meter output {
        flex: 1;
    }

    .maintenance-equipment-data span {
        white-space: normal;
    }
}

/* MAINTENANCE NATIVE SEARCH DIALOGS */

.maintenance-driver-field {
    position: relative;
}

.maintenance-driver-row {
    display: grid;
    gap: 5px;
    grid-template-columns: 112px minmax(0, 1fr) 36px;
}

.maintenance-driver-row input {
    min-width: 0;
}

.maintenance-person-search {
    align-items: center;
    background: #f2f7f2;
    border: 1px solid #438050;
    border-radius: 6px;
    color: #173c20;
    display: inline-flex;
    font-size: 18px;
    height: 29px;
    justify-content: center;
    min-width: 36px;
    padding: 2px 5px;
}

.maintenance-person-search:hover,
.maintenance-person-search:focus-visible {
    background: #cce8d0;
    color: #08731c;
    outline: 1px solid #2f7d3d;
}

.maintenance-search-dialog {
    background: transparent;
    border: 0;
    border-radius: 10px;
    color: #17231a;
    max-height: min(560px, calc(100vh - 40px));
    max-width: min(590px, calc(100vw - 30px));
    overflow: hidden;
    padding: 0;
    width: 560px;
}

.maintenance-search-dialog::backdrop {
    background: rgba(10, 17, 26, .72);
}

.maintenance-search-titlebar {
    align-items: center;
    background: linear-gradient(90deg, #214b2a, #14822d);
    color: #fff;
    display: flex;
    justify-content: space-between;
    min-height: 48px;
    padding: 7px 9px 7px 14px;
}

.maintenance-search-titlebar > div {
    align-items: center;
    display: flex;
    gap: 10px;
}

.maintenance-search-titlebar strong {
    display: block;
    font-size: 13px;
}

.maintenance-search-titlebar small {
    color: #d7f0dc;
    display: block;
    font-size: 10px;
    margin-top: 2px;
}

.maintenance-search-icon {
    font-size: 25px;
}

.maintenance-dialog-close {
    align-items: center;
    background: transparent;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 5px;
    color: #fff;
    display: inline-flex;
    font-size: 21px;
    height: 31px;
    justify-content: center;
    padding: 0;
    width: 34px;
}

.maintenance-dialog-close:hover,
.maintenance-dialog-close:focus-visible {
    background: #ff6347;
    border-color: #fff;
    color: #fff;
    outline: none;
}

.maintenance-search-body {
    background: #eef5ee;
    padding: 10px;
}

.maintenance-dialog-filter {
    background: #fff;
    border: 1px solid #478255;
    border-radius: 6px;
    color: #17231a;
    font-size: 13px;
    min-height: 39px;
    padding: 7px 10px;
    width: 100%;
}

.maintenance-dialog-filter:focus {
    border-color: #0b7b27;
    box-shadow: 0 0 0 3px rgba(11,123,39,.16);
    outline: none;
}

.maintenance-dialog-results {
    background: #fff;
    border: 1px solid #9eb5a3;
    border-radius: 6px;
    margin-top: 8px;
    max-height: min(400px, 52vh);
    overflow-y: auto;
}

.maintenance-dialog-results button {
    align-items: center;
    background: #fff;
    border: 0;
    border-bottom: 1px solid #d8e0da;
    border-radius: 0;
    color: #173c20;
    display: flex;
    gap: 10px;
    min-height: 48px;
    padding: 7px 10px;
    text-align: left;
    width: 100%;
}

.maintenance-dialog-results button:hover,
.maintenance-dialog-results button:focus-visible {
    background: #d1ead5;
    color: #075c17;
    outline: none;
}

.maintenance-dialog-results button[hidden] {
    display: none;
}

.maintenance-result-icon {
    font-size: 22px;
    width: 28px;
}

.maintenance-dialog-results button > span:last-child {
    display: grid;
    gap: 2px;
}

.maintenance-dialog-results button b {
    font-size: 12px;
}

.maintenance-dialog-results button small {
    color: #596d5e;
    font-size: 10px;
}

@media (max-width: 620px) {
    .maintenance-search-dialog {
        width: calc(100vw - 20px);
    }

    .maintenance-driver-row {
        grid-template-columns: 100px minmax(0, 1fr) 36px;
    }
}
/* maintenance-provider-admin */
.maintenance-provider-admin{max-width:1380px;margin:0 auto}
.maintenance-admin-layout{display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);gap:14px;padding-top:14px}
.maintenance-provider-list,.maintenance-provider-editor,.maintenance-rubro-section{background:#f3f7f4;border:1px solid #19723b;border-radius:8px;overflow:hidden}
.maintenance-provider-search{display:grid;grid-template-columns:1fr auto;gap:6px;padding:10px;background:#263238}
.maintenance-provider-search input,.maintenance-provider-fields input,.maintenance-provider-fields select,.maintenance-rubro-editor input{width:100%;min-height:38px;border:1px solid #76a982;border-radius:5px;background:#fff;padding:7px 9px}
.maintenance-provider-search button,.maintenance-save-button{border:1px solid #fff;border-radius:5px;background:#087f72;color:#fff;font-weight:700;padding:8px 14px;cursor:pointer}
.maintenance-new-provider{display:block;margin:9px;padding:9px;border-radius:5px;background:#087f72;color:#fff;text-align:center;font-weight:700;text-decoration:none}
.maintenance-provider-count{padding:4px 11px 8px;text-align:right;color:#263238}
.maintenance-provider-items{max-height:560px;overflow-y:auto;border-top:1px solid #b8c9bc}
.maintenance-provider-items>a{display:flex;flex-direction:column;gap:3px;padding:9px 11px;border-bottom:1px solid #cad6cc;color:#203a2b;text-decoration:none}
.maintenance-provider-items>a:hover,.maintenance-provider-items>a.selected{background:#1b7b77;color:#fff}
.maintenance-provider-items small{font-size:11px}
.maintenance-admin-content{display:flex;flex-direction:column;gap:14px;min-width:0}
.maintenance-admin-title,.maintenance-rubro-section>header{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;background:#263238;color:#fff}
.maintenance-admin-title h3,.maintenance-rubro-section h3,.maintenance-rubro-section p{margin:0}
.maintenance-rubro-section p{margin-top:3px;color:#cce8d3;font-size:12px}
.maintenance-provider-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:13px}
.maintenance-provider-fields label,.maintenance-rubro-editor label{display:flex;flex-direction:column;gap:5px;color:#17271d;font-size:12px;font-weight:700}
.maintenance-provider-fields .wide{grid-column:span 2}
.maintenance-provider-fields .full{grid-column:1/-1}
.maintenance-provider-actions{display:flex;gap:8px;padding:0 13px 13px}
.maintenance-delete-button,.maintenance-rubro-admin-table .actions button{border:0;border-radius:4px;background:#bc2525;color:#fff;font-weight:700;padding:8px 12px;cursor:pointer}
.maintenance-rubro-table-wrapper{max-height:330px;overflow:auto}
.maintenance-rubro-admin-table{width:100%;border-collapse:collapse;background:#fff}
.maintenance-rubro-admin-table th{position:sticky;top:0;padding:8px;background:#2879aa;color:#fff;text-align:left;font-size:12px}
.maintenance-rubro-admin-table td{padding:7px 8px;border-bottom:1px solid #c6d1ca}
.maintenance-rubro-admin-table tbody tr:nth-child(even){background:#edf2ee}
.maintenance-rubro-admin-table tbody tr.selected{background:#acd0e7}
.maintenance-rubro-admin-table .cost{width:120px;text-align:right}
.maintenance-rubro-admin-table .actions{display:flex;justify-content:center;gap:6px}
.maintenance-rubro-admin-table .actions form{margin:0}
.maintenance-rubro-admin-table .actions a{border-radius:4px;background:#176ca5;color:#fff;padding:8px 12px;text-decoration:none;font-weight:700}
.maintenance-rubro-admin-table .empty{padding:24px;text-align:center;color:#68766c}
.maintenance-rubro-editor{display:grid;grid-template-columns:minmax(0,1fr) 160px auto;align-items:end;gap:10px;padding:12px;border-top:1px solid #19723b}
.maintenance-rubro-actions{display:flex;align-items:center;gap:7px}
.maintenance-rubro-actions a{color:#a21f1f;font-weight:700}
.maintenance-admin-error{margin-top:10px;padding:10px;border:1px solid #b52b2b;border-radius:5px;background:#ffe3e3;color:#8e1717}
@media(max-width:900px){.maintenance-admin-layout{grid-template-columns:1fr}.maintenance-provider-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-rubro-editor{grid-template-columns:1fr}}
/* maintenance-order-provider-catalog */
.maintenance-provider-select-row {
    display: flex;
    align-items: center;
    gap: 7px;
}

.maintenance-provider-select-row .maintenance-select {
    flex: 1;
    min-width: 0;
}

.maintenance-provider-admin-button {
    display: inline-flex;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border: 1px solid #fff;
    border-radius: 50%;
    background: #078675;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 0 0 1px #28753e;
    transition: background-color .15s ease, transform .15s ease;
}

.maintenance-provider-admin-button:hover {
    background: #e95420;
    color: #fff;
    transform: scale(1.08);
}

#rubroCatalogDialog {
    width: min(720px, calc(100vw - 28px));
}

#rubroCatalogResults button {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
}

#rubroCatalogResults button strong {
    color: #174d2b;
}

#rubroCatalogResults button small {
    color: #596d60;
}

.maintenance-rubro-empty {
    padding: 25px 12px;
    color: #69766c;
    text-align: center;
    background: #fff;
}
/* maintenance-order-small-layout-adjustments */
.maintenance-driver-main-row {
    grid-template-columns: 180px minmax(0, 1fr);
}

.maintenance-driver-main-row > .maintenance-field,
.maintenance-driver-main-row > .maintenance-field.wide {
    grid-column: auto;
}

.maintenance-driver-row {
    grid-template-columns: 180px minmax(0, 1fr) 36px;
}

.maintenance-rubros-table .cost-col,
.maintenance-rubros-table .cost-col input {
    text-align: right !important;
}

@media (max-width: 620px) {
    .maintenance-driver-main-row {
        grid-template-columns: 1fr;
    }

    .maintenance-driver-row {
        grid-template-columns: 110px minmax(0, 1fr) 36px;
    }
}
/* Ocultar resultados que no coinciden con la búsqueda de rubros */
#rubroCatalogResults button[hidden] {
    display: none !important;
}
/* SIGNATURE UI - MAINTENANCE */
.maintenance-authorizer-row {
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.maintenance-authorizer-select {
    width: 225px;
    max-width: 100%;
    height: 26px;
    padding: 2px 6px;
    border: 1px solid #198754;
    border-radius: 4px;
    background: #fff;
    color: #15202b;
    font-size: 11px;
}

.maintenance-signed-status {
    margin-top: 3px;
    color: #b8ffbf;
    font-size: 10px;
    font-weight: 700;
}

.m-btn-sign {
    background: #08783d;
    color: #fff;
}

.m-btn-sign:hover {
    background: #0b9650;
}

.m-btn-clear-signature {
    background: #6c757d;
    color: #fff;
}

.m-btn-clear-signature:hover {
    background: #dc3545;
}

@media (max-width: 900px) {
    .maintenance-authorizer-row {
        white-space: normal;
    }

    .maintenance-authorizer-select {
        width: 190px;
    }
}
/* AUTHORIZER SEARCH - MAINTENANCE */
.maintenance-authorizer-picker {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 270px;
}

.maintenance-authorizer-display {
    width: 235px;
    height: 27px;
    padding: 3px 8px;
    border: 1px solid #198754;
    border-radius: 5px;
    background: #fff;
    color: #15202b;
    font-size: 11px;
}

#authorizerResultsList button[hidden] {
    display: none !important;
}

@media (max-width: 900px) {
    .maintenance-authorizer-picker {
        min-width: 210px;
    }

    .maintenance-authorizer-display {
        width: 180px;
    }
}
.maintenance-authorizer-label {
    flex: 0 0 auto;
    font-size: 12px;
    color: #fff;
}

.maintenance-authorizer-picker {
    min-width: 0;
    gap: 6px;
}

.maintenance-authorizer-display {
    width: 220px;
}
/* MAINTENANCE TYPES AND LIST PRINT */
.maintenance-types-admin .transport-params__table {
    table-layout: auto;
    width: 100%;
}

.maintenance-types-admin .transport-params__table th:first-child,
.maintenance-types-admin .transport-params__table td:first-child {
    width: 55%;
}

.maintenance-types-admin .transport-params__table th:nth-child(2),
.maintenance-types-admin .transport-params__table td:nth-child(2) {
    width: 14%;
}

.maintenance-types-admin .transport-params__table input[name="Nombre"] {
    box-sizing: border-box;
    display: block;
    max-width: none;
    min-width: 0;
    width: 100%;
}

.maintenance-table .fuel-action-col {
    min-width: 62px;
    width: 62px;
}

.maintenance-row-actions {
    align-items: center;
    display: flex;
    gap: 3px;
    justify-content: center;
    white-space: nowrap;
}

.maintenance-row-actions .fuel-action-btn {
    align-items: center;
    display: inline-flex;
    font-size: 15px;
    height: 23px;
    justify-content: center;
    min-width: 25px;
    padding: 1px 3px;
}

.maintenance-list-print:hover {
    background: #d8eefc;
    border-color: #0877bd;
}
/* PRODUCTOS - ENCABEZADOS ORDENABLES */
.products-table thead th a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 36px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 800;
    cursor: pointer;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease;
}

.products-table thead th a:hover {
    color: #fff4e9;
    background-color: rgba(238, 82, 50, 0.48);
    transform: translateY(-1px);
}

.products-table thead th.products-code-column a,
.products-table thead th.products-status-column a {
    justify-content: center;
}
/* PRODUCTOS - EXPORTAR EXCEL */
.products-excel-export {
    position: relative;
    display: inline-flex;
    align-items: stretch;
    margin: 0;
    filter: drop-shadow(0 4px 5px rgba(45, 22, 14, 0.25));
}

.products-columns-button,
.products-excel-button {
    height: 44px;
    border: 1px solid #ef6a3c;
    cursor: pointer;
    transition:
        background-color 0.18s ease,
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.products-columns-button {
    width: 44px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 3px;
    padding: 0;
    background: #f06432;
    border-radius: 5px 0 0 5px;
}

.products-columns-button span {
    width: 4px;
    height: 25px;
    display: block;
    background: #2479d6;
    border: 1px solid #164b8b;
}

.products-excel-button {
    min-width: 98px;
    padding: 0 24px 0 18px;
    color: #ffffff;
    background: #f6a184;
    border-left: 0;
    border-radius: 0 999px 999px 0;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0.4px;
}

.products-columns-button:hover,
.products-columns-button[aria-expanded="true"] {
    background: #d94c25;
    transform: translateY(-1px);
}

.products-excel-button:hover {
    background: #ed7149;
    transform: translateY(-1px);
    box-shadow: 0 5px 12px rgba(108, 48, 28, 0.3);
}

.products-columns-panel {
    position: absolute;
    z-index: 1000;
    top: calc(100% + 9px);
    right: 0;
    width: 290px;
    padding: 12px;
    color: #3c241b;
    background: #fff8ef;
    border: 2px solid #d9633e;
    border-radius: 12px;
    box-shadow: 0 14px 28px rgba(42, 22, 14, 0.36);
}

.products-columns-panel[hidden] {
    display: none;
}

.products-columns-panel::before {
    content: "";
    position: absolute;
    top: -8px;
    right: 105px;
    width: 14px;
    height: 14px;
    background: #fff8ef;
    border-top: 2px solid #d9633e;
    border-left: 2px solid #d9633e;
    transform: rotate(45deg);
}

.products-columns-heading {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 3px 4px 10px;
    border-bottom: 1px solid #e5bda9;
}

.products-columns-heading strong {
    color: #713b29;
    font-size: 14px;
    text-transform: uppercase;
}

.products-columns-heading small {
    color: #876b5e;
    font-size: 11px;
}

.products-columns-panel label {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 32px;
    padding: 5px 7px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
}

.products-columns-panel label:hover {
    color: #ffffff;
    background: #d95d37;
}

.products-columns-panel input[type="checkbox"] {
    width: 17px;
    height: 17px;
    accent-color: #dd542e;
}

.products-columns-actions {
    display: flex;
    justify-content: flex-end;
    gap: 7px;
    padding-top: 10px;
    border-top: 1px solid #e5bda9;
}

.products-columns-actions button {
    min-width: 76px;
    padding: 7px 10px;
    color: #ffffff;
    background: #74402d;
    border: 0;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.products-columns-actions button:last-child {
    background: #e05b34;
}

.products-columns-actions button:hover {
    background: #bf4325;
}
/* CORRECCION CAPA PANEL EXCEL */
.products-card {
    overflow: visible !important;
}

.products-titlebar {
    position: relative !important;
    z-index: 5000 !important;
    overflow: visible !important;
}

.products-title-actions {
    position: relative !important;
    z-index: 5100 !important;
    overflow: visible !important;
}

.products-excel-export {
    position: relative !important;
    z-index: 5200 !important;
}

.products-columns-panel {
    z-index: 99999 !important;
}

.products-filters,
.products-summary,
.products-table-wrap,
.products-table-container {
    position: relative;
    z-index: 1;
}
/* BODEGA - NOMINA DE ENTRADAS */
.entries-card,
.entries-titlebar,
.entries-titlebar .products-title-actions {
    overflow: visible !important;
}

.entries-titlebar {
    position: relative;
    z-index: 6000;
}

.entries-filters {
    grid-template-columns:
        minmax(110px, .65fr)
        minmax(150px, .9fr)
        minmax(160px, .9fr)
        minmax(320px, 2.5fr)
        auto;
}

.entries-table-wrap {
    position: relative;
    z-index: 1;
    min-height: 360px;
    overflow: auto;
}

.entries-table {
    min-width: 1450px;
}

.entries-table th,
.entries-table td {
    padding: 8px 7px;
    vertical-align: middle;
}

.entries-icon-column,
.entries-icon-cell {
    width: 38px;
    min-width: 38px;
    padding: 4px !important;
    text-align: center;
}

.entries-row-button {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: #74402d;
    border: 1px solid #50281c;
    border-radius: 5px;
    text-decoration: none;
    font-size: 17px;
    transition:
        background-color .17s ease,
        transform .17s ease,
        box-shadow .17s ease;
}

.entries-row-button:hover {
    color: #ffffff;
    background: #e25932;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(75, 34, 22, .28);
}

.entries-print-button {
    background: #a64e32;
}

.entries-date-column {
    width: 105px;
}

.entries-document-column {
    width: 135px;
}

.entries-ruc-column {
    width: 145px;
}

.entries-concept-column {
    min-width: 390px;
}

.entries-provider-column {
    min-width: 270px;
}

.entries-total-column {
    width: 120px;
}

.entries-status-column {
    width: 120px;
}

.entries-concept,
.entries-table td[title] {
    max-width: 410px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.entries-comprobante {
    color: #7a361f;
    font-weight: 900;
    text-align: center;
}

.entries-money {
    text-align: right;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.entries-status {
    display: inline-flex;
    justify-content: center;
    min-width: 92px;
    padding: 5px 9px;
    color: #ffffff;
    background: #2f8a47;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
}

.entries-status.is-cancelled {
    background: #777777;
}

.entries-bottom-summary {
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
    gap: 8px;
    padding: 8px 12px;
    color: #ffffff;
    background: #43281f;
    border-top: 3px solid #e15d35;
}

.entries-bottom-summary div {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 190px;
    padding: 7px 12px;
    background: #68402f;
    border-radius: 7px;
}

.entries-bottom-summary span {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.entries-bottom-summary strong {
    margin-left: auto;
    color: #fff29a;
    font-size: 14px;
}

.entries-titlebar .products-columns-panel {
    z-index: 99999 !important;
}

@media (max-width: 1050px) {
    .entries-filters {
        grid-template-columns: 1fr 1fr;
    }
}
/* ENTRADAS - PALETA PRODUCTOS */
.entries-page {
    background: #f2dfca !important;
}

.entries-page .entries-card {
    background: #fff8ef !important;
    border: 2px solid #6f3b29 !important;
    box-shadow: 0 12px 28px rgba(66, 34, 23, .25) !important;
}

.entries-page .entries-titlebar {
    color: #ffffff !important;
    background:
        linear-gradient(90deg, #c94725, #e45c32) !important;
    border-bottom: 4px solid #f39a70 !important;
}

.entries-page .products-heading h1,
.entries-page .products-heading p,
.entries-page .products-cube {
    color: #ffffff !important;
}

.entries-page .entries-filters {
    background: #f8ead9 !important;
    border-bottom: 2px solid #c97753 !important;
}

.entries-page .entries-filters label > span {
    color: #583024 !important;
}

.entries-page .entries-filters select,
.entries-page .entries-filters input {
    color: #3e251c !important;
    background: #fffdf9 !important;
    border: 1px solid #bd765a !important;
}

.entries-page .entries-filters select:focus,
.entries-page .entries-filters input:focus {
    border-color: #e25631 !important;
    box-shadow: 0 0 0 3px rgba(226, 86, 49, .18) !important;
}

.entries-page .products-filter-button {
    color: #ffffff !important;
    background: #e15a32 !important;
    border-color: #b83d20 !important;
}

.entries-page .products-clear {
    color: #ffffff !important;
    background: #6b3c2b !important;
    border-color: #4c281d !important;
}

.entries-page .products-filter-button:hover,
.entries-page .products-clear:hover {
    color: #ffffff !important;
    background: #bd3e22 !important;
}

.entries-page .entries-summary {
    color: #ffffff !important;
    background: #40271e !important;
    border-top: 1px solid #6e402f !important;
    border-bottom: 1px solid #6e402f !important;
}

.entries-page .products-counter > span {
    color: #ffffff !important;
    background: #ef5d37 !important;
}

.entries-page .products-counter small,
.entries-page .products-range {
    color: #ffffff !important;
}

.entries-page .entries-table thead th {
    color: #ffffff !important;
    background: #82472f !important;
    border-color: #aa7059 !important;
}

.entries-page .entries-table thead th a {
    color: #ffffff !important;
}

.entries-page .entries-table thead th a:hover {
    color: #fff6ce !important;
    background: #d85631 !important;
}

.entries-page .entries-table tbody tr:nth-child(odd) td {
    background: #fff9f1 !important;
}

.entries-page .entries-table tbody tr:nth-child(even) td {
    background: #f2dfc8 !important;
}

.entries-page .entries-table tbody tr:hover td {
    background: #f4b190 !important;
}

.entries-page .entries-table td {
    color: #332018 !important;
    border-color: #ddc1ac !important;
}

.entries-page .entries-comprobante {
    color: #8c361f !important;
}

.entries-page .entries-bottom-summary {
    background: #40271e !important;
    border-top-color: #e65b34 !important;
}

.entries-page .entries-bottom-summary div {
    background: #68402f !important;
}

.entries-page .products-pagination {
    background: #f8e8d6 !important;
    border-top: 1px solid #cd967b !important;
}

.entries-page .products-pagination a {
    color: #ffffff !important;
    background: #75412e !important;
}

.entries-page .products-pagination a:hover {
    background: #dd5932 !important;
}

.entries-page .products-columns-panel {
    color: #3c241b !important;
    background: #fff8ef !important;
    border-color: #d9633e !important;
}

.entries-page .products-columns-panel::before {
    background: #fff8ef !important;
    border-color: #d9633e !important;
}

/* TXMAN NAVIGATION TOGGLE START */
.window-tools .tx-navigation-toggle {
    width: 38px;
    height: 36px;
    min-width: 38px;
    min-height: 36px;
    padding: 3px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    overflow: hidden;
    background: rgba(0, 91, 187, .72);
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 9px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .22);
    cursor: pointer;
    transition:
        background-color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.window-tools .tx-navigation-toggle:hover {
    background: #f05a28;
    transform: translateY(-1px) scale(1.05);
    box-shadow: 0 4px 9px rgba(0, 0, 0, .30);
}

.window-tools .tx-navigation-toggle:active {
    transform: translateY(0) scale(.97);
}

.window-tools .tx-navigation-toggle:focus-visible {
    outline: 3px solid #fff59d;
    outline-offset: 2px;
}

.tx-navigation-toggle img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
    pointer-events: none;
}

.tx-shell.tx-navigation-collapsed {
    grid-template-columns: 1fr;
}

.tx-shell.tx-navigation-collapsed .tx-sidebar {
    display: none;
}

.tx-shell.tx-navigation-collapsed .tx-main {
    grid-column: 1;
    grid-template-rows: 54px 1fr;
}

.tx-shell.tx-navigation-collapsed .tx-main.no-query-strip {
    grid-template-rows: 1fr;
}

.tx-shell.tx-navigation-collapsed .module-strip {
    display: none;
}
/* TXMAN NAVIGATION TOGGLE END */

/* TX_STATUSBAR_THIN_START */
.tx-statusbar {
    min-height: 10px !important;
    height: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: linear-gradient(90deg, #0f65ff, #5bd2e5) !important;
}

.tx-statusbar > * {
    display: none !important;
}
/* TX_STATUSBAR_THIN_END */

/* TXMAN_MOVILIZACION_CLOSE_AND_INLINE_PDF */

/* ---------------------------------------------------------
   X superior de Orden de Movilizacion
   --------------------------------------------------------- */

.mov-close-order {
    width: 36px;
    height: 36px;
    min-width: 36px;
    flex: 0 0 36px;

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

    padding: 0;
    margin-left: 2px;

    color: #ffffff !important;

    background: rgba(255, 255, 255, .12);

    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 9px;

    box-shadow:
        0 2px 6px rgba(0, 0, 0, .18),
        inset 0 1px 0 rgba(255, 255, 255, .12);

    cursor: pointer;

    transition:
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.mov-close-order svg {
    width: 19px;
    height: 19px;

    fill: none;

    stroke: currentColor;
    stroke-width: 2.3;
    stroke-linecap: round;
}

.mov-close-order:hover,
.mov-close-order:focus,
.mov-close-order:focus-visible {
    color: #ffffff !important;

    background: #ff6347;

    border-color: #ffd0c7;

    box-shadow:
        0 0 0 3px rgba(255, 99, 71, .22),
        0 6px 14px rgba(96, 27, 14, .30);

    outline: none;

    transform: scale(1.08);
}

.mov-close-order:active {
    transform: scale(.95);
}


/* ---------------------------------------------------------
   Visor interno PDF
   Mantiene visible el escritorio de TxMan.
   --------------------------------------------------------- */

.mov-pdf-viewer[hidden] {
    display: none !important;
}

.mov-pdf-viewer {
    position: fixed;

    /*
       Escritorio TxMan:
       sidebar ~140 px
       barras superiores ~104 px
    */
    top: 108px;
    right: 12px;
    bottom: 14px;
    left: 150px;

    z-index: 9000;

    padding: 8px;

    background: rgba(5, 20, 35, .24);

    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.mov-pdf-shell {
    width: 100%;
    height: 100%;

    display: grid;
    grid-template-rows: 46px minmax(0, 1fr);

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #4d83aa;
    border-radius: 11px;

    box-shadow:
        0 16px 45px rgba(0, 0, 0, .38),
        0 0 0 1px rgba(255, 255, 255, .22);
}

.mov-pdf-toolbar {
    min-height: 46px;

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

    gap: 12px;

    padding: 5px 8px 5px 14px;

    color: #ffffff;

    background:
        linear-gradient(
            90deg,
            #155b9d 0%,
            #176cb2 72%,
            #155b9d 100%
        );

    border-bottom: 1px solid #0f497f;
}

.mov-pdf-title {
    min-width: 0;

    display: flex;
    align-items: baseline;

    gap: 8px;
}

.mov-pdf-title span {
    font-size: 10px;
    font-weight: 800;

    letter-spacing: .08em;

    opacity: .78;
}

.mov-pdf-title strong {
    overflow: hidden;

    font-size: 13px;
    font-weight: 800;

    text-overflow: ellipsis;
    white-space: nowrap;
}


/* X del visor PDF */

.mov-pdf-close {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    flex: 0 0 34px;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;

    background: rgba(255, 255, 255, .12) !important;

    border: 1px solid rgba(255, 255, 255, .72) !important;
    border-radius: 8px !important;

    box-shadow:
        0 2px 5px rgba(0, 0, 0, .20);

    transition:
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.mov-pdf-close svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;
    stroke-width: 2.3;
    stroke-linecap: round;
}

.mov-pdf-close:hover,
.mov-pdf-close:focus,
.mov-pdf-close:focus-visible {
    color: #ffffff !important;

    background: #ff6347 !important;

    border-color: #ffd0c7 !important;

    box-shadow:
        0 0 0 3px rgba(255, 99, 71, .23),
        0 5px 13px rgba(76, 23, 14, .30);

    outline: none;

    transform: scale(1.07);
}

.mov-pdf-close:active {
    transform: scale(.95);
}


/* Documento */

.mov-pdf-frame {
    display: block;

    width: 100%;
    height: 100%;

    min-width: 0;
    min-height: 0;

    border: 0;

    background: #eef2f5;
}


/* Boton Imprimir mantiene el estilo actual */

.mov-print-inline {
    cursor: pointer;
}


/* Responsive */

@media (max-width: 900px) {

    .mov-close-order {
        margin-left: auto;
    }

    .mov-pdf-viewer {
        top: 8px;
        right: 8px;
        bottom: 8px;
        left: 8px;

        padding: 4px;
    }

    .mov-pdf-title span {
        display: none;
    }
}


/* ============================================================
   BODEGA_SUBMENU_MODERN_V44
   Submenu moderno y siempre encima del escritorio
   ============================================================ */

/*
   La barra superior debe quedar por encima
   del contenido de cualquier formulario.
*/
.module-strip {
    position: relative !important;
    z-index: 10000 !important;
    overflow: visible !important;
}

/*
   El escritorio queda debajo del menú desplegable.
*/


/* ============================================================
   CONTENEDOR MENU BODEGA
   ============================================================ */

#bodega-menu {
    position: relative !important;
    z-index: 10100 !important;

    min-width: 132px !important;
}

/* ============================================================
   BOTON MENU
   ============================================================ */

#bodega-menu .module-submenu-toggle {
    min-width: 132px !important;
    height: 100% !important;

    display: flex !important;
    align-items: center !important;

    gap: 8px !important;

    padding:
        8px
        14px !important;

    color: #ffffff !important;

    background:
        transparent !important;

    border: 0 !important;
    border-radius: 8px !important;

    transition:
        background .16s ease,
        box-shadow .16s ease !important;
}

#bodega-menu .module-submenu-toggle:hover,
#bodega-menu .module-submenu-toggle[aria-expanded="true"] {

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.13),
            rgba(255,255,255,.055)
        ) !important;

    box-shadow:
        inset 0 -3px 0 #f05a28 !important;
}

/* ============================================================
   FLECHA
   ============================================================ */

#bodega-menu .submenu-caret {

    margin-left: 2px !important;

    color: #d9f5ff !important;

    font-size: 13px !important;

    transition:
        transform .18s ease !important;
}

#bodega-menu
.module-submenu-toggle[aria-expanded="true"]
.submenu-caret {

    transform:
        rotate(180deg) !important;
}

/* ============================================================
   SUBMENU DESPLEGABLE
   ============================================================ */

#bodega-menu .module-submenu-items {

    position: absolute !important;

    top:
        calc(100% + 2px) !important;

    left: 0 !important;

    z-index: 11000 !important;

    width: 310px !important;
    min-width: 310px !important;

    padding:
        7px !important;

    overflow: visible !important;

    background:
        linear-gradient(
            155deg,
            #17283c 0%,
            #203a54 52%,
            #172739 100%
        ) !important;

    border:
        1px solid #6cbce4 !important;

    border-top:
        3px solid #40b9ed !important;

    border-radius:
        0 0 12px 12px !important;

    box-shadow:
        0 18px 35px rgba(0,0,0,.48),
        0 4px 12px rgba(0,70,120,.20) !important;
}

/*
   Respeta hidden.
*/
#bodega-menu .module-submenu-items[hidden] {
    display: none !important;
}

/* ============================================================
   OPCIONES
   ============================================================ */

#bodega-menu .module-submenu-items a {

    width: 100% !important;
    min-width: 0 !important;

    min-height: 44px !important;

    display: flex !important;
    align-items: center !important;

    gap: 11px !important;

    padding:
        7px
        12px !important;

    margin: 0 !important;

    color: #ffffff !important;

    background:
        transparent !important;

    border: 0 !important;

    border-bottom:
        1px solid rgba(255,255,255,.10) !important;

    border-radius:
        7px !important;

    font-size:
        12px !important;

    font-weight:
        700 !important;

    line-height:
        1.15 !important;

    white-space:
        nowrap !important;

    transition:
        background .15s ease,
        transform .15s ease,
        box-shadow .15s ease !important;
}

#bodega-menu .module-submenu-items a:last-child {
    border-bottom:
        0 !important;
}

/* ============================================================
   EMOJI
   ============================================================ */

#bodega-menu
.module-submenu-items
.submenu-emoji-v44 {

    width: 32px !important;
    min-width: 32px !important;

    height: 32px !important;
    min-height: 32px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;

    background:
        rgba(255,255,255,.10) !important;

    border:
        1px solid rgba(255,255,255,.14) !important;

    border-radius:
        8px !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08) !important;

    font-size:
        18px !important;

    line-height:
        1 !important;
}

/*
   Anula la regla general de .module-strip a span
   que originalmente pone fondo claro.
*/
#bodega-menu
.module-submenu-items
.submenu-label-v44 {

    display: block !important;

    min-width: 0 !important;
    min-height: 0 !important;

    padding: 0 !important;

    color: #ffffff !important;

    background:
        transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    font-size:
        12px !important;

    font-weight:
        700 !important;

    place-items:
        unset !important;
}

/* ============================================================
   HOVER
   ============================================================ */

#bodega-menu .module-submenu-items a:hover,
#bodega-menu .module-submenu-items a:focus-visible {

    color: #ffffff !important;

    background:
        linear-gradient(
            90deg,
            #147db7,
            #259fce
        ) !important;

    transform:
        translateX(3px) !important;

    box-shadow:
        0 4px 10px rgba(0,31,58,.25) !important;

    outline:
        none !important;
}

#bodega-menu
.module-submenu-items
a:hover
.submenu-emoji-v44,

#bodega-menu
.module-submenu-items
a:focus-visible
.submenu-emoji-v44 {

    background:
        rgba(255,255,255,.20) !important;

    border-color:
        rgba(255,255,255,.45) !important;

    transform:
        scale(1.06) !important;
}

/* ============================================================
   GARANTIA DE CAPAS
   ============================================================ */

.tx-main {
    position: relative !important;
}

#bodega-menu,
#bodega-menu .module-submenu-items {
    isolation: auto !important;
}


/* ============================================================
   TRANSPORT_SUBMENU_MODERN_V45
   Menu Transportes moderno
   ============================================================ */

/*
   Barra superior por encima del escritorio.
*/
.module-strip {
    position: relative !important;
    z-index: 10000 !important;
    overflow: visible !important;
}



/* ============================================================
   CONTENEDOR
   ============================================================ */

#transport-menu {

    position: relative !important;

    z-index: 10100 !important;

    width: 145px !important;
    min-width: 145px !important;
}

/* ============================================================
   BOTON MENU
   ============================================================ */

#transport-menu .module-submenu-toggle {

    width: 100% !important;
    min-width: 145px !important;

    height: 100% !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 8px !important;

    padding:
        8px
        13px !important;

    color: #ffffff !important;

    background:
        transparent !important;

    border: 0 !important;

    border-radius:
        8px !important;

    transition:
        background .16s ease,
        box-shadow .16s ease !important;
}

#transport-menu .module-submenu-toggle:hover,
#transport-menu
.module-submenu-toggle[aria-expanded="true"] {

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.13),
            rgba(255,255,255,.055)
        ) !important;

    box-shadow:
        inset 0 -3px 0 #f05a28 !important;
}

/* ============================================================
   FLECHA MENU
   ============================================================ */

#transport-menu .submenu-caret {

    margin-left: auto !important;

    color: #d9f5ff !important;

    font-size: 13px !important;

    transition:
        transform .18s ease !important;
}

#transport-menu
.module-submenu-toggle[aria-expanded="true"]
.submenu-caret {

    transform:
        rotate(180deg) !important;
}

/* ============================================================
   SUBMENU
   ============================================================ */

#transport-menu .module-submenu-items {

    position: absolute !important;

    top:
        calc(100% + 2px) !important;

    left: 0 !important;

    z-index: 11000 !important;

    width: 285px !important;
    min-width: 285px !important;

    padding:
        7px !important;

    overflow:
        visible !important;

    background:
        linear-gradient(
            155deg,
            #17283c 0%,
            #203a54 52%,
            #172739 100%
        ) !important;

    border:
        1px solid #6cbce4 !important;

    border-top:
        3px solid #40b9ed !important;

    border-radius:
        0 0 12px 12px !important;

    box-shadow:
        0 18px 35px rgba(0,0,0,.48),
        0 4px 12px rgba(0,70,120,.20) !important;
}

#transport-menu
.module-submenu-items[hidden] {

    display:
        none !important;
}

/* ============================================================
   OPCIONES
   ============================================================ */

#transport-menu
.module-submenu-items a {

    width: 100% !important;

    min-width: 0 !important;
    min-height: 45px !important;

    display: flex !important;

    align-items: center !important;

    gap: 11px !important;

    margin: 0 !important;

    padding:
        7px
        12px !important;

    color:
        #ffffff !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-bottom:
        1px solid rgba(255,255,255,.10) !important;

    border-radius:
        7px !important;

    font-size:
        12px !important;

    font-weight:
        700 !important;

    line-height:
        1.15 !important;

    white-space:
        nowrap !important;

    transition:
        background .15s ease,
        transform .15s ease,
        box-shadow .15s ease !important;
}

#transport-menu
.module-submenu-items a:last-child {

    border-bottom:
        0 !important;
}

/* ============================================================
   EMOJIS
   ============================================================ */

#transport-menu
.submenu-emoji-transport-v45 {

    width: 32px !important;
    min-width: 32px !important;

    height: 32px !important;
    min-height: 32px !important;

    display:
        inline-flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    margin:
        0 !important;

    padding:
        0 !important;

    background:
        rgba(255,255,255,.10) !important;

    border:
        1px solid rgba(255,255,255,.15) !important;

    border-radius:
        8px !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08) !important;

    font-size:
        18px !important;

    line-height:
        1 !important;

    transition:
        transform .15s ease,
        background .15s ease,
        border-color .15s ease !important;
}

/*
   Importante:
   neutralizamos la regla general
   .module-strip a span
*/
#transport-menu
.submenu-label-transport-v45 {

    display:
        block !important;

    min-width:
        0 !important;

    min-height:
        0 !important;

    padding:
        0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    color:
        #ffffff !important;

    font-size:
        12px !important;

    font-weight:
        700 !important;

    place-items:
        unset !important;
}

/* ============================================================
   HOVER
   ============================================================ */

#transport-menu
.module-submenu-items a:hover,

#transport-menu
.module-submenu-items a:focus-visible {

    color:
        #ffffff !important;

    background:
        linear-gradient(
            90deg,
            #147db7,
            #259fce
        ) !important;

    transform:
        translateX(3px) !important;

    box-shadow:
        0 4px 10px rgba(0,31,58,.25) !important;

    outline:
        none !important;
}

#transport-menu
.module-submenu-items
a:hover
.submenu-emoji-transport-v45,

#transport-menu
.module-submenu-items
a:focus-visible
.submenu-emoji-transport-v45 {

    background:
        rgba(255,255,255,.20) !important;

    border-color:
        rgba(255,255,255,.45) !important;

    transform:
        scale(1.07) !important;
}

/* ============================================================
   CAPAS
   ============================================================ */

.tx-main {
    position: relative !important;
}

#transport-menu,
#transport-menu .module-submenu-items {

    isolation:
        auto !important;
}


/* ============================================================
   TX_MENU_ACTIVE_GLOBAL_V49

   El menu horizontal seleccionado mantiene:
   - fondo suave
   - linea tomate inferior
   - icono ligeramente resaltado
   ============================================================ */

.module-strip a.active,
.module-strip .module-submenu-toggle.active {

    position:
        relative !important;

    color:
        #ffffff !important;

    background:
        rgba(255,255,255,.11) !important;

    box-shadow:
        inset 0 -3px 0 #f05a28 !important;
}


/*
   Una linea adicional muy fina mejora la visibilidad
   sobre menus oscuros.
*/

.module-strip a.active::after,
.module-strip .module-submenu-toggle.active::after {

    content:
        "" !important;

    position:
        absolute !important;

    left:
        8px !important;

    right:
        8px !important;

    bottom:
        0 !important;

    height:
        3px !important;

    background:
        #f05a28 !important;

    border-radius:
        3px 3px 0 0 !important;

    box-shadow:
        0 -1px 5px rgba(240,90,40,.42) !important;

    pointer-events:
        none !important;
}


/*
   El icono del menu seleccionado tambien se destaca.
*/

.module-strip a.active .nav-icon-img,
.module-strip .module-submenu-toggle.active .nav-icon-img {

    opacity:
        1 !important;

    transform:
        translateY(-1px)
        scale(1.05) !important;

    filter:
        drop-shadow(
            0 3px 4px rgba(0,0,0,.68)
        ) !important;
}


/*
   Si el menu seleccionado tambien esta desplegado,
   conservamos la misma linea tomate.
*/

.module-strip
.module-submenu-toggle.active[aria-expanded="true"] {

    background:
        rgba(255,255,255,.13) !important;

    box-shadow:
        inset 0 -3px 0 #f05a28 !important;
}


/* ============================================================
   MANTENIMIENTO_PREVENTIVO_MENU_V61
   ============================================================ */

#maintenance-menu {
    position: relative !important;
    z-index: 10100 !important;
}

/* MENU DESPLEGABLE */

#maintenance-menu .module-submenu-items {

    z-index: 11000 !important;

    width: 305px !important;
    min-width: 305px !important;

    padding: 7px !important;

    background:
        linear-gradient(
            155deg,
            #17283c 0%,
            #203a54 52%,
            #172739 100%
        ) !important;

    border:
        1px solid #65b8df !important;

    border-top:
        3px solid #3db7e8 !important;

    border-radius:
        0 0 12px 12px !important;

    box-shadow:
        0 18px 35px rgba(0,0,0,.48),
        0 4px 12px rgba(0,70,120,.20) !important;
}


/* CADA OPCION */

#maintenance-menu .module-submenu-items a {

    width: 100% !important;

    min-height: 47px !important;

    display: flex !important;

    align-items: center !important;

    gap: 11px !important;

    padding:
        7px
        11px !important;

    color:
        #ffffff !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-bottom:
        1px solid rgba(255,255,255,.10) !important;

    border-radius:
        7px !important;

    font-size:
        12px !important;

    font-weight:
        700 !important;

    text-decoration:
        none !important;

    white-space:
        nowrap !important;

    transition:
        background .15s ease,
        transform .15s ease,
        box-shadow .15s ease !important;
}


#maintenance-menu
.module-submenu-items
a:last-child {

    border-bottom:
        0 !important;
}


/* ============================================================
   EMOJIS
   ============================================================ */

#maintenance-menu
.maintenance-emoji-v61 {

    width:
        32px !important;

    min-width:
        32px !important;

    height:
        32px !important;

    min-height:
        32px !important;

    display:
        inline-flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    margin:
        0 !important;

    padding:
        0 !important;

    background:
        rgba(255,255,255,.11) !important;

    border:
        1px solid rgba(255,255,255,.17) !important;

    border-radius:
        8px !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10) !important;

    font-size:
        18px !important;

    line-height:
        1 !important;

    transition:
        transform .15s ease,
        background .15s ease !important;
}


/* TEXTO */

#maintenance-menu
.maintenance-label-v61 {

    display:
        block !important;

    min-width:
        0 !important;

    min-height:
        0 !important;

    margin:
        0 !important;

    padding:
        0 !important;

    color:
        #ffffff !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    font-size:
        12px !important;

    font-weight:
        700 !important;

    place-items:
        unset !important;
}


/* ============================================================
   HOVER / ENFOQUE
   ============================================================ */

#maintenance-menu
.module-submenu-items a:hover,

#maintenance-menu
.module-submenu-items a:focus-visible {

    color:
        #ffffff !important;

    background:
        linear-gradient(
            90deg,
            #147db7,
            #28a4d2
        ) !important;

    transform:
        translateX(3px) !important;

    box-shadow:
        0 4px 10px rgba(0,31,58,.28) !important;

    outline:
        none !important;
}


#maintenance-menu
.module-submenu-items
a:hover
.maintenance-emoji-v61,

#maintenance-menu
.module-submenu-items
a:focus-visible
.maintenance-emoji-v61 {

    background:
        rgba(255,255,255,.22) !important;

    transform:
        scale(1.08) !important;
}
