/*
 * Admine UI v0.1 — visual foundation for Admine Business OS.
 * This layer owns tokens and reusable primitives. Module-specific CSS should
 * consume these variables instead of inventing new colors, radii or shadows.
 */
:root {
    --adm-color-primary-50:#ecfdf5;
    --adm-color-primary-100:#d1fae5;
    --adm-color-primary-500:#10b981;
    --adm-color-primary-600:#059669;
    --adm-color-primary-700:#047857;
    --adm-color-info-50:#eff6ff;
    --adm-color-info-600:#2563eb;
    --adm-color-warning-50:#fffbeb;
    --adm-color-warning-600:#d97706;
    --adm-color-danger-50:#fff1f2;
    --adm-color-danger-600:#dc2626;
    --adm-color-success-50:#ecfdf5;
    --adm-color-success-700:#047857;
    --adm-color-surface:#ffffff;
    --adm-color-canvas:#f4f7fb;
    --adm-color-border:#e2e8f0;
    --adm-color-text:#172033;
    --adm-color-muted:#64748b;
    --adm-color-subtle:#94a3b8;

    --adm-radius-sm:8px;
    --adm-radius-md:12px;
    --adm-radius-lg:16px;
    --adm-radius-xl:20px;
    --adm-shadow-sm:0 1px 2px rgba(15,23,42,.05);
    --adm-shadow-md:0 10px 30px rgba(15,23,42,.08);
    --adm-shadow-lg:0 24px 70px rgba(15,23,42,.18);
    --adm-focus:0 0 0 3px rgba(16,185,129,.18);
    --adm-transition:150ms ease;
}

*,*::before,*::after { box-sizing:border-box; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.55; }

