/* assets/style.css */
:root{--blue:#183f91;--blue2:#2867d8;--dark:#10244d;--gold:#f5b21b;--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#6b7280;--line:#e8edf5}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}.hidden{display:none!important}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:22px;background:radial-gradient(circle at 90% 90%,#f4a51c 0,#f4a51c22 25%,transparent 45%),linear-gradient(135deg,#10244d,#235bc4)}.login-card{width:100%;max-width:480px;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-radius:34px;padding:38px;box-shadow:0 28px 90px #0005}.mark{width:82px;height:82px;border-radius:24px;background:linear-gradient(145deg,var(--blue),#0d2d72);color:white;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:900;margin:0 auto 20px}.login-card h1{text-align:center;margin:0;font-size:36px}.subtitle{text-align:center;color:var(--muted);font-weight:700;margin:6px 0 32px}.field{margin:14px 0}.field label{display:block;font-weight:800;margin-bottom:8px}.input{width:100%;border:1px solid var(--line);background:#fff;border-radius:18px;padding:15px 18px;outline:none;box-shadow:0 8px 20px #1d2b4f08}.input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2867d81c}.btn{border:0;border-radius:18px;padding:14px 18px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}.btn-gold{background:var(--gold);color:#fff}.btn-danger{background:#dc2626;color:#fff}.btn-soft{background:#eef4ff;color:var(--blue)}.btn-block{width:100%}.link{border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer}.app{display:flex;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;background:linear-gradient(180deg,#10244d,#132b61);color:#fff;padding:22px;z-index:50}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand .brand-logo{width:52px;height:52px;border-radius:16px;background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:22px}.brand b{font-size:18px}.brand small{color:#b8c9ee}.nav button{width:100%;border:0;background:transparent;color:#fff;padding:13px 14px;border-radius:16px;text-align:left;font-weight:800;margin:4px 0}.nav button:hover,.nav button.active{background:#ffffff1f}.main{margin-left:280px;width:100%;padding:26px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.topbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.topbar h1{margin:0;font-size:30px}.topbar p{margin:4px 0 0;color:var(--muted);font-weight:600}.menu-btn{display:none}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:var(--card);border-radius:26px;padding:22px;box-shadow:0 14px 40px #1f2f5a12;border:1px solid #fff}.card small{color:var(--muted);font-weight:800}.card b{display:block;font-size:28px;margin-top:8px}.panel{background:#fff;border-radius:26px;box-shadow:0 14px 40px #1f2f5a12;overflow:hidden;margin-top:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#f8fafc;color:#64748b;text-transform:uppercase;font-size:12px;letter-spacing:.05em}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}.Paid,.Approved,.Received{background:#dcfce7;color:#15803d}.Unpaid,.Pending,.Ordered{background:#fef3c7;color:#b45309}.Rejected,.Cancelled{background:#fee2e2;color:#b91c1c}.actions{display:flex;gap:6px;flex-wrap:wrap}.modal-backdrop{position:fixed;inset:0;background:#07132799;z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:100%;max-width:920px;max-height:92vh;overflow:auto;background:#fff;border-radius:28px;box-shadow:0 24px 90px #0008}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0}.modal-body{padding:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.item-row{display:grid;grid-template-columns:1fr 100px 160px 44px;gap:8px;margin-bottom:8px}.toast{position:fixed;right:18px;bottom:18px;background:#10244d;color:white;padding:14px 18px;border-radius:18px;box-shadow:0 18px 50px #0005;z-index:200}.mobile-cards{display:none}@media(max-width:920px){.sidebar{transform:translateX(-110%);transition:.22s}.sidebar.show{transform:translateX(0)}.main{margin-left:0;padding:16px}.menu-btn{display:inline-flex}.grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.item-row{grid-template-columns:1fr}.topbar{align-items:flex-start}.desktop-table{display:none}.mobile-cards{display:grid;gap:12px;padding:14px}.mobile-card{background:white;border:1px solid var(--line);border-radius:20px;padding:14px}.mobile-card b{display:block;margin-bottom:6px}.mobile-card small{color:var(--muted)}}@media(max-width:560px){.grid{grid-template-columns:1fr}.login-card{padding:28px}.login-card h1{font-size:30px}.topbar{display:block}.topbar .btn{margin-top:12px;width:100%}.panel-head{display:block}.panel-head .btn{width:100%;margin-top:12px}.card b{font-size:24px}}
/* Premium quotation/editor update */
.field.full{grid-column:1/-1}.rt-toolbar{display:flex;gap:8px;flex-wrap:wrap;background:#f8fafc;border:1px solid #d6dde8;border-bottom:0;border-radius:14px 14px 0 0;padding:8px}.rt-toolbar button{border:0;background:white;border-radius:9px;padding:8px 10px;font-weight:800;box-shadow:0 2px 8px #1d2b4f10;cursor:pointer}.rich-editor{min-height:125px;background:white;border:1px solid #d6dde8;border-radius:0 0 14px 14px;padding:13px 14px;line-height:1.6;outline:none}.logo-preview{margin-top:10px;min-height:84px;border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden}.logo-preview img{max-height:78px;max-width:220px;object-fit:contain}.item-row.premium{grid-template-columns:190px 1fr 90px 100px 150px 46px}.modal{max-width:980px}.modal-body{max-height:78vh;overflow:auto}@media(max-width:900px){.item-row.premium{grid-template-columns:1fr}.modal{width:94vw}.modal-body{max-height:76vh}}
/* Gas cylinder control module */
.Filled,.Available,.ReturnFilled,.Fill{background:#dcfce7;color:#15803d}.Delivered,.Delivery{background:#dbeafe;color:#1d4ed8}.Empty,.ReturnEmpty{background:#fef3c7;color:#b45309}.Maintenance,.Adjustment{background:#ede9fe;color:#6d28d9}.Lost,.Retired,.Retire{background:#fee2e2;color:#b91c1c}.due-soon{font-weight:900;color:#b91c1c}.gas-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}@media(max-width:920px){.gas-summary{grid-template-columns:1fr 1fr}}@media(max-width:560px){.gas-summary{grid-template-columns:1fr}}

/* Perbaikan toolbar pencarian modul tabung gas */
.gas-toolbar{display:grid;grid-template-columns:1.2fr .8fr 1fr auto;gap:12px;align-items:end;padding:14px 18px;border-bottom:1px solid #e5e7eb;background:#f8fafc}
.gas-toolbar .field{margin:0}.gas-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.gas-result-info{padding:10px 18px;color:#64748b;font-size:13px;border-bottom:1px solid #e5e7eb;background:#fff}
@media(max-width:920px){.gas-toolbar{grid-template-columns:1fr}.gas-toolbar-actions .btn{width:100%}}


/* Customer special price grid */
.customer-price-box{border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;background:#fff}
.customer-price-head,.customer-price-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #eef2f7}
.customer-price-head{font-weight:800;color:#64748b;background:#f8fafc}
.customer-price-row:last-child{border-bottom:0}
.customer-price-row small{display:block;color:#64748b;margin-top:2px}
@media(max-width:760px){.customer-price-head{display:none}.customer-price-row{grid-template-columns:1fr;padding:12px}.customer-price-row .input{width:100%}}

/* v10 search/download visibility fix */
.panel-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.module-toolbar-force{display:block!important}.gas-toolbar{display:grid!important}.topbar-actions{display:flex!important}@media(max-width:920px){.panel-actions{margin-top:12px}.panel-head{display:flex;align-items:center}.gas-toolbar-actions .btn,.topbar-actions .btn{min-height:44px}}

/* v11 User Management */
.module-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:8px}
.module-check{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;font-weight:800;color:#172033}
.module-check input{width:18px;height:18px;accent-color:#1d4ed8}
.topbar-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.panel-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:760px){.module-access-grid{grid-template-columns:1fr}.topbar-actions,.panel-actions{justify-content:flex-start}}

/* v20 compact search/filter toolbar */
.compact-head{padding-bottom:10px!important}
.module-filter-compact{padding:12px 18px;border-bottom:1px solid #e5e7eb;background:#f8fafc}
.module-filter-compact .field{margin:0}
.compact-main{display:grid;grid-template-columns:minmax(260px,1fr) 170px auto;gap:10px;align-items:end}
.compact-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.compact-actions .btn{padding:12px 18px;min-height:42px}
.compact-date-range{margin-top:8px;color:#475569;font-size:13px}
.compact-date-range summary{cursor:pointer;font-weight:700;color:#1d4f91;list-style:none}
.compact-date-range summary::-webkit-details-marker{display:none}
.compact-date-range summary:before{content:'▸ ';font-size:12px}
.compact-date-range[open] summary:before{content:'▾ '}
.compact-date-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,240px));gap:10px;margin-top:8px}
@media(max-width:920px){
  .compact-main{grid-template-columns:1fr 150px;align-items:end}
  .compact-actions{grid-column:1/-1;justify-content:flex-start}
  .compact-actions .btn{flex:1;min-width:90px}
  .compact-date-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .compact-main{grid-template-columns:1fr}
  .module-filter-compact{padding:10px 12px}
}

/* AMSA ERP v21 mobile-friendly foundation */
.menu-btn{display:none}.topbar-actions{display:flex;gap:8px;flex-wrap:wrap}.desktop-table{display:block}.mobile-cards{display:none}.mobile-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px;margin:10px 0;box-shadow:0 8px 24px rgba(15,23,42,.06)}.mobile-card small{display:block;color:#64748b;margin-top:4px}.mobile-card p{white-space:pre-line;color:#334155}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field.full{grid-column:1/-1}.badge.Partial,.badge.Overdue{background:#fff7ed;color:#c2410c}.badge.Cancelled,.badge.Rejected{background:#fee2e2;color:#b91c1c}.badge.Delivered,.badge.Paid{background:#dcfce7;color:#166534}.badge.Draft{background:#e0f2fe;color:#075985}.card b{word-break:break-word}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:760px){
  body{font-size:14px}.app{display:block}.menu-btn{display:inline-flex;position:sticky;top:10px;z-index:20;margin:10px}.sidebar{position:fixed;z-index:1000;top:0;bottom:0;left:0;width:84%;max-width:320px;transform:translateX(-105%);transition:.2s ease;box-shadow:20px 0 60px rgba(15,23,42,.25)}.sidebar.show{transform:translateX(0)}.main{padding:8px 12px 28px}.topbar{display:block}.topbar h1{font-size:24px}.topbar-actions{margin-top:12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:14px;border-radius:16px}.card b{font-size:18px}.desktop-table{display:none}.mobile-cards{display:block}.panel{padding:14px;border-radius:18px}.form-grid{display:block}.field{margin-bottom:12px}.modal{width:96vw;max-height:92vh;border-radius:18px}.modal-body{max-height:78vh;overflow:auto}.item-row,.item-row.premium{display:grid;grid-template-columns:1fr;gap:8px}.compact-main,.compact-date-grid{display:grid;grid-template-columns:1fr;gap:8px}.compact-actions{display:flex;gap:8px;flex-wrap:wrap}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions .btn{padding:8px 10px}.btn{min-height:38px}.login-card{width:92vw}.module-access-grid{grid-template-columns:1fr!important}
}
@media(max-width:420px){.grid{grid-template-columns:1fr}.topbar h1{font-size:21px}.card b{font-size:16px}.brand small{display:none}}


/* v22 sidebar logout visibility fix */
.sidebar{
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:26px;
}
.nav{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding-bottom:32px;
}
.nav button:last-child{
  margin-bottom:18px;
}
@media(max-width:760px){
  .sidebar{
    overflow-y:auto;
    padding-bottom:36px;
  }
  .brand{
    position:sticky;
    top:0;
    z-index:2;
    padding:0 0 12px 0;
    background:linear-gradient(180deg,#10244d,#122a5d);
  }
  .nav button{
    padding:12px 14px;
    margin:2px 0;
  }
  .nav button:nth-last-child(2),
  .nav button:last-child{
    background:rgba(255,255,255,.12);
  }
  .nav button:last-child{
    background:#dc2626;
    color:#fff;
  }
}


/* v23 compact responsive consistency for new modules and dashboard */
.compact-page{margin-bottom:14px;align-items:center}.compact-page h1{font-size:30px;line-height:1.05}.compact-page p{font-size:15px}.panel-compact{margin-top:12px;border-radius:24px}.panel-compact .panel-head{padding:14px 18px}.panel-compact .panel-head h2{font-size:22px}.panel-compact .module-filter-compact{padding:10px 16px}.panel-compact .field label,.v23-filter .field label{font-size:13px;margin-bottom:6px}.panel-compact .input,.v23-filter .input{padding:10px 13px;border-radius:14px;min-height:42px}.panel-compact .compact-main,.v23-filter .compact-main{grid-template-columns:minmax(220px,1fr) 155px auto;gap:8px;align-items:end}.panel-compact .compact-actions,.v23-filter .compact-actions{gap:6px;justify-content:flex-end}.panel-compact .compact-actions .btn,.v23-filter .compact-actions .btn{padding:10px 13px;min-height:42px;border-radius:14px}.compact-date-range{margin-top:6px}.compact-date-range summary{font-size:13px}.compact-date-grid{gap:8px}.compact-info{padding:8px 16px}.panel-compact table{min-width:760px}.panel-compact th,.panel-compact td{padding:12px 14px}.dashboard-grid-v23{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dash-card-v23{padding:16px 18px;border-radius:20px;min-height:96px}.dash-card-v23 small{font-size:13px}.dash-card-v23 b{font-size:22px;line-height:1.1}.dash-card-v23.primary{border-left:5px solid #2867d8}.dash-card-v23.success{border-left:5px solid #16a34a}.dash-card-v23.warning{border-left:5px solid #f59e0b}.dash-card-v23.danger{border-left:5px solid #dc2626}.dash-card-v23.info{border-left:5px solid #0891b2}.reports-panel{overflow:hidden}.reports-panel .dashboard-grid-v23{padding:14px 18px}.report-main{grid-template-columns:220px auto!important;justify-content:start}.finance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1180px){.dashboard-grid-v23{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-compact .compact-main,.v23-filter .compact-main{grid-template-columns:minmax(220px,1fr) 150px}.panel-compact .compact-actions,.v23-filter .compact-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:920px){.compact-page{display:flex;align-items:flex-start}.dashboard-grid-v23{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-compact{padding:0}.panel-compact .module-filter-compact{padding:10px 12px}.panel-compact .compact-main,.v23-filter .compact-main,.report-main{grid-template-columns:1fr!important}.panel-compact .compact-actions .btn,.v23-filter .compact-actions .btn{flex:1;min-width:72px}.panel-compact .mobile-cards{padding:10px}.panel-compact .mobile-card{margin:0}.compact-info{font-size:12px}.main{padding:14px}}
@media(max-width:560px){.compact-page{display:block}.compact-page h1{font-size:24px}.compact-page .topbar-actions .btn{width:auto;flex:1}.dashboard-grid-v23,.finance-grid{grid-template-columns:1fr}.dash-card-v23{min-height:auto;padding:14px}.dash-card-v23 b{font-size:20px}.panel-compact .panel-head h2{font-size:20px}}


/* v24 tidy gas cylinder page */
.gas-page-top{align-items:flex-start;margin-bottom:10px}.gas-page-top h1{font-size:30px}.gas-page-top p{max-width:620px;line-height:1.25}.gas-top-actions{gap:8px;justify-content:flex-end}.gas-top-actions .btn{padding:12px 18px;min-height:44px;border-radius:16px}.gas-summary-v24{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 14px}.gas-summary-v24 .gas-stat{min-height:86px;padding:16px 18px;border-radius:20px}.gas-summary-v24 .gas-stat small{font-size:13px;line-height:1.2}.gas-summary-v24 .gas-stat b{font-size:26px}.gas-panel-v24{overflow:hidden}.gas-panel-v24 .panel-head{padding:14px 18px}.gas-toolbar-v24{padding:12px 18px;background:#f8fafc;border-top:1px solid #eef2f7;border-bottom:1px solid #e5e7eb}.gas-main-filter{display:grid;grid-template-columns:minmax(260px,1fr) 170px 160px auto;gap:10px;align-items:end}.gas-toolbar-v24 .field{margin:0}.gas-toolbar-v24 .field label{font-size:13px;margin-bottom:6px}.gas-toolbar-v24 .input{min-height:42px;padding:10px 13px;border-radius:14px}.gas-toolbar-v24 .btn{min-height:42px;padding:10px 14px;border-radius:14px}.gas-toolbar-v24 .compact-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:nowrap}.gas-advanced-filter{margin-top:8px}.gas-advanced-filter summary{cursor:pointer;color:#1d4f91;font-weight:800;font-size:13px;list-style:none}.gas-advanced-filter summary::-webkit-details-marker{display:none}.gas-advanced-filter summary:before{content:'▸ ';font-size:12px}.gas-advanced-filter[open] summary:before{content:'▾ '}.gas-detail-grid{display:grid;grid-template-columns:170px 160px 160px minmax(180px,1fr) auto;gap:10px;align-items:end;margin-top:8px}.gas-detail-actions{display:flex;gap:6px;align-items:center}.gas-panel-v24 .compact-info{padding:8px 18px;font-size:13px}.gas-panel-v24 table{min-width:920px}.gas-panel-v24 th,.gas-panel-v24 td{padding:11px 13px}.gas-panel-v24 .actions .btn{padding:8px 10px;border-radius:12px;min-height:36px}
@media(max-width:1180px){.gas-main-filter{grid-template-columns:minmax(220px,1fr) 160px 150px}.gas-toolbar-v24 .compact-actions{grid-column:1/-1;justify-content:flex-start}.gas-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gas-detail-actions{grid-column:1/-1}.gas-summary-v24{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.gas-page-top{display:block}.gas-top-actions{margin-top:10px;justify-content:flex-start}.gas-top-actions .btn{flex:1}.gas-summary-v24{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gas-summary-v24 .gas-stat{min-height:auto;padding:12px 14px}.gas-summary-v24 .gas-stat b{font-size:21px}.gas-main-filter,.gas-detail-grid{grid-template-columns:1fr}.gas-toolbar-v24{padding:10px 12px}.gas-toolbar-v24 .compact-actions,.gas-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gas-panel-v24 .panel-head h2{font-size:22px}}
@media(max-width:420px){.gas-summary-v24{grid-template-columns:1fr}.gas-toolbar-v24 .compact-actions,.gas-detail-actions{grid-template-columns:1fr}.gas-page-top h1{font-size:24px}}


/* v25 - Compact modal item form fix for quotation, invoice, PO and all document modules */
.modal{max-width:880px;}
.modal-head{padding:16px 20px;}
.modal-head h2{font-size:24px;line-height:1.15;}
.modal-body{padding:18px 20px;}
.form-grid > h3,
.form-grid > #itemRows,
.form-grid > button[onclick="addItem()"],
.form-grid > #formTotal{
  grid-column:1 / -1;
}
.form-grid > h3{margin:4px 0 2px;font-size:18px;}
#itemRows{display:block;width:100%;}
.item-row.premium{
  grid-template-columns:minmax(170px,1.15fr) minmax(190px,1.4fr) 76px 92px 116px 38px;
  gap:7px;
  align-items:center;
  margin-bottom:7px;
}
.item-row.premium .input{padding:10px 12px;min-height:42px;border-radius:14px;}
.item-row.premium .btn-danger{width:38px;height:38px;min-height:38px;padding:0;border-radius:12px;}
.form-grid > button[onclick="addItem()"]{
  width:auto;
  justify-self:start;
  min-width:145px;
  padding:10px 16px;
  min-height:42px;
  border-radius:14px;
}
#formTotal{margin-top:6px!important;font-size:16px;text-align:right!important;}
.modal-body > div[style*="text-align:right"]{margin-top:14px!important;}
.modal-body > div[style*="text-align:right"] .btn-primary{min-width:118px;padding:11px 18px;border-radius:14px;}
/* Prevent document item button from stretching on tablet/desktop */
@media(min-width:901px){
  .modal .btn:not(.btn-block){max-width:max-content;}
  .modal .item-row .btn{max-width:none;}
}
@media(max-width:920px){
  .modal{width:94vw;max-width:94vw;border-radius:22px;}
  .modal-head{padding:14px 16px;}
  .modal-body{padding:14px 16px;}
  .item-row.premium{grid-template-columns:1fr 1fr;gap:8px;padding:10px;border:1px solid #eef2f7;border-radius:16px;background:#fbfdff;}
  .item-row.premium select,
  .item-row.premium input[placeholder="Deskripsi produk"]{grid-column:1 / -1;}
  .item-row.premium .btn-danger{width:100%;grid-column:1 / -1;}
  .form-grid > button[onclick="addItem()"]{width:100%;justify-self:stretch;max-width:none;}
}
@media(max-width:560px){
  .modal{width:96vw;max-width:96vw;}
  .modal-head h2{font-size:20px;}
  .item-row.premium{grid-template-columns:1fr;}
  .item-row.premium select,
  .item-row.premium input[placeholder="Deskripsi produk"],
  .item-row.premium .btn-danger{grid-column:auto;}
  #formTotal{text-align:left!important;}
}

/* ===== AMSA ERP v30 Mobile Final ===== */
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(7,19,39,.48);z-index:80;backdrop-filter:blur(2px)}
.sidebar-overlay.show{display:block}.mobile-header{display:none}.modal-open{overflow:hidden}.sidebar-open{overflow:hidden}
@media(max-width:920px){
  .app{display:block;min-height:100vh}.main{margin-left:0!important;padding:74px 10px 22px!important;width:100%}.mobile-header{display:flex;align-items:center;justify-content:space-between;gap:10px;position:fixed;top:0;left:0;right:0;height:58px;padding:8px 10px;background:rgba(244,247,251,.94);backdrop-filter:blur(16px);border-bottom:1px solid #e5e7eb;z-index:70}.mobile-header .menu-btn{display:inline-flex!important;margin:0!important;position:static!important}.mobile-title{text-align:right;line-height:1.05}.mobile-title b{display:block;color:#172033}.mobile-title small{color:#6b7280;font-weight:800}.sidebar{z-index:100!important;width:82vw!important;max-width:310px!important;padding:16px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.brand{margin-bottom:14px}.brand .brand-logo{width:46px;height:46px;border-radius:14px}.nav button{padding:11px 12px;margin:3px 0;border-radius:14px;font-size:15px}.topbar.compact-page,.topbar{margin-bottom:10px!important;gap:10px}.topbar h1,.compact-page h1,.gas-page-top h1{font-size:25px!important;line-height:1.1}.topbar p,.compact-page p,.gas-page-top p{font-size:13px!important;line-height:1.3}.topbar-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;justify-content:stretch!important}.topbar-actions .btn{width:100%;min-height:40px;padding:9px 10px;border-radius:14px}.dashboard-grid-v23,.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.dash-card-v23,.card{border-radius:16px!important;padding:12px 13px!important;min-height:74px}.dash-card-v23 small,.card small{font-size:12px!important;line-height:1.2}.dash-card-v23 b,.card b{font-size:18px!important;margin-top:6px}.panel,.panel-compact{border-radius:18px!important;margin-top:10px!important;overflow:hidden}.panel-head,.panel-compact .panel-head{padding:12px 13px!important}.panel-head h2{font-size:20px!important}.module-filter-compact,.gas-toolbar-v24{padding:10px 12px!important}.compact-main,.gas-main-filter,.gas-detail-grid,.compact-date-grid,.report-main{grid-template-columns:1fr!important;gap:8px!important}.compact-actions,.gas-toolbar-v24 .compact-actions,.gas-detail-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;justify-content:stretch!important}.compact-actions .btn,.gas-toolbar-v24 .btn{width:100%;min-height:39px!important;padding:8px 10px!important;border-radius:13px!important}.field label{font-size:13px!important;margin-bottom:5px!important}.input{min-height:40px!important;padding:9px 12px!important;border-radius:13px!important}.desktop-table{display:none!important}.mobile-cards{display:grid!important;gap:10px!important;padding:10px 12px!important}.mobile-card{border-radius:16px!important;padding:12px!important;box-shadow:0 10px 26px rgba(31,47,90,.08);border:1px solid #e8edf5}.mobile-card b{font-size:15px}.mobile-card p{margin:7px 0;font-size:13px;line-height:1.35}.mobile-card small{font-size:12px;line-height:1.25}.mobile-card .actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.mobile-card .actions .btn{width:100%;min-height:36px;padding:8px 9px!important;border-radius:12px!important;font-size:13px}.modal-backdrop{padding:0!important;align-items:flex-end!important}.modal,.modal-v30{width:100vw!important;max-width:100vw!important;max-height:92vh!important;border-radius:22px 22px 0 0!important}.modal-head{padding:14px 16px!important;position:sticky;top:0;background:#fff;z-index:4}.modal-head h2{font-size:21px!important}.modal-body{padding:14px 16px 20px!important;max-height:78vh!important;overflow:auto!important}.form-grid{grid-template-columns:1fr!important;gap:10px!important}.form-grid>.field,.form-grid>.full{grid-column:1/-1!important}.item-row,.item-row.premium{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:10px;margin-bottom:10px}.item-row .btn-danger{justify-self:end;width:48px}.module-access-grid{grid-template-columns:1fr!important}.toast{left:10px!important;right:10px!important;bottom:12px!important;text-align:center;border-radius:14px!important}.gas-summary-v24{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.gas-top-actions{grid-template-columns:1fr 1fr!important}.gas-advanced-filter summary{padding:4px 0}.gas-result-info,.compact-info{padding:8px 12px!important;font-size:12px!important}.reports-panel .dashboard-grid-v23{padding:10px 12px!important}.btn{touch-action:manipulation}
}
@media(max-width:480px){.dashboard-grid-v23,.grid,.gas-summary-v24{grid-template-columns:1fr!important}.topbar-actions,.compact-actions,.gas-toolbar-v24 .compact-actions,.gas-detail-actions,.mobile-card .actions{grid-template-columns:1fr!important}.main{padding-left:8px!important;padding-right:8px!important}.mobile-header{height:56px}.topbar h1,.compact-page h1,.gas-page-top h1{font-size:23px!important}.modal-head h2{font-size:19px!important}}
@media(min-width:921px){.sidebar-overlay{display:none!important}.main{transition:margin-left .18s ease}.sidebar{overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-card .actions .btn{white-space:nowrap}}

/* AMSA ERP v31 - Surat Jalan Pro */
.delivery-preview{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:14px;grid-column:1/-1}
.delivery-preview b{display:block;margin-bottom:8px;color:#172033}
.mini-table{width:100%;border-collapse:collapse;margin-top:8px;background:#fff;border-radius:12px;overflow:hidden}
.mini-table th,.mini-table td{padding:8px 10px;border-bottom:1px solid #e5e7eb;font-size:13px;text-align:left}
.delivery-form-v31 textarea#f_cylinder_nos{min-height:110px}
.badge.Scheduled{background:#e0f2fe;color:#075985}.badge.Received{background:#dcfce7;color:#166534}.badge.Delivered{background:#dbeafe;color:#1e40af}.badge.Returned{background:#fef3c7;color:#92400e}.badge.Cancelled{background:#fee2e2;color:#991b1b}
@media(max-width:920px){.delivery-preview{padding:12px}.mini-table th,.mini-table td{font-size:12px;padding:7px}.delivery-form-v31{grid-template-columns:1fr!important}}
/* v35 payment aging */
.payment-info-v35{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:16px;padding:12px;color:#065f46;font-weight:700}
.aging-panel-v35{padding:18px 26px;border-bottom:1px solid #e5e7eb;background:#fbfdff}
.aging-grid-v35{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin-top:12px}
.aging-grid-v35 .card{padding:14px 16px;border-radius:18px;min-height:auto}
.aging-detail-v35{margin-top:12px}.aging-detail-v35 summary{cursor:pointer;font-weight:800;color:#173b77}
.reports-aging-v35{margin-top:18px}
@media(max-width:760px){.aging-grid-v35{grid-template-columns:repeat(2,minmax(120px,1fr))}.payment-form-v35{grid-template-columns:1fr!important}}

/* v36 - Nomor tabung per item Surat Jalan */
.delivery-per-item-v36{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fff;box-shadow:0 8px 24px #0f172a0a}
.delivery-per-item-v36 > b{display:block;margin-bottom:5px;color:#172033}
.delivery-per-item-v36 > small{display:block;color:#64748b;margin-bottom:12px}
.delivery-item-grid-v36{display:grid;gap:10px}
.delivery-item-row-v36{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.3fr);gap:12px;align-items:stretch;border:1px solid #edf2f7;border-radius:14px;padding:10px;background:#f8fafc}
.delivery-item-info-v36{display:flex;flex-direction:column;justify-content:center;gap:4px}
.delivery-item-info-v36 b{font-size:15px;color:#172033}.delivery-item-info-v36 span{font-size:13px;color:#64748b}.delivery-item-cylinder-v36{min-height:74px;resize:vertical;background:#fff}.delivery-legacy-v36{border:1px dashed #cbd5e1;border-radius:16px;padding:12px;background:#f8fafc}.delivery-legacy-v36 summary{cursor:pointer;font-weight:800;color:#1e3a8a}
@media(max-width:760px){.delivery-item-row-v36{grid-template-columns:1fr}.delivery-item-cylinder-v36{min-height:92px}}
/* v37 Delivery item cylinders layout */
.delivery-per-item-v37 small{display:block;color:#64748b;margin:6px 0 12px}.delivery-item-grid-v37{display:grid;gap:12px}.delivery-item-row-v37{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.3fr);gap:14px;align-items:start;padding:14px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}.delivery-item-info-v37 b{display:block}.delivery-item-info-v37 span{display:block;margin-top:6px;color:#64748b}.delivery-item-cylinder-v37{min-height:78px}.delivery-legacy-v37 summary{cursor:pointer;color:#1e3a8a;font-weight:800}@media(max-width:780px){.delivery-item-row-v37{grid-template-columns:1fr}.delivery-item-cylinder-v37{min-height:100px}}

/* ===== v38 Surat Jalan per item cylinder tidy ===== */
.delivery-form-per-item .delivery-legacy-cylinder{opacity:.92;margin-top:6px}
.delivery-item-cylinder-box{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fff}
.delivery-cylinder-table{width:100%;border-collapse:collapse;margin-top:10px}
.delivery-cylinder-table th,.delivery-cylinder-table td{padding:10px;border-bottom:1px solid #e5e7eb;vertical-align:top}
.delivery-cylinder-table th{font-size:12px;text-transform:uppercase;color:#64748b;letter-spacing:.04em}
.delivery-cylinder-table .delivery-item-cylinder-input{min-height:64px;border-radius:12px;font-size:14px}
@media(max-width:760px){
  .delivery-cylinder-table,.delivery-cylinder-table thead,.delivery-cylinder-table tbody,.delivery-cylinder-table tr,.delivery-cylinder-table th,.delivery-cylinder-table td{display:block;width:100%}
  .delivery-cylinder-table thead{display:none}
  .delivery-cylinder-table tr{border:1px solid #e5e7eb;border-radius:14px;margin:10px 0;padding:10px;background:#fff}
  .delivery-cylinder-table td{border-bottom:0;padding:6px 0}
  .delivery-cylinder-table td:nth-child(1)::before{content:'Produk: ';font-weight:700;color:#64748b}
  .delivery-cylinder-table td:nth-child(2)::before{content:'Qty: ';font-weight:700;color:#64748b}
  .delivery-cylinder-table td:nth-child(3)::before{content:'Satuan: ';font-weight:700;color:#64748b}
  .delivery-cylinder-table td:nth-child(4)::before{content:'Nomor Tabung';display:block;font-weight:700;color:#64748b;margin-bottom:6px}
}

/* v39-recipient-location */
.delivery-form-v37 textarea#f_recipient_location{min-height:72px;}
@media(max-width:768px){.delivery-bottom{grid-template-columns:1fr!important}.terms b{display:inline-block;margin-top:3px}}
/* v40 delivery strict per item */
.delivery-form-v40 .field.full{grid-column:1/-1}.delivery-cylinder-table textarea{min-height:78px;font-size:14px}.delivery-legacy-v40 summary{cursor:pointer;font-weight:800;color:#1d4ed8;margin-bottom:8px}.delivery-legacy-v40 small{display:block;color:#64748b;margin-top:6px}.delivery-form-v40 .mini-table th,.delivery-form-v40 .mini-table td{vertical-align:top}@media(max-width:760px){.delivery-cylinder-table,.delivery-cylinder-table thead,.delivery-cylinder-table tbody,.delivery-cylinder-table tr,.delivery-cylinder-table th,.delivery-cylinder-table td{display:block;width:100%}.delivery-cylinder-table thead{display:none}.delivery-cylinder-table tr{padding:10px;border-bottom:1px solid #e5e7eb}.delivery-cylinder-table td{border:0!important;padding:6px 0!important}.delivery-cylinder-table textarea{width:100%}}
/* v46 - Tanda Terima Tagihan */
.receipt-invoice-box{grid-column:1/-1}.receipt-tools{display:grid;grid-template-columns:1fr auto auto;gap:10px;margin-bottom:10px}.receipt-invoice-list{border:1px solid #e5e7eb;border-radius:18px;max-height:300px;overflow:auto;background:#fff}.receipt-invoice-row{display:grid;grid-template-columns:26px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #eef2f7;cursor:pointer}.receipt-invoice-row:last-child{border-bottom:0}.receipt-invoice-row small{display:block;color:#64748b;margin-top:3px}.receipt-invoice-row strong{white-space:nowrap}.readonly{background:#f8fafc;color:#10203b}@media(max-width:720px){.receipt-tools{grid-template-columns:1fr}.receipt-invoice-row{grid-template-columns:24px 1fr}.receipt-invoice-row strong{grid-column:2}}

/* v48 receipt form compact filter */
.receipt-form-v48 .receipt-filter-box{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#f8fafc;margin-top:4px}
.receipt-filter-grid{display:grid;grid-template-columns:1fr 220px;gap:12px;align-items:start}
.compact-receipt-tools{display:grid;grid-template-columns:1fr auto auto;gap:10px;margin:8px 0 10px}
.receipt-form-v48 .receipt-invoice-list{max-height:260px;overflow:auto;border-radius:14px;background:white;border:1px solid #e5e7eb}
.receipt-form-v48 .receipt-invoice-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #eef2f7}
.receipt-form-v48 .receipt-invoice-row:last-child{border-bottom:0}
.receipt-form-v48 .receipt-invoice-row span{flex:1;min-width:0}
.receipt-form-v48 .receipt-invoice-row small{display:block;color:#64748b;margin-top:2px}
@media(max-width:760px){.receipt-filter-grid,.compact-receipt-tools{grid-template-columns:1fr}.receipt-form-v48 .receipt-invoice-row{align-items:flex-start}.receipt-form-v48 .receipt-invoice-row strong{white-space:nowrap}}
/* v52 Return Tabung checkbox list */
.return-cylinder-box{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.return-cylinder-head{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}
.return-cylinder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:260px;overflow:auto;padding:3px}
.return-cylinder-check{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;font-weight:700;color:#172033}
.return-cylinder-check input{width:18px;height:18px;accent-color:#164ca8}
.btn-sm{padding:8px 12px!important;border-radius:12px!important;font-size:14px!important}
@media(max-width:780px){.return-cylinder-grid{grid-template-columns:1fr 1fr}.return-cylinder-head{align-items:flex-start}.return-cylinder-check{font-size:14px}}

/* v53 Return Tabung checkbox force */
.return-form-v53 .return-cylinder-box{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.return-form-v53 .return-cylinder-head{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}
.return-form-v53 .return-cylinder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:260px;overflow:auto;padding:3px}
.return-form-v53 .return-cylinder-check{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;font-weight:700;color:#172033}
.return-form-v53 .return-cylinder-check input{width:19px;height:19px;accent-color:#164ca8}
@media(max-width:780px){.return-form-v53 .return-cylinder-grid{grid-template-columns:1fr 1fr}.return-form-v53 .return-cylinder-check{font-size:14px}}
/* v54 Return Tabung checkbox list */
.return-cylinder-box{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.return-cylinder-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.return-cylinder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:260px;overflow:auto;padding:4px}
.return-cylinder-check{display:flex;align-items:center;gap:9px;padding:10px 12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;font-weight:800;color:#0f172a}
.return-cylinder-check input{width:18px;height:18px;accent-color:#1d4ed8}
.btn-sm{padding:8px 12px!important;border-radius:12px!important;font-size:13px!important}
@media(max-width:700px){.return-cylinder-grid{grid-template-columns:1fr 1fr}.return-cylinder-head{align-items:flex-start}}

/* v56 Inventory Category Material/Gas */
.category-checks{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.category-checks.compact{gap:8px;margin-top:4px}
.check-pill{display:inline-flex;align-items:center;gap:8px;background:#f3f6ff;border:1px solid #e5eaf5;border-radius:16px;padding:10px 14px;font-weight:800;color:#17366f;cursor:pointer;white-space:nowrap}
.check-pill input{width:18px;height:18px;accent-color:#1f57c8}
.inventory-category-field{background:#f8fafc;border:1px solid #edf2f7;border-radius:18px;padding:12px}
.inventory-category-filter{min-width:220px}
.badge.inv-cat{font-size:12px;border-radius:999px;padding:7px 10px;font-weight:900;display:inline-block}
.badge.inv-cat.Material{background:#eef2ff;color:#1d4ed8}
.badge.inv-cat.Gas{background:#dcfce7;color:#15803d}
.inventory-main-filter{grid-template-columns:minmax(260px,1fr) 220px 190px auto;align-items:end}
@media(max-width:900px){.inventory-main-filter{grid-template-columns:1fr}.inventory-category-filter{min-width:0}.category-checks{gap:8px}.check-pill{padding:9px 12px}}

/* v57 - kategori produk pada form dokumen */
.doc-item-category-filter{margin:8px 0 12px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc}
.doc-item-category-filter label{font-weight:800;color:#111827}
.doc-item-category-filter small{display:block;margin-top:6px;color:#64748b;font-size:13px}
.doc-product-cat-checks{margin-top:8px}
.compact-doc-item-row{grid-template-columns:minmax(220px,1.25fr) minmax(220px,1fr) 90px 110px 140px 54px;gap:10px;align-items:center}
.compact-doc-item-row .item-remove-btn{padding:10px 14px;min-width:48px}
@media(max-width:900px){.compact-doc-item-row{grid-template-columns:1fr 1fr}.compact-doc-item-row .sku-select,.compact-doc-item-row .desc-input{grid-column:1/-1}.compact-doc-item-row .item-remove-btn{width:100%}}

/* v58 document item category filter */
.doc-item-category-filter{margin:8px 0 4px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;}
.doc-item-category-filter label{display:block;font-weight:800;margin-bottom:6px;color:#0f172a;}
.doc-item-category-filter small{display:block;margin-top:6px;color:#64748b;font-size:13px;}
.compact-doc-item-row{grid-template-columns:minmax(220px,1.5fr) minmax(220px,1.7fr) 90px 110px 140px auto!important;gap:10px!important;align-items:center;}
@media(max-width:900px){.compact-doc-item-row{grid-template-columns:1fr!important}.doc-item-category-filter{padding:10px}}

/* v59 Invoice due date status */
.due-cell{display:flex;flex-direction:column;gap:3px;line-height:1.15}
.due-cell small,.due-mini{font-size:12px;font-weight:800;border-radius:999px;padding:4px 8px;display:inline-block;width:max-content;max-width:100%}
.due-cell.overdue small,.due-mini.overdue{background:#fee2e2;color:#b91c1c}
.due-cell.today small,.due-mini.today{background:#fef3c7;color:#92400e}
.due-cell.soon small,.due-mini.soon{background:#ffedd5;color:#c2410c}
.due-cell.normal small,.due-mini.normal{background:#e0f2fe;color:#075985}
.due-cell.paid small,.due-mini.paid{background:#dcfce7;color:#166534}
.invoice-overdue-row{background:#fff7f7}
.invoice-overdue-row td:first-child{border-left:5px solid #ef4444}
.invoice-overdue-card{border-left:6px solid #ef4444;background:#fff7f7}
.badge.Overdue{background:#fee2e2!important;color:#b91c1c!important}
.invoice-due-table th:nth-child(3),.invoice-due-table th:nth-child(4){min-width:120px}
/* v60 invoice Surat Jalan status */
.invoice-sj-table th:nth-child(8), .invoice-sj-table td:nth-child(8){min-width:150px}
.sj-created{display:flex;flex-direction:column;gap:5px;align-items:flex-start;font-size:13px;line-height:1.25;color:#0f766e}
.sj-created b{font-weight:800;color:#047857}
.sj-badge{display:inline-block;background:#dcfce7;color:#166534;border:1px solid #bbf7d0;border-radius:999px;padding:5px 10px;font-weight:800;white-space:nowrap}
.sj-empty{display:inline-block;background:#f1f5f9;color:#64748b;border-radius:999px;padding:6px 10px;font-weight:800;font-size:13px;white-space:nowrap}
.mobile-card .sj-created{margin-top:6px}

/* AMSA ERP v61 - Customer Price Management */
.price-toolbar{display:grid;grid-template-columns:minmax(220px,1.4fr) 170px minmax(220px,1fr) auto;gap:14px;align-items:end;padding:18px 22px;border-bottom:1px solid #e5e7eb;background:#f8fafc}
.price-toolbar-actions{display:flex;gap:10px;align-items:center}.customer-price-edit-panel{padding:18px 22px;border-bottom:1px solid #e5e7eb}.customer-price-edit-panel h3{margin:0 0 6px}.muted,.empty-hint{color:#64748b}.empty-hint{padding:18px 22px;border-bottom:1px solid #e5e7eb}.customer-price-compact-list{max-height:380px;overflow:auto;border:1px solid #e5e7eb;border-radius:18px;background:#fff}.cp-row{display:grid;grid-template-columns:minmax(220px,1fr) 180px 230px;gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid #eef2f7}.cp-row:last-child{border-bottom:0}.cp-row small{display:block;color:#64748b;margin-top:4px}.price-management-callout{border:1px solid #dbeafe;background:#f8fbff;border-radius:18px;padding:14px 16px}.price-management-callout p{margin:4px 0 12px;color:#64748b}.customer-price-box{max-height:260px}@media(max-width:800px){.price-toolbar{grid-template-columns:1fr}.price-toolbar-actions{flex-wrap:wrap}.cp-row{grid-template-columns:1fr}.customer-price-compact-list{max-height:300px}}

/* v63 compact gas form */
.gas-form-note{margin-top:-4px;color:#6b7280;line-height:1.35}
.gas-form-note small{display:block;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px}

/* v64 - Compact paginated table view for large datasets */
.panel-table-v64{overflow:hidden!important}.panel-table-v64 .panel-head{padding:12px 16px!important}.table-mode-note-v64{color:#64748b;font-weight:800}.data-table-v64{max-height:62vh;overflow:auto!important;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;background:#fff}.data-table-v64 table{min-width:920px;border-collapse:separate;border-spacing:0}.data-table-v64 th{position:sticky;top:0;z-index:4;background:#f8fafc!important;font-size:11px!important;padding:9px 10px!important;white-space:nowrap;box-shadow:0 1px 0 #e5e7eb}.data-table-v64 td{font-size:13px!important;padding:9px 10px!important;line-height:1.2!important;vertical-align:middle!important}.data-table-v64 tbody tr:nth-child(even){background:#fbfdff}.data-table-v64 tbody tr:hover{background:#eef6ff}.data-table-v64 td b{font-size:13px}.data-table-v64 .btn{padding:8px 10px!important;border-radius:12px!important;font-size:12px!important;min-height:34px}.data-table-v64 .actions{gap:5px!important;flex-wrap:nowrap!important}.data-table-v64 .badge{padding:4px 8px!important;font-size:11px!important}.data-table-v64 td[style*="white-space:pre-line"]{white-space:normal!important;max-width:260px}.table-pager-v64{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#fff;border-bottom:1px solid #e5e7eb;color:#64748b;font-size:13px}.table-pager-v64:last-child{border-top:1px solid #e5e7eb;border-bottom:0}.pager-actions-v64{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pager-size-v64{width:auto!important;min-width:120px;padding:8px 10px!important;border-radius:12px!important}.pager-page-v64{padding:0 6px;color:#334155;font-weight:800}.pager-actions-v64 .btn[disabled]{opacity:.45;cursor:not-allowed}.gas-summary-v24 .card{padding:14px 16px!important;border-radius:18px!important}.gas-summary-v24 .card b{font-size:22px!important}.desktop-table{display:block!important}.mobile-cards-disabled-v64,.mobile-cards{display:none!important}@media(max-width:920px){.desktop-table{display:block!important}.data-table-v64{max-height:60vh}.data-table-v64 table{min-width:860px}.table-pager-v64{align-items:flex-start;flex-direction:column}.pager-actions-v64{width:100%;justify-content:flex-start}.main{padding-left:10px!important;padding-right:10px!important}.data-table-v64 th,.data-table-v64 td{padding:8px 9px!important;font-size:12px!important}.data-table-v64 .btn{font-size:12px!important;padding:7px 9px!important}.compact-main{grid-template-columns:1fr!important}.module-filter-compact{padding:10px 12px!important}}@media(max-width:560px){.data-table-v64 table{min-width:780px}.pager-actions-v64 .btn,.pager-size-v64{flex:1 1 auto}.table-mode-note-v64{display:block;margin-top:4px}}

/* v67 delivery invoice picker */
.delivery-invoice-picker-v67{border:1px solid #e5e7eb;border-radius:18px;padding:12px;background:#fff}
.delivery-invoice-picker-top{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-bottom:8px}
.delivery-invoice-list-v67{max-height:260px;overflow:auto;border:1px solid #edf2f7;border-radius:14px;background:#f8fafc;padding:6px;margin-top:8px}
.invoice-choice-v67{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin:4px 0;border:1px solid transparent;border-radius:12px;cursor:pointer;background:#fff}
.invoice-choice-v67:hover,.invoice-choice-v67.selected{border-color:#1d4ed8;background:#eff6ff}
.invoice-choice-v67 input{margin-top:4px;width:18px;height:18px;flex:0 0 auto}
.invoice-choice-v67 span{display:flex;flex-direction:column;gap:3px;min-width:0}
.invoice-choice-v67 small{color:#64748b;line-height:1.25}
.delivery-invoice-count{font-size:13px;color:#475569;margin:2px 0 8px}
.delivery-invoice-count span{color:#0f766e;margin-left:6px}
@media(max-width:700px){.delivery-invoice-picker-top{grid-template-columns:1fr}.delivery-invoice-list-v67{max-height:220px}.invoice-choice-v67 small{font-size:12px}}

/* v68 delivery invoice selector */
.delivery-invoice-picker-top-v68{display:grid;grid-template-columns:1.4fr .55fr auto auto;gap:10px;align-items:center}
.delivery-invoice-list-v68{max-height:320px;overflow:auto;border:1px solid #edf1f7;border-radius:16px;background:#f8fafc;padding:8px;margin-top:10px}
.delivery-invoice-count{font-size:13px;color:#64748b;margin:6px 0 8px}.delivery-invoice-count span{color:#0f766e;margin-left:6px}
.invoice-choice-v68{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid #edf1f7;border-radius:14px;padding:11px;margin:8px 0;cursor:pointer}
.invoice-choice-v68.selected{background:#eff6ff;border-color:#93c5fd}.invoice-choice-v68 small{display:block;color:#64748b;margin-top:3px}
@media(max-width:900px){.delivery-invoice-picker-top-v68{grid-template-columns:1fr}.delivery-invoice-list-v68{max-height:300px}}

/* v69 delivery invoice picker - no automatic date filter */
.delivery-invoice-picker-v69{border:1px solid #e5e7eb;border-radius:18px;padding:12px;background:#fff}
.delivery-invoice-picker-v69 .delivery-invoice-picker-top{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.delivery-invoice-list-v68,.delivery-invoice-list-v69{max-height:330px;overflow:auto;margin-top:10px;display:grid;gap:8px}
.invoice-choice-v69{display:flex;gap:10px;align-items:flex-start;border:1px solid #edf2f7;border-radius:14px;padding:10px 12px;background:#fff;cursor:pointer}
.invoice-choice-v69.selected{border-color:#2563eb;background:#eff6ff}
.invoice-choice-v69 small{display:block;color:#64748b;margin-top:3px}
.delivery-invoice-count{font-size:13px;color:#64748b;padding:8px 2px}
.delivery-invoice-count span{color:#0f766e;margin-left:6px}
@media(max-width:760px){.delivery-invoice-picker-v69 .delivery-invoice-picker-top{grid-template-columns:1fr}.delivery-invoice-list-v69{max-height:260px}}

/* v70 Bulk Update Gas */
.bulk-template-bar{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 10px;align-items:center}
.bulk-upload-label{cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.bulk-info{font-size:13px;color:#64748b;margin:6px 0 8px}
.bulk-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px;margin:8px 0 14px;color:#334155;font-size:13px;line-height:1.55;max-height:160px;overflow:auto}
#bulk_customer_box,#bulk_vendor_box{transition:all .15s ease}
@media(max-width:800px){.bulk-template-bar .btn{width:100%}}
/* v71 - edit kepemilikan tabung */
.gas-edit-ownership-field select,
.gas-party-box select{min-height:46px;}
.gas-edit-note{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:10px 14px;color:#64748b;}

/* AMSA ERP v75 - Neraca Tabung */
.balance-summary-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:14px;margin:16px 0 18px}.balance-card{border:0;background:#fff;border-radius:22px;box-shadow:0 14px 34px rgba(15,23,42,.06);padding:18px;text-align:left;cursor:pointer;color:#172033}.balance-card small{display:block;color:#64748b;font-weight:800;margin-bottom:8px}.balance-card b{font-size:32px}.balance-card.ok b{color:#047857}.balance-card.info b{color:#1d4ed8}.balance-card.purple b{color:#7c3aed}.balance-card.warn b{color:#b45309}.balance-card.danger b{color:#dc2626}.balance-filter-panel{margin-bottom:18px}.balance-toolbar{display:grid;grid-template-columns:2fr 1.15fr 1fr 1fr auto;gap:12px;align-items:end;padding:16px 18px}.balance-toolbar .field{margin:0}.balance-toolbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.balance-panel{margin-bottom:18px}.balance-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.link-count{border:0;background:#eff6ff;color:#174ea6;font-weight:900;border-radius:14px;padding:8px 12px;cursor:pointer}.link-count.ok{background:#dcfce7;color:#047857}.link-count.info{background:#dbeafe;color:#1d4ed8}.link-count.purple{background:#ede9fe;color:#7c3aed}.link-count.warn{background:#fef3c7;color:#b45309}.link-count.danger{background:#fee2e2;color:#dc2626}.balance-table th,.balance-table td,.balance-detail-table th,.balance-detail-table td{font-size:13px;padding:11px 12px}.balance-detail-wrap{max-height:68vh;overflow:auto}.muted{color:#64748b;font-weight:700}.cylinder-balance-top p{max-width:760px}@media(max-width:1100px){.balance-summary-grid{grid-template-columns:repeat(3,1fr)}.balance-toolbar{grid-template-columns:1fr 1fr}.balance-toolbar-actions{grid-column:1/-1}.balance-two-cols{grid-template-columns:1fr}}@media(max-width:640px){.balance-summary-grid{grid-template-columns:repeat(2,1fr)}.balance-toolbar{grid-template-columns:1fr}.balance-card b{font-size:26px}}

/* v76 Bulk update gas ownership/position */
.bulk-gas-form-v76 .field small{display:block;color:#64748b;margin-top:6px;font-size:12px;line-height:1.35}
.bulk-template-bar{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 12px}
.bulk-info{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;color:#475569;margin-bottom:10px}
.bulk-preview{background:#fff;border:1px dashed #cbd5e1;border-radius:14px;padding:10px 12px;margin:8px 0 12px;color:#334155;font-size:13px;line-height:1.5;max-height:150px;overflow:auto}
@media(max-width:760px){.bulk-template-bar .btn,.bulk-template-bar label.btn{width:100%;justify-content:center}.bulk-gas-form-v76{grid-template-columns:1fr!important}}
/* v80 return customer picker */
.choice-line{display:flex;gap:18px;flex-wrap:wrap;align-items:center;padding:10px 2px;font-weight:700;color:#15213a}
.choice-line label{display:flex;gap:8px;align-items:center;cursor:pointer}
.return-form-v80 .return-cylinder-box{border:1px solid #e6ebf3;border-radius:18px;padding:16px;background:#fff}
.return-form-v80 .return-cylinder-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.return-form-v80 .return-cylinder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}
.return-form-v80 .return-cylinder-check{display:flex;gap:10px;align-items:center;border:1px solid #e6ebf3;border-radius:14px;padding:12px;background:#f8fafc;font-weight:800}
.return-form-v80 .return-cylinder-check input{width:18px;height:18px}

/* v87 expense form improvements */
.expense-form-v87 .field.full{grid-column:1/-1}.btn-xs{padding:6px 10px;font-size:12px}.badge.Draft{background:#e2e8f0;color:#334155}.badge.Approved{background:#dbeafe;color:#1d4ed8}.badge.Cancelled{background:#fee2e2;color:#b91c1c}

/* assets/ui-v42.css */
/* AMSA ERP v4.2 - UI Consolidation & Admin Panel Cleanup */
:root{--sidebar-w:258px;--page-pad:22px;--ui-radius:20px;--ui-shadow:0 12px 34px rgba(15,23,42,.08)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{font-size:14px;line-height:1.45;overflow-x:hidden}
.login-card .subtitle::after{content:' • UI Consolidation v4.2';font-weight:800;color:#1d4ed8}
.sidebar{width:var(--sidebar-w)!important;padding:18px 16px!important;overflow-y:auto;scrollbar-width:thin}
.main{margin-left:var(--sidebar-w)!important;padding:var(--page-pad)!important;max-width:calc(100vw - var(--sidebar-w));overflow-x:hidden}
.brand{margin-bottom:18px!important;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand .brand-logo{width:44px!important;height:44px!important;border-radius:14px!important;font-size:18px!important}
.brand b{font-size:16px!important}.brand small{font-size:11px!important;display:block;margin-top:1px}
.nav{gap:1px!important;padding-bottom:18px!important}.nav-section{margin:12px 6px 5px;color:#9fb6e8;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.nav-separator{height:1px;background:rgba(255,255,255,.1);margin:10px 4px}
.nav button{padding:10px 12px!important;border-radius:13px!important;margin:2px 0!important;font-size:13px!important;line-height:1.25;display:flex;align-items:center;gap:9px;min-height:39px;color:#f8fbff!important}
.nav button::before{content:attr(data-icon);font-size:15px;width:18px;text-align:center;opacity:.92}.nav button[data-icon='']::before{display:none}
.nav button:hover,.nav button.active{background:rgba(255,255,255,.16)!important;box-shadow:inset 3px 0 0 rgba(255,255,255,.8)}
.nav button.nav-admin{background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.1)}
.nav button.nav-logout{background:rgba(220,38,38,.95)!important;margin-top:8px!important}.nav button.nav-account{background:rgba(255,255,255,.08)!important}
.mobile-header{display:none;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;position:sticky;top:0;z-index:20;background:rgba(244,247,251,.95);backdrop-filter:blur(8px);padding:8px 0}.mobile-title small{display:block;color:#64748b;font-weight:800}
.topbar{align-items:flex-start!important;margin-bottom:16px!important}.topbar h1{font-size:clamp(25px,2.1vw,34px)!important;letter-spacing:.01em}.topbar p{font-size:14px!important;max-width:760px;line-height:1.35}.topbar-actions .btn,.topbar .btn{min-height:40px;padding:11px 15px;border-radius:14px}
.grid,.dashboard-grid-v23,.dashboard-grid-v42{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))!important;gap:12px!important}.card{border-radius:18px!important;padding:16px!important;box-shadow:var(--ui-shadow)!important}.card small{font-size:12px!important;line-height:1.25}.card b{font-size:clamp(18px,1.55vw,24px)!important;line-height:1.15;word-break:break-word}.dash-card-v42{position:relative;overflow:hidden}.dash-card-v42::after{content:'';position:absolute;right:-24px;bottom:-24px;width:72px;height:72px;border-radius:999px;background:rgba(37,99,235,.08)}.dash-card-v42.warn::after{background:rgba(245,158,11,.12)}.dash-card-v42.danger::after{background:rgba(220,38,38,.12)}.dash-card-v42.ok::after{background:rgba(22,163,74,.12)}
.panel{border-radius:20px!important;margin-top:14px!important;box-shadow:var(--ui-shadow)!important}.panel-head{padding:14px 16px!important}.panel-head h2{font-size:18px!important}.table-wrap{max-width:100%;border-radius:0 0 18px 18px}table{min-width:820px}th,td{padding:10px 12px!important;font-size:13px!important}.btn{border-radius:14px!important;padding:10px 14px!important;min-height:38px;font-size:13px}.input{border-radius:14px!important;padding:11px 13px!important;min-height:40px}.field{margin:10px 0}.field label{font-size:13px;margin-bottom:6px}
.admin-grid-v42{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.admin-card-v42{background:#fff;border:1px solid #e6edf7;border-radius:20px;padding:17px;box-shadow:var(--ui-shadow)}.admin-card-v42 b{display:block;font-size:16px;margin-bottom:5px}.admin-card-v42 p{color:#64748b;margin:0 0 12px;font-size:13px;line-height:1.35}.admin-card-v42 .btn{width:100%}.system-note-v42{border:1px solid #dbeafe;background:#eff6ff;color:#1e3a8a;border-radius:18px;padding:13px 15px;margin-bottom:14px;font-weight:800}.quick-actions-v42{display:flex;gap:8px;flex-wrap:wrap}.quick-actions-v42 .btn{min-width:130px}.dashboard-panels-v42{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.dashboard-panels-v42 .panel{margin-top:0!important}.muted-v42{color:#64748b;font-weight:700}.empty-v42{padding:18px;color:#64748b}
.ops-tabs{gap:7px!important}.ops-tabs .btn{padding:9px 12px!important}.ops-pre{font-size:12px!important;line-height:1.45!important}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:49}.sidebar.show + .sidebar-overlay,.sidebar-overlay.show{display:block}
@media(max-width:1180px){:root{--sidebar-w:238px;--page-pad:18px}.nav button{font-size:12.5px!important;padding:9px 10px!important}.topbar h1{font-size:28px!important}.dashboard-panels-v42{grid-template-columns:1fr}}
@media(max-width:860px){:root{--page-pad:12px}.app{display:block}.sidebar{transform:translateX(-110%);transition:.22s ease;width:min(84vw,310px)!important;z-index:60}.sidebar.show{transform:translateX(0)}.main{margin-left:0!important;max-width:100vw!important;padding:10px 12px 28px!important}.mobile-header{display:flex}.menu-btn{display:inline-flex!important;position:static!important;margin:0!important}.topbar{display:block!important}.topbar-actions{justify-content:flex-start!important;margin-top:10px}.grid,.dashboard-grid-v23,.dashboard-grid-v42{grid-template-columns:repeat(2,minmax(0,1fr))!important}.card{padding:13px!important}.panel{border-radius:18px!important}.desktop-table{display:block!important}.mobile-cards{display:none!important}.form-grid{grid-template-columns:1fr!important}.modal{width:96vw!important;border-radius:18px!important}.dashboard-panels-v42{grid-template-columns:1fr}.quick-actions-v42 .btn{flex:1 1 140px}.nav-section{margin-top:10px}}
@media(max-width:560px){body{font-size:13px}.grid,.dashboard-grid-v23,.dashboard-grid-v42{grid-template-columns:1fr!important}.topbar h1{font-size:23px!important}.topbar p{font-size:13px!important}.card b{font-size:18px!important}.admin-grid-v42{grid-template-columns:1fr}.btn{width:auto}.topbar-actions .btn{flex:1 1 auto}.login-card{padding:24px!important;border-radius:24px!important}.login-card h1{font-size:28px!important}}

/* assets/pro-v43.css */
/* AMSA ERP v4.3 - Professional Core Standard */
.v43-panel{padding:18px!important}.v43-pre{white-space:pre-wrap;background:#07111f;color:#e5edf8;padding:16px;border-radius:16px;overflow:auto;line-height:1.5}.v43-loading{padding:18px;color:#64748b}.v43-tabs{margin-bottom:14px}.admin-card-v42.pro-v43{border:1px solid rgba(37,99,235,.18);box-shadow:0 16px 36px rgba(37,99,235,.10)}

/* assets/ui-v44.css */
/* AMSA ERP v4.4 - Mobile Responsive + UI Cleanup */
:root{--sidebar-w-v44:236px;--mobile-gap-v44:10px;--card-radius-v44:18px}
html{font-size:15px;-webkit-text-size-adjust:100%}body{overflow-x:hidden}.app{min-height:100vh}.main{min-width:0}.sidebar{width:var(--sidebar-w-v44)!important}.brand{gap:10px!important}.brand small{font-size:11px!important}.nav{padding:8px!important}.nav button{min-height:38px!important;padding:9px 11px!important;border-radius:12px!important;font-size:13.5px!important}.nav-section{margin:10px 6px 5px!important;font-size:10.5px!important;letter-spacing:.08em}.topbar{gap:12px!important}.topbar h1{font-size:clamp(22px,2.2vw,30px)!important;line-height:1.15!important}.topbar p{max-width:760px!important}.panel,.card,.admin-card-v42{border-radius:var(--card-radius-v44)!important}.btn{min-height:36px!important;padding:9px 13px!important;border-radius:12px!important;font-size:13.5px!important;white-space:normal}.btn-sm{min-height:32px!important;padding:7px 10px!important}.table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:760px}.table-wrap th,.table-wrap td{padding:10px 12px!important;font-size:13px!important;vertical-align:top}.input,select.input,textarea.input{font-size:14px!important;min-height:40px!important}.form-grid{gap:12px!important}.modal-card{max-width:min(980px,calc(100vw - 24px))!important}.modal-body{max-height:calc(100vh - 150px);overflow:auto}.mobile-cards{display:none}.desktop-table{display:block}
.v44-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800;background:#eef2ff;color:#1e3a8a}.v44-badge.ok{background:#dcfce7;color:#166534}.v44-badge.warn{background:#fef3c7;color:#92400e}.v44-badge.danger{background:#fee2e2;color:#991b1b}.v44-badge.soft{background:#f1f5f9;color:#334155}
.v44-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v44-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.05)}.v44-card small{display:block;color:#64748b;font-weight:700}.v44-card b{display:block;margin-top:6px;font-size:24px;color:#0f172a}.v44-card.ok b{color:#166534}.v44-card.warn b{color:#92400e}.v44-card.danger b{color:#991b1b}.v44-filter{display:grid;grid-template-columns:1.4fr repeat(4,minmax(140px,1fr)) auto;gap:10px;align-items:end}.v44-actions{display:flex;gap:8px;flex-wrap:wrap}.v44-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}.v44-mobile-card{display:none;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px;margin:10px 0;box-shadow:0 8px 18px rgba(15,23,42,.05)}.v44-mobile-card header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.v44-mobile-card b{font-size:16px}.v44-mobile-card small{display:block;color:#64748b;margin-top:3px}.v44-mobile-row{display:grid;grid-template-columns:112px 1fr;gap:6px;margin-top:8px;font-size:13px}.v44-mobile-row span:first-child{color:#64748b;font-weight:700}.v44-note{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:12px;color:#475569;margin:12px 0}.v44-table-actions{display:flex;gap:6px;flex-wrap:wrap}.dash-cylinder-v44{margin-top:16px}.dashboard-grid-v44{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dashboard-panels-v44{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.admin-card-v42.system-only{border-style:dashed;background:#fbfdff}.v44-print-head{display:none}
@media(max-width:1180px){.v44-grid,.dashboard-grid-v44{grid-template-columns:repeat(3,minmax(0,1fr))}.v44-filter{grid-template-columns:1fr 1fr 1fr}.topbar-actions{display:flex;flex-wrap:wrap}}
@media(max-width:920px){html{font-size:14px}.sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;transform:translateX(-105%);z-index:1000;width:min(82vw,280px)!important;transition:transform .18s ease}.sidebar.show{transform:translateX(0)}.sidebar-overlay.show{display:block!important;position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:999}.main{margin-left:0!important;width:100%!important;padding:12px!important}.mobile-header{display:flex!important;position:sticky;top:0;z-index:50;background:#f8fafc;border-bottom:1px solid #e5e7eb;margin:-12px -12px 12px;padding:10px 12px}.topbar{display:block!important}.topbar-actions{margin-top:10px}.topbar-actions .btn{flex:1 1 auto}.v44-grid,.dashboard-grid-v44{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-panels-v44{grid-template-columns:1fr}.v44-filter{grid-template-columns:1fr 1fr}.table-wrap table{min-width:680px}.gas-summary-v24{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gas-toolbar-v24{grid-template-columns:1fr!important}.compact-page .topbar,.gas-page-top{padding:12px!important}.panel-head{gap:10px;align-items:flex-start!important}.panel-head h2{font-size:18px!important}.modal-card{width:calc(100vw - 18px)!important;margin:9px!important}.modal-head{padding:14px!important}.modal-body{padding:14px!important}.form-grid{grid-template-columns:1fr!important}.admin-grid-v42{grid-template-columns:1fr 1fr!important}}
@media(max-width:640px){.main{padding:10px!important}.topbar h1{font-size:22px!important}.topbar p{font-size:13px!important}.v44-grid,.dashboard-grid-v44,.gas-summary-v24,.admin-grid-v42{grid-template-columns:1fr!important}.v44-filter{grid-template-columns:1fr}.v44-actions .btn,.v44-filter .btn{width:100%}.desktop-table.v44-cylinder-table{display:none!important}.v44-mobile-card{display:block}.table-wrap:not(.force-table){overflow:visible}.table-wrap:not(.force-table) table{min-width:0}.btn{width:auto}.quick-actions-v42{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px}.dashboard-panels-v42{grid-template-columns:1fr!important}.mobile-cards{display:block}.desktop-table:not(.v44-cylinder-table){display:none!important}.mobile-card{display:block!important}.v44-card{padding:12px}.v44-card b{font-size:22px}.v44-pagination{display:grid;grid-template-columns:1fr}.v44-pagination .btn{width:100%}.modal-body .table-wrap table{min-width:620px}}
@media(max-width:430px){.main{padding:8px!important}.mobile-header{margin:-8px -8px 10px}.quick-actions-v42{grid-template-columns:1fr!important}.topbar-actions{display:grid!important;grid-template-columns:1fr!important}.v44-mobile-row{grid-template-columns:96px 1fr}.brand-logo{width:34px!important;height:34px!important}.nav button{font-size:13px!important}.input{width:100%!important}}
@media print{.sidebar,.mobile-header,.topbar-actions,.v44-filter,.v44-pagination,.btn,.nav,.sidebar-overlay{display:none!important}.main{margin:0!important;padding:0!important}.v44-print-head{display:block;margin-bottom:12px}.panel,.card{box-shadow:none!important;border:1px solid #ddd!important}.desktop-table.v44-cylinder-table{display:block!important}.v44-mobile-card{display:none!important}}


/* AMSA ERP v4.4.1 - Compact Neraca Tabung seperti tampilan lama */
.compact-neraca-v441{overflow-x:auto;background:#fff;border-radius:16px;border:1px solid #eef2f7}
.compact-neraca-v441 table{min-width:980px!important;table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}
.compact-neraca-v441 th{font-size:12px!important;letter-spacing:.05em;text-transform:uppercase;color:#64748b;background:#f8fafc;white-space:nowrap;padding:10px 12px!important}
.compact-neraca-v441 td{font-size:13px!important;line-height:1.25!important;padding:9px 12px!important;vertical-align:middle!important;border-top:1px solid #eef2f7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compact-neraca-v441 td b,.compact-neraca-v441 td small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.compact-neraca-v441 td small{color:#64748b;font-size:11.5px!important;margin-top:2px}
.compact-neraca-v441 th:nth-child(1),.compact-neraca-v441 td:nth-child(1){width:120px}
.compact-neraca-v441 th:nth-child(2),.compact-neraca-v441 td:nth-child(2){width:145px}
.compact-neraca-v441 th:nth-child(3),.compact-neraca-v441 td:nth-child(3){width:95px}
.compact-neraca-v441 th:nth-child(4),.compact-neraca-v441 td:nth-child(4){width:130px}
.compact-neraca-v441 th:nth-child(5),.compact-neraca-v441 td:nth-child(5){width:95px}
.compact-neraca-v441 th:nth-child(6),.compact-neraca-v441 td:nth-child(6){width:190px}
.compact-neraca-v441 th:nth-child(7),.compact-neraca-v441 td:nth-child(7){width:165px}
.compact-neraca-v441 th:nth-child(8),.compact-neraca-v441 td:nth-child(8){width:105px}
.compact-neraca-v441 th:nth-child(9),.compact-neraca-v441 td:nth-child(9){width:135px}
.compact-neraca-v441 .v44-badge{padding:4px 8px;font-size:11.5px;max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compact-neraca-v441 .v44-table-actions{display:grid;grid-template-columns:1fr;gap:4px}.compact-neraca-v441 .btn-sm{min-height:28px!important;padding:5px 8px!important;font-size:12px!important;border-radius:9px!important}
.v44-filter .field label{font-size:12px}.v44-filter .input{min-height:38px!important}.v44-note{font-size:13px}.v44-grid .v44-card{padding:12px!important}.v44-grid .v44-card b{font-size:21px!important}
@media(max-width:1180px){.compact-neraca-v441 table{min-width:940px!important}.compact-neraca-v441 th,.compact-neraca-v441 td{padding:8px 10px!important;font-size:12.5px!important}.compact-neraca-v441 th:nth-child(6),.compact-neraca-v441 td:nth-child(6){width:170px}.compact-neraca-v441 th:nth-child(7),.compact-neraca-v441 td:nth-child(7){width:150px}}
@media(max-width:760px){.desktop-table.v44-cylinder-table{display:none!important}.v44-mobile-card{display:block!important}.v44-mobile-list{display:block!important}.v44-mobile-card{margin:8px 0!important}.v44-mobile-row{grid-template-columns:104px 1fr!important}.v44-grid{gap:8px!important}.v44-card{border-radius:14px!important}.v44-filter{gap:8px!important}.v44-pagination{font-size:13px}}

/* assets/ui-v442.css */
/* AMSA ERP v4.4.2 - Neraca Tabung Summary + History View */
body.v442-ready .balance-summary-grid,
body.v442-ready .v442-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:14px 0}
body.v442-ready .v442-card{border:0;border-radius:22px;background:#fff;padding:18px 20px;box-shadow:0 14px 36px rgba(15,23,42,.08);text-align:left;min-height:86px}
body.v442-ready .v442-card small{display:block;color:#64748b;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}
body.v442-ready .v442-card b{display:block;font-size:30px;line-height:1;color:#0f172a}
body.v442-ready .v442-card.ok b{color:#15803d} body.v442-ready .v442-card.warn b{color:#b45309} body.v442-ready .v442-card.danger b{color:#b91c1c} body.v442-ready .v442-card.info b{color:#1d4ed8}
body.v442-ready .v442-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;align-items:end;margin-top:12px}
body.v442-ready .v442-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
body.v442-ready .v442-panel-grid.single{grid-template-columns:1fr}
body.v442-ready .v442-table-wrap{overflow:auto;border-radius:18px;background:#fff}
body.v442-ready table.v442-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;min-width:680px}
body.v442-ready table.v442-table th{background:#f8fafc;color:#64748b;text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:14px 16px;white-space:nowrap;border-bottom:1px solid #e5e7eb}
body.v442-ready table.v442-table td{padding:14px 16px;border-bottom:1px solid #eef2f7;vertical-align:middle;color:#1e293b}
body.v442-ready table.v442-table tr:last-child td{border-bottom:0}
body.v442-ready .v442-party-name{min-width:250px;white-space:normal;font-weight:800;color:#111827}
body.v442-ready .v442-count{border:0;background:#eff6ff;color:#1d4ed8;border-radius:16px;padding:8px 14px;font-weight:900;cursor:pointer;min-width:48px}
body.v442-ready .v442-count:hover{background:#dbeafe}
body.v442-ready .v442-count.ok{background:#dcfce7;color:#15803d}.v442-count.warn{background:#fef3c7;color:#a16207}.v442-count.danger{background:#fee2e2;color:#b91c1c}
body.v442-ready .v442-note{color:#64748b;font-size:14px;line-height:1.55;margin:8px 0 0}
body.v442-ready .v442-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
body.v442-ready .v442-tabs button{border:0;border-radius:18px;background:#f1f5f9;color:#173b74;font-weight:900;padding:12px 18px;cursor:pointer}
body.v442-ready .v442-tabs button.active{background:#0f4eb5;color:#fff;box-shadow:0 14px 28px rgba(37,99,235,.18)}
body.v442-ready .v442-history-list{display:flex;flex-direction:column;gap:10px;max-height:62vh;overflow:auto;padding-right:4px}
body.v442-ready .v442-history-item{border:1px solid #e5e7eb;border-radius:16px;padding:12px 14px;background:#fff}
body.v442-ready .v442-history-item header{display:flex;justify-content:space-between;gap:12px;font-weight:900;color:#111827;margin-bottom:6px}
body.v442-ready .v442-history-item p{margin:2px 0;color:#475569;font-size:13px;line-height:1.45;white-space:pre-line}
body.v442-ready .v442-modal-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
body.v442-ready .v442-detail-table{min-width:980px}
body.v442-ready .v442-sku-sub{display:block;color:#64748b;font-size:12px;margin-top:3px}
body.v442-ready .v442-mobile-hint{display:none;color:#64748b;font-size:12px;margin-top:8px}
@media(max-width:980px){
  body.v442-ready .v442-summary-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}
  body.v442-ready .v442-toolbar{grid-template-columns:1fr 1fr}
  body.v442-ready .v442-panel-grid{grid-template-columns:1fr}
  body.v442-ready .v442-mobile-hint{display:block}
}
@media(max-width:640px){
  body.v442-ready .v442-summary-grid{grid-template-columns:1fr 1fr;gap:10px}
  body.v442-ready .v442-card{border-radius:18px;padding:14px 15px;min-height:76px}
  body.v442-ready .v442-card b{font-size:24px}
  body.v442-ready .v442-toolbar{grid-template-columns:1fr}
  body.v442-ready table.v442-table th,body.v442-ready table.v442-table td{padding:11px 12px;font-size:13px}
}
@media print{
  body.v442-ready .topbar-actions,body.v442-ready .v442-toolbar,body.v442-ready .v442-tabs,body.v442-ready .sidebar,body.v442-ready .mobile-header{display:none!important}
  body.v442-ready .main{margin:0!important;width:100%!important}
  body.v442-ready .panel{box-shadow:none!important;border:1px solid #ddd!important;break-inside:avoid}
}

/* assets/ui-v443.css */
/* AMSA ERP v4.4.3 - Global Compact UI + Proportional Data View
   Fokus: mengecilkan tampilan semua modul agar data lebih banyak terlihat dalam 1 layar.
   Tidak mengubah database. */
:root{
  --sidebar-w:220px!important;
  --sidebar-w-v44:220px!important;
  --page-pad:14px!important;
  --ui-radius:16px!important;
  --compact-shadow:0 8px 22px rgba(15,23,42,.06);
}
html{font-size:14px!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:13px!important;line-height:1.34!important;background:#f5f8fc!important;overflow-x:hidden}
body.v443-compact .main{margin-left:220px!important;max-width:calc(100vw - 220px)!important;padding:14px 16px!important}
body.v443-compact .sidebar{width:220px!important;padding:14px 14px!important}
body.v443-compact .brand{gap:9px!important;margin-bottom:12px!important;padding-bottom:10px!important}
body.v443-compact .brand-logo,body.v443-compact .brand .brand-logo{width:38px!important;height:38px!important;border-radius:12px!important;font-size:15px!important}
body.v443-compact .brand b{font-size:14.5px!important;line-height:1.1!important}
body.v443-compact .brand small{font-size:10px!important;margin-top:1px!important}
body.v443-compact .nav{gap:0!important;padding:4px!important}
body.v443-compact .nav-section{margin:10px 5px 4px!important;font-size:9.5px!important;letter-spacing:.10em!important}
body.v443-compact .nav button{min-height:34px!important;padding:7px 10px!important;border-radius:11px!important;font-size:12.2px!important;line-height:1.18!important;margin:1px 0!important;gap:7px!important}
body.v443-compact .nav button::before{font-size:13px!important;width:16px!important}
body.v443-compact .topbar{margin-bottom:10px!important;gap:10px!important;align-items:flex-start!important}
body.v443-compact .topbar h1{font-size:clamp(22px,2vw,29px)!important;line-height:1.08!important;letter-spacing:.005em!important;margin:0 0 4px!important}
body.v443-compact .topbar p{font-size:13px!important;line-height:1.32!important;max-width:620px!important;margin:0!important;color:#64748b!important}
body.v443-compact .topbar-actions{gap:8px!important;align-items:center!important}
body.v443-compact .topbar-actions .btn,body.v443-compact .topbar .btn{min-height:34px!important;padding:8px 12px!important;border-radius:12px!important;font-size:12.4px!important;line-height:1.15!important}
body.v443-compact .grid,body.v443-compact .dashboard-grid-v23,body.v443-compact .dashboard-grid-v42,body.v443-compact .dashboard-grid-v44{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:9px!important;margin:10px 0!important}
body.v443-compact .card,body.v443-compact .dash-card-v42,body.v443-compact .v44-card,body.v443-compact .admin-card-v42{border-radius:15px!important;padding:12px 14px!important;min-height:auto!important;box-shadow:var(--compact-shadow)!important}
body.v443-compact .card small,body.v443-compact .v44-card small{font-size:10.5px!important;letter-spacing:.06em!important;line-height:1.15!important;margin-bottom:5px!important;color:#64748b!important}
body.v443-compact .card b,body.v443-compact .v44-card b{font-size:clamp(17px,1.6vw,23px)!important;line-height:1.05!important;margin-top:3px!important}
body.v443-compact .panel{border-radius:16px!important;margin-top:10px!important;box-shadow:var(--compact-shadow)!important;overflow:hidden}
body.v443-compact .panel-head{padding:10px 13px!important;gap:8px!important;min-height:auto!important}
body.v443-compact .panel-head h2{font-size:17px!important;line-height:1.15!important;margin:0!important}
body.v443-compact .panel-head p,body.v443-compact .panel-head small{font-size:12px!important;line-height:1.25!important}
body.v443-compact .btn{min-height:32px!important;padding:7px 11px!important;border-radius:11px!important;font-size:12.5px!important;line-height:1.15!important}
body.v443-compact .btn-sm{min-height:28px!important;padding:5px 8px!important;border-radius:9px!important;font-size:11.5px!important}
body.v443-compact .input,body.v443-compact select.input,body.v443-compact textarea.input{min-height:34px!important;padding:8px 10px!important;border-radius:11px!important;font-size:12.8px!important;line-height:1.25!important}
body.v443-compact textarea.input{min-height:70px!important}
body.v443-compact .field{margin:7px 0!important}
body.v443-compact .field label{font-size:11.5px!important;margin-bottom:4px!important;line-height:1.2!important;color:#475569!important}
body.v443-compact .form-grid{gap:9px!important}
body.v443-compact .module-toolbar-force,body.v443-compact .module-filter-compact,body.v443-compact .gas-toolbar-v24{padding:10px 12px!important;gap:8px!important}
body.v443-compact .module-toolbar-force .field,body.v443-compact .module-filter-compact .field{margin:0!important}
body.v443-compact .gas-result-info{font-size:12.5px!important;margin:8px 12px!important;color:#475569!important}
body.v443-compact .table-wrap{border-radius:0 0 14px 14px!important;overflow:auto!important;max-width:100%;-webkit-overflow-scrolling:touch}
body.v443-compact table{min-width:760px;border-collapse:separate;border-spacing:0;width:100%}
body.v443-compact th{font-size:11px!important;letter-spacing:.055em!important;padding:8px 10px!important;line-height:1.2!important;white-space:nowrap!important;color:#64748b!important}
body.v443-compact td{font-size:12.4px!important;padding:8px 10px!important;line-height:1.25!important;vertical-align:middle!important}
body.v443-compact td b{font-size:12.6px!important;line-height:1.15!important}
body.v443-compact td small{font-size:10.8px!important;line-height:1.2!important;color:#64748b!important}
body.v443-compact .v44-badge{font-size:10.8px!important;padding:3px 7px!important;border-radius:999px!important;line-height:1.2!important}
body.v443-compact .mobile-card,body.v443-compact .v44-mobile-card{padding:10px!important;border-radius:13px!important;margin:8px 0!important;box-shadow:var(--compact-shadow)!important}
body.v443-compact .mobile-card b,body.v443-compact .v44-mobile-card b{font-size:14px!important}
body.v443-compact .mobile-card small,body.v443-compact .v44-mobile-card small{font-size:11px!important}
body.v443-compact .modal-card,body.v443-compact .modal{border-radius:16px!important;max-width:min(920px,calc(100vw - 22px))!important}
body.v443-compact .modal-head{padding:12px 14px!important}
body.v443-compact .modal-head h2{font-size:18px!important;line-height:1.18!important}
body.v443-compact .modal-body{padding:12px 14px!important;max-height:calc(100vh - 130px)!important}
body.v443-compact .quick-actions-v42{gap:7px!important}
body.v443-compact .admin-grid-v42{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;gap:10px!important}
body.v443-compact .ops-tabs{gap:6px!important;margin:10px 0!important}
body.v443-compact .ops-pre{font-size:11.5px!important;padding:12px!important;line-height:1.38!important}

/* v4.4.2 Neraca Tabung - compact summary + history */
body.v443-compact.v442-ready .v442-summary-grid,body.v443-compact.v442-ready .balance-summary-grid{grid-template-columns:repeat(4,minmax(120px,1fr))!important;gap:9px!important;margin:10px 0 12px!important}
body.v443-compact.v442-ready .v442-card{border-radius:16px!important;padding:12px 14px!important;min-height:62px!important;box-shadow:var(--compact-shadow)!important}
body.v443-compact.v442-ready .v442-card small{font-size:10.8px!important;letter-spacing:.07em!important;margin-bottom:5px!important;line-height:1.15!important}
body.v443-compact.v442-ready .v442-card b{font-size:24px!important;line-height:1!important}
body.v443-compact.v442-ready .v442-toolbar{grid-template-columns:2fr 1fr 1fr 1fr auto!important;gap:8px!important;margin-top:8px!important}
body.v443-compact.v442-ready .v442-panel-grid{gap:12px!important;margin-top:12px!important}
body.v443-compact.v442-ready table.v442-table{font-size:12.5px!important;min-width:620px!important}
body.v443-compact.v442-ready table.v442-table th{font-size:10.8px!important;padding:9px 11px!important;line-height:1.15!important}
body.v443-compact.v442-ready table.v442-table td{font-size:12.4px!important;padding:9px 11px!important;line-height:1.25!important}
body.v443-compact.v442-ready .v442-party-name{min-width:210px!important;font-size:12.6px!important}
body.v443-compact.v442-ready .v442-count{border-radius:12px!important;padding:5px 10px!important;min-width:38px!important;font-size:12.5px!important}
body.v443-compact.v442-ready .v442-tabs{gap:7px!important;margin:10px 0!important}
body.v443-compact.v442-ready .v442-tabs button{padding:8px 13px!important;border-radius:13px!important;font-size:12.4px!important}
body.v443-compact.v442-ready .v442-note{font-size:12px!important;line-height:1.35!important}
body.v443-compact.v442-ready .v442-history-item{border-radius:12px!important;padding:9px 11px!important}
body.v443-compact.v442-ready .v442-history-item p{font-size:12px!important;line-height:1.32!important}

/* Modul spesifik yang biasanya terasa terlalu besar */
body.v443-compact .gas-summary-v24{gap:9px!important;margin:9px 0!important}
body.v443-compact .gas-toolbar-v24{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important}
body.v443-compact .compact-neraca-v441 th,body.v443-compact .compact-neraca-v441 td{padding:7px 9px!important;font-size:12px!important}
body.v443-compact .compact-neraca-v441 td small{font-size:10.5px!important}
body.v443-compact .receipt-preview,body.v443-compact .print-preview,body.v443-compact .preview-sheet{transform-origin:top left;max-width:100%;overflow:auto}

@media(max-width:1180px){
  :root{--sidebar-w:205px!important;--sidebar-w-v44:205px!important;--page-pad:12px!important}
  body.v443-compact .main{margin-left:205px!important;max-width:calc(100vw - 205px)!important;padding:12px!important}
  body.v443-compact .sidebar{width:205px!important;padding:12px!important}
  body.v443-compact .nav button{font-size:11.8px!important;padding:7px 9px!important}
  body.v443-compact .topbar h1{font-size:24px!important}
  body.v443-compact.v442-ready .v442-summary-grid{grid-template-columns:repeat(4,minmax(105px,1fr))!important}
  body.v443-compact.v442-ready .v442-card b{font-size:22px!important}
}
@media(max-width:980px){
  body.v443-compact .main{margin-left:0!important;max-width:100vw!important;padding:10px 12px 24px!important}
  body.v443-compact .sidebar{width:min(78vw,280px)!important;transform:translateX(-110%);z-index:60}
  body.v443-compact .sidebar.show{transform:translateX(0)}
  body.v443-compact .mobile-header{display:flex!important;padding:7px 0!important;margin-bottom:9px!important}
  body.v443-compact .topbar{display:grid!important;grid-template-columns:1fr!important}
  body.v443-compact .topbar-actions{display:flex!important;flex-wrap:wrap!important;margin-top:6px!important}
  body.v443-compact .grid,body.v443-compact .dashboard-grid-v23,body.v443-compact .dashboard-grid-v42,body.v443-compact .dashboard-grid-v44{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.v443-compact.v442-ready .v442-summary-grid,body.v443-compact.v442-ready .balance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.v443-compact.v442-ready .v442-toolbar{grid-template-columns:1fr 1fr!important}
  body.v443-compact.v442-ready .v442-panel-grid{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  body.v443-compact{font-size:12.5px!important}
  body.v443-compact .main{padding:8px 9px 22px!important}
  body.v443-compact .topbar h1{font-size:21px!important}
  body.v443-compact .topbar p{font-size:12.2px!important}
  body.v443-compact .topbar-actions .btn,body.v443-compact .topbar .btn{flex:1 1 130px!important}
  body.v443-compact .grid,body.v443-compact .dashboard-grid-v23,body.v443-compact .dashboard-grid-v42,body.v443-compact .dashboard-grid-v44{gap:7px!important}
  body.v443-compact .card,body.v443-compact .v44-card{padding:10px 11px!important;border-radius:13px!important}
  body.v443-compact .card b,body.v443-compact .v44-card b{font-size:18px!important}
  body.v443-compact.v442-ready .v442-summary-grid,body.v443-compact.v442-ready .balance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  body.v443-compact.v442-ready .v442-card{padding:10px 11px!important;min-height:56px!important;border-radius:13px!important}
  body.v443-compact.v442-ready .v442-card b{font-size:20px!important}
  body.v443-compact.v442-ready .v442-toolbar{grid-template-columns:1fr!important}
  body.v443-compact .panel-head{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important}
  body.v443-compact table{min-width:660px!important}
  body.v443-compact th,body.v443-compact td{padding:7px 8px!important;font-size:11.8px!important}
}
@media(max-width:480px){
  body.v443-compact .grid,body.v443-compact .dashboard-grid-v23,body.v443-compact .dashboard-grid-v42,body.v443-compact .dashboard-grid-v44{grid-template-columns:1fr!important}
  body.v443-compact.v442-ready .v442-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.v443-compact .topbar-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  body.v443-compact .topbar-actions .btn{width:100%!important;min-width:0!important}
  body.v443-compact .quick-actions-v42{grid-template-columns:1fr 1fr!important}
  body.v443-compact .modal-card,body.v443-compact .modal{max-width:calc(100vw - 12px)!important;margin:6px!important}
}

/* assets/ui-v444.css */
/* AMSA ERP v4.4.4 - Tablet/Desktop Responsive Fix
   Patch khusus setelah v4.4.3: tablet landscape tidak lagi dibaca sebagai mobile.
   Tidak mengubah database, API, upload, atau storage. */
:root{
  --sidebar-w-v444:196px;
  --sidebar-w-v444-wide:210px;
  --page-pad-v444:12px;
  --surface-shadow-v444:0 6px 18px rgba(15,23,42,.055);
}
body.v444-responsive{overflow-x:hidden;background:#f5f8fc!important}
body.v444-responsive *{box-sizing:border-box}

/* DEFAULT DESKTOP/TABLET: sidebar tetap tampil */
@media (min-width:701px){
  body.v444-responsive.v443-compact .app{display:block!important}
  body.v444-responsive.v443-compact .sidebar{
    display:block!important;position:fixed!important;left:0!important;top:0!important;bottom:0!important;
    width:var(--sidebar-w-v444)!important;transform:none!important;z-index:30!important;
    padding:12px 12px!important;overflow-y:auto!important;overflow-x:hidden!important;
  }
  body.v444-responsive.v443-compact .sidebar.show{transform:none!important}
  body.v444-responsive.v443-compact .sidebar-overlay,
  body.v444-responsive.v443-compact .sidebar-overlay.show{display:none!important}
  body.v444-responsive.v443-compact .mobile-header{display:none!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
  body.v444-responsive.v443-compact .main{
    margin-left:var(--sidebar-w-v444)!important;max-width:calc(100vw - var(--sidebar-w-v444))!important;
    width:calc(100vw - var(--sidebar-w-v444))!important;padding:12px 14px 22px!important;overflow-x:hidden!important;
  }
  body.v444-responsive.v443-compact .brand{gap:8px!important;margin-bottom:10px!important;padding-bottom:9px!important}
  body.v444-responsive.v443-compact .brand-logo{width:34px!important;height:34px!important;border-radius:10px!important;font-size:13px!important;flex:0 0 34px!important}
  body.v444-responsive.v443-compact .brand b{font-size:13.2px!important;line-height:1.08!important}
  body.v444-responsive.v443-compact .brand small{font-size:9.5px!important;line-height:1.1!important}
  body.v444-responsive.v443-compact .nav{padding:2px!important;gap:0!important}
  body.v444-responsive.v443-compact .nav-section{margin:8px 4px 3px!important;font-size:9px!important;letter-spacing:.09em!important}
  body.v444-responsive.v443-compact .nav button{min-height:31px!important;padding:6px 8px!important;border-radius:10px!important;font-size:11.4px!important;line-height:1.12!important;margin:1px 0!important;gap:6px!important}
  body.v444-responsive.v443-compact .nav button::before{font-size:12px!important;width:14px!important}
}
@media (min-width:1181px){
  body.v444-responsive.v443-compact .sidebar{width:var(--sidebar-w-v444-wide)!important;padding:13px!important}
  body.v444-responsive.v443-compact .main{margin-left:var(--sidebar-w-v444-wide)!important;max-width:calc(100vw - var(--sidebar-w-v444-wide))!important;width:calc(100vw - var(--sidebar-w-v444-wide))!important;padding:13px 16px 24px!important}
}

/* HP kecil saja yang benar-benar mobile */
@media (max-width:700px){
  body.v444-responsive.v443-compact .main{margin-left:0!important;max-width:100vw!important;width:100vw!important;padding:9px 10px 24px!important}
  body.v444-responsive.v443-compact .mobile-header{display:flex!important;position:sticky!important;top:0!important;z-index:45!important;margin-bottom:8px!important;padding:7px 0!important;background:rgba(245,248,252,.96)!important;backdrop-filter:blur(8px)!important}
  body.v444-responsive.v443-compact .sidebar{width:min(86vw,280px)!important;transform:translateX(-110%)!important;z-index:60!important}
  body.v444-responsive.v443-compact .sidebar.show{transform:translateX(0)!important}
}

/* Header halaman lebih padat */
body.v444-responsive.v443-compact .topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:10px 12px!important;margin:0 0 9px!important}
body.v444-responsive.v443-compact .topbar h1{font-size:clamp(21px,1.85vw,27px)!important;line-height:1.06!important;margin:0 0 4px!important;letter-spacing:.003em!important}
body.v444-responsive.v443-compact .topbar p{font-size:12.3px!important;line-height:1.28!important;max-width:720px!important;margin:0!important;color:#5f6f84!important}
body.v444-responsive.v443-compact .topbar-actions{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;align-items:center!important;gap:7px!important;margin:0!important;max-width:520px!important}
body.v444-responsive.v443-compact .topbar-actions .btn,
body.v444-responsive.v443-compact .topbar .btn{min-height:30px!important;padding:6px 10px!important;border-radius:10px!important;font-size:11.8px!important;line-height:1.1!important;white-space:nowrap!important;min-width:0!important}
@media (max-width:900px) and (min-width:701px){
  body.v444-responsive.v443-compact .topbar{grid-template-columns:1fr!important}
  body.v444-responsive.v443-compact .topbar-actions{justify-content:flex-start!important;max-width:none!important}
}
@media (max-width:700px){
  body.v444-responsive.v443-compact .topbar{grid-template-columns:1fr!important;gap:8px!important}
  body.v444-responsive.v443-compact .topbar h1{font-size:22px!important}
  body.v444-responsive.v443-compact .topbar-actions{justify-content:flex-start!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
  body.v444-responsive.v443-compact .topbar-actions .btn{width:100%!important;text-align:center!important}
}

/* Card global lebih hemat ruang */
body.v444-responsive.v443-compact .grid,
body.v444-responsive.v443-compact .dashboard-grid-v23,
body.v444-responsive.v443-compact .dashboard-grid-v42,
body.v444-responsive.v443-compact .dashboard-grid-v44{gap:8px!important;margin:8px 0 10px!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important}
body.v444-responsive.v443-compact .card,
body.v444-responsive.v443-compact .v44-card,
body.v444-responsive.v443-compact .dash-card-v42,
body.v444-responsive.v443-compact .admin-card-v42{padding:10px 12px!important;border-radius:14px!important;min-height:auto!important;box-shadow:var(--surface-shadow-v444)!important}
body.v444-responsive.v443-compact .card small,
body.v444-responsive.v443-compact .v44-card small{font-size:10px!important;line-height:1.12!important;letter-spacing:.055em!important;margin:0 0 4px!important}
body.v444-responsive.v443-compact .card b,
body.v444-responsive.v443-compact .v44-card b{font-size:clamp(16px,1.45vw,21px)!important;line-height:1.02!important;margin:0!important}

/* Neraca Tabung v4.4.2: proporsional untuk tablet */
body.v444-responsive.v443-compact.v442-ready .v442-summary-grid,
body.v444-responsive.v443-compact.v442-ready .balance-summary-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:8px 0 10px!important}
body.v444-responsive.v443-compact.v442-ready .v442-card{min-height:50px!important;padding:9px 11px!important;border-radius:13px!important;text-align:left!important;box-shadow:var(--surface-shadow-v444)!important}
body.v444-responsive.v443-compact.v442-ready .v442-card small{font-size:9.8px!important;line-height:1.12!important;letter-spacing:.065em!important;margin-bottom:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important}
body.v444-responsive.v443-compact.v442-ready .v442-card b{font-size:20px!important;line-height:1!important}
@media (min-width:1100px){
  body.v444-responsive.v443-compact.v442-ready .v442-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (max-width:760px){
  body.v444-responsive.v443-compact.v442-ready .v442-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  body.v444-responsive.v443-compact.v442-ready .v442-card{min-height:48px!important;padding:8px 10px!important}
  body.v444-responsive.v443-compact.v442-ready .v442-card b{font-size:18px!important}
}

/* Panel/filter/tabel lebih padat */
body.v444-responsive.v443-compact .panel{border-radius:14px!important;margin-top:8px!important;box-shadow:var(--surface-shadow-v444)!important}
body.v444-responsive.v443-compact .panel-head{padding:9px 12px!important;gap:8px!important;min-height:auto!important}
body.v444-responsive.v443-compact .panel-head h2{font-size:15.5px!important;line-height:1.12!important;margin:0!important}
body.v444-responsive.v443-compact .panel-head small,
body.v444-responsive.v443-compact .panel-head span{font-size:11.2px!important;line-height:1.18!important}
body.v444-responsive.v443-compact .v442-note{font-size:11.5px!important;line-height:1.28!important;margin:6px 12px 0!important}
body.v444-responsive.v443-compact.v442-ready .v442-toolbar{grid-template-columns:1.35fr .75fr .7fr .7fr auto!important;gap:7px!important;margin:7px 12px 10px!important;align-items:end!important}
body.v444-responsive.v443-compact .field{margin:5px 0!important}
body.v444-responsive.v443-compact .field label{font-size:10.8px!important;line-height:1.14!important;margin-bottom:3px!important}
body.v444-responsive.v443-compact .input,
body.v444-responsive.v443-compact select.input,
body.v444-responsive.v443-compact textarea.input{min-height:31px!important;padding:6px 9px!important;border-radius:10px!important;font-size:12px!important;line-height:1.16!important}
body.v444-responsive.v443-compact .btn{min-height:30px!important;padding:6px 10px!important;border-radius:10px!important;font-size:11.8px!important;line-height:1.1!important}
body.v444-responsive.v443-compact .btn-sm{min-height:25px!important;padding:4px 7px!important;border-radius:8px!important;font-size:10.8px!important}
body.v444-responsive.v443-compact .v44-actions{gap:6px!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important}
@media (max-width:980px){
  body.v444-responsive.v443-compact.v442-ready .v442-toolbar{grid-template-columns:1fr 1fr 1fr!important}
  body.v444-responsive.v443-compact.v442-ready .v442-toolbar .v44-actions{grid-column:1/-1!important}
}
@media (max-width:700px){
  body.v444-responsive.v443-compact.v442-ready .v442-toolbar{grid-template-columns:1fr!important;margin:7px 10px 10px!important}
}

body.v444-responsive.v443-compact .table-wrap,
body.v444-responsive.v443-compact .v442-table-wrap{overflow:auto!important;border-radius:0 0 14px 14px!important;-webkit-overflow-scrolling:touch!important}
body.v444-responsive.v443-compact table{min-width:680px!important;width:100%!important}
body.v444-responsive.v443-compact table.v442-table{min-width:650px!important}
body.v444-responsive.v443-compact table.v442-detail-table{min-width:900px!important}
body.v444-responsive.v443-compact th,
body.v444-responsive.v443-compact table.v442-table th{font-size:10.2px!important;padding:7px 9px!important;line-height:1.12!important;letter-spacing:.05em!important;white-space:nowrap!important}
body.v444-responsive.v443-compact td,
body.v444-responsive.v443-compact table.v442-table td{font-size:11.6px!important;padding:7px 9px!important;line-height:1.18!important;vertical-align:middle!important}
body.v444-responsive.v443-compact td b{font-size:11.8px!important;line-height:1.12!important}
body.v444-responsive.v443-compact td small,
body.v444-responsive.v443-compact .v442-sku-sub{font-size:10.2px!important;line-height:1.1!important}
body.v444-responsive.v443-compact.v442-ready .v442-party-name{min-width:185px!important;max-width:280px!important;font-size:11.8px!important;line-height:1.15!important}
body.v444-responsive.v443-compact.v442-ready .v442-count{min-width:32px!important;padding:4px 8px!important;border-radius:10px!important;font-size:11.5px!important}
body.v444-responsive.v443-compact.v442-ready .v442-panel-grid{gap:9px!important;margin-top:9px!important}
body.v444-responsive.v443-compact.v442-ready .v442-tabs{gap:6px!important;margin:8px 0!important}
body.v444-responsive.v443-compact.v442-ready .v442-tabs button{padding:7px 11px!important;border-radius:11px!important;font-size:11.8px!important}

/* Print tetap bersih */
@media print{
  body.v444-responsive .sidebar,body.v444-responsive .mobile-header,body.v444-responsive .topbar-actions{display:none!important}
  body.v444-responsive.v443-compact .main{margin:0!important;width:100%!important;max-width:100%!important;padding:0!important}
}

/* 505: shared compact ERP design; print.php owns document styles. */
:root{--am505-ink:#172b4d;--am505-blue:#1654ba;--am505-border:#e4eaf2}
body{font-family:Inter,Arial,Helvetica,sans-serif;background:#f3f6fb;color:var(--am505-ink)}
.sidebar{background:linear-gradient(180deg,#102341,#152e52)!important}
.brand{gap:10px!important}.brand-logo{background:#fff!important;border-radius:12px!important;width:54px!important;height:54px!important;flex-shrink:0;display:grid;place-items:center;overflow:hidden}.brand-logo img{width:50px;height:50px;object-fit:contain}.brand b{font-size:20px}.brand small{letter-spacing:.5px}
#page .topbar h1{font-size:26px!important;letter-spacing:-.5px}#page .topbar p{font-size:13px!important;color:#64748b}
#page .panel{border:1px solid var(--am505-border)!important;border-radius:16px!important;box-shadow:0 5px 20px #172b4d06!important}
#page .panel-head{padding:14px 18px!important}#page .panel-head h2{font-size:17px!important}
#page .module-filter-compact{padding:12px 16px!important;background:#f8fafd!important}#page .compact-main{gap:10px!important}
#page .input{min-height:38px!important;font-size:13px!important;border-radius:10px!important}
#page .btn{font-size:12px!important;padding:8px 12px!important;border-radius:9px!important}
#page .btn-primary{background:var(--am505-blue)!important}#page .table-mode-note-v64{display:none}
#page .desktop-table.table-wrap{max-height:62vh;overflow:auto!important;isolation:isolate;border-top:1px solid var(--am505-border)}
#page .desktop-table table{border-collapse:separate!important;border-spacing:0!important;margin:0!important;min-width:700px}
#page .desktop-table th{position:sticky;top:0;z-index:4;background:#eaf0f8!important;color:#17325f!important;font-size:11px!important;letter-spacing:.3px;padding:12px!important;border-bottom:1px solid #dce5f0!important;text-transform:uppercase}
#page .desktop-table td{font-size:12px!important;padding:11px 12px!important;line-height:1.4;border-bottom:1px solid #e7edf5!important;vertical-align:middle!important;background:#fff;white-space:normal!important}
#page .desktop-table tr:hover td{background:#f6f9fe}
#page .desktop-table th:first-child{left:0;z-index:6}
#page .desktop-table td:first-child{position:sticky;left:0;z-index:2;background:#f0f5fc;box-shadow:1px 0 0 #dce5f0;max-width:250px;overflow-wrap:anywhere}
#page .desktop-table table.am505-invoice{width:100%!important;min-width:650px!important;table-layout:fixed!important}
#page .am505-invoice th:nth-child(1){width:28%}#page .am505-invoice th:nth-child(2){width:17%}#page .am505-invoice th:nth-child(3){width:21%}#page .am505-invoice th:nth-child(4){width:27%}#page .am505-invoice th:nth-child(5){width:7%}
#page .am505-invoice td{overflow-wrap:anywhere}#page .am505-invoice td small{display:block;color:#64748b;margin-top:3px;font-size:11px}
#page .am505-invoice td b{font-size:12px}#page .am505-invoice [data-tracking-invoice] .btn{display:block;text-align:left;white-space:normal;max-width:100%;font-size:10px!important;background:transparent!important;border:0!important;padding:4px 0!important;color:#526580;box-shadow:none}
.am505-badge{display:inline-block;padding:4px 8px;border-radius:20px;font-size:11px!important;background:#fff1da;color:#945c00}.am505-badge.paid{background:#dcf8e8;color:#167545}.am505-badge.partial{background:#e7edff;color:#405bb1}
.am505-overdue{color:#b42318!important}.am505-tabs{display:flex;gap:8px;padding:12px 16px;flex-wrap:wrap}.am505-tabs button{border:1px solid #dde6f2;background:#fff;color:#354e70;cursor:pointer}.am505-tabs button[aria-pressed=true]{background:#1654ba!important;color:#fff!important}.am505-filter-note{font-size:11px;color:#64748b;align-self:center}
.am505-menu-trigger{width:34px;height:34px;border:1px solid #e1e8f2;border-radius:8px;background:#f2f6fc;color:#17325f;font-size:22px;cursor:pointer}
.am505-menu{position:fixed;z-index:10000;background:white;border:1px solid #dbe4f0;border-radius:12px;padding:6px;box-shadow:0 12px 40px #10234133;max-height:70vh;overflow:auto;width:210px}
.am505-menu .actions{display:flex!important;flex-direction:column!important;gap:2px!important}.am505-menu button,.am505-menu a{display:block!important;width:100%!important;text-align:left!important;border:0!important;background:transparent!important;color:#17325f!important;font:13px Arial!important;padding:10px 12px!important;white-space:normal!important;cursor:pointer}.am505-menu button:hover{background:#edf3fc!important}.am505-menu .btn-danger{color:#b42318!important}
#page .table-pager-v64{padding:12px 16px!important;font-size:12px}#page .panel-table-v64>.table-pager-v64:first-of-type{display:none}
@media(min-width:1000px){.sidebar{width:220px!important}.main{margin-left:220px!important;padding:22px!important}#page .am505-invoice{min-width:0!important}}
@media(max-width:699px){#page .desktop-table.table-wrap{max-height:65vh}#page .topbar h1{font-size:22px!important}.am505-filter-note{width:100%}}
#page .desktop-table .actions[hidden]{display:none!important}
.login-card .mark{background:#fff!important;display:grid;place-items:center;overflow:hidden}.login-card .mark img{width:100%;height:100%;object-fit:contain}
body.v444-responsive.v443-compact .brand-logo{width:48px!important;height:48px!important;flex:0 0 48px!important;border-radius:10px!important;background:#fff!important}body.v444-responsive.v443-compact .brand-logo img{width:46px;height:46px}body.v444-responsive.v443-compact .brand b{font-size:17px!important}body.v444-responsive.v443-compact .brand small{font-size:10px!important}
@media(min-width:1000px){body.v444-responsive.v443-compact .sidebar{width:220px!important}body.v444-responsive.v443-compact .main{margin-left:220px!important;width:calc(100vw - 220px)!important;max-width:calc(100vw - 220px)!important;padding:20px!important}}
/* 509 shared workspace UI */
.am509-master,.am509-control-entry{padding:20px}.am509-master small,.am509-scroll small{display:block;color:#64748b;margin-top:5px}.am509-toolbar{display:flex;gap:10px;margin:14px 0;align-items:center}.am509-toolbar input{flex:1;min-width:140px}.am509-toolbar select{max-width:170px}.am509-scroll{overflow:auto;max-height:55vh;border:1px solid #e2e8f0;border-radius:12px}.am509-scroll table{width:100%;border-collapse:collapse}.am509-scroll th{position:sticky;top:0;background:#f1f5f9;color:#334155;z-index:1}.am509-scroll td,.am509-scroll th{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:top}.am509-wrap{white-space:pre-line!important;overflow-wrap:anywhere;max-width:340px}.am509-pager,.am509-footer{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:18px}.am509-pager span{margin-right:auto;color:#64748b}.am509-form details,.am509-detail details{padding:16px;border:1px solid #e2e8f0;border-radius:12px;margin:14px 0;background:#f8fafc}.am509-form summary,.am509-detail summary{cursor:pointer;font-weight:700;color:#18365d;margin-bottom:10px}.am509-sub{color:#64748b;font-size:13px;line-height:1.6}.am509-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0}.am509-card{display:flex;flex-direction:column;gap:10px;padding:18px;text-align:left;background:#f8fafc;border:1px solid #dce5ef;border-radius:14px;color:#173258}.am509-card strong{font-size:22px;overflow-wrap:anywhere}.am509-card.selected{border-color:#2458a8;background:#edf4ff}.am509-card span{font-size:13px}.am509-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px;background:#edf4ff;border-radius:14px}.am509-hero h3{font-size:21px;margin:8px 0}.am509-hero p{margin:6px 0;font-size:13px;line-height:1.6}.am509-hero small{letter-spacing:1.3px;color:#456487}.am509-tabs{display:flex;gap:8px;overflow:auto;margin:20px 0;padding-bottom:8px}.am509-tabs button{white-space:nowrap}.am509-pill{display:inline-block!important;background:#e5f4ef;color:#165a45!important;border-radius:20px;padding:5px 10px;font-size:12px}.am509-pill.warn{background:#fff0d7;color:#885b13!important}.am509-control-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;border-left:4px solid #2458a8}.am509-control-entry p{margin:8px 0 0;color:#64748b;font-size:13px}.am509-detail-link{display:block;border:0;background:none;color:#2458a8;font-size:12px;padding:8px 0;cursor:pointer;text-align:left}.am509-loading{padding:25px;color:#64748b}.modal:has(.am509-detail),.modal:has(.am509-form),.modal:has(#am509-detail){max-width:1080px;width:calc(100vw - 32px)}#am509-form-error,#am509-stock-error{color:#b42318}.am509-form .field.full{grid-column:1/-1}.am509-form .input{width:100%}@media(max-width:650px){.am509-toolbar,.am509-control-entry{flex-wrap:wrap}.am509-toolbar select{max-width:none;flex:1}.am509-pager{flex-wrap:wrap}.am509-pager span{width:100%}.am509-hero{flex-direction:column}.am509-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.am509-card{padding:12px}.am509-card strong{font-size:18px}.am509-scroll{max-height:50vh}}
/* 509 proportional freeze panes, scoped to delivery/inventory lists only. */
#page .desktop-table:has(>table.am509-freeze){max-height:60vh!important;max-height:min(60vh,580px)!important;overflow:auto!important;position:relative;isolation:isolate;overscroll-behavior:contain}
#page .desktop-table table.am509-freeze{width:100%!important;min-width:820px!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important}
#page table.am509-freeze .am509-col-0{width:190px}#page table.am509-freeze .am509-col-5{width:70px}#page table.am509-freeze .am509-col-4{width:120px}
#page table.am509-inventory .am509-col-1{width:85px}#page table.am509-inventory .am509-col-2,#page table.am509-inventory .am509-col-3{width:145px}
#page table.am509-delivery .am509-col-2{width:160px}#page table.am509-delivery .am509-col-3{width:140px}
#page .desktop-table table.am509-freeze th,#page .desktop-table table.am509-freeze td{min-width:0!important;max-width:none!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;left:auto;right:auto;padding:11px 12px!important;line-height:1.5!important;vertical-align:middle!important}
#page .desktop-table table.am509-freeze th{position:sticky!important;top:0!important;z-index:4!important;background:#eef3f9!important;box-shadow:0 1px 0 #dce5ef}
#page .desktop-table table.am509-freeze td{position:static!important;background:#fff}
#page .desktop-table table.am509-freeze td:first-child{position:sticky!important;left:0!important;z-index:2!important;background:#fff!important;box-shadow:2px 0 0 #e2e8f0}
#page .desktop-table table.am509-freeze th:first-child{left:0!important;z-index:6!important;box-shadow:2px 0 0 #dce5ef,0 1px 0 #dce5ef}
#page table.am509-freeze small{display:block;color:#64748b;font-size:12px;line-height:1.5;margin-top:4px}#page table.am509-freeze .am509-numeric{text-align:right!important;white-space:nowrap!important}#page table.am509-freeze td:last-child{text-align:center!important}#page table.am509-freeze .am505-menu-trigger{min-width:36px!important;padding:6px!important}#page table.am509-freeze tbody tr:hover td{background:#f8fbff!important}
.am509-scroll table{min-width:640px!important}.am509-scroll th:first-child{left:auto!important}.am509-scroll td:first-child{position:static!important}
@media(max-width:600px){#page .desktop-table table.am509-freeze{min-width:760px!important}#page table.am509-freeze .am509-col-0{width:140px}#page .desktop-table table.am509-freeze th,#page .desktop-table table.am509-freeze td{padding:9px 10px!important;font-size:12px!important}}
/* 510: one responsive modal layout, overriding conflicting legacy modal rules. */
#modalRoot .modal-backdrop{position:fixed!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;overflow:hidden!important}
#modalRoot .modal{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;position:relative!important;inset:auto!important;transform:none!important;margin:0!important;width:min(1040px,100%)!important;max-width:1040px!important;min-width:0!important;height:auto!important;max-height:calc(100vh - 32px)!important;max-height:calc(100dvh - 32px)!important;border-radius:16px!important;overflow:hidden!important}
#modalRoot .modal-head{flex:0 0 auto!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:12px 16px!important;background:#fff!important}
#modalRoot .modal-head h2{margin:0!important;font-size:18px!important;line-height:1.3!important;overflow-wrap:anywhere}
#modalRoot .modal-head>.btn{flex:0 0 40px;min-width:40px!important;min-height:40px!important;padding:8px!important}
#modalRoot .modal-body{flex:1 1 auto!important;min-height:0!important;max-height:none!important;padding:14px 16px!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;font-size:14px!important;line-height:1.45!important}
#modalRoot .am509-hero{padding:12px 14px!important;gap:12px!important;flex-direction:row!important;align-items:flex-start!important;border-radius:10px!important}
#modalRoot .am509-hero>div{min-width:0;flex:1}
#modalRoot .am509-hero h3{font-size:18px!important;line-height:1.3!important;margin:4px 0!important;overflow-wrap:anywhere}
#modalRoot .am509-hero p{font-size:13px!important;line-height:1.4!important;margin:4px 0!important}
#modalRoot .am509-hero small{font-size:10px!important;letter-spacing:.8px!important}
#modalRoot .am510-party-name{max-width:none!important;white-space:normal!important;overflow-wrap:anywhere;font-weight:600}
#modalRoot details.am510-party-details{padding:0!important;border:0!important;background:transparent!important;margin:6px 0 0!important;border-radius:0!important}
#modalRoot details.am510-party-details summary{font-size:12px!important;margin:0!important;min-height:32px;display:list-item;align-content:center;color:#2458a8;cursor:pointer}
#modalRoot .am510-party-address{white-space:pre-line;font-size:13px;line-height:1.5;padding:8px 0;overflow-wrap:anywhere}
#modalRoot .am509-cards{gap:10px!important;margin:10px 0!important}
#modalRoot .am510-totals{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#modalRoot .am509-card{min-width:0!important;padding:10px 12px!important;gap:5px!important;border-radius:10px!important}
#modalRoot .am509-card span{font-size:12px!important;line-height:1.35!important}
#modalRoot .am509-card strong{font-size:clamp(16px,1.8vw,20px)!important;line-height:1.3!important}
#modalRoot .am509-sub{font-size:12px!important;line-height:1.4!important;margin:8px 0!important}
#modalRoot .am509-tabs{position:sticky;top:-14px;z-index:8;background:#fff;gap:6px!important;margin:8px 0!important;padding:8px 0!important;max-width:100%;overflow-x:auto;flex-wrap:nowrap}
#modalRoot .am509-tabs .btn{min-height:38px!important;padding:8px 11px!important;font-size:12px!important;border-radius:8px!important;flex:0 0 auto}
#modalRoot .am509-scroll{max-height:none!important;margin:8px 0;border-radius:8px}
#modalRoot .am509-scroll th,#modalRoot .am509-scroll td{padding:9px 10px!important;font-size:12px!important;line-height:1.4!important}
#modalRoot .am509-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 14px!important}
#modalRoot .am509-form .form-grid>.field:not(.full){grid-column:auto!important;min-width:0!important;margin:4px 0!important}
#modalRoot .am509-form .field label{font-size:12px!important;margin-bottom:4px!important}
#modalRoot .am509-form .input{padding:9px 10px!important;min-height:40px!important;font-size:14px!important;border-radius:8px!important}
#modalRoot .am509-form details{padding:10px 12px!important;margin:10px 0!important}
#modalRoot .am509-footer{margin-top:12px!important}
@media(min-width:601px) and (max-width:1100px){#modalRoot .modal-backdrop{padding:12px!important}#modalRoot .modal{width:100%!important;max-width:960px!important;max-height:calc(100vh - 24px)!important;max-height:calc(100dvh - 24px)!important}#modalRoot .am509-hero h3{font-size:17px!important}}
@media(max-width:600px){#modalRoot .modal-backdrop{padding:6px!important;align-items:center!important}#modalRoot .modal{width:100%!important;max-width:100%!important;max-height:calc(100vh - 12px)!important;max-height:calc(100dvh - 12px)!important;border-radius:12px!important}#modalRoot .modal-head{padding:8px 12px!important}#modalRoot .modal-head h2{font-size:16px!important}#modalRoot .modal-body{padding:10px 12px!important}#modalRoot .am509-hero{padding:10px!important;gap:8px!important}#modalRoot .am509-hero h3{font-size:16px!important}#modalRoot .am509-pill{font-size:11px!important;padding:4px 7px!important;white-space:nowrap}#modalRoot .am510-totals{grid-template-columns:1fr!important;gap:0!important;border:1px solid #dce5ef;border-radius:10px;overflow:hidden}#modalRoot .am510-totals .am509-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;border:0!important;border-radius:0!important;padding:8px 10px!important}#modalRoot .am510-totals .am509-card+.am509-card{border-top:1px solid #e2e8f0!important}#modalRoot .am510-totals strong{text-align:right;font-size:16px!important}#modalRoot .am509-form .form-grid{grid-template-columns:1fr!important}#modalRoot .am509-tabs{top:-10px}#modalRoot .am509-pager{font-size:12px;gap:6px}#modalRoot .am509-pager .btn{min-height:40px!important}#modalRoot .am509-form .input{font-size:16px!important}}
@media(max-height:550px) and (min-width:601px){#modalRoot .modal-backdrop{padding:6px!important}#modalRoot .modal{max-height:calc(100vh - 12px)!important;max-height:calc(100dvh - 12px)!important}#modalRoot .modal-head{padding:6px 12px!important}#modalRoot .modal-body{padding:8px 12px!important}#modalRoot .am509-tabs{top:-8px}}
