/* Report theme extracted from view_report.php - white, boxed layout, polished buttons */
:root{ --bg:#ffffff; --muted:#6b7280; --accent-a: #1e90ff; --accent-b:#00d4ff; --card-border:#eef2f6; --btn-text:#ffffff; --glass: rgba(16,24,40,0.04) }
html,body{height:100%;margin:0;background:var(--bg);color:#111827;font-family:Kanit,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial}
.main-container{max-width:1180px;margin:24px auto;padding:28px 28px}

.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
.page-header .title{display:flex;flex-direction:column}
.page-header h1{margin:0;font-size:20px;color:#111827}
.page-header p.sub{margin:6px 0 0;color:var(--muted);font-size:13px}
.page-actions{display:flex;gap:8px;align-items:center}

.btn-ghost{background:#fff;border:1px solid var(--card-border);color:#374151;padding:10px 14px;border-radius:10px;box-shadow: 0 6px 16px rgba(2,6,23,0.04);cursor:pointer}
.btn-primary{background:linear-gradient(90deg,var(--accent-a),var(--accent-b)) !important;color:var(--btn-text) !important;border:none;padding:10px 14px;border-radius:10px;box-shadow:2px 6px 18px rgba(2,6,23,0.08);cursor:pointer}
.btn-ghost:hover, .btn-primary:hover{transform:translateY(-2px)}

.summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px;align-items:stretch}
.card-summary{background:#fff;border:1px solid var(--card-border);padding:18px;border-radius:12px;display:flex;flex-direction:column;gap:6px;box-shadow:0 6px 20px rgba(2,6,23,0.04);min-height:82px}
.card-summary .k{font-size:13px;color:var(--muted)}
.card-summary .v{font-weight:800;font-size:20px;color:#111827}

.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.filters .search{flex:1;min-width:220px}
.filters input[type="text"], .filters select{width:100%;padding:10px;border-radius:10px;border:1px solid var(--card-border);background:#fff;color:#111827}
.filters .controls{display:flex;gap:8px}

.table-panel{background:#fff;border:1px solid var(--card-border);border-radius:12px;padding:12px;box-shadow:0 8px 28px rgba(2,6,23,0.04)}
.table-wrapper{background:transparent;border-radius:8px;overflow:hidden}
table{width:100%;border-collapse:collapse;font-size:14px;background:transparent}
thead th{background:#f8fafc;color:var(--muted);text-transform:uppercase;font-size:12px;padding:12px 10px;text-align:left;border-bottom:1px solid var(--card-border)}
tbody tr{background:#fbfdff;border-bottom:1px solid #f3f6f9}
tbody tr:hover{background:#f4f6f8}
tbody td{padding:12px 10px;vertical-align:middle;color:#111827}
.vin{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, 'Roboto Mono',monospace;color:#0b76d1;letter-spacing:0.6px}
.brand-logo img{width:56px;height:28px;object-fit:contain}

.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px}
.badge.green{background:linear-gradient(90deg,#bbf7d0,#86efac);color:#0b3b1f}
.badge.blue{background:linear-gradient(90deg,#bfdbfe,#60a5fa);color:#06283a}
.badge.amber{background:linear-gradient(90deg,#fde68a,#fca5a5);color:#4a2f00}
.badge.gray{background:#f3f4f6;color:var(--muted)}

@media(max-width:980px){ .container{margin-left:0;padding:14px} .page-header{flex-direction:column;align-items:stretch} }
@media(max-width:640px){ thead{display:none} tbody td{display:block;padding:8px} tbody tr{margin-bottom:10px;border-radius:8px;overflow:hidden;border:1px solid #f3f6f9} }
.brand-img{width:56px;height:28px;object-fit:contain}
.clickable-row{cursor:pointer}

.public-report .container { margin-left: 0 !important; }
.container .main-container, .topbar + .main-container { margin-left: 0 !important; }

.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9999}
.modal.active{display:flex}
.modal-backdrop{position:absolute;inset:0;background:rgba(2,6,23,0.06);backdrop-filter:blur(1px)}
.modal-content{position:relative;background:#ffffff;padding:0;border-radius:12px;max-width:1180px;width:100%;max-height:92vh;overflow:visible;color:#111827;border:1px solid var(--card-border);box-shadow:0 18px 40px rgba(2,6,23,0.06);display:flex;flex-direction:column}
.modal-close{position:absolute;top:8px;right:8px;background:transparent;border:none;color:#6b7280;font-size:20px;padding:8px;border-radius:8px}
.vehicle-image{width:100%;max-height:220px;object-fit:contain;margin:8px 0;border-radius:6px}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.detail-grid dt{font-size:12px;color:var(--muted);margin:0}
.detail-grid dd{margin:6px 0 0;color:#111827}
.qr-box{display:flex;justify-content:center;margin-top:12px}
.action-btn{font-size:15px;padding:8px 12px;border-radius:8px;border:1px solid var(--card-border);background:#fff;cursor:pointer}

/* High-specificity overrides to neutralize sidebar/topbar styles */
body, main, .main-container, .container, .page-header, .summary-cards, .table-panel, .table-responsive, table, .modal-content {
    background: #ffffff !important;
    color: #111827 !important;
}
.topbar, .topbar * { background: transparent !important; color: inherit !important; }
.sidebar-overlay { display: none !important; }

/* Desktop-only: visually connect topbar and sidebar for a clean banded header */
@media (min-width: 900px) {
    /* ensure main layout left margin remains for sidebar */
    .main-container { margin-left: 236px; width: calc(100% - 236px); }

    /* style topbar as a continuous header band matching sidebar header */
    .topbar {
        background: var(--surface-sidebar-photo) !important;
        color: var(--text-inverse) !important;
        border-bottom: none !important;
        box-shadow: 0 6px 18px rgba(2,6,23,0.12) !important;
        padding-left: 24px !important;
        /* ensure content is visually shifted to the right of the sidebar */
        padding-left: 236px !important;
        position: relative;
        z-index: 10;
    }
    .topbar h1, .topbar .topbar-subtitle { color: var(--text-inverse) !important; }
    .topbar .topbar-actions a { color: var(--text-inverse) !important; border-color: rgba(255,255,255,0.08) !important; }

    /* sidebar header should share the same band color and remove border seam */
    .app-sidebar { border-right: none !important; }
    .app-sidebar .sidebar-card-header { background: var(--surface-sidebar-photo) !important; }

    /* hide mobile sidebar toggle on desktop to reduce clutter */
    .topbar .sidebar-toggle { display: none !important; }

    /* make topbar sit visually flush by removing extra margin on pages that had overrides */
    .topbar + .main-container, .container .main-container { margin-left: 236px !important; }
}

/* Accent button for topbar (primary-looking but scoped to topbar) */
.topbar .topbar-actions .btn-accent {
    background: linear-gradient(90deg, var(--accent-a), var(--accent-b)) !important;
    color: var(--btn-text) !important;
    border: none !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    box-shadow: 0 6px 16px rgba(2,6,23,0.08) !important;
}
.topbar .topbar-actions .btn-accent:hover { transform: translateY(-2px); }

/* If topbar text still sits under the sidebar branding, ensure headings are offset */
@media (min-width: 900px) {
    .topbar h1 { margin-left: 0 !important; }
    .topbar .topbar-subtitle { margin-left: 0 !important; }
}

/* Redesigned detail modal styles (grid layout, gallery, panels) */
.modal-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid #eef2f6; background:#ffffff; position:sticky; top:0; z-index:6; }
.modal-head .meta { display:flex; flex-direction:column; }
.modal-head .meta .title { font-weight:700; font-size:18px; color:#111827; }
.modal-head .meta .sub { color:#6b7280; font-size:13px; }
.modal-close-btn { background:transparent; border:none; font-size:20px; cursor:pointer; color:#6b7280; }
.modal-grid { display:grid; gap:18px; align-items:start; padding:18px; grid-template-columns: minmax(320px,1.4fr) minmax(260px,1fr) minmax(220px,0.9fr); max-height: calc(100vh - 160px); overflow:auto; }
.modal-gallery { background:#fbfcfd; border:1px solid #eef2f6; border-radius:8px; padding:12px; display:flex; flex-direction:column; gap:10px; align-items:center; }
.modal-gallery .panel { width:100%; background:#fff; border:1px solid #eef2f6; padding:10px 12px; border-radius:8px; }
.modal-gallery .panel + .panel { margin-top:8px; }
.modal-gallery .preview { width:100%; height:320px; background:#fff; display:flex; align-items:center; justify-content:center; border-radius:6px; overflow:hidden; border:1px solid #e6eef2; }
.modal-gallery .thumbs { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-start; width:100%; }
.modal-gallery .thumbs a { display:inline-block; width:86px; height:60px; overflow:hidden; border-radius:6px; border:1px solid #e6eef2; }
.modal-gallery .thumbs img { width:100%; height:100%; object-fit:cover; display:block; }
.modal-info { display:flex; flex-direction:column; gap:12px; }
.modal-info .panel { background:#fbfcfd; border:1px solid #eef2f6; padding:12px; border-radius:8px; }
.modal-actions { display:flex; flex-direction:column; gap:12px; max-height: calc(100vh - 220px); overflow:auto; }
.modal-actions .panel { background:#fbfcfd; border:1px solid #eef2f6; padding:12px; border-radius:8px; }

/* Edit button styling and spacing inside modal-info */
.edit-btn { padding:8px 12px; border-radius:8px; background:linear-gradient(90deg,var(--accent-a),var(--accent-b)); color:var(--btn-text); border:none; cursor:pointer; box-shadow:0 6px 14px rgba(2,6,23,0.06); }
.modal-info { display:flex; flex-direction:column; gap:12px; }
.modal-info .panel { margin-bottom:8px; }
.modal-info .panel:last-child { margin-bottom:0; }

/* Make the checklist panel occupy center space and scroll internally if long */
.checklist-panel { display:flex; flex-direction:column; gap:8px; flex:1 1 auto; overflow:auto; max-height: calc(100vh - 300px); padding:12px; }
.checklist-panel #detailChecklist { width:100%; }

/* Ensure the preview area keeps aspect and doesn't push header */
.modal-gallery .preview { width:100%; height:320px; max-height:46vh; background:#fff; display:flex; align-items:center; justify-content:center; border-radius:6px; overflow:hidden; border:1px solid #e6eef2; }

/* Make thumbnails scroll horizontally on small widths */
.modal-gallery .thumbs { display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; }
.modal-gallery .thumbs a { flex:0 0 auto; }

/* Horizontal checklist styles */
#detailChecklist .checklist-row { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-start; }
#detailChecklist .checklist-item { background:#fff; border:1px solid #eef2f6; padding:10px 12px; border-radius:8px; min-width:140px; max-width:260px; display:flex; gap:10px; align-items:center; box-shadow:0 6px 14px rgba(2,6,23,0.03); }
#detailChecklist .checklist-item .idx { width:28px; height:28px; border-radius:6px; background:#f3f6f9; display:flex; align-items:center; justify-content:center; font-weight:700; color:#374151; }
#detailChecklist .checklist-item .meta { display:flex; flex-direction:column; gap:4px; }
#detailChecklist .checklist-item .label { font-weight:600; color:#111827; font-size:14px; }
#detailChecklist .checklist-item .time { font-size:12px; color:#6b7280; }
#detailChecklist .checklist-item .status { font-size:12px; color:#374151; }
#detailChecklist .checklist-item .icon { margin-left:auto; }

@media (max-width: 980px) {
    .modal-grid { grid-template-columns: 1fr; }
    .modal-gallery .preview { height:220px; }
}

/* ScanCar dark operations theme */
html:has(body.scancar-app) {
    min-height: 100%;
    background: #030713 !important;
}

body.scancar-app {
    --sc-bg-0: #030713;
    --sc-bg-1: #071225;
    --sc-surface: rgba(12, 22, 42, 0.90);
    --sc-surface-2: rgba(17, 31, 58, 0.82);
    --sc-line: rgba(148, 188, 255, 0.16);
    --sc-text: #f7fbff;
    --sc-muted: #a9b8cf;
    --sc-blue: #2f8dff;
    --sc-cyan: #39d7ff;
    --sc-green: #22c55e;
    min-height: 100vh;
    height: auto;
    color: var(--sc-text) !important;
    background:
        linear-gradient(118deg, rgba(47, 141, 255, 0.18), transparent 34%),
        linear-gradient(246deg, rgba(57, 215, 255, 0.10), transparent 38%),
        linear-gradient(180deg, rgba(11, 24, 52, 0.92), rgba(3, 7, 19, 0.98)) !important;
    font-family: Kanit, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

body.scancar-app::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,0.026) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.026) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom, black, transparent 86%);
    z-index: -1;
}

body.scancar-app .app {
    min-height: 100vh;
    background:
        linear-gradient(118deg, rgba(47, 141, 255, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(7, 18, 37, 0.96), rgba(3, 7, 19, 0.98)) !important;
}

body.scancar-app .main,
body.scancar-app .main-container,
body.scancar-app .container {
    color: var(--sc-text) !important;
    background: transparent !important;
}

body.scancar-app .main,
body.scancar-app .main-container {
    padding-top: 26px;
}

@media (min-width: 900px) {
    body.scancar-app .main,
    body.scancar-app .main-container {
        width: calc(100% - 260px) !important;
        margin-left: 260px !important;
    }
}

@media (max-width: 899px) {
    body.scancar-app .main,
    body.scancar-app .main-container {
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

body.scancar-app .topbar {
    margin: 0 0 22px 0 !important;
    padding: 18px 20px !important;
    color: var(--sc-text) !important;
    border: 1px solid var(--sc-line) !important;
    border-radius: 16px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.08), transparent 32%),
        rgba(8, 18, 38, 0.82) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,0.22) !important;
    backdrop-filter: blur(16px);
}

body.scancar-app .topbar h1,
body.scancar-app .page-header h1,
body.scancar-app .page-title h1,
body.scancar-app .panel-title,
body.scancar-app h1,
body.scancar-app h2,
body.scancar-app h3 {
    color: #ffffff !important;
    letter-spacing: 0;
}

body.scancar-app .topbar-subtitle,
body.scancar-app .page-header p,
body.scancar-app .page-title p,
body.scancar-app .panel-subtitle,
body.scancar-app .small,
body.scancar-app .small-muted,
body.scancar-app .muted,
body.scancar-app .label,
body.scancar-app .record-label,
body.scancar-app .detail-label {
    color: var(--sc-muted) !important;
}

body.scancar-app .page-header,
body.scancar-app .page-title,
body.scancar-app .panel,
body.scancar-app .panel-card,
body.scancar-app .card,
body.scancar-app .info-card,
body.scancar-app .table-panel,
body.scancar-app .summary-cards,
body.scancar-app .filters,
body.scancar-app .filter-panel,
body.scancar-app .stat-card,
body.scancar-app .record-card,
body.scancar-app .detail-item,
body.scancar-app .modal-content {
    color: var(--sc-text) !important;
    border-color: var(--sc-line) !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.065), transparent 34%),
        var(--sc-surface) !important;
    box-shadow: 0 18px 46px rgba(0,0,0,0.22) !important;
}

body.scancar-app .dashboard-card,
body.scancar-app .card-summary {
    color: var(--sc-text) !important;
    border: 1px solid var(--sc-line) !important;
    background:
        linear-gradient(135deg, rgba(47,141,255,0.16), rgba(57,215,255,0.05)),
        var(--sc-surface-2) !important;
    box-shadow: 0 16px 40px rgba(0,0,0,0.20) !important;
}

body.scancar-app .dashboard-card .title-text,
body.scancar-app .dashboard-card .data > p,
body.scancar-app .dashboard-card .value-label,
body.scancar-app .card-summary .v,
body.scancar-app .stat-card .value,
body.scancar-app .record-barcode,
body.scancar-app .detail-value,
body.scancar-app .value,
body.scancar-app tbody td,
body.scancar-app .table-panel tbody td {
    color: #f7fbff !important;
}

body.scancar-app .dashboard-card .subtitle,
body.scancar-app .dashboard-card .growth,
body.scancar-app .card-summary .k {
    color: var(--sc-muted) !important;
}

body.scancar-app table,
body.scancar-app .table-wrapper,
body.scancar-app .table-responsive {
    color: var(--sc-text) !important;
    background: transparent !important;
}

body.scancar-app thead th,
body.scancar-app .table-panel thead th {
    color: #cfe1ff !important;
    border-color: rgba(148,188,255,0.18) !important;
    background: rgba(47, 141, 255, 0.11) !important;
}

body.scancar-app tbody tr,
body.scancar-app .table-panel tbody tr,
body.scancar-app tbody tr:nth-child(even),
body.scancar-app .table-panel tbody tr:nth-child(even) {
    color: var(--sc-text) !important;
    border-color: rgba(148,188,255,0.12) !important;
    background: rgba(255,255,255,0.018) !important;
}

body.scancar-app tbody tr:hover,
body.scancar-app .table-panel tbody tr:hover {
    background: rgba(57, 215, 255, 0.075) !important;
}

body.scancar-app input,
body.scancar-app select,
body.scancar-app textarea,
body.scancar-app .filters input[type="text"],
body.scancar-app .filters select,
body.scancar-app .panel-form input[type="text"],
body.scancar-app .panel-form input[type="password"],
body.scancar-app .panel-form input[type="date"],
body.scancar-app .panel-form select,
body.scancar-app .panel-form textarea {
    color: #f7fbff !important;
    border: 1px solid rgba(198, 216, 255, 0.20) !important;
    background: rgba(3, 10, 26, 0.72) !important;
    box-shadow: none !important;
}

body.scancar-app input::placeholder,
body.scancar-app textarea::placeholder {
    color: #91a4c1 !important;
    opacity: 1;
}

body.scancar-app .btn,
body.scancar-app .btn-primary,
body.scancar-app .btn-secondary,
body.scancar-app .btn-ghost,
body.scancar-app button[type="submit"],
body.scancar-app input[type="submit"] {
    border-radius: 8px !important;
    font-weight: 700 !important;
}

body.scancar-app .btn-primary,
body.scancar-app .topbar .topbar-actions .btn-accent,
body.scancar-app button[type="submit"],
body.scancar-app input[type="submit"] {
    color: #ffffff !important;
    border: 0 !important;
    background: linear-gradient(90deg, var(--sc-blue), var(--sc-cyan)) !important;
    box-shadow: 0 14px 34px rgba(47,141,255,0.28) !important;
}

body.scancar-app .btn-secondary,
body.scancar-app .btn-ghost,
body.scancar-app .action-btn {
    color: #d8e8ff !important;
    border: 1px solid rgba(198, 216, 255, 0.18) !important;
    background: rgba(255,255,255,0.045) !important;
}

body.scancar-app .badge.gray {
    color: #cbd5e1 !important;
    background: rgba(148,163,184,0.16) !important;
}

body.scancar-app .badge.blue {
    color: #dff4ff !important;
    background: rgba(47,141,255,0.24) !important;
}

body.scancar-app .badge.green {
    color: #c8ffe1 !important;
    background: rgba(34,197,94,0.22) !important;
}

body.scancar-app .badge.amber {
    color: #ffe8b5 !important;
    background: rgba(245,158,11,0.22) !important;
}

body.scancar-app .app-sidebar {
    background:
        linear-gradient(180deg, rgba(12, 25, 52, 0.98), rgba(3, 9, 23, 0.98)) !important;
    border-right: 1px solid rgba(148,188,255,0.14) !important;
    box-shadow: 10px 0 44px rgba(0,0,0,0.28) !important;
}

body.scancar-app .sidebar-card-header {
    background:
        linear-gradient(135deg, rgba(47,141,255,0.18), rgba(57,215,255,0.05)) !important;
    border-bottom-color: rgba(148,188,255,0.14) !important;
}

body.scancar-app .sidebar-brand-icon {
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(148,188,255,0.16);
    box-shadow: 0 12px 28px rgba(47,141,255,0.18) !important;
}

body.scancar-app .sidebar-brand-icon img {
    width: 40px;
    height: 24px;
    object-fit: contain;
}

body.scancar-app .sidebar-menu-link.active {
    color: #ffffff !important;
    background: linear-gradient(90deg, rgba(47,141,255,0.84), rgba(57,215,255,0.42)) !important;
    box-shadow: 0 12px 24px rgba(47,141,255,0.22) !important;
}

body.scancar-app .sidebar-menu-link:hover {
    background: rgba(57,215,255,0.10) !important;
}

body.scancar-app .progress {
    background: rgba(148,188,255,0.16) !important;
}

body.scancar-app .bar {
    background: linear-gradient(90deg, var(--sc-green), var(--sc-cyan)) !important;
}

@media (min-width: 900px) {
    body.scancar-app .topbar {
        width: calc(100% - 260px) !important;
        margin-left: 260px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    body.scancar-app .main > .topbar {
        width: auto !important;
        margin-left: 0 !important;
    }
    body.scancar-app .topbar + .main-container,
    body.scancar-app .container .main-container {
        margin-left: 260px !important;
    }
}

@media (max-width: 899px) {
    body.scancar-app .topbar {
        width: auto !important;
        margin-left: 0 !important;
    }
}

.scancar-ui-switch {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: -6px 0 16px;
}

.scancar-ui-switch span {
    color: var(--sc-muted, #64748b);
    font-size: 12px;
    font-weight: 700;
}

.scancar-ui-switch a {
    padding: 8px 12px;
    border: 1px solid rgba(148,188,255,.18);
    border-radius: 999px;
    color: #dbeafe;
    background: rgba(255,255,255,.04);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.scancar-ui-switch a.active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(90deg, #2f8dff, #39d7ff);
}

.alms-shell-header {
    display: none;
}

body.ui-alms.scancar-app {
    color: #1f2937 !important;
    background: #dfe4e9 !important;
}

body.ui-alms.scancar-app::before {
    display: none !important;
}

body.ui-alms .alms-shell-header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 21000;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 22px;
    color: #020617;
    background: #fff;
    border-bottom: 1px solid #cfd6de;
    box-shadow: 0 1px 0 rgba(15,23,42,.04);
}

body.ui-alms .alms-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #020617;
    font-size: 30px;
    font-weight: 900;
}

body.ui-alms .alms-brand img {
    width: 64px;
    height: 36px;
    object-fit: contain;
}

body.ui-alms .alms-brand strong {
    color: #27348b;
}

body.ui-alms .alms-head-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    color: #111827;
    font-size: 13px;
}

body.ui-alms .app,
body.ui-alms .home-shell {
    background: #dfe4e9 !important;
}

body.ui-alms .app,
body.ui-alms.has-sidebar {
    padding-top: 56px;
}

body.ui-alms .app-sidebar {
    top: 56px !important;
    width: 220px !important;
    height: calc(100vh - 56px) !important;
    color: #354052 !important;
    background: #fff !important;
    border-right: 1px solid #d1d8df !important;
    box-shadow: none !important;
}

body.ui-alms .sidebar-card {
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.ui-alms .sidebar-card-header {
    margin: -20px -18px 16px !important;
    padding: 18px 16px !important;
    background: #232b34 !important;
    border: none !important;
    border-radius: 0 !important;
}

body.ui-alms .sidebar-brand-icon {
    width: 36px !important;
    height: 36px !important;
    border: 1px solid #00a7ee !important;
    border-radius: 999px !important;
    background: #243341 !important;
    box-shadow: none !important;
}

body.ui-alms .sidebar-brand-text strong,
body.ui-alms .sidebar-brand-text span,
body.ui-alms .sidebar-user-label,
body.ui-alms .sidebar-user-name {
    color: #fff !important;
}

body.ui-alms .sidebar-user-section {
    padding: 10px 0 0 !important;
    background: transparent !important;
    border: none !important;
}

body.ui-alms .sidebar-menu-label {
    color: #8a96a3 !important;
    font-size: 11px !important;
}

body.ui-alms .sidebar-menu-link {
    margin: 0 -18px !important;
    padding: 10px 18px !important;
    color: #435064 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-weight: 700;
}

body.ui-alms .sidebar-menu-link.active {
    color: #001a2f !important;
    background: #e9edf2 !important;
}

body.ui-alms .sidebar-menu-link:hover {
    color: #001a2f !important;
    background: #f3f6f9 !important;
}

body.ui-alms .sidebar-menu-icon {
    color: #475569 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

body.ui-alms .sidebar-footer {
    display: none !important;
}

body.ui-alms .topbar {
    width: calc(100% - 220px) !important;
    margin-left: 220px !important;
    color: #111827 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.ui-alms .topbar h1 {
    color: #020617 !important;
    font-size: 26px !important;
    font-weight: 500 !important;
}

body.ui-alms .topbar-subtitle {
    color: #334155 !important;
}

body.ui-alms .main,
body.ui-alms .main-container,
body.ui-alms .container {
    color: #1f2937 !important;
    background: #dfe4e9 !important;
}

body.ui-alms .main,
body.ui-alms .main-container {
    margin-left: 220px !important;
    width: calc(100% - 220px) !important;
    padding: 24px 30px 60px !important;
}

body.ui-alms .main > .topbar {
    width: auto !important;
    margin-left: 0 !important;
}

body.ui-alms .page-header,
body.ui-alms .page-title,
body.ui-alms .panel,
body.ui-alms .panel-card,
body.ui-alms .card,
body.ui-alms .info-card,
body.ui-alms .table-panel,
body.ui-alms .summary-cards,
body.ui-alms .filters,
body.ui-alms .filter-panel,
body.ui-alms .stat-card,
body.ui-alms .record-card,
body.ui-alms .detail-item,
body.ui-alms .modal-content,
body.ui-alms .search-box,
body.ui-alms .home-panel,
body.ui-alms .home-stat {
    color: #111827 !important;
    background: #fff !important;
    border: 1px solid #cfd8e3 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

body.ui-alms h1,
body.ui-alms h2,
body.ui-alms h3,
body.ui-alms .panel-title,
body.ui-alms .records-title,
body.ui-alms .section-title,
body.ui-alms .record-barcode,
body.ui-alms .detail-value,
body.ui-alms .value {
    color: #111827 !important;
    -webkit-text-fill-color: currentColor !important;
}

body.ui-alms p,
body.ui-alms .small,
body.ui-alms .muted,
body.ui-alms .label,
body.ui-alms .record-label,
body.ui-alms .detail-label,
body.ui-alms .panel-subtitle,
body.ui-alms .home-copy,
body.ui-alms .home-stat span {
    color: #475569 !important;
}

body.ui-alms .dashboard-card,
body.ui-alms .card-summary,
body.ui-alms .top-cards .card {
    color: #fff !important;
    border: 1px solid rgba(15,23,42,.18) !important;
    border-radius: 4px !important;
    background: #3498db !important;
    box-shadow: none !important;
}

body.ui-alms .dashboard-card:nth-child(2),
body.ui-alms .card-summary:nth-child(2),
body.ui-alms .top-cards .card:nth-child(2) {
    background: #10aaa5 !important;
}

body.ui-alms .dashboard-card:nth-child(3),
body.ui-alms .card-summary:nth-child(3),
body.ui-alms .top-cards .card:nth-child(3) {
    background: #8a56df !important;
}

body.ui-alms .dashboard-card:nth-child(4),
body.ui-alms .card-summary:nth-child(4),
body.ui-alms .top-cards .card:nth-child(4) {
    background: #f59e0b !important;
}

body.ui-alms .dashboard-card *,
body.ui-alms .card-summary *,
body.ui-alms .top-cards .card * {
    color: #fff !important;
    -webkit-text-fill-color: currentColor !important;
}

body.ui-alms table,
body.ui-alms .table-wrapper,
body.ui-alms .table-responsive {
    background: transparent !important;
}

body.ui-alms thead th,
body.ui-alms .table-panel thead th {
    color: #fff !important;
    background: #20252f !important;
    border-bottom: 1px solid #111827 !important;
}

body.ui-alms tbody tr,
body.ui-alms .table-panel tbody tr,
body.ui-alms tbody tr:nth-child(even),
body.ui-alms .table-panel tbody tr:nth-child(even) {
    background: #fff !important;
}

body.ui-alms tbody td,
body.ui-alms .table-panel tbody td {
    color: #111827 !important;
    border-bottom: 1px solid #dbe2ea !important;
}

body.ui-alms input,
body.ui-alms select,
body.ui-alms textarea {
    color: #111827 !important;
    background: #fff !important;
    border: 1px solid #b7c1cc !important;
    border-radius: 3px !important;
}

body.ui-alms .btn,
body.ui-alms button,
body.ui-alms input[type="submit"] {
    border-radius: 3px !important;
    box-shadow: none !important;
}

body.ui-alms .btn-secondary,
body.ui-alms .btn-ghost,
body.ui-alms .action-btn {
    color: #111827 !important;
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
}

body.ui-alms .scancar-ui-switch span {
    color: #475569;
}

body.ui-alms .scancar-ui-switch a {
    color: #334155;
    background: #fff;
    border-color: #cbd5e1;
    border-radius: 3px;
}

body.ui-alms .scancar-ui-switch a.active {
    color: #fff;
    background: #20252f;
}

body.ui-alms.index-page {
    padding-top: 56px;
}

body.ui-alms.index-page .home-shell {
    width: calc(100% - 60px);
    min-height: calc(100vh - 56px);
    padding: 32px 0;
    align-content: start;
}

body.ui-alms.index-page .home-title {
    color: #111827 !important;
    font-size: clamp(42px, 5vw, 68px);
}

body.ui-alms.index-page .home-title span {
    color: #27348b !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
}

body.ui-alms.index-page .home-kicker {
    color: #334155;
    background: #fff;
    border-color: #cbd5e1;
    border-radius: 4px;
}

body.ui-alms.index-page .quick-link {
    color: #111827 !important;
    background: #f8fafc;
    border-color: #cbd5e1;
    border-radius: 4px;
}

@media (max-width: 899px) {
    body.ui-alms .app,
    body.ui-alms.has-sidebar {
        padding-top: 56px;
    }
    body.ui-alms .main,
    body.ui-alms .main-container,
    body.ui-alms .container,
    body.ui-alms .topbar {
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}
