:root {
    --workspace-bg: #f5f7fa;
    --workspace-surface: #ffffff;
    --workspace-border: #e5eaf0;
    --workspace-text: #172033;
    --workspace-muted: #778196;
    --workspace-accent: #059669;
    --workspace-accent-soft: #ecfdf5;
    --workspace-sidebar-width: 264px;
}

.workspace-shell { display:flex; width:100%; height:100dvh; min-height:0; overflow:hidden; background:var(--workspace-bg); color:var(--workspace-text); }
.workspace-sidebar { position:fixed; inset:0 auto 0 0; z-index:45; width:var(--workspace-sidebar-width); display:flex; flex-direction:column; background:#0f172a; color:#fff; border-right:1px solid rgba(255,255,255,.08); transition:width .2s ease, transform .2s ease; }
.workspace-brand { min-height:76px; display:flex; align-items:center; gap:12px; padding:16px; border-bottom:1px solid rgba(255,255,255,.08); }
.workspace-brand-logo { width:42px; height:42px; flex:none; display:flex; align-items:center; justify-content:center; border-radius:13px; overflow:hidden; background:#fff; }
.workspace-brand-logo img { width:100%; height:100%; object-fit:cover; }
.workspace-brand-fallback { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#fff; background:linear-gradient(135deg,#10b981,#047857); }
.workspace-brand-copy { min-width:0; flex:1; }
.workspace-brand-copy h1 { font-size:14px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.workspace-brand-copy p { margin-top:2px; color:#94a3b8; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; }
.workspace-icon-button { width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:11px; transition:.15s ease; }
.workspace-icon-button:hover { background:rgba(148,163,184,.15); }
.workspace-collapse-button { color:#94a3b8; }
.workspace-navigation { flex:1; overflow:auto; padding:14px 12px; }
.workspace-nav-label { padding:17px 11px 7px; color:#64748b; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.19em; }
.workspace-nav-item { display:flex; align-items:center; gap:12px; width:100%; min-height:42px; padding:0 12px; border-radius:11px; color:#aeb8c7; font-size:13px; font-weight:700; text-align:left; transition:.15s ease; }
.workspace-nav-item i { width:18px; text-align:center; font-size:14px; }
.workspace-nav-item:hover { color:#fff; background:rgba(148,163,184,.11); }
.workspace-nav-item.is-active { color:#fff; background:linear-gradient(135deg,rgba(16,185,129,.27),rgba(5,150,105,.18)); box-shadow:inset 3px 0 0 #34d399; }
.workspace-sidebar-footer { min-height:76px; padding:13px; display:flex; align-items:center; gap:10px; border-top:1px solid rgba(255,255,255,.08); }
.workspace-avatar,.workspace-profile-avatar { display:flex; align-items:center; justify-content:center; width:36px; height:36px; flex:none; border-radius:11px; background:#1e293b; color:#cbd5e1; }
.workspace-user-copy { min-width:0; flex:1; }
.workspace-user-copy strong,.workspace-user-copy span { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.workspace-user-copy strong { font-size:12px; }
.workspace-user-copy span { margin-top:2px; color:#94a3b8; font-size:10px; }
.workspace-logout { color:#94a3b8; }
.workspace-main { display:flex; min-width:0; min-height:0; height:100dvh; width:calc(100% - var(--workspace-sidebar-width)); margin-left:var(--workspace-sidebar-width); flex-direction:column; overflow:hidden; transition:width .2s ease, margin-left .2s ease; }
.workspace-topbar { position:relative; top:auto; z-index:35; min-height:76px; flex:0 0 auto; padding:12px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; background:rgba(255,255,255,.94); backdrop-filter:blur(14px); border-bottom:1px solid var(--workspace-border); }
.workspace-topbar-left,.workspace-topbar-actions { display:flex; align-items:center; gap:12px; }
.workspace-topbar-actions { margin-left:auto; }
.workspace-breadcrumb { color:#8b95a7; font-size:10px; font-weight:700; }
.workspace-breadcrumb span { padding:0 5px; color:#cbd5e1; }
.workspace-breadcrumb strong { color:#64748b; }
.workspace-topbar h2 { margin-top:2px; color:#111827; font-size:18px; font-weight:850; }
.workspace-profile-button { display:flex; align-items:center; gap:8px; padding:4px 10px 4px 4px; border-radius:12px; color:#64748b; font-size:12px; font-weight:700; transition:.15s; }
.workspace-profile-button:hover { background:#fff1f2; color:#e11d48; }
.workspace-profile-button .workspace-profile-avatar { width:34px; height:34px; background:#eef2f7; color:#64748b; }
.workspace-notification-dot { position:absolute; top:7px; right:7px; width:8px; height:8px; border:2px solid #fff; border-radius:999px; background:#ef4444; }
.workspace-content { flex:1 1 auto; min-height:0; overflow:hidden; }
.workspace-content > .tab-content {
    width:100%;
    max-width:1600px;
    height:100%;
    min-height:0;
    margin:0 auto;
    padding:28px !important;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
}
.workspace-content > .tab-content.hidden { display:none; }
.workspace-mobile-toggle,.workspace-mobile-backdrop { display:none; }
body.workspace-sidebar-collapsed { --workspace-sidebar-width:82px; }
body.workspace-sidebar-collapsed .workspace-brand-copy,
body.workspace-sidebar-collapsed .workspace-nav-item span,
body.workspace-sidebar-collapsed .workspace-nav-label,
body.workspace-sidebar-collapsed .workspace-user-copy,
body.workspace-sidebar-collapsed .workspace-logout { display:none; }
body.workspace-sidebar-collapsed .workspace-brand { justify-content:center; flex-wrap:wrap; padding:14px 10px; }
body.workspace-sidebar-collapsed .workspace-collapse-button i { transform:rotate(180deg); }
body.workspace-sidebar-collapsed .workspace-nav-item { justify-content:center; padding:0; }
body.workspace-sidebar-collapsed .workspace-sidebar-footer { justify-content:center; }

/* Menyatukan bahasa visual komponen lama dengan workspace baru */
.workspace-content .bg-white.rounded-2xl { border-color:var(--workspace-border) !important; box-shadow:0 8px 30px rgba(15,23,42,.045) !important; }
.workspace-content table thead { color:#8490a4 !important; letter-spacing:.035em; }
.workspace-content table tbody tr { transition:background .12s ease; }
.workspace-content table tbody tr:hover { background:#f8fafc; }

@media (max-width:1023px) {
    .workspace-sidebar { transform:translateX(-100%); box-shadow:24px 0 70px rgba(15,23,42,.28); }
    .workspace-main { width:100%; margin-left:0; }
    .workspace-mobile-toggle { display:inline-flex; }
    body.workspace-mobile-open .workspace-sidebar { z-index:70; transform:translateX(0); }
    body.workspace-mobile-open .workspace-mobile-backdrop { position:fixed; inset:0; z-index:60; display:block; background:rgba(15,23,42,.55); backdrop-filter:blur(2px); }

    /* Keranjang mobile berada di bawah drawer navigasi saat drawer dibuka. */
    body.workspace-mobile-open .adm-transaction-cart {
        pointer-events:none;
    }
    .workspace-collapse-button { display:none; }
}
@media (max-width:700px) {
    .workspace-topbar { min-height:68px; padding:10px 14px; }
    .workspace-topbar h2 { font-size:16px; }
    .workspace-breadcrumb { display:none; }
    .workspace-content > .tab-content { padding:16px !important; }
}

/* Foundation 4B.1 — topbar interactions */
.workspace-profile-menu { position:absolute; top:calc(100% + 10px); right:0; z-index:80; width:260px; padding:10px; border:1px solid #e2e8f0; border-radius:16px; background:#fff; box-shadow:0 22px 60px rgba(15,23,42,.18); }
.workspace-profile-summary { display:flex; align-items:center; gap:11px; padding:8px; }
.workspace-profile-summary strong,.workspace-profile-summary span { display:block; }
.workspace-profile-summary strong { color:#172033; font-size:13px; }
.workspace-profile-summary span { margin-top:2px; color:#8490a4; font-size:11px; }
.workspace-profile-avatar-large { width:40px!important; height:40px!important; }
.workspace-profile-divider { height:1px; margin:7px 0; background:#edf1f5; }
.workspace-profile-logout { display:flex; align-items:center; gap:10px; width:100%; padding:10px 11px; border-radius:10px; color:#dc2626; font-size:12px; font-weight:750; text-align:left; }
.workspace-profile-logout:hover { background:#fff1f2; }
.workspace-notification-panel { position:absolute; top:calc(100% + 10px); right:0; z-index:75; width:360px; overflow:hidden; border:1px solid #e2e8f0; border-radius:16px; background:#fff; box-shadow:0 22px 60px rgba(15,23,42,.18); }
.workspace-search-overlay { position:fixed; inset:0; z-index:100; display:flex; align-items:flex-start; justify-content:center; padding:12vh 20px 20px; background:rgba(15,23,42,.48); backdrop-filter:blur(4px); }
.workspace-search-dialog { width:min(620px,100%); overflow:hidden; border:1px solid rgba(255,255,255,.4); border-radius:20px; background:#fff; box-shadow:0 30px 100px rgba(15,23,42,.3); }
.workspace-search-dialog-header { display:flex; align-items:center; gap:12px; padding:16px 18px; border-bottom:1px solid #edf1f5; color:#8490a4; }
.workspace-search-dialog-header input { min-width:0; flex:1; outline:none; color:#172033; font-size:15px; }
.workspace-dialog-close { display:inline-flex; width:32px; height:32px; align-items:center; justify-content:center; border-radius:9px; color:#64748b; }
.workspace-dialog-close:hover { background:#f1f5f9; }
.workspace-search-hint { padding:11px 18px 7px; color:#94a3b8; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.workspace-search-results { max-height:380px; overflow-y:auto; padding:4px 9px 12px; }
.workspace-search-result { display:flex; align-items:center; gap:12px; width:100%; padding:12px; border-radius:12px; text-align:left; }
.workspace-search-result:hover,.workspace-search-result.is-selected { background:#ecfdf5; }
.workspace-search-result-icon { display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center; border-radius:10px; background:#f1f5f9; color:#64748b; }
.workspace-search-result:hover .workspace-search-result-icon,.workspace-search-result.is-selected .workspace-search-result-icon { background:#d1fae5; color:#047857; }
.workspace-search-result strong,.workspace-search-result span { display:block; }
.workspace-search-result strong { color:#172033; font-size:13px; }
.workspace-search-result span { margin-top:2px; color:#94a3b8; font-size:11px; }
.workspace-search-empty { padding:28px; color:#94a3b8; font-size:12px; text-align:center; }
@media (max-width:700px) {
    .workspace-profile-button { padding:2px; }
    .workspace-profile-button:hover { background:#f1f5f9; color:#64748b; }
    .workspace-notification-panel { position:fixed; top:68px; left:10px; right:10px; width:auto; max-height:calc(100vh - 84px); border-radius:16px; }
    .workspace-notification-panel #notification-list { max-height:calc(100vh - 150px)!important; }
    .workspace-profile-menu { position:fixed; top:68px; left:10px; right:10px; width:auto; }
    .workspace-search-overlay { padding:76px 10px 10px; }
    .workspace-search-dialog { border-radius:16px; }
}

/* =========================================================
   TABLET LANDSCAPE — WORKSPACE COMPACT RINGAN
   Target umum: 768px–1023px dalam posisi landscape
   ========================================================= */
@media (min-width: 768px) and (max-width: 1023px) and (orientation: landscape) {

    /*
     * Sidebar tetap menjadi drawer.
     * Aturan dasarnya sudah berada pada media query max-width 1023px.
     */

    .workspace-topbar {
        min-height: 62px;
        height: 62px;
        padding: 8px 16px;
        gap: 14px;
    }

    .workspace-topbar-left,
    .workspace-topbar-actions {
        gap: 10px;
    }

    .workspace-topbar h2 {
        margin-top: 1px;
        font-size: 16px;
        line-height: 1.25;
    }

    .workspace-breadcrumb {
        font-size: 9px;
    }

    .workspace-icon-button {
        width: 36px;
        height: 36px;
        border-radius: 10px;
    }

    .workspace-profile-button {
        padding: 3px 8px 3px 3px;
        font-size: 11px;
    }

    .workspace-profile-button .workspace-profile-avatar {
        width: 33px;
        height: 33px;
    }

    .workspace-content {
        flex:1 1 auto;
        min-height:0;
        overflow:hidden;
    }

    .workspace-content > .tab-content {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 14px !important;
    }

    /*
     * Hanya sedikit padatkan kartu umum.
     * Jangan menimpa semua font, tombol, input, dan utility Tailwind.
     */
    .workspace-content .bg-white.rounded-2xl {
        border-radius: 14px !important;
    }

    .workspace-notification-panel {
        max-height: calc(100dvh - 78px);
    }
}
/* Foundation F.4 — Native print queue UX */
.native-print-button { position:relative; }
.native-print-button.has-error { color:#dc2626; background:#fef2f2; }
.native-print-button.is-printing i.fa-print { animation:native-print-pulse 1.2s ease-in-out infinite; }
.native-print-badge { position:absolute; top:-4px; right:-5px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; display:flex; align-items:center; justify-content:center; background:#ef4444; color:#fff; border:2px solid #fff; font-size:9px; font-weight:800; }
.native-print-status-dot { position:absolute; right:5px; bottom:5px; width:7px; height:7px; border-radius:999px; border:1.5px solid #fff; background:#94a3b8; }
.native-print-status-dot.is-ready { background:#10b981; }
.native-print-status-dot.is-pending { background:#f59e0b; }
.native-print-status-dot.is-printing { background:#3b82f6; }
.native-print-status-dot.is-error { background:#ef4444; }
@keyframes native-print-pulse { 50% { opacity:.45; transform:scale(.92); } }
.native-print-modal { position:fixed; inset:0; z-index:120; display:flex; align-items:center; justify-content:center; padding:18px; }
.native-print-modal.hidden { display:none; }
.native-print-dismiss { position:absolute; inset:0; border:0; background:rgba(15,23,42,.55); backdrop-filter:blur(3px); }
.native-print-dialog { position:relative; width:min(720px,100%); max-height:min(760px,92vh); display:flex; flex-direction:column; overflow:hidden; background:#fff; border:1px solid #dbe3ed; border-radius:18px; box-shadow:0 28px 80px rgba(15,23,42,.28); }
.native-print-header { display:flex; align-items:center; gap:13px; padding:18px 20px; border-bottom:1px solid #e2e8f0; }
.native-print-header-icon { width:42px; height:42px; display:grid; place-items:center; flex:0 0 auto; border-radius:13px; background:#ecfdf5; color:#059669; }
.native-print-header-copy { min-width:0; flex:1; }
.native-print-header-copy h3 { margin:0; color:#0f172a; font-size:18px; font-weight:850; }
.native-print-header-copy p { margin:3px 0 0; color:#64748b; font-size:12px; }
.native-print-close { width:36px; height:36px; display:grid; place-items:center; border:1px solid #e2e8f0; border-radius:10px; background:#f8fafc; color:#64748b; }
.native-print-body { min-height:0; overflow:auto; padding:18px 20px 20px; }
.native-print-printer-card { display:flex; align-items:center; gap:12px; padding:14px; border:1px solid #dbe3ed; border-radius:14px; background:#f8fafc; }
.native-print-printer-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:#fff; color:#059669; box-shadow:0 1px 3px rgba(15,23,42,.08); }
.native-print-printer-copy { min-width:0; flex:1; }
.native-print-printer-copy strong { display:block; color:#0f172a; font-size:13px; }
.native-print-printer-copy span { display:block; margin-top:3px; color:#64748b; font-size:11px; }
.native-print-printer-actions { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.native-print-mini-btn { height:34px; padding:0 11px; display:inline-flex; align-items:center; gap:6px; border:1px solid #dbe3ed; border-radius:9px; background:#fff; color:#334155; font-size:11px; font-weight:750; }
.native-print-mini-btn.is-primary { border-color:#10b981; background:#059669; color:#fff; }
.native-print-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:14px; }
.native-print-summary article { padding:11px 12px; border:1px solid #e2e8f0; border-radius:12px; background:#fff; }
.native-print-summary span { display:block; color:#64748b; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.native-print-summary strong { display:block; margin-top:5px; color:#0f172a; font-size:19px; }
.native-print-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:18px; }
.native-print-toolbar h4 { margin:0; color:#0f172a; font-size:14px; }
.native-print-toolbar-actions { display:flex; gap:7px; }
.native-print-toolbar button:disabled { opacity:.45; cursor:not-allowed; }
.native-print-job-list { display:grid; gap:8px; margin-top:10px; }
.native-print-job { display:flex; align-items:flex-start; gap:11px; padding:12px; border:1px solid #e2e8f0; border-radius:13px; background:#fff; }
.native-print-job.is-failed { border-color:#fecaca; background:#fffafa; }
.native-print-job.is-printing { border-color:#bfdbfe; background:#f8fbff; }
.native-print-job-icon { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; background:#f1f5f9; color:#64748b; }
.native-print-job.is-failed .native-print-job-icon { color:#dc2626; background:#fee2e2; }
.native-print-job.is-printing .native-print-job-icon { color:#2563eb; background:#dbeafe; }
.native-print-job.is-completed .native-print-job-icon { color:#059669; background:#d1fae5; }
.native-print-job-main { min-width:0; flex:1; }
.native-print-job-title { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.native-print-job-title strong { color:#0f172a; font-size:12px; }
.native-print-job-status { padding:3px 7px; border-radius:999px; background:#f1f5f9; color:#475569; font-size:9px; font-weight:800; }
.native-print-job-status.is-failed { background:#fee2e2; color:#b91c1c; }
.native-print-job-status.is-printing { background:#dbeafe; color:#1d4ed8; }
.native-print-job-status.is-completed { background:#d1fae5; color:#047857; }
.native-print-job-status.is-waiting { background:#fef3c7; color:#b45309; }
.native-print-job-main p { margin:5px 0 0; color:#64748b; font-size:10px; }
.native-print-job-main small { display:block; margin-top:4px; color:#dc2626; font-size:10px; }
.native-print-job-side { display:flex; align-items:flex-end; flex-direction:column; gap:4px; flex:0 0 auto; }
.native-print-job-side > strong { color:#0f172a; font-size:11px; }
.native-print-job-side > small { color:#94a3b8; font-size:9px; }
.native-print-remove { width:28px; height:28px; margin-top:2px; border:1px solid #fecaca; border-radius:8px; background:#fff; color:#dc2626; }
.native-print-empty { padding:38px 20px; margin-top:10px; text-align:center; border:1px dashed #cbd5e1; border-radius:14px; color:#64748b; }
.native-print-empty i { font-size:24px; color:#94a3b8; }
.native-print-empty strong { display:block; margin-top:9px; color:#334155; font-size:13px; }
.native-print-empty p { margin:4px 0 0; font-size:11px; }
@media (max-width:640px) {
    .native-print-modal { padding:0; align-items:flex-end; }
    .native-print-dialog { width:100%; max-height:88vh; border-radius:18px 18px 0 0; }
    .native-print-printer-card { align-items:flex-start; flex-wrap:wrap; }
    .native-print-printer-actions { width:100%; justify-content:flex-start; }
    .native-print-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .native-print-job-side > strong { display:none; }
}

/* Customer Display quick access */
.adm-display-status-dot{position:absolute;right:5px;top:5px;width:8px;height:8px;border-radius:999px;background:#94a3b8;border:2px solid #fff}.adm-display-status-dot.is-online{background:#10b981}.adm-display-quick-modal{max-width:520px}.adm-display-quick-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.adm-display-quick-header h3{font-size:1.15rem;font-weight:800;color:#0f172a}.adm-display-quick-header p:last-child{font-size:.78rem;color:#64748b;margin-top:.25rem}.adm-display-quick-status{display:flex;gap:.8rem;align-items:center;padding:1rem;border:1px solid #e2e8f0;border-radius:1rem;background:#f8fafc}.adm-display-quick-status>div{display:flex;flex-direction:column;gap:.15rem}.adm-display-quick-status strong{font-size:.9rem;color:#0f172a}.adm-display-quick-status span{font-size:.75rem;color:#64748b}.adm-display-status-icon{width:42px;height:42px;border-radius:.8rem;display:grid;place-items:center;background:#e2e8f0;color:#64748b}.adm-display-status-icon.is-online{background:#d1fae5;color:#047857}.adm-display-quick-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0}.adm-display-quick-meta div{padding:.75rem;border:1px solid #e2e8f0;border-radius:.8rem}.adm-display-quick-meta span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;font-weight:700}.adm-display-quick-meta strong{display:block;margin-top:.25rem;font-size:.8rem;color:#0f172a;overflow-wrap:anywhere}.adm-display-pairing-box{text-align:center;padding:1rem;border:1px dashed #10b981;background:#ecfdf5;border-radius:1rem;margin-bottom:1rem}.adm-display-pairing-box span,.adm-display-pairing-box small{display:block;color:#047857}.adm-display-pairing-box strong{display:block;font-size:2rem;letter-spacing:.22em;color:#065f46;margin:.35rem 0}.adm-display-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.adm-display-quick-actions .adm-btn{justify-content:center}@media(max-width:640px){.adm-display-quick-meta{grid-template-columns:1fr}.adm-display-quick-actions{grid-template-columns:1fr}}


/* Barcode label preview */
.barcode-label-preview-shell { min-height: 240px; border: 1px dashed #cbd5e1; border-radius: 14px; background: #f8fafc; padding: 18px; display: flex; align-items: center; justify-content: center; }
.barcode-label-card-preview { width: 100%; max-width: 260px; min-height: 150px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 8px 22px rgba(15,23,42,.08); }
.barcode-label-card-preview > strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; color: #0f172a; }
.barcode-label-svg { width: 100%; height: 70px; margin: 8px 0 3px; }
.barcode-label-svg svg { display: block; width: 100%; height: 100%; }
.barcode-label-card-preview > span { font-size: 11px; font-weight: 800; letter-spacing: .1em; color: #0f172a; }
.barcode-label-card-preview > small { margin-top: 2px; font-size: 9px; color: #64748b; }
.barcode-label-card-preview > b { margin-top: 5px; font-size: 13px; color: #047857; }


/* =========================================================
   WORKSPACE SCROLL ENGINE — single source of truth
   ---------------------------------------------------------
   Sidebar dan topbar tetap. Hanya tab aktif yang menggulir.
   Berlaku untuk Chrome mobile dan tablet Advan.
   ========================================================= */
.workspace-content,
.workspace-content > .tab-content {
    min-height:0;
}

.workspace-content > .tab-content {
    touch-action:pan-y;
}

/* Halaman pembayaran mengikuti scroll tab, bukan membuat
   scroll kedua di dalam .adm-payment-workspace. */
.workspace-content > .tab-content .adm-payment-workspace {
    min-height:0;
    overflow:visible;
}

.workspace-content > .tab-content .adm-page-shell {
    min-height:100%;
}

/* Drawer pembayaran tetap mempunyai scroll internal sendiri. */
.adm-payment-drawer .adm-payment-workspace,
.adm-payment-drawer .adm-payment-success {
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
}

/* Workspace transaksi memakai engine scroll produknya sendiri
   pada tablet landscape, sehingga tab induk tidak ikut bergerak. */
@media (min-width:768px) and (max-width:1023px) and (orientation:landscape) {
    .workspace-content > #tab-transaksi,
    .workspace-content #lazy-workspace-root #tab-transaksi {
        overflow:hidden;
    }
}

/* Mobile: tinggi topbar tetap 68px melalui flex layout.
   Tidak ada body scroll, jadi navigasi tidak ikut naik. */
@media (max-width:700px) {
    .workspace-shell,
    .workspace-main {
        height:100dvh;
        max-height:100dvh;
    }

    .workspace-content > .tab-content {
        padding-bottom:max(28px, env(safe-area-inset-bottom)) !important;
    }
}


/* Workspace pages: notifications and transaction history */
.adm-notification-page-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    width: 100%;
}
.adm-notification-card {
    width: 100%;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 1.15rem;
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .035);
}
.adm-notification-card.is-unread {
    border-color: #a7f3d0;
    background: #fbfffd;
}
.adm-notification-card-action {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: grid !important;
    grid-template-columns: 3rem minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 1rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 1rem 1.1rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font: inherit !important;
    line-height: 1.45 !important;
    text-align: left !important;
    white-space: normal !important;
    cursor: pointer;
}
.adm-notification-card-action:active { background: #f8fafc !important; }
.adm-notification-card-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 3rem !important;
    height: 3rem !important;
    flex: 0 0 3rem !important;
    border-radius: 1rem !important;
    background: #ecfdf5 !important;
    color: #059669 !important;
    font-size: 1rem !important;
}
.adm-notification-card-content {
    display: grid !important;
    min-width: 0 !important;
    gap: .42rem !important;
}
.adm-notification-card-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: .75rem !important;
    min-width: 0 !important;
}
.adm-notification-card-header strong {
    display: block !important;
    min-width: 0 !important;
    color: #0f172a !important;
    font-size: .95rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
}
.adm-notification-card-header time {
    display: block !important;
    flex: 0 0 auto !important;
    color: #94a3b8 !important;
    font-size: .72rem !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
}
.adm-notification-card-message {
    display: block !important;
    color: #64748b !important;
    font-size: .84rem !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}
.adm-notification-empty { min-height: 18rem; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #94a3b8; gap: .55rem; border: 1px dashed #cbd5e1; border-radius: 1rem; background: #fff; }
.adm-notification-empty i { font-size: 1.6rem; color: #10b981; }
.adm-notification-empty strong { color: #475569; }
.adm-notification-empty.is-error i { color: #ef4444; }
@media (max-width: 640px) {
    .adm-notification-page-list { gap: .85rem !important; }
    .adm-notification-card { border-radius: 1.1rem !important; }
    .adm-notification-card-action {
        grid-template-columns: 2.75rem minmax(0, 1fr) !important;
        gap: .85rem !important;
        padding: 1rem !important;
    }
    .adm-notification-card-icon {
        width: 2.75rem !important;
        height: 2.75rem !important;
        flex-basis: 2.75rem !important;
        border-radius: .9rem !important;
    }
    .adm-notification-card-header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: .25rem !important;
    }
    .adm-notification-card-header strong { font-size: .92rem !important; }
    .adm-notification-card-message { font-size: .82rem !important; line-height: 1.6 !important; }
}
.adm-history-table-shell { overflow: auto; border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; }
.adm-history-status-filter { min-height: 2.75rem; padding: 0 2.25rem 0 .9rem; border: 1px solid #cbd5e1; border-radius: .8rem; background: #fff; color: #475569; font-size: .8rem; font-weight: 700; }
@media (max-width: 640px) {
    .adm-notification-row { grid-template-columns: 2.5rem minmax(0, 1fr); }
    .adm-notification-unread-dot { display: none; }
    .adm-notification-row-heading { align-items: flex-start; flex-direction: column; gap: .2rem; }
    .adm-history-status-filter { width: 100%; }
}

/* v12.8.6 — notification pagination */
.adm-notification-more-wrap {
    display: flex;
    justify-content: center;
    padding: .35rem 0 .75rem;
}
.adm-notification-more-wrap .adm-btn {
    min-width: 150px;
}

/* v12.9.4 — Antrean & Riwayat Pembayaran: components align left */
#tab-payment-queue > .adm-page-shell,
#tab-payment-history > .adm-page-shell{
    width:calc(100% - 40px) !important;
    max-width:none !important;
    margin-left:20px !important;
    margin-right:20px !important;
    padding-top:22px !important;
}

/* Override admine-ui.css: .adm-page-shell { max-width:1120px; margin:0 auto } */
#tab-payment-queue .adm-page-header,
#tab-payment-queue .adm-toolbar,
#tab-payment-queue .adm-payment-list,
#tab-payment-history .adm-page-header,
#tab-payment-history .adm-toolbar,
#tab-payment-history .adm-payment-list{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

@media (max-width:767px){
    #tab-payment-queue > .adm-page-shell,
    #tab-payment-history > .adm-page-shell{
        width:calc(100% - 28px) !important;
        margin-left:14px !important;
        margin-right:14px !important;
        padding-top:16px !important;
    }
}

/* v12.9.17 — actual sidebar scroll container */
.workspace-navigation {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;      /* Firefox */
    -ms-overflow-style: none !important;   /* Legacy Edge */
}

.workspace-navigation::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;              /* Chrome / Edge / Safari */
}

#admin-nav {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

#admin-nav::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