/* Buttons */
.adm-btn {
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 15px;
    border:1px solid transparent;
    border-radius:var(--adm-radius-md);
    font-size:13px;
    font-weight:750;
    line-height:1;
    transition:background var(--adm-transition),border-color var(--adm-transition),color var(--adm-transition),transform var(--adm-transition),box-shadow var(--adm-transition);
}
.adm-btn:active:not(:disabled) { transform:translateY(1px); }
.adm-btn:focus-visible { outline:none; box-shadow:var(--adm-focus); }
.adm-btn-primary { background:var(--adm-color-primary-600); color:#fff; }
.adm-btn-primary:hover { background:var(--adm-color-primary-700); }
.adm-btn-secondary { background:#fff; border-color:var(--adm-color-border); color:#334155; }
.adm-btn-secondary:hover { background:#f8fafc; border-color:#cbd5e1; }
.adm-btn-ghost { background:transparent; color:var(--adm-color-muted); }
.adm-btn-ghost:hover { background:#f1f5f9; color:var(--adm-color-text); }
.adm-btn-danger { background:var(--adm-color-danger-600); color:#fff; }
.adm-btn-danger:hover { background:#b91c1c; }
.adm-btn-warning { background:var(--adm-color-warning-600); color:#fff; }
.adm-btn-warning:hover { background:#b45309; }
.adm-btn-info { background:var(--adm-color-info-600); color:#fff; }
.adm-btn-info:hover { background:#1d4ed8; }
.adm-btn-sm { min-height:34px; padding:0 11px; border-radius:10px; font-size:12px; }
.adm-btn-icon { width:40px; padding:0; }
.adm-btn-block { width:100%; }

/* Forms */
.adm-field { display:grid; gap:7px; }
.adm-label { color:#475569; font-size:11px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.adm-input,.adm-select,.adm-textarea {
    width:100%;
    border:1px solid var(--adm-color-border);
    border-radius:var(--adm-radius-md);
    background:#fff;
    color:var(--adm-color-text);
    transition:border-color var(--adm-transition),box-shadow var(--adm-transition),background var(--adm-transition);
}
.adm-input,.adm-select { min-height:42px; padding:0 13px; }
.adm-textarea { min-height:104px; padding:12px 13px; resize:vertical; }
.adm-input::placeholder,.adm-textarea::placeholder { color:#a8b2c1; }
.adm-input:focus,.adm-select:focus,.adm-textarea:focus { outline:none; border-color:var(--adm-color-primary-500); box-shadow:var(--adm-focus); }
.adm-help { color:var(--adm-color-subtle); font-size:11px; line-height:1.45; }
.adm-error { color:var(--adm-color-danger-600); font-size:11px; }

/* Surfaces */
.adm-card { border:1px solid var(--adm-color-border); border-radius:var(--adm-radius-lg); background:var(--adm-color-surface); box-shadow:var(--adm-shadow-sm); }
.adm-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid #edf1f5; }
.adm-card-body { padding:20px; }
.adm-card-title { color:var(--adm-color-text); font-size:16px; font-weight:850; }
.adm-card-description { margin-top:4px; color:var(--adm-color-muted); font-size:12px; line-height:1.5; }

/* Badges */
.adm-badge { display:inline-flex; align-items:center; gap:5px; min-height:24px; padding:0 9px; border-radius:999px; font-size:10px; font-weight:850; letter-spacing:.025em; }
.adm-badge-success { background:var(--adm-color-success-50); color:var(--adm-color-success-700); }
.adm-badge-warning { background:var(--adm-color-warning-50); color:#b45309; }
.adm-badge-danger { background:var(--adm-color-danger-50); color:var(--adm-color-danger-600); }
.adm-badge-info { background:var(--adm-color-info-50); color:var(--adm-color-info-600); }
.adm-badge-neutral { background:#f1f5f9; color:#64748b; }

/* Tables */
.adm-table-wrap { overflow:auto; border:1px solid var(--adm-color-border); border-radius:var(--adm-radius-lg); background:#fff; }
.adm-table { width:100%; border-collapse:collapse; }
.adm-table th { padding:12px 16px; border-bottom:1px solid var(--adm-color-border); background:#f8fafc; color:#7c899d; font-size:10px; font-weight:850; letter-spacing:.045em; text-align:left; text-transform:uppercase; }
.adm-table td { padding:14px 16px; border-bottom:1px solid #edf1f5; color:#334155; font-size:12px; }
.adm-table tbody tr:last-child td { border-bottom:0; }
.adm-table tbody tr:hover { background:#f8fafc; }

/* Modal / drawer */
.adm-modal-backdrop { position:fixed; inset:0; z-index:100; align-items:center; justify-content:center; padding:16px; overflow-y:auto; background:rgba(15,23,42,.58); backdrop-filter:blur(3px); }
.adm-modal-backdrop:not(.hidden) { display:flex; }
.adm-modal { width:min(680px,100%); padding:22px; border:1px solid rgba(255,255,255,.6); border-radius:var(--adm-radius-xl); background:#fff; box-shadow:var(--adm-shadow-lg); }
.adm-modal-sm { width:min(420px,100%); }
.adm-modal-lg { width:min(960px,100%); }
/* v12.8.8 — wider customer profile workspace on desktop */
.customer-detail-modal-panel { width:min(1080px, calc(100vw - 48px)); }

.adm-drawer { position:fixed; top:0; right:0; bottom:0; z-index:110; width:min(520px,100%); background:#fff; box-shadow:-24px 0 70px rgba(15,23,42,.22); }

/* Empty and loading states */
.adm-empty { display:grid; place-items:center; min-height:220px; padding:32px; color:var(--adm-color-subtle); text-align:center; }
.adm-empty-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:12px; border-radius:15px; background:#f1f5f9; color:#94a3b8; font-size:18px; }
.adm-skeleton { position:relative; overflow:hidden; border-radius:8px; background:#e9eef5; }
.adm-skeleton::after { content:""; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent); animation:adm-skeleton 1.4s infinite; }
@keyframes adm-skeleton { to { transform:translateX(100%); } }

/* Toasts */
.adm-toast-host { position:fixed; top:88px; right:18px; z-index:140; width:min(360px,calc(100vw - 24px)); display:grid; gap:10px; pointer-events:none; }
.adm-toast { display:flex; align-items:flex-start; gap:11px; padding:13px 14px; border:1px solid var(--adm-color-border); border-radius:var(--adm-radius-md); background:#fff; box-shadow:var(--adm-shadow-md); color:#334155; pointer-events:auto; animation:adm-toast-in .18s ease-out; }
.adm-toast i { margin-top:2px; }
.adm-toast strong,.adm-toast span { display:block; }
.adm-toast strong { font-size:12px; }
.adm-toast span { margin-top:2px; color:var(--adm-color-muted); font-size:11px; line-height:1.45; }
.adm-toast-success i { color:var(--adm-color-primary-600); }
.adm-toast-error i { color:var(--adm-color-danger-600); }
.adm-toast-warning i { color:var(--adm-color-warning-600); }
.adm-toast-info i { color:var(--adm-color-info-600); }
@keyframes adm-toast-in { from { opacity:0; transform:translateY(-6px); } }

/* Compatibility bridge — gradually normalizes legacy module UI. */
.workspace-content input[type="text"],
.workspace-content input[type="number"],
.workspace-content input[type="email"],
.workspace-content input[type="password"],
.workspace-content input[type="search"],
.workspace-content input[type="tel"],
.workspace-content select,
.workspace-content textarea { border-radius:var(--adm-radius-md); }
.workspace-content .rounded-2xl { border-radius:var(--adm-radius-lg) !important; }
.workspace-content .rounded-xl { border-radius:var(--adm-radius-md) !important; }
.workspace-content .shadow-xl,.workspace-content .shadow-2xl { box-shadow:var(--adm-shadow-lg) !important; }

@media (max-width:700px) {
    .adm-toast-host { top:76px; left:10px; right:10px; width:auto; }
    .adm-modal-backdrop { align-items:flex-end; padding:0; }
    .adm-modal { width:100%; max-height:92vh; overflow-y:auto; border-radius:20px 20px 0 0; }
}

/* Foundation 5C — Workspace page and dashboard primitives */
.adm-workspace-page { display:grid; gap:24px; padding:24px; }
.adm-workspace-page.hidden { display:none; }
.adm-page-header { padding-bottom:4px; }
.adm-breadcrumb { display:flex; align-items:center; gap:8px; margin-bottom:10px; color:var(--adm-color-subtle); font-size:11px; font-weight:750; }
.adm-breadcrumb i { font-size:8px; }
.adm-breadcrumb strong { color:var(--adm-color-primary-700); }
.adm-page-title-row { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.adm-page-title { margin:0; color:var(--adm-color-text); font-size:clamp(24px,3vw,32px); font-weight:900; letter-spacing:-.035em; }
.adm-page-description { max-width:680px; margin:7px 0 0; color:var(--adm-color-muted); font-size:13px; line-height:1.6; }
.adm-page-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.adm-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.adm-stat-card { min-width:0; padding:18px; border:1px solid var(--adm-color-border); border-radius:var(--adm-radius-lg); background:#fff; box-shadow:var(--adm-shadow-sm); transition:transform var(--adm-transition),box-shadow var(--adm-transition),border-color var(--adm-transition); }
.adm-stat-card:hover { transform:translateY(-2px); border-color:#cbd5e1; box-shadow:var(--adm-shadow-md); }
.adm-stat-card-top { display:flex; align-items:center; gap:10px; }
.adm-stat-icon { display:grid; flex:0 0 auto; place-items:center; width:36px; height:36px; border-radius:11px; font-size:14px; }
.adm-stat-icon-success { background:var(--adm-color-success-50); color:var(--adm-color-success-700); }
.adm-stat-icon-info { background:var(--adm-color-info-50); color:var(--adm-color-info-600); }
.adm-stat-icon-warning { background:var(--adm-color-warning-50); color:var(--adm-color-warning-600); }
.adm-stat-icon-violet { background:#f5f3ff; color:#7c3aed; }
.adm-stat-label { overflow:hidden; color:#64748b; font-size:11px; font-weight:850; letter-spacing:.035em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.adm-stat-value { min-height:39px; margin:17px 0 0; color:var(--adm-color-text); font-size:26px; font-weight:900; letter-spacing:-.04em; }
.adm-stat-value-skeleton { display:block; width:56%; height:30px; }
.adm-stat-footer { min-height:32px; margin-top:8px; padding-top:10px; border-top:1px solid #f1f5f9; }
.adm-stat-note { color:var(--adm-color-subtle); font-size:11px; line-height:1.45; }
.adm-dashboard-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:20px; align-items:start; }
.adm-dashboard-activity,.adm-dashboard-launcher { overflow:hidden; }
.adm-activity-list { min-height:270px; }
.adm-activity-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px 20px; border-bottom:1px solid #edf1f5; transition:background var(--adm-transition); }
.adm-activity-row:last-child { border-bottom:0; }
.adm-activity-row:hover { background:#f8fafc; }
.adm-activity-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#f1f5f9; color:#64748b; }
.adm-activity-main { min-width:0; }
.adm-activity-title-line { display:flex; align-items:center; gap:8px; min-width:0; }
.adm-activity-title { overflow:hidden; color:#334155; font-size:13px; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.adm-activity-meta { overflow:hidden; margin-top:4px; color:var(--adm-color-subtle); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.adm-activity-value { color:#334155; font-size:12px; font-weight:850; white-space:nowrap; }
.adm-activity-skeleton { display:grid; gap:14px; padding:22px 20px; }
.adm-activity-skeleton .adm-skeleton { height:48px; }
.adm-launcher-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:18px; }
.adm-launcher-item { display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-height:100px; padding:15px; border:1px solid #edf1f5; border-radius:var(--adm-radius-md); background:#f8fafc; color:#475569; font-size:12px; font-weight:850; text-align:left; transition:background var(--adm-transition),border-color var(--adm-transition),color var(--adm-transition),transform var(--adm-transition); }
.adm-launcher-item:hover { transform:translateY(-1px); border-color:#a7f3d0; background:var(--adm-color-primary-50); color:var(--adm-color-primary-700); }
.adm-launcher-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#fff; color:var(--adm-color-primary-600); box-shadow:var(--adm-shadow-sm); }
.adm-empty.adm-empty-compact { min-height:270px; }
.adm-empty-title { margin:0; color:#334155; font-size:14px; font-weight:850; }
.adm-empty-description { max-width:320px; margin:6px 0 0; color:var(--adm-color-subtle); font-size:12px; line-height:1.55; }

@media (max-width:1100px) {
    .adm-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .adm-dashboard-layout { grid-template-columns:1fr; }
    .adm-launcher-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width:700px) {
    .adm-workspace-page { gap:18px; padding:16px 14px 28px; }
    .adm-page-title-row { align-items:stretch; flex-direction:column; }
    .adm-page-actions { display:grid; grid-template-columns:1fr 1fr; }
    .adm-page-actions .adm-btn { width:100%; padding-inline:10px; }
    .adm-stat-grid { grid-template-columns:1fr; gap:12px; }
    .adm-stat-card { padding:16px; }
    .adm-stat-value { font-size:24px; }
    .adm-card-header { padding:16px; }
    .adm-card-header .adm-btn { min-height:34px; padding-inline:8px; }
    .adm-activity-row { grid-template-columns:38px minmax(0,1fr); padding:13px 16px; }
    .adm-activity-value { grid-column:2; margin-top:-4px; }
    .adm-launcher-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px; }
    .adm-launcher-item { min-height:92px; }
}

/* Foundation 5D — Drawer Engine & browse-first layout */
.adm-page-toolbar { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:20px 22px; border-bottom:1px solid var(--adm-color-border); }
.adm-page-toolbar-title { display:flex; align-items:center; gap:9px; margin:0; color:#172033; font-size:18px; font-weight:850; }
.adm-page-toolbar-description { margin:5px 0 0; color:#718096; font-size:12px; line-height:1.5; }
.adm-toolbar-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 22px; border-bottom:1px solid var(--adm-color-border); background:#fbfcfd; }
.adm-search-field { position:relative; width:min(340px,100%); }
.adm-search-field i { position:absolute; top:50%; left:13px; transform:translateY(-50%); color:#94a3b8; font-size:12px; }
.adm-search-field input { width:100%; min-height:38px; padding:8px 13px 8px 36px; border:1px solid var(--adm-color-border); border-radius:11px; outline:none; background:#fff; color:#1e293b; font-size:12px; }
.adm-search-field input:focus { border-color:#34d399; box-shadow:0 0 0 3px rgba(16,185,129,.12); }
.adm-filter-scroll { display:flex; align-items:center; gap:7px; max-width:100%; overflow-x:auto; scrollbar-width:none; }
.adm-filter-scroll::-webkit-scrollbar { display:none; }
.adm-filter-chip { flex:none; padding:7px 12px; border:1px solid #dce3ea; border-radius:10px; background:#fff; color:#526074; font-size:11px; font-weight:750; white-space:nowrap; transition:.15s ease; }
.adm-filter-chip:hover { border-color:#a7f3d0; color:#047857; }
.adm-filter-chip.is-active,.adm-filter-chip.bg-emerald-600 { border-color:#059669!important; background:#059669!important; color:#fff!important; }

.adm-drawer-backdrop { position:fixed; inset:0; z-index:120; display:flex; justify-content:flex-end; background:rgba(15,23,42,.44); opacity:1; backdrop-filter:blur(2px); transition:opacity .2s ease; }
.adm-drawer-backdrop.hidden { display:none; }
.adm-drawer-panel { display:flex; flex-direction:column; width:min(560px,calc(100vw - 56px)); height:100%; background:#fff; box-shadow:-28px 0 70px rgba(15,23,42,.23); animation:adm-drawer-enter .22s ease-out; }
.adm-drawer-panel-sm { width:min(480px,calc(100vw - 56px)); }
@keyframes adm-drawer-enter { from { transform:translateX(28px); opacity:.5; } to { transform:translateX(0); opacity:1; } }
.adm-drawer-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:22px 24px 18px; border-bottom:1px solid var(--adm-color-border); background:#fff; }
.adm-drawer-eyebrow { margin:0 0 5px; color:#059669; font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.adm-drawer-title { margin:0; color:#172033; font-size:20px; font-weight:850; letter-spacing:-.015em; }
.adm-drawer-description { margin:6px 0 0; color:#718096; font-size:12px; line-height:1.5; }
.adm-icon-close { display:grid; flex:none; place-items:center; width:36px; height:36px; border:1px solid #e2e8f0; border-radius:11px; background:#f8fafc; color:#64748b; transition:.15s ease; }
.adm-icon-close:hover { border-color:#fecaca; background:#fef2f2; color:#dc2626; }
.adm-drawer-form { display:flex; min-height:0; flex:1; flex-direction:column; }
.adm-drawer-body { flex:1; padding:22px 24px 28px; overflow-y:auto; }
.adm-drawer-footer { display:flex; align-items:center; justify-content:flex-end; gap:10px; padding:15px 24px; border-top:1px solid var(--adm-color-border); background:#fff; box-shadow:0 -10px 25px rgba(15,23,42,.035); }
.adm-field { display:flex; flex-direction:column; gap:7px; margin-bottom:17px; }
.adm-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.adm-label span { color:#94a3b8; font-weight:700; text-transform:none; }
.adm-inline-action { color:#047857; font-size:11px; font-weight:750; }
.adm-inline-action:hover { text-decoration:underline; }
.adm-upload-row { display:flex; align-items:center; gap:14px; padding:12px; border:1px dashed #cbd5e1; border-radius:13px; background:#f8fafc; }
.adm-image-preview { display:grid; flex:none; place-items:center; width:58px; height:58px; overflow:hidden; border:1px solid #e2e8f0; border-radius:13px; background:#fff; color:#94a3b8; }
.adm-image-preview img { width:100%; height:100%; object-fit:cover; }
.adm-file-input { min-width:0; width:100%; color:#64748b; font-size:11px; }
.adm-file-input::file-selector-button { margin-right:10px; padding:7px 11px; border:0; border-radius:9px; background:#ecfdf5; color:#047857; font-size:11px; font-weight:800; cursor:pointer; }
body.adm-drawer-open { overflow:hidden; }

.adm-confirm-backdrop { position:fixed; inset:0; z-index:150; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(15,23,42,.56); backdrop-filter:blur(3px); }
.adm-confirm-dialog { width:min(410px,100%); padding:22px; border-radius:18px; background:#fff; box-shadow:var(--adm-shadow-lg); }
.adm-confirm-icon { display:grid; place-items:center; width:44px; height:44px; margin-bottom:15px; border-radius:13px; background:#fef2f2; color:#dc2626; font-size:18px; }
.adm-confirm-dialog h3 { margin:0; color:#172033; font-size:18px; font-weight:850; }
.adm-confirm-dialog p { margin:8px 0 20px; color:#64748b; font-size:13px; line-height:1.55; }
.adm-confirm-actions { display:flex; justify-content:flex-end; gap:9px; }

@media (max-width:767px) {
    .adm-page-toolbar { align-items:stretch; flex-direction:column; padding:17px; }
    .adm-page-toolbar .adm-btn { width:100%; }
    .adm-toolbar-row { align-items:stretch; flex-direction:column; padding:12px 17px; }
    .adm-search-field { width:100%; }
    .adm-drawer-backdrop { align-items:flex-end; justify-content:center; }
    .adm-drawer-panel,.adm-drawer-panel-sm { width:100%; height:min(92vh,760px); border-radius:20px 20px 0 0; animation:adm-sheet-enter .22s ease-out; }
    @keyframes adm-sheet-enter { from { transform:translateY(28px); opacity:.5; } to { transform:translateY(0); opacity:1; } }
    .adm-drawer-header { padding:18px 18px 15px; }
    .adm-drawer-body { padding:18px; }
    .adm-drawer-footer { padding:13px 18px max(13px,env(safe-area-inset-bottom)); }
    .adm-drawer-footer .adm-btn { flex:1; }
    .adm-form-grid { grid-template-columns:1fr; gap:0; }
}

/* Foundation 6A — Transaction Workspace Responsive
 * Desktop  : >= 1024px
 * Tablet   : 768px–1023px landscape
 * Phone    : <= 767px, plus tablet portrait
 */
.adm-transaction-page {
    height:100%;
    min-height:0;
    background:#f5f7fa;
}
.adm-transaction-layout {
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(320px,1fr);
    gap:20px;
    min-height:calc(100vh - 64px);
    padding:24px;
}
.adm-product-workspace {
    display:flex;
    min-width:0;
    min-height:0;
    flex-direction:column;
}
.adm-transaction-toolbar {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px;
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#fff;
    box-shadow:var(--adm-shadow-sm);
}
.adm-transaction-toolbar-main {
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
    flex:1;
}
.adm-transaction-title {
    margin:0;
    color:#0f172a;
    font-size:18px;
    font-weight:900;
}
.adm-transaction-search {
    position:relative;
    min-width:180px;
    max-width:340px;
    flex:1;
}
.adm-transaction-search i {
    position:absolute;
    top:50%;
    left:12px;
    transform:translateY(-50%);
    color:#94a3b8;
    font-size:12px;
}
.adm-transaction-search input {
    width:100%;
    height:38px;
    padding:0 12px 0 34px;
    border:1px solid #dbe3ec;
    border-radius:11px;
    outline:none;
    background:#f8fafc;
    color:#0f172a;
    font-size:12px;
}
.adm-transaction-search input:focus {
    border-color:#10b981;
    background:#fff;
    box-shadow:0 0 0 3px rgba(16,185,129,.12);
}
.adm-category-scroller {
    display:flex;
    align-items:center;
    gap:7px;
    max-width:100%;
    overflow-x:auto;
    padding:2px 1px;
    scrollbar-width:none;
}
.adm-category-scroller::-webkit-scrollbar { display:none; }
.adm-category-chip {
    height:34px;
    padding:0 13px;
    border:1px solid #dbe3ec;
    border-radius:10px;
    background:#fff;
    color:#475569;
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
    transition:.18s ease;
}
.adm-category-chip:hover { border-color:#a7f3d0; color:#047857; }
.adm-category-chip.is-active,
.adm-category-chip.bg-emerald-600 {
    border-color:#059669!important;
    background:#059669!important;
    color:#fff!important;
}
.adm-product-scroll {
    flex:1;
    min-height:0;
    overflow-y:auto;
    padding:14px 2px 110px;
}
.adm-product-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.adm-product-card {
    overflow:hidden;
    min-width:0;
    padding:0;
    border:1px solid #e2e8f0;
    border-radius:15px;
    background:#fff;
    color:inherit;
    text-align:left;
    box-shadow:0 2px 8px rgba(15,23,42,.04);
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.adm-product-card:hover {
    transform:translateY(-2px);
    border-color:#6ee7b7;
    box-shadow:0 10px 22px rgba(15,23,42,.08);
}
.adm-product-card:active { transform:scale(.985); }
.adm-product-media {
    position:relative;
    height:112px;
    overflow:hidden;
    background:#f1f5f9;
}
.adm-product-media img { width:100%; height:100%; object-fit:cover; }
.adm-product-placeholder {
    display:grid;
    width:100%;
    height:100%;
    place-items:center;
    color:#94a3b8;
    font-size:25px;
}
.adm-product-category {
    position:absolute;
    top:9px;
    left:9px;
    max-width:calc(100% - 18px);
    overflow:hidden;
    padding:4px 7px;
    border-radius:7px;
    background:rgba(248,250,252,.92);
    color:#475569;
    font-size:9px;
    font-weight:900;
    letter-spacing:.04em;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
    backdrop-filter:blur(4px);
}
.adm-product-card-body { padding:11px 12px 12px; }
.adm-product-card h4 {
    overflow:hidden;
    margin:0;
    color:#1e293b;
    font-size:13px;
    font-weight:850;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.adm-product-card-footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:10px;
}
.adm-product-card-footer strong { color:#059669; font-size:13px; font-weight:900; }
.adm-product-add {
    display:grid;
    width:30px;
    height:30px;
    flex:0 0 auto;
    place-items:center;
    border-radius:9px;
    background:#f1f5f9;
    color:#64748b;
    font-size:11px;
}
.adm-product-card:hover .adm-product-add { background:#ecfdf5; color:#059669; }
.adm-product-empty {
    grid-column:1/-1;
    display:flex;
    min-height:260px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:8px;
    color:#94a3b8;
    text-align:center;
}
.adm-product-empty i { font-size:32px; }
.adm-product-empty strong { color:#475569; font-size:14px; }
.adm-product-empty span { font-size:12px; }
.adm-load-more { margin-top:16px; text-align:center; }
.adm-transaction-cart {
    position:sticky;
    top:20px;
    display:flex;
    min-height:0;
    max-height:calc(100vh - 112px);
    flex-direction:column;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#fff;
    box-shadow:var(--adm-shadow-sm);
}
.adm-cart-body {
    display:flex;
    min-height:0;
    flex:1;
    flex-direction:column;
    padding:18px 18px 0;
}
.adm-cart-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-bottom:13px;
    border-bottom:1px solid #e8edf3;
}
.adm-cart-eyebrow {
    margin:0 0 4px;
    color:#94a3b8;
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
}
.adm-cart-header h3 {
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    color:#1e293b;
    font-size:16px;
    font-weight:900;
}
.adm-cart-header h3 i { color:#64748b; }
.adm-cart-header-actions { display:flex; gap:7px; }
.adm-icon-btn {
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#f8fafc;
    color:#64748b;
}
.adm-reference-field { padding:14px 0 12px; }
.adm-reference-field label {
    display:block;
    margin-bottom:6px;
    color:#64748b;
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
}
.adm-reference-field input {
    width:100%;
    height:40px;
    padding:0 12px;
    border:1px solid #dbe3ec;
    border-radius:11px;
    outline:none;
    font-size:12px;
}
.adm-reference-field input:focus {
    border-color:#10b981;
    box-shadow:0 0 0 3px rgba(16,185,129,.12);
}
.adm-cart-list { min-height:0; flex:1; overflow-y:auto; padding:0 1px 14px; }
.adm-cart-item {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:9px;
    padding:12px;
    border:1px solid #e2e8f0;
    border-radius:13px;
    background:#f8fafc;
}
.adm-cart-item-copy { min-width:0; }
.adm-cart-item-copy h5 {
    overflow:hidden;
    margin:0;
    color:#1e293b;
    font-size:12px;
    font-weight:850;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.adm-cart-item-copy span { display:block; margin-top:4px; color:#64748b; font-size:10px; }
.adm-quantity-control {
    display:grid;
    grid-template-columns:34px 28px 34px;
    align-items:center;
    flex:0 0 auto;
}
.adm-quantity-control button {
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    border:1px solid #dbe3ec;
    border-radius:9px;
    background:#fff;
    color:#475569;
    font-size:10px;
}
.adm-quantity-control strong { color:#1e293b; font-size:12px; text-align:center; }
.adm-cart-empty {
    display:flex;
    min-height:210px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:7px;
    color:#94a3b8;
    text-align:center;
}
.adm-cart-empty i { font-size:30px; opacity:.7; }
.adm-cart-empty strong { color:#64748b; font-size:13px; }
.adm-cart-empty span { font-size:11px; }
.adm-cart-footer {
    padding:14px 18px 18px;
    border-top:1px solid #e8edf3;
    border-radius:0 0 18px 18px;
    background:#fff;
}
.adm-cart-total-row {
    display:flex;
    align-items:end;
    justify-content:space-between;
    margin-bottom:12px;
}
.adm-cart-total-row span { color:#475569; font-size:12px; font-weight:800; text-transform:uppercase; }
.adm-cart-total-row strong { color:#059669; font-size:21px; font-weight:950; letter-spacing:-.03em; }
.adm-cart-submit {
    display:flex!important;
    min-height:48px!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding-inline:15px!important;
}
.adm-cart-submit-summary { font-size:10px; font-weight:700; opacity:.9; }
.adm-cart-submit:disabled { cursor:not-allowed; opacity:.5; box-shadow:none; }
.adm-cart-drag-zone,
.adm-cart-peek { display:none; }

/* Tablet landscape: 3 produk per baris, keranjang tetap di kanan. */
@media (min-width:768px) and (max-width:1023px) and (orientation:landscape) {
    .adm-transaction-page {
        height:calc(100dvh - 62px);
        min-height:0;
        overflow:hidden;
    }
    .adm-transaction-layout {
        display:grid;
        grid-template-columns:minmax(0,1fr) 268px;
        gap:10px;
        width:100%;
        height:100%;
        min-height:0;
        padding:10px;
    }
    .adm-product-workspace {
        height:100%;
        min-height:0;
        overflow:hidden;
    }
    .adm-transaction-toolbar {
        flex:0 0 auto;
        display:block;
        padding:9px;
        border-radius:13px;
    }
    .adm-transaction-toolbar-main {
        display:flex;
        align-items:center;
        gap:8px;
    }
    .adm-transaction-title { flex:none; font-size:15px; }
    .adm-transaction-search { min-width:0; max-width:none; }
    .adm-transaction-search input { height:33px; font-size:10px; }
    .adm-category-scroller { margin-top:7px; gap:5px; }
    .adm-category-chip { height:30px; padding-inline:10px; font-size:10px; }
    .adm-product-scroll {
        flex:1 1 auto;
        min-height:0;
        overflow-x:hidden;
        overflow-y:auto;
        padding:8px 1px 10px;
        overscroll-behavior:contain;
    }
    .adm-product-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
        align-content:start;
        gap:7px;
    }
    .adm-product-card { border-radius:11px; }
    .adm-product-media { height:78px; }
    .adm-product-category { top:6px; left:6px; max-width:calc(100% - 12px); padding:3px 5px; font-size:7px; }
    .adm-product-card-body { padding:7px 8px 8px; }
    .adm-product-card h4 { font-size:10px; line-height:1.25; }
    .adm-product-card-footer { margin-top:6px; }
    .adm-product-card-footer strong { font-size:10px; }
    .adm-product-add { width:26px; height:26px; border-radius:8px; }
    .adm-load-more { margin-top:10px; }

    .adm-transaction-cart {
        position:relative;
        inset:auto;
        width:268px;
        max-width:268px;
        height:100%;
        min-height:0;
        max-height:none;
        align-self:stretch;
        transform:none;
        border:1px solid #e2e8f0;
        border-radius:14px;
        overflow:hidden;
        box-shadow:var(--adm-shadow-sm);
    }
    .adm-cart-drag-zone,
    .adm-cart-peek,
    .adm-cart-header-actions .lg\:hidden { display:none!important; }
    .adm-cart-body { min-height:0; padding:12px 12px 0; }
    .adm-cart-header { padding-bottom:10px; }
    .adm-cart-header h3 { font-size:14px; }
    .adm-reference-field { padding:10px 0; }
    .adm-reference-field input { height:35px; font-size:10px; }
    .adm-cart-list { flex:1; min-height:0; overflow-y:auto; padding-bottom:8px; }
    .adm-cart-empty { min-height:150px; }
    .adm-cart-footer { flex:0 0 auto; margin-top:auto; padding:10px 12px 12px; border-radius:0 0 14px 14px; }
    .adm-cart-total-row { margin-bottom:8px; }
    .adm-cart-total-row span { font-size:10px; }
    .adm-cart-total-row strong { font-size:18px; }
    .adm-cart-submit { min-height:40px!important; padding-inline:10px!important; font-size:10px; }
}

/* Phone and tablet portrait: 2 produk per baris, keranjang bottom sheet. */
@media (max-width:767px),
       (min-width:768px) and (max-width:1023px) and (orientation:portrait) {
    body.adm-cart-open { overflow:hidden; }
    .adm-transaction-page { min-height:calc(100dvh - 58px); }
    .adm-transaction-layout { display:block; min-height:0; padding:14px 14px 100px; }
    .adm-transaction-toolbar { position:sticky; top:0; z-index:12; display:block; padding:13px; border-radius:14px; }
    .adm-transaction-toolbar-main { display:block; }
    .adm-transaction-title { margin-bottom:9px; font-size:17px; }
    .adm-transaction-search { max-width:none; }
    .adm-transaction-search input { height:38px; }
    .adm-category-scroller { margin-top:10px; padding-bottom:1px; }
    .adm-product-scroll { overflow:visible; padding:12px 0 28px; }
    .adm-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .adm-product-media { height:105px; }
    .adm-product-card-body { padding:9px 10px 10px; }
    .adm-product-card h4 { font-size:12px; }
    .adm-product-card-footer { margin-top:8px; }
    .adm-product-card-footer strong { font-size:12px; }
    .adm-product-add { width:28px; height:28px; }

    .adm-transaction-cart {
        position:fixed;
        right:0;
        bottom:0;
        left:0;
        top:auto;
        z-index:45;
        width:auto;
        max-width:none;
        height:min(78dvh,620px);
        max-height:none;
        border:0;
        border-radius:22px 22px 0 0;
        box-shadow:0 -16px 45px rgba(15,23,42,.2);
        transform:translateY(calc(100% - 62px));
        transition:transform .28s cubic-bezier(.2,.8,.2,1);
    }
    .adm-transaction-cart.is-expanded { transform:translateY(0); }
    .adm-transaction-cart.is-peek { transform:translateY(calc(100% - 62px)); }
    .adm-cart-drag-zone {
        display:flex;
        width:100%;
        height:18px;
        align-items:center;
        justify-content:center;
        border:0;
        background:transparent;
    }
    .adm-cart-handle { width:40px; height:5px; border-radius:999px; background:#cbd5e1; }
    .adm-cart-peek {
        display:grid;
        height:44px;
        grid-template-columns:34px minmax(0,1fr) auto 16px;
        align-items:center;
        gap:9px;
        padding:0 14px 8px;
        cursor:pointer;
    }
    .adm-cart-peek-icon {
        display:grid;
        width:32px;
        height:32px;
        place-items:center;
        border-radius:10px;
        background:#ecfdf5;
        color:#059669;
    }
    .adm-cart-peek-copy { min-width:0; }
    .adm-cart-peek-copy strong { display:block; color:#1e293b; font-size:12px; }
    .adm-cart-peek-copy span {
        display:block;
        overflow:hidden;
        margin-top:1px;
        color:#94a3b8;
        font-size:9px;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .adm-cart-peek>strong { color:#059669; font-size:13px; white-space:nowrap; }
    .adm-cart-chevron { color:#94a3b8; font-size:10px; }
    .adm-transaction-cart.is-expanded .adm-cart-peek { display:none; }
    .adm-cart-body { padding:4px 14px 0; }
    .adm-cart-header { padding-bottom:11px; }
    .adm-cart-header h3 { font-size:14px; }
    .adm-reference-field { padding:11px 0; }
    .adm-reference-field input { height:38px; }
    .adm-cart-list { padding-bottom:8px; }
    .adm-cart-item { margin-bottom:8px; padding:10px; }
    .adm-quantity-control { grid-template-columns:38px 28px 38px; }
    .adm-quantity-control button { width:38px; height:38px; }
    .adm-cart-empty { min-height:180px; }
    .adm-cart-footer { padding:11px 14px 13px; }
    .adm-cart-total-row { margin-bottom:9px; }
    .adm-cart-total-row strong { font-size:19px; }
    .adm-cart-submit { min-height:47px!important; }
}

@media (max-width:390px) {
    .adm-transaction-layout { padding-inline:12px; }
    .adm-product-grid { gap:9px; }
    .adm-product-media { height:98px; }
    .adm-product-category { top:7px; left:7px; font-size:8px; }
    .adm-product-card-body { padding:8px 9px 9px; }
    .adm-category-chip { height:32px; padding-inline:11px; }
}

/* Foundation 6E — Role-Based Workspace */
.adm-nav-count{margin-left:auto;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.68rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.adm-payment-workspace{width:100%}.adm-page-shell{max-width:1120px;margin:0 auto}.adm-page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.adm-page-header h2{font-size:1.55rem;font-weight:850;color:#0f172a}.adm-page-header p{color:#64748b;font-size:.86rem;margin-top:.25rem}.adm-page-eyebrow{font-size:.68rem!important;font-weight:850;color:#059669!important;letter-spacing:.12em}.adm-page-header-actions{display:flex;align-items:center;gap:.75rem}.adm-queue-summary{padding:.65rem .85rem;border-radius:.75rem;background:#fff7ed;color:#c2410c;font-size:.8rem}.adm-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:.75rem;margin-bottom:1rem}.adm-search-field{position:relative;max-width:460px}.adm-search-field i{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:#94a3b8}.adm-search-field input{width:100%;height:42px;padding:0 .9rem 0 2.45rem;border:1px solid #e2e8f0;border-radius:.75rem;outline:none}.adm-search-field input:focus{border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.1)}.adm-payment-list{display:grid;gap:.75rem}.adm-payment-card{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:1rem 1.1rem;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;text-align:left;box-shadow:0 1px 2px rgba(15,23,42,.03)}.adm-payment-card:hover{border-color:#cbd5e1;box-shadow:0 8px 24px rgba(15,23,42,.06)}.adm-payment-card-icon{width:42px;height:42px;border-radius:.85rem;background:#fff7ed;color:#ea580c;display:flex;align-items:center;justify-content:center}.adm-payment-card-icon.is-success{background:#ecfdf5;color:#059669}.adm-payment-card-title{display:flex;align-items:center;gap:.65rem;margin-bottom:.25rem}.adm-payment-card-title strong{font-size:.92rem;color:#0f172a}.adm-payment-card-main p{font-size:.76rem;color:#64748b;margin-top:.15rem}.adm-payment-card-total{font-weight:850;color:#0f172a;white-space:nowrap}.adm-payment-pay{min-width:110px}.adm-payment-history-card{cursor:pointer}
@media(max-width:700px){.adm-page-header{flex-direction:column}.adm-page-header-actions{width:100%;justify-content:space-between}.adm-payment-card{grid-template-columns:auto minmax(0,1fr);gap:.75rem}.adm-payment-card-total{grid-column:2}.adm-payment-pay{grid-column:1/-1;width:100%}.adm-payment-history-card .adm-payment-card-total{grid-column:2}.adm-page-shell{padding-bottom:5rem}}

/* Foundation 6F: payment review */
.adm-payment-order-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border:1px solid var(--adm-border,#e2e8f0);border-radius:14px;background:#f8fafc}.adm-payment-order-meta div{display:flex;flex-direction:column;gap:3px}.adm-payment-order-meta span{font-size:11px;color:#64748b}.adm-payment-order-meta strong{font-size:13px;color:#0f172a;overflow:hidden;text-overflow:ellipsis}.adm-payment-review-items{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.adm-payment-review-row{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid #edf2f7}.adm-payment-review-row:last-child{border-bottom:0}.adm-payment-review-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.adm-payment-review-row span{font-size:12px;color:#64748b}.adm-payment-review-row strong{font-size:13px;color:#0f172a}.adm-payment-review-loading{display:grid;gap:12px;padding:20px}.adm-payment-review-loading .adm-skeleton{height:70px;border-radius:14px}.adm-payment-review-empty{padding:18px;text-align:center;color:#64748b}.adm-payment-workspace{overflow-y:auto}.adm-payment-drawer{overflow:hidden}
@media(max-width:640px){.adm-payment-order-meta{grid-template-columns:1fr 1fr}.adm-payment-order-meta div:last-child{grid-column:1/-1}.adm-payment-review-row{padding:11px 12px}}

/* Foundation 6F.2 — Payment drawer base styles restored */
.adm-payment-backdrop { position: fixed; inset: 0; z-index: 90; display: flex; justify-content: flex-end; background: rgba(15, 23, 42, .48); backdrop-filter: blur(3px); opacity: 0; transition: opacity .18s ease; }
.adm-payment-backdrop.hidden { display: none; }
.adm-payment-backdrop.is-open { opacity: 1; }
.adm-payment-dismiss { position: absolute; inset: 0; border: 0; background: transparent; cursor: default; }
.adm-payment-drawer { position: relative; z-index: 1; width: min(460px, 100%); height: 100%; background: #fff; border-left: 1px solid #e2e8f0; box-shadow: -24px 0 60px rgba(15,23,42,.18); transform: translateX(100%); transition: transform .2s ease; overflow: hidden; }
.adm-payment-backdrop.is-open .adm-payment-drawer { transform: translateX(0); }
.adm-payment-workspace, .adm-payment-success { min-height: 100%; padding: 24px; }
.adm-payment-workspace { overflow-y: auto; }
.adm-payment-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid #e2e8f0; }
.adm-payment-header h3, .adm-payment-success h3 { margin: 2px 0 4px; color: #0f172a; font-size: 1.35rem; font-weight: 800; }
.adm-payment-header p, .adm-payment-success > p { margin: 0; color: #64748b; font-size: .82rem; line-height: 1.55; }
.adm-payment-eyebrow { margin: 0; color: #059669 !important; font-size: .68rem !important; font-weight: 800; letter-spacing: .12em; }
.adm-payment-total-card { margin: 20px 0; padding: 20px; border-radius: 16px; background: linear-gradient(135deg,#064e3b,#059669); color: #fff; box-shadow: 0 12px 28px rgba(5,150,105,.22); }
.adm-payment-total-card span { display: block; margin-bottom: 5px; color: rgba(255,255,255,.75); font-size: .78rem; font-weight: 700; }
.adm-payment-total-card strong { display: block; font-size: 2rem; line-height: 1.1; }
.adm-payment-section { padding: 18px 0; border-bottom: 1px solid #e2e8f0; }
.adm-payment-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.adm-payment-section-heading > span, .adm-payment-section-heading > label { color: #334155; font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.adm-payment-section-heading small { color: #94a3b8; font-size: .72rem; }
.adm-payment-section-heading button { border: 0; background: transparent; color: #059669; font-size: .75rem; font-weight: 800; cursor: pointer; }
.adm-payment-method-grid { display: grid; gap: 9px; }
.adm-payment-method { display: grid; grid-template-columns: 42px 1fr 20px; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 10px 13px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; color: #334155; text-align: left; transition: .15s ease; cursor: pointer; }
.adm-payment-method:hover { border-color: #a7f3d0; background: #f8fffc; }
.adm-payment-method.is-active { border-color: #10b981; background: #ecfdf5; box-shadow: 0 0 0 3px rgba(16,185,129,.09); }
.adm-payment-method-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: #f1f5f9; color: #475569; }
.adm-payment-method.is-active .adm-payment-method-icon { background: #d1fae5; color: #047857; }
.adm-payment-method strong, .adm-payment-method small { display: block; }
.adm-payment-method strong { font-size: .87rem; }
.adm-payment-method small { margin-top: 2px; color: #94a3b8; font-size: .7rem; }
.adm-payment-money-input { display: flex; align-items: center; gap: 8px; height: 56px; padding: 0 14px; border: 1px solid #cbd5e1; border-radius: 14px; background: #fff; }
.adm-payment-money-input:focus-within { border-color: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,.1); }
.adm-payment-money-input span { color: #64748b; font-size: .9rem; font-weight: 800; }
.adm-payment-money-input input { width: 100%; border: 0; outline: 0; background: transparent; color: #0f172a; font-size: 1.2rem; font-weight: 800; }
.adm-payment-validation { margin: 8px 0 0; color: #dc2626; font-size: .74rem; font-weight: 700; }
.adm-payment-quick-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.adm-payment-quick-amount { min-height: 38px; border: 1px solid #e2e8f0; border-radius: 10px; background: #f8fafc; color: #475569; font-size: .73rem; font-weight: 800; cursor: pointer; }
.adm-payment-instruction { display: flex; flex-direction: column; gap: 4px; padding: 14px; border-radius: 12px; background: #eff6ff; color: #1e3a8a; }
.adm-payment-confirmation { display: flex; align-items: flex-start; gap: 10px; margin-top: 12px; padding: 12px; border: 1px solid #e2e8f0; border-radius: 12px; cursor: pointer; }
.adm-payment-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 18px 0; }
.adm-payment-summary > div { padding: 13px; border-radius: 12px; background: #f8fafc; }
.adm-payment-summary span, .adm-payment-summary strong { display: block; }
.adm-payment-summary span { color: #94a3b8; font-size: .7rem; font-weight: 700; }
.adm-payment-summary strong { margin-top: 3px; color: #0f172a; font-size: .92rem; }
.adm-payment-actions { position: sticky; bottom: -24px; display: grid; grid-template-columns: 1fr 1.6fr; gap: 10px; padding: 16px 0 4px; background: linear-gradient(to top,#fff 80%,rgba(255,255,255,0)); }
.adm-payment-success { display: flex; flex-direction: column; justify-content: center; text-align: center; }
.adm-payment-success-icon { display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; margin: 0 auto 18px; border-radius: 50%; background: #d1fae5; color: #047857; font-size: 2rem; box-shadow: 0 0 0 10px #ecfdf5; }
.adm-payment-success-card { margin: 26px 0 20px; padding: 6px 16px; border: 1px solid #e2e8f0; border-radius: 16px; background: #f8fafc; text-align: left; }
.adm-payment-success-card > div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid #e2e8f0; }
.adm-payment-success-card > div:last-child { border-bottom: 0; }
.adm-payment-success-card span { color: #64748b; font-size: .78rem; }
.adm-payment-success-card strong { color: #0f172a; font-size: .82rem; }
.adm-payment-success-actions { display: grid; gap: 9px; }
.adm-payment-mobile-handle { display: none; }
@media (max-width: 640px) {
  .adm-payment-backdrop { align-items: flex-end; justify-content: stretch; }
  .adm-payment-drawer { width: 100%; height: min(91vh, 760px); border-left: 0; border-top: 1px solid #e2e8f0; border-radius: 22px 22px 0 0; transform: translateY(100%); }
  .adm-payment-backdrop.is-open .adm-payment-drawer { transform: translateY(0); }
  .adm-payment-workspace, .adm-payment-success { padding: 18px 16px calc(20px + env(safe-area-inset-bottom)); }
  .adm-payment-mobile-handle { display: block; width: 42px; height: 5px; margin: 9px auto 0; border-radius: 99px; background: #cbd5e1; }
  .adm-payment-total-card { margin: 14px 0; padding: 16px; }
  .adm-payment-total-card strong { font-size: 1.65rem; }
  .adm-payment-section { padding: 14px 0; }
  .adm-payment-method-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .adm-payment-method { display: flex; min-height: 82px; padding: 9px 5px; flex-direction: column; justify-content: center; gap: 5px; text-align: center; }
  .adm-payment-method-icon { width: 36px; height: 36px; }
  .adm-payment-method small { display: none; }
  .adm-payment-summary { padding: 14px 0; }
  .adm-payment-actions { bottom: -18px; }
}

/* Foundation 6F.4 — merged payment drawer + safe scrolling */
.adm-payment-backdrop.is-open { overflow: hidden; }
.adm-payment-drawer {
    display:flex;
    flex-direction:column;
    height:100dvh;
    max-height:100dvh;
    min-height:0;
    overflow:hidden;
}
.adm-payment-workspace {
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:max(28px, env(safe-area-inset-bottom));
}
.adm-payment-success {
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:max(28px, env(safe-area-inset-bottom));
}
@media (max-width:700px) {
    .adm-payment-drawer { height:min(92dvh,760px); max-height:92dvh; }
    .adm-payment-workspace,.adm-payment-success { padding-bottom:max(24px,env(safe-area-inset-bottom)); }
}
/* =========================================================
   FIX — Toolbar transaksi pada desktop/tablet lebar menengah
   ========================================================= */

#tab-transaksi .adm-transaction-toolbar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}

#tab-transaksi .adm-transaction-toolbar-main {
    display: grid;
    grid-template-columns: auto minmax(220px, 1fr);
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
}

#tab-transaksi .adm-transaction-title {
    flex: none;
    white-space: nowrap;
}

#tab-transaksi .adm-transaction-search {
    width: 100%;
    min-width: 0;
    max-width: none;
}

#tab-transaksi .adm-category-scroller {
    display: flex;
    width: 100%;
    max-width: 100%;
    gap: 7px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 1px 0 3px;
    scrollbar-width: none;
}

#tab-transaksi .adm-category-scroller::-webkit-scrollbar {
    display: none;
}

#tab-transaksi .adm-category-chip {
    flex: 0 0 auto;
}

/* Tablet dan area sempit */
@media (max-width: 1100px) {
    #tab-transaksi .adm-transaction-toolbar-main {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    #tab-transaksi .adm-transaction-search {
        width: 100%;
    }
}
/* Dashboard information redesign — summary, chart, and payment breakdown */
.adm-dashboard-updated {
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:36px;
    padding:0 12px;
    border:1px solid var(--adm-color-border);
    border-radius:11px;
    background:#fff;
    color:var(--adm-color-muted);
    font-size:11px;
    font-weight:750;
    white-space:nowrap;
}
.adm-dashboard-updated i { color:var(--adm-color-primary-600); }
.adm-stat-grid-six { grid-template-columns:repeat(3,minmax(0,1fr)); }
.adm-dashboard-finance-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.adm-stat-icon-cyan { background:#ecfeff; color:#0891b2; }
.adm-stat-icon-rose { background:#fff1f2; color:#e11d48; }
.adm-dashboard-insight-grid {
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(280px,.85fr);
    gap:20px;
    align-items:stretch;
}
.adm-dashboard-balance-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}
.adm-dashboard-balance-card {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:18px;
    min-height:170px;
    padding:24px;
}
.adm-dashboard-balance-icon {
    display:grid;
    width:58px;
    height:58px;
    place-items:center;
    border-radius:18px;
    font-size:23px;
}
.adm-dashboard-balance-card.is-receivable .adm-dashboard-balance-icon { background:#ecfdf5; color:#059669; }
.adm-dashboard-balance-card.is-payable .adm-dashboard-balance-icon { background:#fff7ed; color:#ea580c; }
.adm-dashboard-balance-card.is-loan .adm-dashboard-balance-icon { background:#eff6ff; color:#2563eb; }
.adm-dashboard-balance-card .adm-btn { grid-column:1/-1; width:100%; }
.adm-dashboard-balance-content { min-width:0; }
.adm-dashboard-balance-content > span { color:#64748b; font-size:11px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.adm-dashboard-balance-content > strong { display:block; margin-top:8px; color:#0f172a; font-size:28px; font-weight:900; line-height:1.15; }
.adm-dashboard-balance-content > p { margin:8px 0 0; color:#94a3b8; font-size:11px; font-weight:700; }
.adm-dashboard-chart-card,
.adm-dashboard-breakdown { min-width:0; overflow:hidden; }
.adm-chart-total { flex:0 0 auto; text-align:right; }
.adm-chart-total span,
.adm-chart-total strong { display:block; }
.adm-chart-total span { color:var(--adm-color-subtle); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.adm-chart-total strong { margin-top:4px; color:var(--adm-color-text); font-size:15px; font-weight:900; }
.adm-dashboard-chart-body { padding:20px 20px 18px; }
.adm-sales-chart {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    align-items:end;
    gap:12px;
    min-height:270px;
}
.adm-sales-chart-column {
    position:relative;
    display:grid;
    grid-template-rows:22px 1fr 24px;
    align-items:end;
    min-width:0;
    height:250px;
    text-align:center;
}
.adm-sales-chart-value {
    overflow:hidden;
    color:#64748b;
    font-size:9px;
    font-weight:750;
    text-overflow:ellipsis;
    white-space:nowrap;
    opacity:0;
    transform:translateY(4px);
    transition:opacity var(--adm-transition),transform var(--adm-transition);
}
.adm-sales-chart-column:hover .adm-sales-chart-value { opacity:1; transform:translateY(0); }
.adm-sales-chart-track {
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
    border-radius:10px 10px 5px 5px;
    background:linear-gradient(to top,#f1f5f9,#f8fafc);
}
.adm-sales-chart-bar {
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    min-height:3px;
    border-radius:9px 9px 4px 4px;
    background:linear-gradient(180deg,#34d399,#059669);
    box-shadow:0 8px 18px rgba(5,150,105,.18);
    transition:height .35s ease,filter .15s ease;
}
.adm-sales-chart-column:hover .adm-sales-chart-bar { filter:brightness(.94); }
.adm-sales-chart-column > span {
    overflow:hidden;
    padding-top:8px;
    color:#64748b;
    font-size:10px;
    font-weight:750;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.adm-chart-loading { display:grid; grid-column:1/-1; place-items:center; min-height:240px; }
.adm-chart-loading .adm-skeleton { width:100%; height:220px; }
.adm-chart-empty {
    grid-column:1/-1;
    display:flex;
    min-height:245px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    color:#94a3b8;
    text-align:center;
}
.adm-chart-empty i { font-size:30px; }
.adm-chart-empty strong { margin-top:10px; color:#475569; font-size:14px; }
.adm-chart-empty span { margin-top:5px; font-size:11px; }
.adm-payment-breakdown-list { display:grid; gap:10px; padding:18px 18px 8px; }
.adm-payment-breakdown-item {
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px;
    border:1px solid #e8edf3;
    border-radius:13px;
    background:#f8fafc;
}
.adm-payment-breakdown-icon {
    display:grid;
    width:39px;
    height:39px;
    flex:0 0 auto;
    place-items:center;
    border-radius:11px;
    background:#fff;
    box-shadow:var(--adm-shadow-sm);
}
.adm-payment-breakdown-icon.is-cash { color:#059669; }
.adm-payment-breakdown-icon.is-qris { color:#7c3aed; }
.adm-payment-breakdown-icon.is-transfer { color:#2563eb; }
.adm-payment-breakdown-item div { min-width:0; }
.adm-payment-breakdown-item span,
.adm-payment-breakdown-item strong { display:block; }
.adm-payment-breakdown-item div > span { color:#64748b; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.adm-payment-breakdown-item strong { margin-top:4px; color:#0f172a; font-size:15px; font-weight:900; }
.adm-dashboard-average {
    margin:10px 18px 18px;
    padding:16px;
    border-radius:14px;
    background:linear-gradient(135deg,#064e3b,#059669);
    color:#fff;
}
.adm-dashboard-average span,
.adm-dashboard-average strong { display:block; }
.adm-dashboard-average span { color:rgba(255,255,255,.72); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.adm-dashboard-average strong { margin-top:6px; font-size:21px; font-weight:900; }

@media (max-width:1100px) {
    .adm-stat-grid-six { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .adm-dashboard-finance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .adm-dashboard-insight-grid { grid-template-columns:1fr; }
    .adm-dashboard-balance-grid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
    .adm-dashboard-updated { align-self:flex-start; }
    .adm-stat-grid-six { grid-template-columns:1fr; }
    .adm-dashboard-finance-grid { grid-template-columns:1fr; }
    .adm-card-header { align-items:flex-start; }
    .adm-chart-total { display:none; }
    .adm-dashboard-chart-body { padding:16px 12px 14px; overflow-x:auto; }
    .adm-sales-chart { min-width:600px; gap:9px; }
    .adm-payment-breakdown-list { padding:14px 14px 6px; }
    .adm-dashboard-average { margin:8px 14px 14px; }
    .adm-dashboard-balance-card { grid-template-columns:auto minmax(0,1fr); padding:18px; }
    .adm-dashboard-balance-card .adm-btn { grid-column:1/-1; width:100%; }
}

/* Customer selector - transaction workspace */
.adm-customer-field { padding: 14px 0 12px; position: relative; z-index: 12; }
.adm-customer-field > label { display:flex; align-items:center; gap:7px; margin-bottom:7px; color:#64748b; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.adm-customer-field > label span { color:#94a3b8; font-size:9px; font-weight:700; letter-spacing:0; text-transform:none; }
.adm-customer-picker-row { display:grid; grid-template-columns:minmax(0,1fr) 42px; gap:8px; }
.adm-customer-picker { position:relative; min-width:0; }
.adm-customer-picker-button { width:100%; min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 12px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; color:#0f172a; text-align:left; transition:.18s ease; }
.adm-customer-picker-button:hover,.adm-customer-picker-button[aria-expanded="true"] { border-color:#10b981; box-shadow:0 0 0 3px rgba(16,185,129,.1); }
.adm-customer-picker-copy { min-width:0; display:flex; flex-direction:column; gap:1px; }
.adm-customer-picker-copy strong,.adm-customer-picker-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.adm-customer-picker-copy strong { font-size:12px; }
.adm-customer-picker-copy small { color:#64748b; font-size:10px; }
.adm-customer-picker-button > i { color:#64748b; font-size:11px; transition:transform .18s ease; }
.adm-customer-picker-button[aria-expanded="true"] > i { transform:rotate(180deg); }
.adm-customer-add-button { width:42px; height:44px; border:0; border-radius:10px; background:#059669; color:#fff; display:grid; place-items:center; box-shadow:0 6px 15px rgba(5,150,105,.2); transition:.18s ease; }
.adm-customer-add-button:hover { background:#047857; transform:translateY(-1px); }
.adm-customer-dropdown { position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:60; overflow:hidden; border:1px solid #dbe3ec; border-radius:12px; background:#fff; box-shadow:0 18px 40px rgba(15,23,42,.16); }
.adm-customer-search { position:relative; padding:10px; border-bottom:1px solid #eef2f7; }
.adm-customer-search i { position:absolute; left:22px; top:50%; transform:translateY(-50%); color:#94a3b8; font-size:11px; }
.adm-customer-search input { width:100%; height:37px; padding:0 12px 0 32px; border:1px solid #dbe3ec; border-radius:8px; font-size:11px; outline:none; }
.adm-customer-search input:focus { border-color:#10b981; box-shadow:0 0 0 3px rgba(16,185,129,.08); }
.adm-customer-list { max-height:250px; overflow:auto; padding:5px; }
.adm-customer-option { width:100%; display:grid; grid-template-columns:34px minmax(0,1fr) 18px; align-items:center; gap:9px; padding:8px; border:0; border-radius:9px; background:transparent; text-align:left; color:#0f172a; }
.adm-customer-option:hover,.adm-customer-option.is-selected { background:#ecfdf5; }
.adm-customer-option > span:nth-child(2) { min-width:0; display:flex; flex-direction:column; gap:1px; }
.adm-customer-option strong,.adm-customer-option small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.adm-customer-option strong { font-size:11px; }
.adm-customer-option small { color:#64748b; font-size:9px; }
.adm-customer-option > i { color:#059669; font-size:11px; }
.adm-customer-avatar { width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:#eef2f7; color:#334155; font-size:10px; font-weight:900; }
.adm-customer-empty,.adm-customer-loading { min-height:72px; display:flex; align-items:center; justify-content:center; gap:8px; color:#64748b; font-size:10px; text-align:center; padding:14px; }
.adm-customer-modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:16px; border-bottom:1px solid #e2e8f0; }
.adm-customer-modal-header h3 { margin:2px 0 4px; color:#0f172a; font-size:19px; }
.adm-customer-modal-header p:last-child { margin:0; color:#64748b; font-size:11px; line-height:1.5; }
.adm-customer-form { display:grid; gap:13px; padding-top:17px; }
.adm-customer-form .adm-field span b { color:#dc2626; }
.adm-customer-form textarea { width:100%; resize:vertical; border:1px solid #dbe3ec; border-radius:10px; padding:10px 12px; font:inherit; outline:none; }
.adm-customer-form textarea:focus { border-color:#10b981; box-shadow:0 0 0 3px rgba(16,185,129,.08); }
.adm-customer-modal-actions { display:flex; justify-content:flex-end; gap:9px; padding-top:5px; }
@media (max-width:1023px) { .adm-customer-field { padding:10px 0; } .adm-customer-dropdown { position:fixed; left:12px; right:12px; top:auto; bottom:86px; } }


/* =========================================================
 * v11.13.2 — Tablet Web Stability
 * Cart action footer must stay reachable on Android tablets.
 * ========================================================= */
.adm-transaction-cart {
    max-height:calc(100dvh - 112px);
    overflow:hidden;
}
.adm-cart-body {
    overflow:hidden;
}
.adm-cart-footer {
    position:sticky;
    right:0;
    bottom:0;
    left:0;
    z-index:6;
    flex:0 0 auto;
    margin-top:auto;
    padding-bottom:max(18px, env(safe-area-inset-bottom));
    box-shadow:0 -10px 24px rgba(15,23,42,.06);
}

/*
 * Android 8–13 tablets commonly expose a landscape CSS viewport around
 * 1024–1366px. Treat this as an application workspace rather than a
 * vertically growing desktop document.
 */
@media (min-width:768px) and (max-width:1400px) and (orientation:landscape) and (max-height:900px) {
    .adm-transaction-page {
        height:calc(100dvh - 60px);
        min-height:0;
        overflow:hidden;
    }

    .adm-transaction-layout {
        height:100%;
        min-height:0;
        grid-template-columns:minmax(0,1fr) minmax(270px,310px);
        gap:12px;
        padding:12px;
        overflow:hidden;
    }

    .adm-product-workspace {
        height:100%;
        min-height:0;
        overflow:hidden;
    }

    .adm-product-scroll {
        flex:1 1 auto;
        min-height:0;
        overflow-y:auto;
        overflow-x:hidden;
        padding-bottom:18px;
        overscroll-behavior:contain;
    }

    .adm-transaction-cart {
        position:relative;
        top:auto;
        height:100%;
        min-height:0;
        max-height:100%;
        align-self:stretch;
        overflow:hidden;
    }

    .adm-cart-body {
        min-height:0;
        flex:1 1 auto;
        overflow:hidden;
    }

    .adm-cart-list {
        min-height:72px;
        flex:1 1 auto;
        overflow-y:auto;
        overscroll-behavior:contain;
        padding-bottom:10px;
    }

    .adm-cart-footer {
        position:relative;
        bottom:auto;
        flex:0 0 auto;
        margin-top:0;
        padding:10px 14px max(14px, env(safe-area-inset-bottom));
        background:#fff;
        box-shadow:0 -8px 18px rgba(15,23,42,.055);
    }

    .adm-cart-submit {
        min-height:44px!important;
    }
}

/* Extra short landscape screens: compact non-scrollable controls,
 * leave the available height to cart items + action footer. */
@media (min-width:768px) and (max-width:1400px) and (orientation:landscape) and (max-height:720px) {
    .adm-cart-body { padding:10px 12px 0; }
    .adm-cart-header { padding-bottom:8px; }
    .adm-cart-header h3 { font-size:13px; }
    .adm-customer-field { margin-top:9px; }
    .adm-customer-field label { margin-bottom:5px; font-size:9px; }
    .adm-customer-picker-button,
    .adm-customer-add-button,
    .adm-input { min-height:34px; }
    .adm-cart-item { padding:8px 9px; margin-bottom:6px; }
    .adm-quantity-control button { width:30px; height:30px; }
    .adm-cart-total-row { margin-bottom:7px; }
    .adm-cart-total-row strong { font-size:18px; }
    .adm-cart-submit { min-height:40px!important; }
}


/* =========================================================
 * v11.13.3 — Short Tablet Cart Closure
 * Target utama: Advan Tab A10 landscape ~853x533.
 * ========================================================= */
@media (min-width:768px) and (max-width:1023px) and (orientation:landscape) and (max-height:650px) {
    .adm-transaction-page {
        height:calc(100dvh - 52px);
        min-height:0;
        overflow:hidden;
    }

    .adm-transaction-layout {
        height:100%;
        min-height:0;
        grid-template-columns:minmax(0,1fr) 286px;
        gap:8px;
        padding:8px;
        overflow:hidden;
    }

    .adm-transaction-toolbar {
        padding:8px;
    }

    .adm-transaction-toolbar-main {
        gap:7px;
    }

    .adm-transaction-title {
        font-size:14px;
    }

    .adm-transaction-search input {
        height:31px;
    }

    .adm-category-scroller {
        margin-top:6px;
    }

    .adm-category-chip {
        height:29px;
        padding-inline:9px;
    }

    .adm-product-scroll {
        padding-top:7px;
        padding-bottom:8px;
    }

    .adm-transaction-cart {
        position:relative!important;
        width:286px;
        max-width:286px;
        height:100%!important;
        min-height:0;
        max-height:100%!important;
        overflow:hidden!important;
    }

    /*
     * Footer tidak lagi bergantung pada sisa flex-height.
     * Ia ditempatkan absolut di dasar panel sehingga Total dan
     * Kirim Pesanan selalu terlihat.
     */
    .adm-cart-body {
        height:100%;
        min-height:0;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        padding:9px 10px 86px!important;
        overscroll-behavior:contain;
        scrollbar-width:thin;
    }

    .adm-cart-header {
        padding-bottom:6px;
    }

    .adm-cart-eyebrow {
        font-size:8px;
    }

    .adm-cart-header h3 {
        font-size:13px;
        line-height:1.2;
    }

    .adm-cart-header-actions {
        gap:4px;
    }

    .adm-cart-header-actions .adm-icon-btn {
        width:31px;
        height:31px;
        min-width:31px;
    }

    .adm-customer-field {
        margin-top:0!important;
        padding:7px 0!important;
    }

    .adm-customer-field label {
        margin-bottom:4px!important;
        font-size:8px!important;
    }

    .adm-customer-field label span,
    .adm-customer-field small {
        font-size:8px!important;
        line-height:1.2;
    }

    .adm-customer-picker-button,
    .adm-customer-add-button,
    .adm-customer-field .adm-input {
        min-height:32px!important;
        height:32px;
    }

    .adm-customer-picker-button {
        padding:5px 8px;
    }

    .adm-customer-picker-copy strong {
        font-size:10px;
    }

    .adm-customer-picker-copy small {
        font-size:8px;
    }

    .adm-cart-list {
        min-height:60px!important;
        overflow:visible!important;
        padding:4px 0 2px!important;
    }

    .adm-cart-empty {
        min-height:90px!important;
        gap:4px;
    }

    .adm-cart-empty i {
        font-size:23px;
    }

    .adm-cart-empty strong {
        font-size:11px;
    }

    .adm-cart-empty span {
        font-size:9px;
    }

    .adm-cart-item {
        margin-bottom:5px!important;
        padding:7px 8px!important;
    }

    .adm-cart-item h4 {
        font-size:10px;
    }

    .adm-cart-item-price {
        font-size:9px;
    }

    .adm-quantity-control {
        grid-template-columns:28px 24px 28px!important;
        gap:2px;
    }

    .adm-quantity-control button {
        width:28px!important;
        height:28px!important;
    }

    .adm-cart-footer {
        position:absolute!important;
        right:0!important;
        bottom:0!important;
        left:0!important;
        z-index:20!important;
        display:block;
        height:78px;
        margin:0!important;
        padding:8px 10px max(9px, env(safe-area-inset-bottom))!important;
        border-top:1px solid #e2e8f0;
        border-radius:0 0 14px 14px;
        background:#fff;
        box-shadow:0 -9px 18px rgba(15,23,42,.08);
    }

    .adm-cart-total-row {
        height:20px;
        margin-bottom:5px!important;
        align-items:center;
    }

    .adm-cart-total-row span {
        font-size:9px;
    }

    .adm-cart-total-row strong {
        font-size:17px!important;
    }

    .adm-cart-submit {
        width:100%;
        min-height:38px!important;
        height:38px;
        padding-inline:10px!important;
        border-radius:9px!important;
        font-size:9px!important;
    }

    .adm-cart-submit-summary {
        font-size:8px;
    }
}

/* Very short embedded WebView/devtools viewport. */
@media (min-width:768px) and (max-width:1023px) and (orientation:landscape) and (max-height:560px) {
    .adm-transaction-page {
        height:calc(100dvh - 48px);
    }

    .adm-transaction-layout {
        padding:6px;
        gap:6px;
    }

    .adm-cart-body {
        padding-top:7px!important;
        padding-inline:9px!important;
    }

    .adm-customer-field {
        padding:5px 0!important;
    }

    .adm-cart-empty {
        min-height:70px!important;
    }
}


/* =========================================================
 * v11.13.4 — Tablet Cart Grid Fix
 * Replaces v11.13.3 absolute-footer approach on short tablets.
 * ========================================================= */
@media (min-width:768px) and (max-width:1023px) and (orientation:landscape) and (max-height:650px) {
    /*
     * 533px Advan Tab A10 viewport has an application topbar above this tab.
     * Keep the workspace fully INSIDE the remaining viewport.
     */
    .adm-transaction-page {
        height:calc(100dvh - 68px)!important;
        min-height:0!important;
        overflow:hidden!important;
    }

    .adm-transaction-layout {
        box-sizing:border-box;
        height:100%!important;
        min-height:0!important;
        padding:7px!important;
        gap:7px!important;
        grid-template-columns:minmax(0,1fr) 286px!important;
        overflow:hidden!important;
    }

    .adm-product-workspace {
        min-height:0!important;
        height:100%!important;
        display:flex!important;
        flex-direction:column!important;
        overflow:hidden!important;
    }

    .adm-transaction-toolbar {
        flex:0 0 auto!important;
    }

    .adm-product-scroll {
        flex:1 1 auto!important;
        min-height:0!important;
        overflow-y:auto!important;
        padding-bottom:8px!important;
    }

    /*
     * Proper two-row cart:
     * 1) flexible content
     * 2) fixed action footer
     * No absolute positioning, so the footer can never hang outside the card.
     */
    .adm-transaction-cart {
        display:grid!important;
        grid-template-rows:minmax(0,1fr) auto!important;
        width:286px!important;
        max-width:286px!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        overflow:hidden!important;
        align-self:stretch!important;
        position:relative!important;
        inset:auto!important;
        transform:none!important;
        border-radius:14px!important;
    }

    .adm-cart-drag-zone,
    .adm-cart-peek {
        display:none!important;
    }

    .adm-cart-body {
        display:grid!important;
        grid-template-rows:auto auto auto minmax(0,1fr)!important;
        min-height:0!important;
        height:auto!important;
        overflow:hidden!important;
        padding:8px 9px 0!important;
    }

    .adm-cart-header {
        min-height:0!important;
        padding-bottom:5px!important;
    }

    .adm-cart-header h3 {
        font-size:12px!important;
    }

    .adm-cart-header-actions .adm-icon-btn {
        width:28px!important;
        height:28px!important;
        min-width:28px!important;
    }

    .adm-customer-field {
        min-height:0!important;
        margin:0!important;
        padding:5px 0!important;
    }

    .adm-customer-field label {
        margin-bottom:3px!important;
        font-size:8px!important;
        line-height:1.1!important;
    }

    .adm-customer-field small {
        display:block;
        margin-top:2px!important;
        font-size:7px!important;
        line-height:1.15!important;
    }

    .adm-customer-picker-row {
        gap:5px!important;
    }

    .adm-customer-picker-button,
    .adm-customer-add-button,
    .adm-customer-field .adm-input {
        height:30px!important;
        min-height:30px!important;
    }

    .adm-customer-picker-button {
        padding:3px 7px!important;
    }

    .adm-customer-picker-copy strong {
        font-size:9px!important;
        line-height:1.1!important;
    }

    .adm-customer-picker-copy small {
        font-size:7px!important;
        line-height:1.1!important;
    }

    .adm-customer-add-button {
        width:34px!important;
        min-width:34px!important;
    }

    .adm-cart-list {
        min-height:0!important;
        height:auto!important;
        overflow-y:auto!important;
        padding:3px 0 6px!important;
        overscroll-behavior:contain;
    }

    .adm-cart-empty {
        min-height:0!important;
        height:100%!important;
        padding:10px 4px!important;
    }

    .adm-cart-empty i {
        font-size:21px!important;
    }

    .adm-cart-empty strong {
        font-size:9px!important;
    }

    .adm-cart-empty span {
        font-size:7px!important;
    }

    .adm-cart-item {
        padding:6px 7px!important;
        margin-bottom:4px!important;
    }

    .adm-cart-item-copy h5 {
        font-size:9px!important;
    }

    .adm-cart-item-copy span {
        font-size:7px!important;
    }

    .adm-quantity-control {
        grid-template-columns:26px 22px 26px!important;
    }

    .adm-quantity-control button {
        width:26px!important;
        height:26px!important;
    }

    .adm-cart-footer {
        position:relative!important;
        inset:auto!important;
        z-index:2!important;
        box-sizing:border-box!important;
        height:auto!important;
        min-height:68px!important;
        margin:0!important;
        padding:7px 9px 8px!important;
        background:#fff!important;
        border-top:1px solid #e2e8f0!important;
        border-radius:0 0 14px 14px!important;
        box-shadow:0 -5px 12px rgba(15,23,42,.045)!important;
    }

    .adm-cart-total-row {
        height:auto!important;
        min-height:17px!important;
        margin:0 0 4px!important;
    }

    .adm-cart-total-row span {
        font-size:8px!important;
    }

    .adm-cart-total-row strong {
        font-size:15px!important;
        line-height:1!important;
    }

    .adm-cart-submit {
        box-sizing:border-box!important;
        width:100%!important;
        height:36px!important;
        min-height:36px!important;
        padding:0 9px!important;
        font-size:8px!important;
        border-radius:8px!important;
    }

    .adm-cart-submit-summary {
        font-size:7px!important;
    }
}

/* 533px and below: leave a few more pixels for browser/WebView chrome. */
@media (min-width:768px) and (max-width:1023px) and (orientation:landscape) and (max-height:540px) {
    .adm-transaction-page {
        height:calc(100dvh - 72px)!important;
    }

    .adm-transaction-layout {
        padding:6px!important;
        gap:6px!important;
    }

    .adm-transaction-cart {
        width:282px!important;
        max-width:282px!important;
    }
}


/* =========================================================
 * v11.13.5 — Transaction Scroll Chain Fix
 * Root cause: #pos-sales-workspace had auto height, therefore child
 * height:100% could not resolve and overflow containers never received
 * a real bounded height.
 * ========================================================= */
@media (min-width:768px) and (max-width:1023px) and (orientation:landscape) {
    /* The tab already lives inside .workspace-content, whose flex height is
       exactly the viewport remaining below the topbar. Do NOT subtract the
       topbar a second time here. */
    .workspace-content > #tab-transaksi.adm-transaction-page,
    .workspace-content #lazy-workspace-root #tab-transaksi.adm-transaction-page {
        box-sizing:border-box!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        padding:7px!important;
        overflow:hidden!important;
    }

    #tab-transaksi > #business-sales-workspace,
    #tab-transaksi > #pos-sales-workspace {
        box-sizing:border-box!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
    }

    #tab-transaksi > #pos-sales-workspace {
        display:block!important;
        overflow:hidden!important;
    }

    #pos-sales-workspace > .adm-transaction-layout {
        box-sizing:border-box!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 282px!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        gap:7px!important;
        padding:0!important;
        overflow:hidden!important;
    }

    /* LEFT: fixed toolbar + independently scrolling product viewport. */
    .adm-product-workspace {
        display:grid!important;
        grid-template-rows:auto minmax(0,1fr)!important;
        width:100%!important;
        height:100%!important;
        min-width:0!important;
        min-height:0!important;
        max-height:100%!important;
        overflow:hidden!important;
    }

    .adm-transaction-toolbar {
        min-height:0!important;
        flex:none!important;
    }

    #menu-grid-container.adm-product-scroll {
        box-sizing:border-box!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch!important;
        touch-action:pan-y!important;
        padding:7px 1px 16px!important;
        scrollbar-gutter:stable;
    }

    #menu-grid.adm-product-grid {
        align-content:start!important;
        min-height:max-content!important;
    }

    /* RIGHT: bounded cart, body and footer are separate rows. */
    #cart-container.adm-transaction-cart {
        box-sizing:border-box!important;
        display:grid!important;
        grid-template-rows:minmax(0,1fr) auto!important;
        position:relative!important;
        inset:auto!important;
        width:282px!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        overflow:hidden!important;
        align-self:stretch!important;
    }

    #cart-detail-section.adm-cart-body {
        box-sizing:border-box!important;
        display:grid!important;
        grid-template-rows:auto auto auto minmax(0,1fr)!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        overflow:hidden!important;
        padding:7px 8px 0!important;
    }

    #cart-list.adm-cart-list {
        box-sizing:border-box!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:100%!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch!important;
        touch-action:pan-y!important;
        padding:3px 0 8px!important;
    }

    #cart-container > .adm-cart-footer {
        box-sizing:border-box!important;
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        height:auto!important;
        min-height:62px!important;
        max-height:none!important;
        margin:0!important;
        padding:6px 8px 7px!important;
        flex:none!important;
        background:#fff!important;
        border-top:1px solid #e2e8f0!important;
        z-index:2!important;
    }

    .adm-cart-total-row {
        min-height:17px!important;
        margin:0 0 4px!important;
    }

    .adm-cart-submit {
        height:34px!important;
        min-height:34px!important;
        padding:0 8px!important;
    }
}

/* Exact short landscape target used in the user's Advan Tab A10 test. */
@media (min-width:768px) and (max-width:900px) and (orientation:landscape) and (max-height:560px) {
    .workspace-content > #tab-transaksi.adm-transaction-page,
    .workspace-content #lazy-workspace-root #tab-transaksi.adm-transaction-page {
        padding:6px!important;
    }

    #pos-sales-workspace > .adm-transaction-layout {
        grid-template-columns:minmax(0,1fr) 278px!important;
        gap:6px!important;
    }

    #cart-container.adm-transaction-cart {
        width:278px!important;
    }

    .adm-product-grid {
        gap:7px!important;
    }

    .adm-product-media {
        height:82px!important;
    }

    .adm-product-card-body {
        padding:6px 7px 7px!important;
    }

    .adm-product-card h4 {
        font-size:9px!important;
    }

    .adm-product-card-footer {
        margin-top:5px!important;
    }
}
