/* ===== css/namphuong-app-1.46.0.css ===== */
/* ===== css/app.css ===== */
:root{--navy:#0f304d;--blue:#205b85;--bg:#f4f7fb;--card:#fff;--line:#dfe7ef;--text:#132238;--muted:#66758a;--danger:#b42318;--ok:#067647}*{box-sizing:border-box}body{margin:0;font:14px system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-view{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eaf3fb,#fff)}.login-card{width:min(420px,92vw);background:#fff;padding:30px;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px #18324b22}.login-card h1{margin:0 0 6px}.login-card p{color:var(--muted);margin:0 0 22px}label{display:grid;gap:6px;margin:12px 0;font-weight:600}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #cfd9e5;border-radius:9px;background:#fff}textarea{min-height:84px;resize:vertical}button{border:0;border-radius:9px;padding:10px 14px;cursor:pointer}.primary{background:var(--blue);color:#fff;font-weight:700}.secondary{background:#eaf0f6}.danger{background:#fee4e2;color:var(--danger)}.app{display:grid;grid-template-columns:222px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#fff;padding:18px 8px;display:flex;flex-direction:column}.brand{font-size:19px;font-weight:800;padding:6px 8px 16px}.sidebar nav{display:grid;gap:4px}.sidebar nav button,.logout{background:transparent;color:#fff;text-align:left}.sidebar nav button.active,.sidebar nav button:hover{background:var(--blue)}.logout{margin-top:auto}main{min-width:0}header{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 22px}header small{display:block;color:var(--muted);margin-top:3px}#content{padding:22px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.page-head h2{margin:0}.actions{display:flex;gap:8px;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 3px 12px #1c36520a}.metric span{color:var(--muted)}.metric strong{display:block;font-size:25px;margin-top:8px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{font-size:12px;color:var(--muted);background:#fbfcfe;text-transform:uppercase}tr.clickable:hover{background:#f3f8fc}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.toolbar input,.toolbar select{width:auto;min-width:160px}.pill{display:inline-block;padding:3px 8px;border-radius:999px;background:#eef3f8}.pill.ok{background:#dcfae6;color:var(--ok)}.pill.bad{background:#fee4e2;color:var(--danger)}.muted{color:var(--muted)}.right{text-align:right}.modal-backdrop{position:fixed;inset:0;background:#0b1f33a8;display:grid;place-items:center;padding:18px;z-index:20}.modal{background:#fff;width:min(760px,96vw);max-height:92vh;overflow:auto;border-radius:15px;padding:20px}.modal.wide{width:min(1050px,97vw)}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.sale-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.item-row{display:grid;grid-template-columns:2fr .7fr .9fr .8fr auto;gap:8px;align-items:end;margin-bottom:8px}.summary-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--line)}.message{margin-top:12px;color:var(--danger)}#toastRoot{position:fixed;right:18px;bottom:18px;z-index:40}.toast{background:#102f4b;color:#fff;padding:11px 14px;border-radius:9px;margin-top:8px;box-shadow:0 8px 25px #0003}.empty{padding:28px;text-align:center;color:var(--muted)}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:10;flex-direction:row;overflow:auto;align-items:center;padding:8px}.brand{display:none}.sidebar nav{display:flex}.sidebar nav button{white-space:nowrap}.logout{margin:0 0 0 auto}.cards{grid-template-columns:repeat(2,1fr)}.grid-2,.sale-layout{grid-template-columns:1fr}header{display:none}#content{padding:12px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.item-row{grid-template-columns:1fr 1fr}.item-row>*:first-child{grid-column:1/-1}}@media(max-width:520px){.cards{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}}

.metric small{display:block;color:var(--muted);margin-top:7px}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.quick-grid button{background:#fff;border:1px solid var(--line);text-align:left;padding:15px}.quick-grid button:hover{border-color:var(--blue);box-shadow:0 5px 15px #17334c12}.quick-grid b,.quick-grid span{display:block}.quick-grid span{color:var(--muted);margin-top:5px;font-size:12px}.profile-actions{display:flex;gap:8px;margin:14px 0}.customer-info{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}.customer-info>div{background:#f7f9fc;border:1px solid var(--line);padding:12px;border-radius:10px}.customer-info b,.customer-info span{display:block}.customer-info span{margin-top:4px}.sale-customer-row{display:grid;grid-template-columns:2fr 1fr;gap:12px}.customer-snapshot{background:#f5f9fd;border:1px solid var(--line);border-radius:10px;padding:12px;margin:8px 0 14px;line-height:1.6}.product-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.product-shortcuts button{background:#edf4fa;color:#174c72;padding:8px 10px}.sticky-summary{align-self:start;position:sticky;top:76px}.split-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.summary-row.total{font-size:16px;border-top:2px solid var(--line);margin-top:5px;padding-top:11px}.text-danger{color:var(--danger)}button:disabled{opacity:.6;cursor:not-allowed}.report-filter label{margin:0}.report-filter{align-items:end}
@media(max-width:900px){.quick-grid{grid-template-columns:repeat(2,1fr)}.sticky-summary{position:static}.sale-customer-row{grid-template-columns:1fr}.customer-info{grid-template-columns:1fr}}
@media(max-width:520px){.quick-grid{grid-template-columns:1fr}.profile-actions{flex-direction:column}.split-actions{grid-template-columns:1fr}}

.money-input{font-variant-numeric:tabular-nums;font-weight:600}.field-help{display:block;margin-top:6px;color:var(--muted);font-weight:400;line-height:1.35}
.nav-sale-fast{background:#0f6fa4!important;color:#fff!important;font-weight:800;margin:4px 6px 8px;width:calc(100% - 12px)!important}
.floating-sale{position:fixed;right:22px;bottom:22px;z-index:80;border:0;border-radius:999px;padding:14px 20px;background:#0f6fa4;color:#fff;font-weight:800;box-shadow:0 10px 28px rgba(15,111,164,.35);cursor:pointer}
.invoice-preview{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;overflow:auto}.invoice-preview .invoice{max-width:760px;margin:auto}.invoice-preview h1{text-align:center;margin:0}.invoice-preview .sub{text-align:center;margin:6px 0 24px;font-weight:800}.invoice-preview .info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.invoice-preview table{width:100%;border-collapse:collapse}.invoice-preview th,.invoice-preview td{border-bottom:1px solid #ddd;padding:10px;text-align:left}.invoice-preview .right{text-align:right}.invoice-preview .total{font-size:18px;font-weight:800}.invoice-preview .sign{display:grid;grid-template-columns:1fr 1fr;text-align:center;margin-top:48px}.invoice-preview .no-print{display:none}
@media(max-width:760px){.floating-sale{right:14px;bottom:14px}.invoice-preview{padding:12px}.invoice-preview .info{grid-template-columns:1fr}.invoice-preview table{font-size:12px}.invoice-preview th,.invoice-preview td{padding:7px}}
hr{border:0;border-top:1px solid var(--line);margin:18px 0}.summary-section{margin:16px 0 6px;padding:8px 10px;background:#eef4f8;border-radius:8px;font-size:12px;letter-spacing:.04em}.metric-alert{border-color:#ef9a9a;background:#fff7f7}.row-warning{background:#fff8f0}.debt-alert{margin:12px 0;padding:12px 14px;border-radius:10px}.debt-alert.danger{background:#fff0f0;border:1px solid #efb2b2;color:#9b1c1c}.debt-alert.info{background:#eef6ff;border:1px solid #b8d8f5}.hidden{display:none!important}
.health-hero{display:grid;grid-template-columns:.65fr 1.35fr;gap:18px;margin-bottom:14px;padding:20px;border-radius:16px;background:linear-gradient(135deg,#0f304d,#205b85);color:#fff}.health-hero span,.health-hero strong,.health-hero b{display:block}.health-hero strong{font-size:42px;margin:5px 0}.health-notes{display:grid;gap:8px;align-content:center}.health-notes p{margin:0;padding:9px 12px;border-radius:9px;background:#ffffff18}.health-notes .good:before{content:'✓ ';font-weight:900}.health-notes .warn:before{content:'⚠ ';font-weight:900}.dashboard-grid{margin:14px 0}.bar-chart{height:230px;display:flex;align-items:stretch;gap:5px;padding-top:28px}.bar-col{min-width:0;flex:1;display:grid;grid-template-rows:20px 1fr 22px;text-align:center}.bar-value{font-size:9px;color:var(--muted);overflow:hidden}.bar-track{height:100%;display:flex;align-items:flex-end;background:#eef3f8;border-radius:5px 5px 0 0;overflow:hidden}.bar-fill{width:100%;background:linear-gradient(180deg,#3a8cc1,#205b85);border-radius:5px 5px 0 0;min-height:0}.bar-label{font-size:10px;color:var(--muted);padding-top:5px}.cash-split{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cash-split>div{background:#f6f9fc;border:1px solid var(--line);padding:12px;border-radius:10px}.cash-split span,.cash-split strong{display:block}.cash-split span{color:var(--muted);font-size:12px}.cash-split strong{margin-top:5px;font-size:17px}.invoice-preview .payment-box{margin-top:16px;border:2px solid var(--text);border-radius:8px;padding:12px}.invoice-preview .payment-row{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px dashed var(--line)}.invoice-preview .payment-row:last-child{border:0}.invoice-preview .grand{font-size:18px;font-weight:800}@media(max-width:760px){.health-hero{grid-template-columns:1fr}.cash-split{grid-template-columns:1fr}.bar-chart{height:190px}}
/* Stable 1.2 - CEO Dashboard */
.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-delta{display:block;margin:4px 0 6px;font-weight:700}.good-text{color:#149447}.bad-text{color:#d33b32}.health-scale{height:7px;background:rgba(255,255,255,.18);border-radius:999px;margin-top:12px;overflow:hidden;max-width:250px}.health-scale i{display:block;height:100%;background:#fff;border-radius:999px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.insight-list{display:grid;gap:10px;margin-top:14px}.insight{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border-radius:10px;background:#f3f7fb}.insight>span{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;font-weight:800;background:#dfeaf5}.insight p{margin:2px 0 0;line-height:1.45}.insight.good{background:#effaf3}.insight.good>span{background:#ccefd8;color:#13743a}.insight.bad{background:#fff3f1}.insight.bad>span{background:#ffd8d3;color:#b42d24}.rank-list{display:grid;margin-top:10px}.rank-list>div{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #e5edf4}.rank-list>div:last-child{border-bottom:0}.rank-list .rank{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#eaf2f9;font-weight:800}.rank-list p{display:flex;flex-direction:column;margin:0;flex:1}.rank-list small{color:#708397;margin-top:2px}.attention-card{margin-top:14px;border-left:4px solid #e7a928}.inactive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.inactive-grid>div{display:flex;flex-direction:column;padding:12px;background:#fff8e8;border-radius:10px}.inactive-grid span{font-size:12px;color:#8a671d;margin-top:4px}@media(max-width:1100px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.inactive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.dashboard-kpis,.inactive-grid{grid-template-columns:1fr}.card-title-row{align-items:flex-start;flex-direction:column}}

/* Stable 1.4.2 - Invoice preview layout fix */
.invoice-preview{padding:16px;container-type:inline-size}
.invoice-preview .invoice{max-width:840px;width:100%;margin:0 auto}
.invoice-preview .invoice h1.title{margin:0 0 14px;text-align:center}
.invoice-preview .invoice table.items{border-collapse:separate;border-spacing:0}
.invoice-preview .invoice .sign{margin-top:22px}
@container (max-width:760px){
  .invoice-preview .invoice .header{grid-template-columns:120px minmax(180px,1fr) 220px;gap:8px;padding:10px 12px}
  .invoice-preview .invoice .logo{width:115px;height:78px}
  .invoice-preview .invoice .brand .over{font-size:17px}
  .invoice-preview .invoice .brand .name{font-size:25px}
  .invoice-preview .invoice .brand .slogan{font-size:11px;margin-top:6px}
  .invoice-preview .invoice .contacts{font-size:10.5px;line-height:1.35}
  .invoice-preview .invoice .title{font-size:22px}
  .invoice-preview .invoice .bottom{grid-template-columns:1fr 1fr}
  .invoice-preview .invoice .bottom .panel:last-child{grid-column:1/-1;min-height:auto}
}
@container (max-width:580px){
  .invoice-preview .invoice .header{grid-template-columns:1fr;text-align:center}
  .invoice-preview .invoice .logo{margin:auto;width:150px;height:92px}
  .invoice-preview .invoice .brand{border-right:0;padding-right:0}
  .invoice-preview .invoice .contacts{text-align:left}
  .invoice-preview .invoice .meta,.invoice-preview .invoice .bottle,.invoice-preview .invoice .bottom{grid-template-columns:1fr}
  .invoice-preview .invoice .bottom .panel:last-child{grid-column:auto}
}
/* Stable 1.6 - Mobile/PWA */
.menu-btn,.menu-close{display:none}.mobile-bottom-nav{display:none}.member-form{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:end}.member-form label{margin:0}.member-form button{height:42px}
@media(max-width:900px){
 body{padding-bottom:68px}.app{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(310px,86vw);z-index:120;display:flex;flex-direction:column;align-items:stretch;overflow-y:auto;padding:18px 10px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 30px #071a2b40}.menu-open .sidebar{transform:translateX(0)}.menu-open:after{content:'';position:fixed;inset:0;background:#06192b88;z-index:110}.brand{display:block;padding-right:42px}.menu-close{display:block;position:absolute;right:10px;top:10px;background:#ffffff18;color:#fff}.sidebar nav{display:grid}.sidebar nav button{width:100%;white-space:normal}.logout{margin-top:auto}
 header{display:flex;height:58px;padding:0 12px;position:sticky;top:0;z-index:60}.menu-btn{display:block;background:#eaf0f6;font-size:20px;padding:7px 11px;margin-right:10px}#today{font-size:12px}#content{padding:12px 10px 18px}.page-head{margin-bottom:12px}.page-head h2{font-size:20px}.actions button{padding:9px 11px}.floating-sale{display:none!important}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;height:62px;z-index:100;background:#fff;border-top:1px solid var(--line);display:flex;align-items:stretch;justify-content:space-around;box-shadow:0 -6px 18px #17334c12}.mobile-bottom-nav button{flex:1;background:#fff;border-radius:0;padding:7px 3px;font-size:11px;color:#53677b}.mobile-bottom-nav button.active{color:#0f6fa4;font-weight:800;background:#edf6fb}.mobile-bottom-nav button:nth-child(2){color:#fff;background:#0f6fa4;font-size:12px;font-weight:800;margin:5px;border-radius:10px}
 .modal-backdrop{padding:0;align-items:end}.modal,.modal.wide{width:100%;max-height:94vh;border-radius:18px 18px 0 0;padding:15px}.table-wrap{border-radius:10px}.table-wrap table{min-width:680px}.cards{gap:9px}.card{padding:13px}.metric strong{font-size:21px}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar input,.toolbar select{width:100%;min-width:0}.sale-layout{display:block}.sale-layout>.card{margin-bottom:10px}.sticky-summary{position:static}.item-row{grid-template-columns:1fr 1fr}.item-row>*:first-child{grid-column:1/-1}.member-form{grid-template-columns:1fr}.health-hero{padding:15px}.health-hero strong{font-size:34px}
}
@media(max-width:520px){header #businessName{font-size:13px}header small{font-size:10px}.cards,.dashboard-kpis{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.sale-customer-row,.form-grid{grid-template-columns:1fr}.product-shortcuts{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.product-shortcuts button{white-space:nowrap}.invoice-preview{padding:0;border:0;background:transparent;overflow:visible}.invoice-preview .invoice{min-width:0;width:100%;transform:none}.page-head{flex-direction:column;align-items:stretch}.actions{display:grid;grid-template-columns:1fr 1fr}.actions button{width:100%}}

/* Stable 1.7 - Mobile sales workflow */
.header-status{display:flex;align-items:center;gap:12px}.online-status{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:#e8f7ed;color:#087443;font-size:11px;font-weight:800}.online-status:before{content:'';width:7px;height:7px;border-radius:50%;background:#18a957}.online-status.offline{background:#fff0ee;color:#b42318}.online-status.offline:before{background:#d92d20}.mobile-step-title{display:flex;align-items:center;gap:10px;margin:2px 0 12px}.mobile-step-title>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#0f6fa4;color:#fff;font-weight:900}.mobile-step-title b,.mobile-step-title small{display:block}.mobile-step-title small{margin-top:2px;color:var(--muted);font-weight:400}.customer-search-label{margin-bottom:4px}.customer-search-label input{background:#f7fbfe;border-color:#9fc8e2}.mobile-payment-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}.mobile-payment-presets button{background:#eef6fb;color:#0f5f96;font-weight:800;border:1px solid #cfe4f1}.qty-control{display:grid;grid-template-columns:38px minmax(60px,1fr) 38px;gap:5px}.qty-control button{padding:8px 4px;background:#eaf3f9;color:#0f5f96;font-size:18px;font-weight:900}.qty-control input{text-align:center}.mobile-sale-bar{display:none}
@media(max-width:900px){.header-status{margin-left:auto}.online-status{font-size:10px;padding:3px 7px}.mobile-sale-form{padding-bottom:78px}.mobile-sale-bar{position:fixed;left:0;right:0;bottom:62px;z-index:105;background:#0f304d;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;box-shadow:0 -7px 20px #071a2b38}.mobile-sale-bar.hidden{display:none!important}.mobile-sale-bar small,.mobile-sale-bar strong{display:block}.mobile-sale-bar small{opacity:.75}.mobile-sale-bar strong{font-size:18px}.mobile-sale-bar button{background:#fff;color:#0f5f96;font-weight:900;min-width:130px}.mobile-payment-presets{grid-template-columns:1fr}.item-row{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;margin-bottom:10px}.item-row>.danger{align-self:end;height:42px}.customer-snapshot{font-size:13px}.product-shortcuts{scroll-snap-type:x mandatory}.product-shortcuts button{scroll-snap-align:start;min-height:42px}.mobile-step-title{margin-top:0}}
@media(max-width:520px){input,select,textarea,button{min-height:44px;font-size:16px}.login-card{padding:22px 18px}.mobile-bottom-nav{height:66px}.mobile-sale-bar{bottom:66px}.item-row{grid-template-columns:1fr 1fr}.item-row>label:first-child{grid-column:1/-1}.item-row>label:nth-child(3),.item-row>label:nth-child(4){grid-column:auto}.item-row>.danger{grid-column:1/-1;background:#fff1f0}.sale-customer-row{gap:6px}.mobile-payment-presets button{font-size:14px}.quick-grid button{min-height:72px}.header-status #today{display:none}}


/* Stable 1.7.1 - Invoice/mobile hardening */
.invoice-preview>.npinv{width:100%;max-width:820px}
@media(max-width:900px){.modal.wide .invoice-preview{margin:0 -4px}.modal.wide .profile-actions{position:sticky;top:-15px;z-index:5;background:#fff;padding:8px 0}.npinv{box-shadow:none!important}.npinv-brandbar{align-items:start!important}.npinv-brand,.npinv-contact,.npinv-meta>div,.npinv-row span,.npinv-row strong{min-width:0;overflow-wrap:anywhere}.npinv-table{display:table;table-layout:auto}.npinv-table th,.npinv-table td{white-space:normal!important}.npinv-table th:nth-child(1),.npinv-table td:nth-child(1){width:42px}.npinv-table th:nth-child(3),.npinv-table td:nth-child(3){width:64px}.npinv-table th:nth-child(4),.npinv-table td:nth-child(4){width:52px}}
@media(max-width:520px){.npinv-topline{height:8px!important}.npinv-brandbar{padding:10px!important}.npinv-logo{width:118px!important;height:68px!important}.npinv-brand-top{font-size:16px!important}.npinv-brand-name{font-size:24px!important}.npinv-brand-slogan{font-size:12px!important}.npinv-contact{font-size:11px!important;line-height:1.35!important}.npinv-body{padding:10px 8px 12px!important}.npinv-title{font-size:19px!important;margin-bottom:10px!important}.npinv-title:after{width:150px!important}.npinv-meta{gap:6px!important;padding:9px!important;margin-bottom:10px!important}.npinv-meta div{font-size:12.5px!important}.npinv-table th{font-size:10px!important;padding:7px 3px!important}.npinv-table td{font-size:11.5px!important;padding:7px 4px!important}.npinv-table th:nth-child(1),.npinv-table td:nth-child(1){display:none}.npinv-table th:nth-child(3),.npinv-table td:nth-child(3){display:none}.npinv-row{gap:8px!important;padding:8px 9px!important}.npinv-row strong{max-width:52%}.npinv-row.total{align-items:center!important}.npinv-row.total span{font-size:13px}.npinv-row.total strong{font-size:17px!important}.npinv-qrbox{padding:9px!important}.npinv-qr{width:150px!important;height:150px!important}.npinv-box{min-height:0!important}.npinv-sign{padding-bottom:22px!important}.npinv-thanks{font-size:12.5px!important;padding:10px!important}.npinv-thanks strong{font-size:14px!important}.npinv-footer{grid-template-columns:1fr!important;font-size:10px!important}.profile-actions{display:grid!important;grid-template-columns:1fr 1fr}.profile-actions button{width:100%}}

/* Stable 1.7.3 - Mobile-first sales entry inspired by real field workflow */
@media (max-width: 900px){
  body.mobile-sales-open{background:#f4f7fb}
  .mobile-sale-form{display:block!important;padding-bottom:150px}
  .mobile-sale-form>.card{border:0;border-radius:0;box-shadow:none;margin:0 -10px 10px;padding:14px 12px;background:#fff}
  .mobile-sale-form .mobile-step-title{position:sticky;top:58px;z-index:18;background:#fff;margin:-14px -12px 12px;padding:10px 12px;border-bottom:1px solid var(--line)}
  .mobile-sale-form .mobile-step-title>span{width:28px;height:28px;font-size:13px}
  .mobile-sale-form .customer-search-label input{height:48px;border-radius:14px;padding-left:14px;background:#f7f9fc}
  .mobile-sale-form .sale-customer-row{display:grid;grid-template-columns:1fr 118px;gap:8px}
  .mobile-sale-form .sale-customer-row select,.mobile-sale-form .sale-customer-row input{height:46px;border-radius:12px}
  .mobile-sale-form .customer-snapshot{background:#eef7fd;border:1px solid #cfe7f7;border-radius:12px;padding:10px 12px;color:#154d70}
  .mobile-sale-form .product-shortcuts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(145px,1fr);gap:8px;overflow-x:auto;padding:2px 0 10px;margin:0 -2px;scrollbar-width:none}
  .mobile-sale-form .product-shortcuts::-webkit-scrollbar{display:none}
  .mobile-sale-form .product-shortcuts button{min-height:58px;border-radius:14px;background:#f5f9fc;border:1px solid #d9e6ef;color:#173c57;text-align:left;padding:10px 12px;white-space:normal;line-height:1.25}
  .mobile-sale-form .product-shortcuts button:active{transform:scale(.98);background:#e9f5fc}
  .mobile-sale-form #saleItems{display:grid;gap:10px}
  .mobile-sale-form .item-row{display:grid!important;grid-template-columns:1fr 110px!important;gap:8px!important;padding:12px!important;border-radius:14px!important;background:#fff!important;box-shadow:0 4px 14px #153b5512}
  .mobile-sale-form .item-row>label:first-child{grid-column:1/-1}
  .mobile-sale-form .item-row>label:nth-child(2){grid-column:1/2}
  .mobile-sale-form .item-row>label:nth-child(3){grid-column:2/3}
  .mobile-sale-form .item-row>label:nth-child(4){grid-column:1/2}
  .mobile-sale-form .item-row>.danger{grid-column:2/3;align-self:end;height:46px}
  .mobile-sale-form .item-row label{font-size:12px;color:#65788a}
  .mobile-sale-form .item-row input,.mobile-sale-form .item-row select{height:46px;border-radius:11px;font-size:16px;background:#fff}
  .mobile-sale-form .qty-control{grid-template-columns:44px 1fr 44px}
  .mobile-sale-form .qty-control button{height:46px;border-radius:10px;font-size:21px}
  .mobile-sale-form textarea{min-height:72px;border-radius:12px}
  .mobile-sale-form .sticky-summary{position:static!important}
  .mobile-sale-form .mobile-payment-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;position:sticky;top:106px;z-index:17;background:#fff;padding:8px 0}
  .mobile-sale-form .mobile-payment-presets button{min-height:44px;border-radius:12px;font-size:12px;padding:7px 5px}
  .mobile-sale-form h3{font-size:15px;margin:16px 0 8px;padding-top:4px}
  .mobile-sale-form hr{margin:16px 0;border:0;border-top:1px solid #e7edf3}
  .mobile-sale-form .split-actions{display:none}
  .mobile-sale-form #saveSaleBtn{display:none}
  .mobile-sale-bar{height:74px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:#fff;color:#173c57;border-top:1px solid #dce6ee;box-shadow:0 -8px 22px #0c2c4220}
  .mobile-sale-bar>div{min-width:0}
  .mobile-sale-bar small{color:#6f8191;opacity:1}
  .mobile-sale-bar strong{font-size:20px;color:#0b4168}
  .mobile-sale-bar button{min-width:145px;min-height:50px;background:#0877c9;color:#fff;border-radius:14px;font-size:15px}
  .mobile-bottom-nav{z-index:110}
}
@media (max-width:520px){
  .mobile-sale-form .sale-customer-row{grid-template-columns:1fr}
  .mobile-sale-form .mobile-payment-presets{grid-template-columns:repeat(3,1fr)}
  .mobile-sale-form .mobile-payment-presets button{font-size:11px}
  .mobile-sale-form .item-row{grid-template-columns:1fr 104px!important}
  .mobile-sale-form>.card{margin-left:-10px;margin-right:-10px}
}


/* Stable 1.7.5 - Mobile navigation and usability overhaul */
.mobile-menu-backdrop{display:none}
@media(max-width:900px){
  body{padding-bottom:76px;overflow-x:hidden}
  #content{padding:10px 10px 22px}
  header{height:56px;padding:0 10px;background:#fff;box-shadow:0 2px 10px #17334c0d}
  header>div:first-of-type{min-width:0}
  #businessName{display:block;max-width:47vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #userEmail{display:none}
  .menu-btn{width:42px;min-width:42px;height:42px;padding:0;display:grid;place-items:center;border-radius:12px;background:#edf4f8;color:#0f5f96}
  .mobile-menu-backdrop{position:fixed;inset:0;z-index:111;background:rgba(6,25,43,.55);backdrop-filter:blur(2px)}
  .mobile-menu-backdrop:not(.hidden){display:block}
  .menu-open:after{display:none!important}
  .sidebar{width:min(300px,84vw);z-index:120;padding:16px 12px 14px;border-radius:0 18px 18px 0}
  .sidebar .brand{font-size:20px;padding:8px 44px 14px 8px}
  .sidebar nav{gap:6px}
  .sidebar nav button,.logout{min-height:46px;border-radius:12px;padding:11px 13px;font-size:15px}
  .sidebar nav button.active{background:#1c6f9f;box-shadow:inset 3px 0 0 #7dd3fc}
  .menu-close{width:40px;height:40px;min-height:40px;padding:0;border-radius:12px;font-size:18px}
  .mobile-bottom-nav{height:72px;padding:5px 6px calc(5px + env(safe-area-inset-bottom));gap:2px;border-top:1px solid #dce6ee;box-shadow:0 -8px 24px #153b5517}
  .mobile-bottom-nav button{min-width:0;min-height:58px;padding:4px 2px;border-radius:12px!important;margin:0!important;background:transparent!important;color:#607487!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10.5px!important;font-weight:650!important;line-height:1.1;touch-action:manipulation}
  .mobile-bottom-nav button .mnav-icon{font-size:20px;line-height:1}
  .mobile-bottom-nav button.active{color:#0b6fa8!important;background:#edf7fc!important}
  .mobile-bottom-nav .mnav-sale{position:relative;color:#fff!important;transform:translateY(-13px);background:#0b7fc1!important;box-shadow:0 8px 20px rgba(11,127,193,.32);border:4px solid #fff!important;min-height:66px;border-radius:20px!important}
  .mobile-bottom-nav .mnav-sale.active{background:#075f91!important;color:#fff!important}
  .mnav-plus{font-size:28px;line-height:.8;font-weight:400}
  .page-head{gap:8px;margin-bottom:10px}
  .page-head h2{font-size:19px;line-height:1.25}
  .actions{grid-template-columns:1fr 1fr;gap:7px}
  .actions button{min-height:42px}
  .table-wrap{margin-left:-2px;margin-right:-2px;-webkit-overflow-scrolling:touch}
  .modal-backdrop{z-index:150}
  .toast{max-width:calc(100vw - 24px)}
  #toastRoot{left:12px;right:12px;bottom:86px}
}
@media(max-width:520px){
  .header-status{gap:5px}
  .online-status{max-width:112px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .mobile-bottom-nav button{font-size:10px!important}
  .quick-grid{gap:8px}
  .quick-grid button{padding:12px;min-height:68px}
  .card{border-radius:12px}
  .modal,.modal.wide{padding:12px}
}

/* ===== Stable 1.8.0 · PWA hoàn chỉnh ===== */
html,body{width:100%;height:100%;overscroll-behavior-y:none;overscroll-behavior-x:none}
body{overflow:hidden;min-height:100dvh;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.login-view{min-height:100dvh;height:100dvh;overflow:auto;overscroll-behavior:contain}
.app{height:100dvh;min-height:0;overflow:hidden}
.app>main{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.app>main>header{flex:0 0 62px}
#content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.sidebar{height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.modal-backdrop{height:100dvh;overscroll-behavior:contain}
.modal{max-height:calc(100dvh - 36px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.pwa-prompt{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:80;width:min(560px,calc(100vw - 24px));display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #b9d8ee;border-radius:14px;background:#fff;box-shadow:0 14px 40px #0f304d38;color:var(--text)}
.pwa-prompt>div{min-width:0;display:grid;gap:2px;flex:1}.pwa-prompt small{color:var(--muted);white-space:normal}.pwa-prompt>button:not(.pwa-prompt-close){background:#0f5f96;color:#fff;font-weight:800;white-space:nowrap}.pwa-prompt-close{padding:6px 8px;background:transparent;color:var(--muted)}
.pwa-update{border-color:#f3c86a;background:#fffaf0}.pwa-update>button:not(.pwa-prompt-close){background:#b54708}
body.pwa-standalone .pwa-install-only{display:none!important}
.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:900px){
  body{position:fixed;inset:0;width:100%;height:100dvh}
  .app{height:100dvh;grid-template-columns:1fr}
  .app>main{height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  #content{padding-bottom:calc(92px + env(safe-area-inset-bottom));scroll-behavior:auto}
  .sidebar{position:fixed;height:100dvh;max-height:100dvh;overflow-y:auto}
  .mobile-bottom-nav{padding-bottom:env(safe-area-inset-bottom);height:calc(66px + env(safe-area-inset-bottom))}
  .mobile-sale-bar{bottom:calc(66px + env(safe-area-inset-bottom))}
  .pwa-prompt{bottom:calc(78px + env(safe-area-inset-bottom));align-items:flex-start}
  body.mobile-sales-open .pwa-prompt{bottom:calc(142px + env(safe-area-inset-bottom))}
}
@media(display-mode:standalone){
  body{user-select:none}
  input,textarea,select{user-select:text}
}

/* ===== Stable 1.8.1 · Mobile sales compact + safe invoice exit ===== */
.mobile-sale-section{border:0;margin:0;padding:0}
.mobile-sale-section>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:11px 0;cursor:pointer;user-select:none}
.mobile-sale-section>summary::-webkit-details-marker{display:none}
.mobile-sale-section>summary>div{min-width:0;flex:1;display:grid;gap:2px}
.mobile-sale-section>summary b{font-size:15px}
.mobile-sale-section>summary small{color:var(--muted);font-weight:400}
.section-number{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;background:#e9f4fb;color:#0b6fa8;font-weight:850}
.section-chevron{font-size:20px;color:#708394;transition:transform .2s ease}
.mobile-sale-section[open] .section-chevron{transform:rotate(180deg)}
.mobile-section-body{padding:0 0 12px}
.mobile-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.add-product-row{width:100%;margin-top:8px}
.modal-open{overflow:hidden!important}
.modal-head{position:sticky;top:-20px;z-index:12;margin:-20px -20px 12px;padding:14px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 12px #102f4b10}
.modal-head button{min-width:42px;min-height:42px;font-size:20px;background:#eef3f7;color:#173c57}
@media(max-width:900px){
  .mobile-sale-form{gap:9px!important}
  .mobile-sale-form>.card{padding:10px 12px!important}
  .mobile-sale-section{border-bottom:1px solid #e7edf3}
  .mobile-sale-section:last-child{border-bottom:0}
  .mobile-sale-section>summary{min-height:54px;padding:10px 2px}
  .mobile-sale-section:not([open])>summary{margin-bottom:0}
  .mobile-sale-section .mobile-section-body{animation:npSectionIn .15s ease}
  .mobile-sale-form .sale-customer-row{grid-template-columns:1fr!important}
  .mobile-sale-form .product-shortcuts{grid-auto-columns:minmax(125px,145px)}
  .mobile-sale-form .product-shortcuts button{min-height:50px;padding:8px 10px;font-size:13px}
  .mobile-sale-form .item-row{padding:9px!important;gap:6px!important;grid-template-columns:1fr 96px!important}
  .mobile-sale-form .item-row input,.mobile-sale-form .item-row select{height:42px!important;font-size:15px!important}
  .mobile-sale-form .qty-control{grid-template-columns:38px 1fr 38px!important}
  .mobile-sale-form .qty-control button{height:42px!important;font-size:19px!important}
  .mobile-sale-form .item-row>.danger{height:42px!important}
  .mobile-sale-form textarea{min-height:58px!important}
  .mobile-sale-form .mobile-payment-presets{position:static!important;padding:0 0 6px!important}
  .mobile-sale-form .mobile-payment-presets button{min-height:42px!important}
  .sale-payment-card h3,.sale-payment-card hr,.split-actions{display:none!important}
  .sale-summary-section .mobile-section-body{padding-bottom:2px}
  .modal-backdrop{padding:0!important;place-items:stretch!important}
  .modal,.modal.wide{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:12px!important}
  .modal-head{top:-12px;margin:-12px -12px 10px;padding:10px 12px;min-height:60px}
  .modal-head h3{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .invoice-preview{border:0!important;border-radius:0!important;padding:4px!important;overflow:visible!important}
  .profile-actions{position:sticky;top:50px;z-index:11;background:#fff;padding:7px 0;margin:0 0 8px;display:grid!important;grid-template-columns:1fr 1fr;gap:6px}
  .profile-actions button{min-height:42px}
}
@media(max-width:520px){.mobile-two-fields{grid-template-columns:1fr}.sale-note-label{margin-bottom:0}.profile-actions{grid-template-columns:1fr}}
@keyframes npSectionIn{from{opacity:.35;transform:translateY(-2px)}to{opacity:1;transform:none}}


/* ===== Stable 1.8.2 · Sale review + safe print exit ===== */
.sale-review{display:grid;gap:12px}
.review-customer{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f7fbfe}
.review-customer>b{font-size:18px;color:#103d5d}.review-customer span,.review-customer small{color:var(--muted)}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.review-box{padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}
.review-box span,.review-box strong{display:block}.review-box span{font-size:12px;color:var(--muted);margin-bottom:5px}.review-box strong{font-size:15px;overflow-wrap:anywhere}
.review-note{padding:11px 13px;border-radius:10px;background:#fff8e8;border:1px solid #f1d79b}
.review-summary{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fbfdff}
.review-actions{position:sticky;bottom:-15px;z-index:15;display:grid;grid-template-columns:1fr 1.2fr;gap:10px;margin:4px -15px -15px;padding:12px 15px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 20px #0b2e4514}
.review-actions button{min-height:48px}
@media(max-width:620px){.review-grid{grid-template-columns:1fr 1fr}.sale-review .table-wrap{overflow:auto}.sale-review .table-wrap table{min-width:560px}.review-actions{grid-template-columns:1fr}.review-actions .primary{order:-1}}


/* ===== Stable 1.10.0 · Nam Phương Design System ===== */
:root{--np-blue:#0d6aa8;--np-blue-2:#e9f5fc;--np-green:#16845b;--np-green-2:#e8f7f0;--np-yellow:#d99200;--np-yellow-2:#fff6d8;--np-red:#c83f49;--np-red-2:#fff0f1;--np-purple:#7657c7;--np-shadow:0 10px 28px rgba(22,65,92,.10);--np-radius:16px}
body{background:linear-gradient(180deg,#f4f9fc 0,#f7f8fb 35%,#f4f6f8 100%)}
.sidebar{background:linear-gradient(180deg,#083e64,#0b5d91 55%,#0a4a72);box-shadow:8px 0 30px #06324b26}.brand{font-weight:800;letter-spacing:.2px}.sidebar nav button{display:flex;align-items:center;gap:10px;border-radius:12px;margin:3px 8px;transition:.18s ease}.sidebar nav button:hover{transform:translateX(2px)}.sidebar nav button.active{background:#ffffff20;box-shadow:inset 3px 0 #fff}.nav-ico{width:24px;text-align:center;font-size:17px}.nav-reception{background:#ffffff0d!important}
.card,.request-card,.status-card,.page-intro{border-radius:var(--np-radius)!important;box-shadow:var(--np-shadow);border-color:#dce9f1!important}.primary,.secondary,.danger,button{transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.primary:active,.secondary:active,.danger:active,button:active{transform:scale(.98)}.primary{background:linear-gradient(135deg,#0d6aa8,#1683bd);box-shadow:0 6px 15px #0d6aa833}.icon-btn{display:inline-flex;align-items:center;gap:7px}.big-action{min-height:50px;font-weight:800;font-size:16px;width:100%}
.workflow-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.workflow-strip button{border:0;background:#fff;padding:14px;border-radius:16px;box-shadow:var(--np-shadow);display:grid;grid-template-columns:auto 1fr;grid-template-areas:'i n' 'i t';text-align:left;gap:1px 10px}.workflow-strip span{grid-area:i;font-size:26px}.workflow-strip b{grid-area:n;font-size:22px}.workflow-strip small{grid-area:t;color:var(--muted)}
.page-intro{display:flex;align-items:center;gap:14px;padding:14px 16px;background:linear-gradient(135deg,#e8f6ff,#fff);margin-bottom:14px}.page-intro .intro-icon{font-size:34px}.page-intro b,.page-intro span{display:block}.page-intro span{color:var(--muted);margin-top:3px}
.status-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.status-card{background:#fff;border:1px solid var(--line);padding:13px;text-align:left;display:grid;grid-template-columns:auto 1fr;grid-template-areas:'i n' 'i t';gap:0 10px}.status-card span{grid-area:i;font-size:25px}.status-card b{grid-area:n;font-size:22px}.status-card small{grid-area:t;color:var(--muted)}.status-card.wait{background:var(--np-yellow-2)}.status-card.info{background:var(--np-blue-2)}.status-card.ok{background:var(--np-green-2)}
.friendly-toolbar{background:#fff;padding:10px;border-radius:14px;box-shadow:0 5px 18px #194f7012}.request-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px;margin-top:13px}.request-card{background:#fff;padding:14px;border:1px solid var(--line);position:relative;overflow:hidden}.request-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:#aab8c2}.request-card.status-new:before{background:var(--np-yellow)}.request-card.status-claimed:before,.request-card.status-delivering:before{background:var(--np-blue)}.request-card.status-completed:before{background:var(--np-green)}.request-card.status-cancelled:before{background:var(--np-red)}.request-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.source-badge,.status-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.source-badge{background:#f1f5f8}.source-zalo{background:#e6f4ff;color:#0876bd}.source-facebook{background:#edf1ff;color:#3658aa}.status-badge.wait{background:var(--np-yellow-2);color:#8a5a00}.status-badge.info{background:var(--np-blue-2);color:#075f91}.status-badge.ok{background:var(--np-green-2);color:#0a6a46}.status-badge.bad{background:var(--np-red-2);color:#a72d37}.request-customer{display:block;width:100%;border:0;background:none;text-align:left;padding:12px 0 7px}.request-customer b{display:block;font-size:18px;color:#103d5d}.request-customer small{color:var(--muted)}.request-items{list-style:none;margin:4px 0 8px;padding:0;border-top:1px dashed #dce5ea}.request-items li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #e3eaee}.request-items li span{font-weight:700;color:#22506d}.request-time,.request-note{border-radius:10px;padding:8px 10px;margin:7px 0}.request-time{background:var(--np-yellow-2)}.request-note{background:#f5f7f9;color:#425b6c}.request-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:12px;color:var(--muted);margin:9px 0}.request-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.empty-state{grid-column:1/-1;text-align:center;padding:35px;background:#fff;border-radius:16px;border:1px dashed #cddce5}.empty-state span{font-size:42px;display:block}.empty-state b{display:block;font-size:17px;margin:7px}.empty-state p{color:var(--muted)}
.reception-form{display:grid;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.request-item-row{display:grid;grid-template-columns:1fr 100px 44px;gap:7px;margin:7px 0}.request-item-row>*{min-width:0}.delivery-detail{display:grid;gap:10px}.request-items.detail{font-size:16px}
#toastRoot .toast{border-radius:12px;box-shadow:0 12px 30px #102f4550;background:#123f5e;color:#fff;font-weight:700;animation:npToastIn .22s ease}@keyframes npToastIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:900px){.workflow-strip,.status-cards{grid-template-columns:repeat(3,1fr)}.workflow-strip button,.status-card{padding:10px;display:block;text-align:center}.workflow-strip span,.status-card span{display:block}.workflow-strip b,.status-card b{display:block}.request-grid{grid-template-columns:1fr}.page-intro{align-items:flex-start}.mobile-bottom-nav .mnav-icon{font-size:20px}.request-actions button{flex:1}.friendly-toolbar{display:grid;grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}
@media(max-width:520px){.workflow-strip small,.status-card small{font-size:11px}.workflow-strip b,.status-card b{font-size:19px}.request-item-row{grid-template-columns:1fr 78px 42px}.reception-intro span{font-size:13px}}


/* Stable 1.11.0 · Chấm công + Cài ứng dụng */
.attendance-intro{background:linear-gradient(135deg,#eff9ff,#f4fff8)}
.attendance-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#fff7dc,#fff);border:1px solid #f4d77b;margin:16px 0;box-shadow:0 12px 30px rgba(51,86,112,.08)}
.attendance-hero.working{background:linear-gradient(135deg,#eaf6ff,#fff);border-color:#84c6ed}.attendance-hero.done{background:linear-gradient(135deg,#eafaf1,#fff);border-color:#83d6a7}
.attendance-hero h2{margin:5px 0;font-size:clamp(22px,4vw,32px)}.attendance-hero p{margin:0;color:var(--muted)}
.attendance-actions{min-width:220px}.attendance-actions .big-action{width:100%}.danger{background:#c73c45;color:#fff;border-color:#c73c45}
.attendance-kpis{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.attendance-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line)}.attendance-row>div{display:flex;flex-direction:column;gap:5px}.attendance-row>div:last-child{align-items:flex-end}.attendance-row small{color:var(--muted)}
.install-page{max-width:980px}.install-brand{display:flex;align-items:center;gap:16px;padding:22px;border-radius:22px;background:linear-gradient(135deg,#e8f6ff,#f1fff7);margin-bottom:18px}.install-brand img{width:82px;height:82px;border-radius:20px;box-shadow:0 10px 24px rgba(15,95,150,.22)}.install-brand h2{margin:0 0 4px}.install-brand p{margin:0;color:var(--muted)}
.install-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:18px}.qr-panel{text-align:center}.qr-box{display:inline-flex;padding:14px;background:#fff;border-radius:18px;margin:12px auto;box-shadow:0 8px 24px rgba(23,63,91,.12)}.qr-panel code{display:block;overflow-wrap:anywhere;margin:8px 0 14px;padding:10px;border-radius:10px;background:var(--soft)}.install-steps ol{padding-left:22px;line-height:1.9}.install-steps small{display:block;margin-top:12px;color:var(--muted);line-height:1.5}
@media(max-width:700px){.attendance-hero{display:block;padding:18px}.attendance-actions{min-width:0;margin-top:16px}.attendance-kpis{grid-template-columns:1fr 1fr}.install-grid{grid-template-columns:1fr}.install-brand{padding:16px}.install-brand img{width:68px;height:68px}.mobile-bottom-nav{grid-template-columns:repeat(6,1fr)}.mobile-bottom-nav button{font-size:10px}.mnav-icon{font-size:18px}}


/* Stable 1.12.0 · Màn hình đăng nhập mang bản sắc Nam Phương */
.login-view{position:relative;isolation:isolate;background:radial-gradient(circle at 20% 10%,#e1f8ff 0,transparent 34%),linear-gradient(145deg,#0876ad,#0b4d78 55%,#063753);padding:24px}
.login-view:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,#0008,transparent)}
.login-water-shape{position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);background:#6ee7f955;animation:waterFloat 8s ease-in-out infinite}.login-water-shape.one{width:310px;height:310px;left:-120px;bottom:-110px}.login-water-shape.two{width:220px;height:220px;right:-80px;top:-60px;animation-delay:-3s}@keyframes waterFloat{50%{transform:translateY(-18px) scale(1.04)}}
.np-login-card{width:min(440px,94vw);padding:32px;border:1px solid #ffffff66;border-radius:30px;background:linear-gradient(155deg,#fffffffa,#f5fbffff);box-shadow:0 28px 80px #001c3270;backdrop-filter:blur(16px);animation:loginIn .55s ease-out}@keyframes loginIn{from{opacity:0;transform:translateY(20px) scale(.98)}}
.login-logo-wrap{display:flex;align-items:center;gap:13px;margin-bottom:18px}.login-logo-wrap img{width:72px;height:72px;object-fit:contain;border-radius:22px;background:#fff;padding:7px;box-shadow:0 12px 28px #0c6b9c2e}.login-logo-wrap span{color:#39728f;font-weight:700}.np-login-card h1{font-size:30px;letter-spacing:1px;color:#073f64;margin:0}.login-slogan{font-size:15px!important;color:#42738b!important;margin:6px 0 25px!important}.login-field{gap:8px;margin:15px 0}.login-field>span{color:#153e57}.login-field input{height:52px;border-radius:15px;border:1.5px solid #c5dfec;background:#f9fdff;padding:0 15px;transition:.2s}.login-field input:focus{outline:none;border-color:#1386bd;box-shadow:0 0 0 4px #1f91c51c;background:#fff}.password-wrap{position:relative}.password-wrap input{padding-right:52px}.password-wrap button{position:absolute;right:5px;top:4px;width:44px;height:44px;background:transparent;font-size:19px}.login-submit{width:100%;height:54px;border-radius:16px;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:16px;background:linear-gradient(135deg,#0786bf,#07557e);box-shadow:0 12px 24px #0874a83b;transition:.18s}.login-submit:hover{transform:translateY(-2px);box-shadow:0 16px 30px #0874a84d}.login-submit:active{transform:scale(.985)}.login-submit b{font-size:22px}.login-message{min-height:20px;text-align:center;font-weight:700}.login-values{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}.login-values span{font-size:12px;padding:7px 10px;border-radius:999px;background:#eaf7fc;color:#2a6987;font-weight:700}
.material-intro{background:linear-gradient(135deg,#ecfff6,#f4fbff)}.material-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:15px}.material-grid,.purchase-list{display:grid;gap:10px}.material-card{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff}.material-card h3{margin:8px 0 3px}.material-card small{color:var(--muted)}.material-stock{text-align:right;display:flex;flex-direction:column}.material-stock strong{font-size:27px;color:#0b678f}.material-card .request-actions{grid-column:1/-1}.purchase-row{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid var(--line);padding:14px;border-radius:16px}.purchase-row>div{display:flex;flex-direction:column;gap:5px}.purchase-row>div:last-child{text-align:right}.material-actions{display:flex;flex-wrap:wrap;margin:15px 0}.work-chat{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.chat-messages{display:grid;gap:9px;max-height:320px;overflow:auto;padding:8px}.chat-message{width:min(85%,480px);background:#f0f5f8;padding:10px 12px;border-radius:15px}.chat-message.mine{margin-left:auto;background:#dff5ff}.chat-message p{margin:5px 0;white-space:pre-wrap}.chat-message small{color:var(--muted)}.chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}
@media(max-width:800px){.material-layout{grid-template-columns:1fr}.material-card{grid-template-columns:1fr auto}.np-login-card{padding:25px 20px;border-radius:24px}.np-login-card h1{font-size:25px}.login-logo-wrap img{width:62px;height:62px}}


/* ===== Stable 1.13.0 · Brand Experience ===== */
.np-splash{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:radial-gradient(circle at 50% 35%,#20a9d5 0,#0875a6 34%,#06466e 70%,#032e4a 100%);transition:opacity .45s ease,visibility .45s ease}.np-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.np-splash:before,.np-splash:after{content:"";position:absolute;border-radius:50%;border:1px solid #ffffff25;animation:splashRipple 2.2s ease-out infinite}.np-splash:before{width:220px;height:220px}.np-splash:after{width:330px;height:330px;animation-delay:.65s}.np-splash img{width:112px;height:112px;object-fit:contain;background:#fff;border-radius:30px;padding:10px;box-shadow:0 20px 50px #002b4880;z-index:1;animation:splashLogo .8s cubic-bezier(.2,.8,.2,1)}.np-splash b{margin-top:22px;font-size:25px;letter-spacing:1.7px;z-index:1}.np-splash small{margin-top:7px;opacity:.85;z-index:1}.np-splash>i{width:120px;height:4px;border-radius:99px;background:#ffffff28;margin-top:28px;overflow:hidden;position:relative}.np-splash>i:after{content:"";position:absolute;inset:0;width:40%;background:#fff;border-radius:99px;animation:splashLoad 1.05s ease-in-out infinite}.splash-drop{position:absolute;top:16%;width:46px;height:58px;background:#ffffff14;border-radius:50% 50% 55% 45%/58% 58% 42% 42%;transform:rotate(45deg);display:grid;place-items:center;animation:dropFloat 2s ease-in-out infinite}.splash-drop span{transform:rotate(-45deg);font-weight:900;color:#ffffffaa}@keyframes splashRipple{from{transform:scale(.55);opacity:.65}to{transform:scale(1.25);opacity:0}}@keyframes splashLogo{from{opacity:0;transform:translateY(18px) scale(.86)}to{opacity:1;transform:none}}@keyframes splashLoad{0%{transform:translateX(-120%)}100%{transform:translateX(350%)}}@keyframes dropFloat{50%{transform:rotate(45deg) translate(-8px,-8px)}}
.login-view{background:radial-gradient(circle at 15% 12%,#dff8ff 0,transparent 30%),radial-gradient(circle at 86% 88%,#35bad455 0,transparent 32%),linear-gradient(150deg,#0a91c5 0,#0874a6 42%,#064a73 72%,#033a5d 100%);padding:max(22px,env(safe-area-inset-top)) 18px max(22px,env(safe-area-inset-bottom));overflow:hidden}.login-view:after{content:"";position:absolute;inset:auto -20% -28% -20%;height:58%;background:linear-gradient(180deg,#38c7dc33,#006a9c22);border-radius:50% 50% 0 0/20% 20% 0 0;transform:rotate(-4deg);z-index:-1}.login-ripples{position:absolute;inset:0;z-index:-1;opacity:.22;background:repeating-radial-gradient(ellipse at 50% 112%,transparent 0 36px,#d6faff 38px 40px,transparent 42px 74px)}.login-water-shape.three{width:125px;height:125px;left:64%;bottom:4%;background:#e7fbff25;animation-delay:-5s}.np-login-card{width:min(470px,94vw);padding:30px 30px 24px;border-radius:32px;background:linear-gradient(160deg,#fffffff7,#f4fbfff2);box-shadow:0 32px 90px #001b3278,0 1px 0 #fff inset}.login-brand{display:flex;align-items:center;gap:15px}.login-logo-emblem{width:86px;height:86px;display:grid;place-items:center;border-radius:26px;background:linear-gradient(145deg,#fff,#e9f7fc);box-shadow:0 14px 32px #086b9b30,0 0 0 1px #fff inset}.login-logo-emblem img{width:76px;height:76px;object-fit:contain}.login-brand>div:last-child{display:grid;gap:5px}.login-brand span{font-weight:700;color:#4a7d94;font-size:14px}.login-brand strong{font-size:28px;line-height:1.08;letter-spacing:.8px;color:#06466d}.login-slogan{margin:15px 0 17px!important;color:#39758f!important;font-size:15px!important}.login-divider{display:flex;align-items:center;gap:10px;color:#7194a5;font-size:12px;margin-bottom:5px}.login-divider:before,.login-divider:after{content:"";height:1px;flex:1;background:#d8eaf2}.login-field{margin:13px 0;gap:7px}.login-field>span{font-size:13px;color:#244d63}.login-input-wrap{position:relative}.login-input-wrap>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-style:normal;font-size:18px;z-index:1;filter:saturate(.75)}.login-input-wrap input{height:56px;padding:0 52px 0 47px;border-radius:17px;background:#f8fcfe;border:1.5px solid #c5e0eb;font-weight:650;color:#123c54;box-shadow:0 2px 0 #fff inset}.login-input-wrap input::placeholder{font-weight:500;color:#9aabb5}.login-input-wrap input:focus{border-color:#1196c7;box-shadow:0 0 0 4px #1b9ccc18,0 7px 20px #0879a810}.password-wrap button{right:7px;top:6px}.login-submit{height:58px;border-radius:18px;margin-top:10px;position:relative;overflow:hidden;background:linear-gradient(110deg,#0aa0ce,#0578aa 52%,#07537b);box-shadow:0 16px 30px #0874a845;font-size:17px}.login-submit:before{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(90deg,transparent,#ffffff38,transparent);transition:transform .55s}.login-submit:hover:before{transform:translateX(120%)}.login-submit.is-loading .login-btn-label,.login-submit.is-loading .login-btn-arrow{opacity:0}.login-spinner{display:none;position:absolute;width:23px;height:23px;border:3px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:loginSpin .7s linear infinite}.login-submit.is-loading .login-spinner{display:block}.login-submit.is-success{background:linear-gradient(135deg,#0c9d68,#08764f)}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-message{font-size:13px}.login-values{margin-top:16px}.login-values span{background:#e5f7fc;color:#1f6b89;border:1px solid #d5eef7}.login-footnote{text-align:center!important;margin:13px 0 0!important;font-size:11px!important;color:#7b99a8!important}.welcome-overlay{position:fixed;inset:0;z-index:8888;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#075c8bd9,#033a5deb);backdrop-filter:blur(12px);transition:.35s}.welcome-overlay.is-leaving{opacity:0;transform:scale(1.02)}.welcome-card{width:min(400px,92vw);padding:38px 25px 28px;text-align:center;color:#fff;border:1px solid #ffffff44;border-radius:30px;background:linear-gradient(145deg,#ffffff20,#ffffff0c);box-shadow:0 30px 70px #001d3370}.welcome-wave{font-size:48px;animation:waveHello .9s ease-in-out 2;transform-origin:70% 70%}.welcome-card small{display:block;margin-top:10px;opacity:.8}.welcome-card h2{font-size:28px;margin:7px 0}.welcome-card p{margin:0;opacity:.9}.welcome-progress{height:4px;background:#ffffff25;border-radius:99px;margin:26px auto 0;overflow:hidden;max-width:220px}.welcome-progress i{display:block;height:100%;width:100%;background:#fff;transform-origin:left;animation:welcomeProgress 1.45s linear}@keyframes waveHello{0%,100%{transform:rotate(0)}35%{transform:rotate(18deg)}70%{transform:rotate(-8deg)}}@keyframes welcomeProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:520px){.np-login-card{padding:25px 20px 21px;border-radius:27px}.login-logo-emblem{width:74px;height:74px;border-radius:22px}.login-logo-emblem img{width:66px;height:66px}.login-brand strong{font-size:24px}.login-brand span{font-size:12px}.login-slogan{text-align:left;font-size:14px!important}.login-input-wrap input{height:54px}.login-values{gap:6px}.login-values span{font-size:11px;padding:6px 8px}.np-splash img{width:96px;height:96px}.np-splash b{font-size:22px}}
@media(prefers-reduced-motion:reduce){.np-splash:before,.np-splash:after,.splash-drop,.np-splash>i:after,.welcome-wave,.welcome-progress i,.login-water-shape{animation:none!important}}

/* Stable 1.14.0 - Avatar & personalized welcome */
.header-user{display:flex;align-items:center;gap:11px}.header-avatar,.team-avatar,.welcome-avatar{display:grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#0aa3cf,#075d8d);color:#fff;font-weight:800;box-shadow:0 8px 20px #075e8a28}.header-avatar{width:42px;height:42px;flex:0 0 42px;border:2px solid #fff}.header-avatar img,.team-avatar img,.welcome-avatar img{width:100%;height:100%;object-fit:cover}.header-avatar span{font-size:12px}.welcome-card{position:relative;padding-top:82px}.welcome-avatar{position:absolute;left:50%;top:-56px;transform:translateX(-50%);width:112px;height:112px;border:5px solid #ffffffd9;box-shadow:0 18px 40px #001a2f70}.welcome-avatar span{font-size:28px}.welcome-wave{font-size:38px}.team-avatar.large{width:84px;height:84px;flex:0 0 84px;border:3px solid #fff}.team-avatar.small{width:40px;height:40px;flex:0 0 40px}.team-avatar span,.member-avatar-fallback{font-weight:800}.member-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.member-avatar-fallback{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(145deg,#0aa3cf,#075d8d);color:#fff;border-radius:50%;font-size:12px}.member-name-cell{display:flex;align-items:center;gap:10px}.avatar-settings-card .card-title-row{align-items:center}.compact{padding:7px 10px;font-size:12px}
@media(max-width:600px){.welcome-avatar{width:96px;height:96px;top:-48px}.welcome-card{padding-top:68px}.header-avatar{width:38px;height:38px;flex-basis:38px}.header-user>div:last-child small{max-width:190px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-name-cell b{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}


/* Stable 1.16.0 - Water transition & team identity */
.np-splash{background:linear-gradient(180deg,#f9feff 0%,#eefcff 52%,#d9f8f0 100%);color:#075f36;overflow:hidden}
.np-splash:before,.np-splash:after{display:none}
.splash-brand{display:flex;flex-direction:column;align-items:center;opacity:0;transform:translateY(16px) scale(.94);animation:brandEmerge .55s ease 1.02s forwards;z-index:3}
.splash-brand img{width:112px;height:112px;object-fit:contain;background:#fff;border-radius:28px;padding:9px;box-shadow:0 20px 50px #075f3628}
.splash-brand b{margin-top:18px;font-size:25px;letter-spacing:1.5px}.splash-brand small{margin-top:6px;color:#4b7a67}.splash-brand em{width:92px;height:4px;border-radius:99px;margin-top:20px;background:linear-gradient(90deg,#0c7c40,#33c37b);animation:brandLine 1.1s ease 1.12s both}
.water-drop{position:absolute;top:14%;left:50%;width:34px;height:44px;margin-left:-17px;background:linear-gradient(145deg,#e8fbff,#62cfe4);border-radius:58% 42% 65% 35%/62% 42% 58% 38%;box-shadow:inset -5px -6px 10px #0b88a52d,0 12px 24px #0a6b8d35;transform:rotate(45deg) translateY(-120px);animation:dropFall .68s cubic-bezier(.48,.02,.74,.44) .1s forwards;z-index:4}
.water-impact{position:absolute;left:50%;top:48%;width:10px;height:10px;transform:translate(-50%,-50%);z-index:2}.water-impact i{position:absolute;inset:0;border:2px solid #22a6c766;border-radius:50%;opacity:0;animation:impactRing .88s ease-out .68s forwards}.water-impact i:nth-child(2){animation-delay:.78s}.water-impact i:nth-child(3){animation-delay:.88s}
@keyframes dropFall{0%{transform:rotate(45deg) translate(-120px,-120px) scale(.7);opacity:0}20%{opacity:1}88%{transform:rotate(45deg) translate(0,255px) scale(1)}100%{transform:rotate(45deg) translate(0,275px) scale(.45);opacity:0}}
@keyframes impactRing{0%{opacity:.75;transform:scale(.2)}100%{opacity:0;transform:scale(30,7)}}
@keyframes brandEmerge{to{opacity:1;transform:none}}@keyframes brandLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.login-transition{position:fixed;inset:0;z-index:9998;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#f9feff,#dff8f0);opacity:0;transition:opacity .25s ease;overflow:hidden}.login-transition.is-active{opacity:1}.login-transition.is-leaving{opacity:0}.login-transition img{width:110px;height:110px;object-fit:contain;background:#fff;border-radius:28px;padding:9px;box-shadow:0 20px 48px #075f3630;opacity:0;animation:transitionLogo .45s ease .58s forwards}.login-transition strong{color:#075f36;font-size:18px;margin-top:16px;opacity:0;animation:transitionLogo .35s ease .76s forwards}.transition-drop{position:absolute;top:13%;width:30px;height:39px;background:linear-gradient(145deg,#f3ffff,#45bdd8);border-radius:58% 42% 65% 35%/62% 42% 58% 38%;transform:rotate(45deg);animation:transitionDrop .58s ease-in forwards}.transition-rings{position:absolute;top:49%;left:50%;width:8px;height:8px}.transition-rings i{position:absolute;inset:0;border:2px solid #159bbd66;border-radius:50%;animation:transitionRing .7s ease-out .5s forwards;opacity:0}.transition-rings i:nth-child(2){animation-delay:.58s}.transition-rings i:nth-child(3){animation-delay:.66s}@keyframes transitionDrop{from{transform:rotate(45deg) translate(-140px,-140px);opacity:0}20%{opacity:1}to{transform:rotate(45deg) translate(165px,165px);opacity:0}}@keyframes transitionRing{0%{opacity:.7;transform:scale(.2)}100%{opacity:0;transform:scale(24,6)}}@keyframes transitionLogo{to{opacity:1;transform:none}}
.member-actions{display:flex;gap:6px;flex-wrap:wrap}.stack{display:grid;gap:14px}.stack label{display:grid;gap:7px;font-weight:700}.stack input,.stack select{width:100%}
@media(prefers-reduced-motion:reduce){.water-drop,.water-impact i,.splash-brand,.splash-brand em,.transition-drop,.transition-rings i,.login-transition img,.login-transition strong{animation:none!important;opacity:1!important;transform:none!important}}

/* Stable 1.17.0 - Trực quan hóa công nợ & vỏ */
.np-alert-chip{display:inline-flex;align-items:center;gap:9px;padding:8px 11px;border-radius:14px;border:1px solid transparent;min-width:145px;line-height:1.15;vertical-align:middle;box-shadow:0 3px 10px rgba(15,23,42,.06)}
.np-alert-chip small{display:block;font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.np-alert-chip strong{display:block;font-size:16px;font-weight:900;margin-top:3px;white-space:nowrap}
.np-alert-icon{font-size:20px;flex:0 0 auto}
.np-alert-chip.debt-owed{background:#fff1f2;border-color:#fda4af;color:#9f1239}
.np-alert-chip.bottle-owed{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.np-alert-chip.business-owes{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.np-alert-chip.clear{background:#ecfdf5;border-color:#86efac;color:#166534}
.np-critical-notice{margin:12px 0;padding:13px;border-radius:17px;background:linear-gradient(135deg,#fff7ed,#fff1f2);border:2px solid #fb923c;box-shadow:0 8px 20px rgba(234,88,12,.12)}
.np-critical-title{font-size:13px;font-weight:950;color:#9a3412;margin-bottom:10px;letter-spacing:.035em}
.np-critical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.np-critical-grid .np-alert-chip{width:100%;box-sizing:border-box}
.np-customer-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}
.np-customer-head b{font-size:17px;color:#0f3f54}.np-customer-head span{font-size:12px;color:#64748b}
.np-debt-meta{margin-top:8px;padding:8px 10px;border-radius:10px;background:#fff7ed;color:#7c2d12;font-size:12px}
.customer-snapshot{color:inherit!important}
.row-warning td{background:#fff8ed!important}
@media(max-width:700px){.np-critical-grid{grid-template-columns:1fr}.np-alert-chip{min-width:0;width:100%;padding:10px 12px}.np-alert-chip strong{font-size:18px}.np-critical-notice{margin:10px 0}.np-customer-head{align-items:flex-start;flex-direction:column}}


/* Stable 1.18.0 - Tuyến giao trực quan */
.route-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:16px;border-radius:22px;background:linear-gradient(135deg,#087f5b,#12a875 55%,#5ccf9b);color:#fff;box-shadow:0 16px 38px rgba(8,127,91,.22);overflow:hidden;position:relative}.route-hero:after{content:"";position:absolute;width:180px;height:180px;border:30px solid rgba(255,255,255,.12);border-radius:50%;right:-70px;top:-75px}.route-hero>div:first-child{display:flex;align-items:center;gap:14px;z-index:1}.route-hero-icon{font-size:38px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.16))}.route-hero b{font-size:20px}.route-hero p{margin:4px 0 0;color:rgba(255,255,255,.88)}.route-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;z-index:1}.route-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot-new{background:#ffe066}.dot-moving{background:#74c0fc}.dot-done{background:#b2f2bb}.route-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}.route-selector{display:flex;flex-direction:column;gap:9px}.route-choice{border:1px solid #dfe9e5;background:#fff;border-radius:18px;padding:13px;text-align:left;display:grid;grid-template-columns:45px 1fr 16px;align-items:center;gap:10px;cursor:pointer;transition:.18s ease;box-shadow:0 5px 16px rgba(17,62,48,.05)}.route-choice:hover,.route-choice.active{transform:translateY(-1px);border-color:#20a875;background:#effcf6;box-shadow:0 10px 25px rgba(14,145,99,.13)}.route-choice.active{outline:2px solid rgba(32,168,117,.13)}.route-code{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:#e8f8f1;color:#087f5b;font-weight:900}.route-choice b{display:block;color:#19342c}.route-choice small{display:block;margin-top:3px;color:#71847e}.route-choice i{font-style:normal;font-size:24px;color:#8aa49b}.route-board{min-width:0}.route-board-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}.route-board-head span{color:#087f5b;font-weight:800}.route-board-head h2{margin:2px 0}.route-board-head p{margin:0;color:#71847e}.route-board-actions{display:flex;gap:8px;flex-wrap:wrap}.route-map-shell{height:310px;border-radius:22px;overflow:hidden;position:relative;border:1px solid #dcebe6;box-shadow:0 10px 25px rgba(16,70,52,.08);background:#eaf5f1}.route-map-shell iframe{width:100%;height:100%;border:0}.map-watermark{position:absolute;left:12px;bottom:12px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);font-weight:700;font-size:12px;color:#087f5b;box-shadow:0 5px 14px rgba(0,0,0,.12)}.route-progress{margin:13px 0 15px;padding:13px 15px;border-radius:17px;background:#fff;border:1px solid #e1ece8;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px}.route-progress>div:first-child{display:flex;align-items:baseline;gap:7px}.route-progress b{font-size:21px;color:#087f5b}.route-progress span{font-size:13px;color:#647b73}.route-progress-bar{height:9px;border-radius:999px;background:#e8efec;overflow:hidden}.route-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#20a875,#7bdcb5);border-radius:inherit;transition:width .45s ease}.route-customer-list{display:flex;flex-direction:column;gap:10px}.route-customer-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid #e0ebe7;border-left:5px solid #aabbb5;border-radius:18px;padding:13px;box-shadow:0 5px 17px rgba(15,61,47,.05);transition:.18s ease}.route-customer-card:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(15,61,47,.09)}.route-customer-card.status-new{border-left-color:#f59f00}.route-customer-card.status-moving{border-left-color:#228be6}.route-customer-card.status-done{border-left-color:#20a875;background:linear-gradient(90deg,#f2fff8,#fff 30%)}.route-order-no{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#edf5f2;color:#087f5b;font-weight:900}.route-customer-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.route-customer-title b{font-size:15px}.route-customer-main p{margin:5px 0;color:#687d76;font-size:13px}.delivery-pill{font-size:11px;padding:4px 8px;border-radius:999px;font-weight:800}.delivery-pill.new{background:#fff3bf;color:#8a5900}.delivery-pill.moving{background:#dbeafe;color:#155eaa}.delivery-pill.done{background:#d8f8e8;color:#087f5b}.delivery-pill.waiting{background:#eef1f0;color:#65736f}.route-debt-mini{display:flex;gap:6px;flex-wrap:wrap}.route-debt-mini span{padding:3px 7px;border-radius:8px;font-size:11px;font-weight:750}.route-debt-mini .danger{background:#ffe3e3;color:#c92a2a}.route-debt-mini .warn{background:#fff3bf;color:#9c6500}.route-debt-mini .ok{background:#e8f8f1;color:#087f5b}.route-card-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.route-card-actions button{white-space:nowrap}.map-action{background:#087f5b;color:#fff;border-color:#087f5b}.call-action{background:#e8f3ff;color:#1769aa;border-color:#b8d8f3}.empty-state.compact{padding:18px}
@media(max-width:900px){.route-hero{align-items:flex-start;flex-direction:column}.route-layout{grid-template-columns:1fr}.route-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.route-board-head{flex-direction:column}.route-map-shell{height:240px}.route-customer-card{grid-template-columns:38px minmax(0,1fr)}.route-card-actions{grid-column:1/-1;justify-content:stretch}.route-card-actions button{flex:1}.route-progress{grid-template-columns:1fr}.route-progress-bar{width:100%}}
@media(max-width:560px){.route-selector{grid-template-columns:1fr}.route-hero{padding:16px}.route-legend{display:none}.route-map-shell{height:210px}.route-customer-card{padding:11px}.route-customer-title{align-items:flex-start;flex-direction:column}.route-card-actions{display:grid;grid-template-columns:repeat(3,1fr)}.route-card-actions button{padding:9px 5px;font-size:12px}.route-board-actions{width:100%}.route-board-actions button{flex:1}}

/* Stable 1.19.0 - Tạo thành viên trực tiếp trong ERP */
.team-create-card{border:1px solid #cfe8dc;background:linear-gradient(180deg,#fff,#f8fffb)}
.team-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.team-create-form label{display:grid;gap:7px;font-weight:800;color:#193d31}
.team-create-form input,.team-create-form select{width:100%;box-sizing:border-box}
.team-create-form small{font-weight:500;color:#6b8179}
.team-create-actions{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:4px}
.team-create-actions .primary{min-width:180px}
.password-field{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:7px}
.password-eye{border:1px solid #cddbd6;background:#fff;border-radius:12px;font-size:18px}
.soft-divider{border:0;border-top:1px solid #e0ebe7;margin:20px 0}
.member-create-progress{margin-top:14px;padding:12px 14px;border-radius:14px;background:#eef8ff;color:#155b8a;border:1px solid #b8d9ef;font-weight:700}
.member-create-success{margin-top:14px;padding:14px;border-radius:16px;background:#ecfdf5;border:1px solid #86efac;color:#166534;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.member-create-success b{width:100%;font-size:16px}
.member-create-success span{padding:6px 9px;background:#fff;border-radius:10px}
@media(max-width:700px){.team-create-form{grid-template-columns:1fr}.team-create-actions{grid-column:1}.team-create-actions .primary{width:100%}.member-create-success{align-items:stretch}.member-create-success span{width:100%;box-sizing:border-box}}

/* Stable 1.20.0 - Mobile alerts, quick debt lookup, stronger financial hierarchy */
.floating-sale{display:none!important}
.np-nav-alert{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:auto;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:950;box-shadow:0 3px 8px rgba(185,28,28,.28)}
.status-card.alert{background:#fff1f2!important;border:2px solid #ef4444!important;color:#991b1b}.status-card.success,.status-card.success-done{background:#ecfdf5!important;border:2px solid #22a06b!important;color:#166534}
.np-request-card{border-width:2px!important;transition:.16s ease}.np-request-card.np-status-new{background:#fff5f5;border-color:#ef4444!important;box-shadow:0 8px 22px rgba(220,38,38,.12)}.np-request-card.np-status-new:before{background:#dc2626;width:7px}.np-request-card.np-status-claimed,.np-request-card.np-status-delivering,.np-request-card.np-status-completed{background:#f0fdf4;border-color:#22a06b!important;box-shadow:0 8px 22px rgba(22,163,74,.10)}.np-request-card.np-status-claimed:before,.np-request-card.np-status-delivering:before,.np-request-card.np-status-completed:before{background:#16a34a;width:7px}
.np-status-badge.alert{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.np-status-badge.success{background:#dcfce7;color:#166534;border:1px solid #22a06b}.np-claim-button{background:linear-gradient(135deg,#b91c1c,#dc2626)!important}
.approval-pending{background:#fff1f2!important;border:2px solid #ef4444!important;color:#991b1b}.approval-approved{background:#ecfdf5!important;border:2px solid #22a06b!important;color:#166534}.approval-rejected{background:#fff7ed!important;border-color:#fb923c!important}.approval-row.approval-pending td{background:#fff5f5;border-bottom-color:#fecaca}.approval-row.approval-approved td{background:#f0fdf4;border-bottom-color:#bbf7d0}.approval-state{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-weight:900}.approval-state.pending{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.approval-state.approved{background:#dcfce7;color:#166534;border:1px solid #22a06b}.approval-state.rejected{background:#ffedd5;color:#9a3412;border:1px solid #fb923c}.approval-detail-state{padding:12px 14px;margin:12px 0;border-radius:12px;font-size:16px;font-weight:950}.approval-detail-state.pending{background:#fee2e2;color:#991b1b;border:2px solid #ef4444}.approval-detail-state.approved{background:#dcfce7;color:#166534;border:2px solid #22a06b}.approval-detail-state.rejected{background:#ffedd5;color:#9a3412;border:2px solid #fb923c}
.metric-total{font-weight:950!important;color:#14532d!important}.metric-cash{font-weight:900!important;color:#166534!important}.metric-bank{font-weight:900!important;color:#1d4ed8!important}.metric-debt{font-weight:900!important;color:#b91c1c!important}.metric-bottle{font-weight:900!important;color:#92400e!important}.np-finance-table table{min-width:1100px}.np-finance-table th{font-size:12px;letter-spacing:.025em}.np-finance-table td{font-variant-numeric:tabular-nums}
.payment-total-highlight{margin:10px 0!important;padding:15px!important;border:2px solid #15803d!important;border-radius:14px!important;background:linear-gradient(135deg,#f0fdf4,#dcfce7)!important;color:#14532d!important;box-shadow:0 8px 20px rgba(21,128,61,.13)}.payment-total-highlight span{font-size:14px;font-weight:950;letter-spacing:.025em}.payment-total-highlight b{font-size:24px!important;font-weight:950}.review-total-highlight{background:linear-gradient(135deg,#14532d,#15803d)!important;color:#fff!important;border:0!important;box-shadow:0 10px 25px rgba(21,128,61,.22)}.review-total-highlight span{color:#dcfce7!important}.review-total-highlight strong{font-size:25px!important}.mobile-sale-bar strong{font-size:21px!important;font-weight:950}.mobile-sale-bar>div:first-child{padding:3px 8px;border-left:4px solid #4ade80}
.bottle-auto-help{display:block;margin-top:7px}.bottle-auto-button{margin-top:7px;padding:7px 10px;min-height:0;background:#eef6fb;color:#0f5f96;border:1px solid #b8d9ef;font-size:12px;font-weight:850}
.quick-lookup-search{position:sticky;top:0;z-index:8;margin-bottom:14px;padding:10px;background:rgba(244,247,251,.95);backdrop-filter:blur(8px)}.quick-lookup-search input{min-height:50px;border:2px solid #6aaed3;font-size:16px;box-shadow:0 6px 18px rgba(15,95,150,.09)}.quick-lookup-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}.quick-debt-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 6px 18px rgba(16,48,77,.07);cursor:pointer}.quick-debt-card:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(16,48,77,.12)}.quick-debt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.quick-debt-head small,.quick-debt-head b{display:block}.quick-debt-head small{color:var(--muted);font-weight:800}.quick-debt-head b{margin-top:3px;font-size:18px;color:#103d5d}.quick-debt-head>span{padding:5px 8px;border-radius:999px;background:#e8f8f1;color:#087f5b;font-size:11px;font-weight:850}.quick-contact{margin:9px 0;color:#425b6c}.quick-contact small{display:block;margin-top:4px}.quick-balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-balance{padding:11px;border-radius:13px;border:1px solid}.quick-balance span,.quick-balance strong{display:block}.quick-balance span{font-size:11px;font-weight:850}.quick-balance strong{margin-top:5px;font-size:15px}.quick-balance.owed{background:#fff1f2;border-color:#fda4af;color:#9f1239}.quick-balance.credit{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.quick-balance.clear{background:#ecfdf5;border-color:#86efac;color:#166534}.quick-last-sale{margin-top:9px;padding-top:9px;border-top:1px dashed var(--line);font-size:12px;color:var(--muted)}
@media(max-width:900px){.np-nav-alert{margin-left:6px}.quick-lookup-results{grid-template-columns:1fr}.quick-lookup-search{top:0;margin-left:-2px;margin-right:-2px}.np-delivery-status-cards{grid-template-columns:1fr!important}.np-delivery-status-cards .status-card{display:grid;text-align:left}.approval-table{min-width:760px}.payment-total-highlight b{font-size:22px!important}}
@media(max-width:520px){.quick-balance-grid{grid-template-columns:1fr}.quick-debt-card{padding:12px}.np-status-badge{white-space:normal;text-align:center}.request-head{align-items:flex-start}.payment-total-highlight{padding:13px!important}}

.delivery-detail .status-badge.wait{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.delivery-detail .status-badge.info,.delivery-detail .status-badge.ok{background:#dcfce7;color:#166534;border:1px solid #22a06b}

/* Stable 1.21.0 - Mobile sales wizard: one page per step */
@media(max-width:900px){
  body.mobile-sales-open #content{padding:0 10px 158px;background:#f4f7fb}
  .np-sale-wizard-shell{max-width:680px;margin:0 auto}
  .np-sale-wizard-head{position:sticky;top:0;z-index:22;margin:0 -10px 10px;padding:12px 12px 10px;background:rgba(255,255,255,.97);border-bottom:1px solid #dce7ef;box-shadow:0 5px 16px rgba(19,61,91,.08);backdrop-filter:blur(10px)}
  .np-sale-wizard-head>div:first-child small{font-size:10px;font-weight:950;letter-spacing:.08em;color:#0f6fa4}
  .np-sale-wizard-head h2{margin:2px 0 1px;font-size:20px;color:#113f60}
  .np-sale-wizard-head p{margin:0;color:#6a7c8c;font-size:12px}
  .np-wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:11px;position:relative}
  .np-wizard-progress:before{content:'';position:absolute;left:12.5%;right:12.5%;top:14px;height:2px;background:#dce7ef;z-index:0}
  .np-wizard-node{position:relative;z-index:1;display:grid;justify-items:center;gap:3px;padding:0;background:transparent;color:#80909e;min-height:0;font-size:10px;font-weight:850}
  .np-wizard-node i{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;font-style:normal;background:#edf2f6;border:2px solid #d4dfe7;color:#6d7f8d;font-size:12px;font-weight:950}
  .np-wizard-node.active{color:#0f6fa4}.np-wizard-node.active i{background:#0f77b7;border-color:#0f77b7;color:#fff;box-shadow:0 0 0 5px rgba(15,119,183,.12)}
  .np-wizard-node.done{color:#15803d}.np-wizard-node.done i{background:#dcfce7;border-color:#22a06b;color:#166534}
  .np-mobile-sale-wizard{display:block;padding-bottom:10px}
  .np-sale-step{display:none;animation:npStepIn .18s ease}.np-sale-step.active{display:block}
  @keyframes npStepIn{from{opacity:.35;transform:translateX(10px)}to{opacity:1;transform:none}}
  .np-step-card{position:relative;margin-bottom:10px;padding:15px;border-radius:17px;border:1px solid #dce7ef;box-shadow:0 6px 18px rgba(16,56,84,.07)}
  .np-step-icon{position:absolute;right:14px;top:13px;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#eef7fd;font-size:20px}
  .np-step-copy{padding-right:50px;margin-bottom:13px}.np-step-copy b,.np-step-copy span{display:block}.np-step-copy b{font-size:17px;color:#123e5c}.np-step-copy span{margin-top:3px;color:#6b7d8c;font-size:12px;line-height:1.35}
  .np-step-card label{color:#355469;font-size:12px;font-weight:850}
  .np-step-card input,.np-step-card select,.np-step-card textarea{min-height:48px;border-radius:13px;border:1px solid #cbdbe6;background:#fff;font-size:16px}
  .np-step-card textarea{min-height:76px}
  .np-step-card .customer-snapshot{padding:12px;border-radius:14px;background:#eef8ff;border:1px solid #c8e4f6;color:#174f70}
  .np-product-shortcuts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(132px,155px);gap:8px;overflow-x:auto;margin:0 -2px 12px;padding:2px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .np-product-shortcuts::-webkit-scrollbar{display:none}.np-product-shortcuts button{scroll-snap-align:start;display:flex;align-items:center;gap:6px;min-height:54px;padding:9px 10px;border:1px solid #cfe0eb;border-radius:14px;background:#f4f9fc;color:#164866;text-align:left;font-size:13px;font-weight:850;line-height:1.2}
  .np-product-shortcuts button span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:9px;background:#dff3ff;color:#0f77b7;font-size:17px}
  .np-sale-items{display:grid;gap:10px}.np-mobile-sale-wizard .item-row{display:grid!important;grid-template-columns:minmax(0,1fr) 108px!important;gap:8px!important;margin:0!important;padding:12px!important;border:1px solid #dce7ef!important;border-radius:16px!important;background:#fff!important;box-shadow:0 4px 14px rgba(16,56,84,.06)}
  .np-mobile-sale-wizard .item-row>label:first-child{grid-column:1/-1}.np-mobile-sale-wizard .item-row>label:nth-child(2){grid-column:1/2}.np-mobile-sale-wizard .item-row>label:nth-child(3){grid-column:2/3}.np-mobile-sale-wizard .item-row>label:nth-child(4){grid-column:1/2}.np-mobile-sale-wizard .item-row>.danger{grid-column:2/3;align-self:end;min-height:46px;border:1px solid #fecaca;background:#fff1f2}
  .np-mobile-sale-wizard .item-row label{margin:0;font-size:11px;color:#6a7c8b}.np-mobile-sale-wizard .item-row input,.np-mobile-sale-wizard .item-row select{height:46px;min-height:46px;border-radius:11px;font-size:15px}.np-mobile-sale-wizard .qty-control{grid-template-columns:42px minmax(0,1fr) 42px}.np-mobile-sale-wizard .qty-control button{height:46px;border-radius:10px}
  .np-mobile-sale-wizard .add-product-row{width:100%;margin-top:10px;min-height:46px;border:1px dashed #8fb9d1;background:#eef7fd;color:#0f5f96;font-weight:900}
  .np-delivery-payment-card{border-left:5px solid #d69e2e}.np-payment-card{border-left:5px solid #2386bd}
  .np-payment-presets{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:7px!important;position:static!important;padding:0!important;margin-bottom:10px}.np-payment-presets button{min-height:48px!important;padding:7px 5px!important;border:1px solid #c9deea!important;border-radius:13px!important;background:#eef7fd!important;color:#0f5f96!important;font-size:12px!important;font-weight:900!important}
  .np-old-debt-box{margin:13px 0;border:1px solid #dce7ef;border-radius:14px;background:#f8fafc;overflow:hidden}.np-old-debt-box summary{padding:13px;font-weight:900;color:#284f68;cursor:pointer}.np-old-debt-box>div{padding:0 13px 13px}
  .np-sale-summary{margin-top:12px}.np-sale-summary .summary-section{margin-top:11px;padding:8px 10px;border-radius:10px;background:#edf4f8;color:#31566d;font-size:11px;letter-spacing:.04em}.np-sale-summary .summary-row{font-size:13px}.np-sale-summary .payment-total-highlight{position:sticky;bottom:75px;z-index:6}
  .np-sale-review-page{display:grid;gap:10px}.np-review-customer{display:flex;justify-content:space-between;gap:12px;padding:15px;border-radius:17px;background:#fff;border:1px solid #dce7ef;box-shadow:0 6px 18px rgba(16,56,84,.07)}.np-review-customer>div:first-child{min-width:0}.np-review-customer small,.np-review-customer b,.np-review-customer span{display:block}.np-review-customer small{color:#718290;font-size:11px}.np-review-customer b{margin-top:3px;color:#123f5e;font-size:17px}.np-review-customer span{margin-top:3px;color:#607484;font-size:12px}.np-review-customer>div:last-child{text-align:right;white-space:nowrap}
  .np-review-block,.np-review-note{padding:14px;border-radius:17px;background:#fff;border:1px solid #dce7ef}.np-review-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.np-review-heading b{font-size:15px;color:#153f5a}.np-review-heading span{padding:4px 8px;border-radius:999px;background:#eef7fd;color:#0f6fa4;font-size:11px;font-weight:850}.np-review-item{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px dashed #dce7ef}.np-review-item:last-child{border-bottom:0}.np-review-item>span{display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:#eef3f6;color:#526a7a;font-size:11px;font-weight:900}.np-review-item b,.np-review-item small{display:block}.np-review-item b{font-size:14px}.np-review-item small{margin-top:3px;color:#718290;font-size:11px}.np-review-item strong{font-size:14px;color:#14532d;white-space:nowrap}
  .np-review-total{padding:17px;border-radius:18px;background:linear-gradient(135deg,#14532d,#15803d);color:#fff;box-shadow:0 10px 24px rgba(21,128,61,.22)}.np-review-total span,.np-review-total strong{display:block}.np-review-total span{font-size:11px;font-weight:900;letter-spacing:.07em;color:#dcfce7}.np-review-total strong{margin-top:5px;font-size:28px;font-weight:950}
  .np-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.np-review-grid>div{padding:11px;border-radius:14px;background:#fff;border:1px solid #dce7ef}.np-review-grid span,.np-review-grid b{display:block}.np-review-grid span{color:#718290;font-size:10px;font-weight:800}.np-review-grid b{margin-top:5px;font-size:13px}.np-review-note b{color:#153f5a}.np-review-note p{margin:6px 0 0;color:#556d7c;line-height:1.45}.np-review-reminder{padding:12px;border-radius:14px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;font-size:12px;font-weight:800;line-height:1.4}
  .mobile-sale-bar{display:grid!important;grid-template-columns:50px minmax(82px,.65fr) minmax(150px,1.35fr);gap:8px;align-items:center;height:auto;min-height:76px}.mobile-sale-bar .np-sale-back{display:grid;place-items:center;min-width:0!important;width:50px;min-height:50px;background:#edf3f7;color:#184e70;border:1px solid #d3e1ea;font-size:20px}.mobile-sale-bar>div{padding:0!important;border:0!important}.mobile-sale-bar #mobileSaveSaleBtn{min-width:0;width:100%;padding:9px 10px;line-height:1.15}.mobile-sale-bar #mobileSaveSaleBtn.np-confirm-action{background:#15803d}
}
@media(max-width:420px){
  .np-wizard-node span{font-size:9px}.np-review-grid{grid-template-columns:1fr}.mobile-sale-bar{grid-template-columns:46px 78px minmax(0,1fr);gap:6px;padding-left:8px;padding-right:8px}.mobile-sale-bar .np-sale-back{width:46px}.mobile-sale-bar #mobileSaveSaleBtn{font-size:13px}.np-mobile-sale-wizard .item-row{grid-template-columns:minmax(0,1fr) 96px!important}
}

/* Stable 1.22.0 - Compact mobile sales workspace and session restore */
body.np-auth-checking #loginView{visibility:hidden;pointer-events:none}

@media(max-width:900px){
  /* Khi nhập bán hàng, ẩn thanh điều hướng không cần thiết và dành toàn bộ chiều cao cho form. */
  body.mobile-sales-open #mobileBottomNav{transform:translateY(120%);pointer-events:none;opacity:0}
  body.mobile-sales-open .app>main{padding-bottom:0}
  body.mobile-sales-open #content{padding:0 7px calc(68px + env(safe-area-inset-bottom));background:#f4f7fb}
  body.mobile-sales-open .mobile-sale-bar{bottom:0;min-height:62px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));grid-template-columns:42px 72px minmax(0,1fr);gap:6px}
  body.mobile-sales-open .mobile-sale-bar .np-sale-back{width:42px;min-height:44px;height:44px;border-radius:11px;font-size:18px}
  body.mobile-sales-open .mobile-sale-bar small{font-size:9px;line-height:1.1}
  body.mobile-sales-open .mobile-sale-bar strong{font-size:16px!important;line-height:1.15}
  body.mobile-sales-open .mobile-sale-bar #mobileSaveSaleBtn{min-height:44px;height:44px;border-radius:11px;padding:6px 8px;font-size:13px;white-space:normal}

  body.np-sales-compact .page-head{display:none}
  body.np-sales-compact .np-sale-wizard-shell{max-width:720px}
  body.np-sales-compact .np-sale-wizard-head{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:7px;margin:0 -7px 6px;padding:7px 8px 6px;min-height:58px;transition:min-height .16s ease,padding .16s ease}
  body.np-sales-compact .np-sale-wizard-head>div:first-child{display:flex;align-items:baseline;gap:6px;min-width:0;padding-right:0}
  body.np-sales-compact .np-sale-wizard-head>div:first-child small{font-size:9px;white-space:nowrap}
  body.np-sales-compact .np-sale-wizard-head h2{font-size:16px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.np-sales-compact .np-sale-wizard-head p{display:none}
  body.np-sales-compact .np-sale-close{grid-column:2;grid-row:1/3;width:34px;height:34px;min-height:34px;padding:0;border-radius:10px;background:#edf3f7;color:#315d77;font-size:16px}
  body.np-sales-compact .np-wizard-progress{grid-column:1;margin:3px 0 0;gap:4px;height:5px}
  body.np-sales-compact .np-wizard-progress:before{display:none}
  body.np-sales-compact .np-wizard-node{display:block;min-height:5px;height:5px;border-radius:999px;background:#dce7ef;overflow:hidden}
  body.np-sales-compact .np-wizard-node i,body.np-sales-compact .np-wizard-node span{display:none}
  body.np-sales-compact .np-wizard-node.active{background:#0f77b7;box-shadow:none}
  body.np-sales-compact .np-wizard-node.done{background:#22a06b}
  body.np-sales-compact.np-sale-scrolled .np-sale-wizard-head{min-height:39px;padding-top:4px;padding-bottom:4px}
  body.np-sales-compact.np-sale-scrolled .np-sale-wizard-head>div:first-child small{display:none}
  body.np-sales-compact.np-sale-scrolled .np-sale-wizard-head h2{font-size:14px}
  body.np-sales-compact.np-sale-scrolled .np-wizard-progress{margin-top:1px}

  body.np-sales-compact .np-mobile-sale-wizard{padding-bottom:0}
  body.np-sales-compact .np-step-card{margin-bottom:6px;padding:8px;border-radius:12px;box-shadow:0 3px 10px rgba(16,56,84,.05)}
  body.np-sales-compact .np-step-icon,body.np-sales-compact .np-step-copy{display:none}
  body.np-sales-compact .np-step-card label{margin:5px 0;gap:3px;font-size:10px}
  body.np-sales-compact .np-step-card input,body.np-sales-compact .np-step-card select{min-height:40px;height:40px;border-radius:10px;padding:7px 9px;font-size:15px}
  body.np-sales-compact .np-step-card textarea{min-height:58px;border-radius:10px;padding:8px 9px;font-size:15px}
  body.np-sales-compact .customer-search-label{margin-top:0}
  body.np-sales-compact .np-step-card .customer-snapshot{margin:6px 0 0;padding:8px;border-radius:10px;font-size:11px;line-height:1.35}
  body.np-sales-compact .np-critical-notice{margin:5px 0;padding:7px;border-radius:9px}
  body.np-sales-compact .np-critical-title{font-size:9px;margin-bottom:4px}
  body.np-sales-compact .np-critical-grid{gap:5px;font-size:11px}
  body.np-sales-compact .np-debt-meta{font-size:10px;margin-top:4px}

  body.np-sales-compact .np-quick-products,body.np-sales-compact .np-optional-note,body.np-sales-compact .np-payment-breakdown,body.np-sales-compact .np-old-debt-box{margin:4px 0;border:1px solid #d9e5ed;border-radius:10px;background:#f8fbfd;overflow:hidden}
  body.np-sales-compact .np-quick-products>summary,body.np-sales-compact .np-optional-note>summary,body.np-sales-compact .np-payment-breakdown>summary,body.np-sales-compact .np-old-debt-box>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:7px 9px;list-style:none;color:#24536e;font-size:12px;font-weight:900;cursor:pointer}
  body.np-sales-compact details>summary::-webkit-details-marker{display:none}
  body.np-sales-compact details>summary small{font-size:9px;font-weight:700;color:#7a8b98}
  body.np-sales-compact details[open]>summary{border-bottom:1px solid #e0e9ef;background:#f1f7fb}
  body.np-sales-compact .np-product-shortcuts{display:flex;gap:5px;margin:0;padding:7px;overflow-x:auto}
  body.np-sales-compact .np-product-shortcuts button{flex:0 0 auto;min-height:34px;height:34px;max-width:150px;padding:5px 8px;border-radius:9px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.np-sales-compact .np-product-shortcuts button span{width:19px;height:19px;flex-basis:19px;border-radius:6px;font-size:14px}

  body.np-sales-compact .np-sale-items{gap:5px}
  body.np-sales-compact .np-mobile-sale-wizard .item-row{grid-template-columns:108px minmax(76px,1fr) 82px 34px!important;gap:5px!important;padding:7px!important;border-radius:11px!important;box-shadow:none!important}
  body.np-sales-compact .np-mobile-sale-wizard .item-row>label:first-child{grid-column:1/-1}
  body.np-sales-compact .np-mobile-sale-wizard .item-row>label:nth-child(2){grid-column:1}
  body.np-sales-compact .np-mobile-sale-wizard .item-row>label:nth-child(3){grid-column:2}
  body.np-sales-compact .np-mobile-sale-wizard .item-row>label:nth-child(4){grid-column:3}
  body.np-sales-compact .np-mobile-sale-wizard .item-row>.danger{grid-column:4;min-height:38px;height:38px;padding:0;border-radius:9px}
  body.np-sales-compact .np-mobile-sale-wizard .item-row label{font-size:9px;gap:2px}
  body.np-sales-compact .np-mobile-sale-wizard .item-row input,body.np-sales-compact .np-mobile-sale-wizard .item-row select{height:38px;min-height:38px;border-radius:9px;padding:5px 6px;font-size:14px}
  body.np-sales-compact .np-mobile-sale-wizard .qty-control{grid-template-columns:32px minmax(38px,1fr) 32px;gap:2px}
  body.np-sales-compact .np-mobile-sale-wizard .qty-control button{height:38px;min-height:38px;padding:0;border-radius:8px;font-size:17px}
  body.np-sales-compact .add-product-row{display:block;width:auto;margin:5px 0 0 auto;min-height:34px;height:34px;padding:5px 9px;border-radius:9px;font-size:11px}
  body.np-sales-compact .np-optional-note .sale-note-label{padding:5px 8px 8px;margin:0}

  body.np-sales-compact .mobile-two-fields{gap:6px}
  body.np-sales-compact .field-help{display:none}
  body.np-sales-compact .bottle-auto-button{min-height:30px;height:30px;margin-top:3px;padding:3px 7px;border-radius:8px;font-size:10px}
  body.np-sales-compact .np-bottle-price-field{display:none}
  body.np-sales-compact.np-has-bottle-purchase .np-bottle-price-field{display:grid}
  body.np-sales-compact .np-delivery-payment-card{padding-bottom:7px}
  body.np-sales-compact .np-payment-card{padding-top:7px}
  body.np-sales-compact .np-payment-presets{display:flex;position:static;gap:5px;margin:0 0 5px;padding:0;overflow-x:auto;background:transparent}
  body.np-sales-compact .np-payment-presets button{flex:1 0 92px;min-height:34px;height:34px;padding:4px 6px;border-radius:9px;font-size:10px;white-space:nowrap}
  body.np-sales-compact .np-old-debt-box>div,body.np-sales-compact .np-payment-breakdown #saleSummary{padding:5px 8px 8px}
  body.np-sales-compact .np-sale-summary{margin-top:0}
  body.np-sales-compact .np-sale-summary .summary-section{margin-top:5px;padding:5px 7px}
  body.np-sales-compact .np-sale-summary .summary-row{padding:5px 0;font-size:11px}
  body.np-sales-compact .np-sale-summary .payment-total-highlight{position:static;margin:5px 0!important;padding:9px!important}

  body.np-sales-compact .np-sale-review-page{gap:6px}
  body.np-sales-compact .np-review-customer,body.np-sales-compact .np-review-block,body.np-sales-compact .np-review-total,body.np-sales-compact .np-review-grid,body.np-sales-compact .np-review-note{border-radius:11px;padding:9px}
  body.np-sales-compact .np-review-customer b{font-size:14px}
  body.np-sales-compact .np-review-item{padding:7px 0;gap:6px}
  body.np-sales-compact .np-review-total strong{font-size:21px}
  body.np-sales-compact .np-review-grid{gap:5px}
  body.np-sales-compact .np-review-grid>div{padding:7px}
}

@media(max-width:380px){
  body.np-sales-compact .np-mobile-sale-wizard .item-row{grid-template-columns:101px minmax(68px,1fr) 72px 32px!important;gap:4px!important;padding:6px!important}
  body.np-sales-compact .np-mobile-sale-wizard .qty-control{grid-template-columns:29px minmax(34px,1fr) 29px}
  body.np-sales-compact .np-mobile-sale-wizard .item-row input,body.np-sales-compact .np-mobile-sale-wizard .item-row select,body.np-sales-compact .np-mobile-sale-wizard .qty-control button{font-size:13px}
  body.mobile-sales-open .mobile-sale-bar{grid-template-columns:40px 66px minmax(0,1fr)}
}
@media(max-width:900px){
  body.mobile-sales-open{padding-bottom:0}
  body.np-sales-compact .np-step-icon{display:none}
  body.np-sales-compact .np-step-copy{display:block;margin:0 0 4px;padding:0}
  body.np-sales-compact .np-step-copy b{font-size:12px;color:#234f69}
  body.np-sales-compact .np-step-copy span{display:none}
}

/* Stable 1.23.0 - Compact colorful alert chips + horizontal first-step action bar */
@media(max-width:900px){
  /* Bước 1 không có nút quay lại: chia thanh dưới thành Tổng đơn + nút tiếp tục nằm ngang. */
  body.mobile-sales-open[data-sale-step="1"] .mobile-sale-bar{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:8px!important;
  }
  body.mobile-sales-open[data-sale-step="1"] .mobile-sale-bar>div{
    grid-column:1;
    min-width:0;
  }
  body.mobile-sales-open[data-sale-step="1"] .mobile-sale-bar #mobileSaveSaleBtn{
    grid-column:2;
    width:100%;
    min-width:0;
    white-space:nowrap!important;
    font-size:13px!important;
  }

  /* Thông tin khách gọn hơn, ưu tiên vùng nhập liệu. */
  body.np-sales-compact .np-customer-head{
    flex-direction:row!important;
    align-items:flex-start!important;
    margin-bottom:4px!important;
  }
  body.np-sales-compact .np-customer-head b{
    font-size:15px;
    line-height:1.2;
  }
  body.np-sales-compact .np-customer-head span{
    flex:0 0 auto;
    max-width:42%;
    font-size:10px;
    line-height:1.2;
    text-align:right;
  }

  /* Khung cảnh báo chỉ làm nền nhẹ; màu nằm ở từng badge nhỏ. */
  body.np-sales-compact .np-critical-notice{
    margin:5px 0 0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.np-sales-compact .np-critical-title{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    margin:0 0 5px!important;
    padding:3px 7px;
    border:1px solid #fed7aa;
    border-radius:999px;
    background:#fff7ed;
    color:#9a3412;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.04em;
  }
  body.np-sales-compact .np-critical-grid{
    display:flex!important;
    flex-wrap:wrap;
    align-items:center;
    gap:5px!important;
  }
  body.np-sales-compact .np-critical-grid>div{
    width:auto;
    min-width:0;
  }

  /* Badge công nợ/vỏ: nhỏ, sinh động, dễ nhận biết bằng màu. */
  body.np-sales-compact .np-alert-chip{
    width:auto!important;
    min-width:0!important;
    max-width:100%;
    min-height:28px;
    gap:5px!important;
    padding:4px 8px!important;
    border-radius:999px!important;
    line-height:1!important;
    box-shadow:0 2px 6px rgba(15,23,42,.07)!important;
  }
  body.np-sales-compact .np-alert-icon{
    font-size:13px!important;
    line-height:1;
  }
  body.np-sales-compact .np-alert-chip>span:last-child{
    display:flex;
    align-items:center;
    gap:4px;
    min-width:0;
  }
  body.np-sales-compact .np-alert-chip small{
    display:inline!important;
    margin:0!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:0!important;
  }
  body.np-sales-compact .np-alert-chip strong{
    display:inline!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1!important;
  }
  body.np-sales-compact .np-alert-chip.clear{
    background:linear-gradient(135deg,#ecfdf5,#dcfce7)!important;
    border-color:#86efac!important;
  }
  body.np-sales-compact .np-alert-chip.debt-owed{
    background:linear-gradient(135deg,#fff1f2,#ffe4e6)!important;
    border-color:#fda4af!important;
  }
  body.np-sales-compact .np-alert-chip.bottle-owed{
    background:linear-gradient(135deg,#fff7ed,#ffedd5)!important;
    border-color:#fdba74!important;
  }
  body.np-sales-compact .np-alert-chip.business-owes{
    background:linear-gradient(135deg,#eff6ff,#dbeafe)!important;
    border-color:#93c5fd!important;
  }

  /* Trong bảng tóm tắt, badge nằm gọn bên phải thay vì tạo một khối lớn. */
  body.np-sales-compact .np-sale-summary .summary-row b:has(.np-alert-chip),
  body.np-sales-compact .np-review-grid b:has(.np-alert-chip){
    display:flex;
    justify-content:flex-end;
    min-width:0;
  }
  body.np-sales-compact .np-sale-summary .np-alert-chip,
  body.np-sales-compact .np-review-grid .np-alert-chip{
    min-height:26px;
    padding:4px 7px!important;
  }

  body.np-sales-compact .np-debt-meta{
    display:inline-block;
    margin-top:5px!important;
    padding:4px 7px;
    border-radius:8px;
    font-size:9px!important;
  }
}

@media(max-width:360px){
  body.mobile-sales-open[data-sale-step="1"] .mobile-sale-bar{
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:6px!important;
  }
  body.mobile-sales-open[data-sale-step="1"] .mobile-sale-bar #mobileSaveSaleBtn{
    font-size:12px!important;
  }
  body.np-sales-compact .np-alert-chip{
    padding-left:6px!important;
    padding-right:6px!important;
  }
  body.np-sales-compact .np-alert-chip small{font-size:7.5px!important}
  body.np-sales-compact .np-alert-chip strong{font-size:11px!important}
}

/* Stable 1.24.0 - Danh sách khách đang nợ theo tuyến + người tạo đơn */
.np-debtor-intro{background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fed7aa}.np-debtor-intro .intro-icon{background:#ffedd5;color:#c2410c}
.np-debtor-filterbar{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:minmax(190px,260px) minmax(220px,1fr);gap:10px;margin:0 0 12px;padding:10px;border:1px solid #dce7ef;border-radius:16px;background:rgba(244,247,251,.96);box-shadow:0 5px 16px rgba(16,56,84,.07);backdrop-filter:blur(10px)}
.np-debtor-filterbar label{margin:0}.np-debtor-filterbar label>span{display:block;margin:0 0 5px;color:#526879;font-size:11px;font-weight:900}.np-debtor-filterbar select,.np-debtor-filterbar input{min-height:44px;background:#fff}
.np-debtor-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}.np-debtor-stats>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;color:#1e3a5f}.np-debtor-stats>div.money{border-color:#fecaca;background:#fff1f2;color:#9f1239}.np-debtor-stats>div.bottle{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.np-debtor-stats small{font-size:11px;font-weight:850}.np-debtor-stats strong{font-size:16px;font-weight:950;white-space:nowrap}
.np-debtor-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.np-debtor-card{padding:12px;border:1px solid #dce7ef;border-left:5px solid #f97316;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(16,56,84,.06);cursor:pointer;transition:.16s ease}.np-debtor-card:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(16,56,84,.10)}
.np-debtor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;margin-bottom:9px}.np-debtor-head small,.np-debtor-head b{display:block}.np-debtor-head small{color:#7a8b98;font-size:10px;font-weight:850}.np-debtor-head b{margin-top:2px;color:#123f5e;font-size:16px}.np-debtor-head>span{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:999px;background:#e8f8f1;color:#087f5b;font-size:10px;font-weight:900}
.np-debtor-balances{display:grid;grid-template-columns:1fr 1fr;gap:7px}.np-debtor-balance{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;padding:7px 9px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc;color:#64748b}.np-debtor-balance span{font-size:10px;font-weight:900}.np-debtor-balance strong{font-size:13px;font-weight:950;white-space:nowrap}.np-debtor-balance.owed{border-color:#fda4af;background:#fff1f2;color:#9f1239}.np-debtor-balance.bottle.owed{border-color:#fdba74;background:#fff7ed;color:#9a3412}.np-debtor-empty{grid-column:1/-1}
.np-sale-creator{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;margin:0;padding:8px 10px;border:1px solid #93c5fd;border-radius:12px;background:linear-gradient(135deg,#eff6ff,#f8fbff);color:#1e3a5f}.np-sale-creator>span{grid-row:1/3;align-self:center;padding:3px 6px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:9px;font-weight:950;white-space:nowrap}.np-sale-creator b{font-size:13px;font-weight:950}.np-sale-creator small{color:#5d7181;font-size:9px;font-weight:750}
.np-review-creator{padding:7px 9px!important;border:1px solid #93c5fd;border-radius:11px;background:#eff6ff;color:#1e40af}.np-review-creator small,.np-review-creator b{display:block}.np-review-creator b{margin-top:2px;font-size:13px}.np-sale-creator-cell{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:900;white-space:nowrap}.np-sale-detail-creator{display:inline-block;margin-bottom:4px;padding:5px 8px;border-radius:9px;background:#eff6ff;color:#1d4ed8}
@media(max-width:700px){.np-debtor-filterbar{grid-template-columns:1fr;gap:7px;padding:8px}.np-debtor-stats{grid-template-columns:1fr 1fr}.np-debtor-stats>div:first-child{grid-column:1/-1}.np-debtor-stats>div{padding:8px 10px}.np-debtor-results{grid-template-columns:1fr}.np-debtor-card{padding:10px}.np-debtor-balances{gap:5px}.np-debtor-balance{padding:6px 7px}.np-debtor-balance span{font-size:9px}.np-debtor-balance strong{font-size:12px}.np-sale-creator{padding:6px 8px;border-radius:10px}.np-sale-creator>span{font-size:8px}.np-sale-creator b{font-size:12px}}

/* ===== Stable 1.26.0 · Dynamic payment QR ===== */
.np-live-payment-qr{margin:10px 0 12px}.np-payment-qr{border:1px solid #92d2b1;border-radius:14px;background:linear-gradient(145deg,#f4fff8,#f7fbff);padding:12px;box-shadow:0 7px 20px rgba(9,110,72,.08)}
.np-payment-qr-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.np-payment-qr-head span,.np-payment-qr-head b{display:block}.np-payment-qr-head span{font-size:11px;letter-spacing:.08em;color:#087443;font-weight:900}.np-payment-qr-head b{font-size:14px;color:#17324a;margin-top:2px}.np-payment-qr-head i{font-style:normal;border-radius:999px;padding:4px 8px;background:#ddf8e9;color:#087443;font-size:10px;font-weight:900;white-space:nowrap}
.np-payment-qr-body{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:14px}.np-payment-qr-image{width:150px;height:150px;display:block;border:1px solid #d2e9dc;border-radius:10px;background:#fff;object-fit:contain}.np-payment-qr-info{min-width:0}.np-payment-qr-info small{display:block;color:#617487;font-size:11px;margin-top:5px}.np-payment-qr-info strong{display:block;color:#087443;font-size:25px;line-height:1.1;margin:2px 0 8px}.np-payment-qr-info code{display:block;padding:8px 9px;border-radius:8px;background:#eaf6ff;color:#075f9e;font-size:13px;font-weight:900;letter-spacing:.03em;overflow-wrap:anywhere}.np-payment-qr-info p{margin:8px 0 0;color:#536779;font-size:11px;line-height:1.45}.np-payment-qr-review{margin:12px 0}.np-payment-qr-review .np-payment-qr-image{width:132px;height:132px}.np-payment-qr-review .np-payment-qr-body{grid-template-columns:132px minmax(0,1fr)}
@media(max-width:520px){.np-payment-qr{padding:10px}.np-payment-qr-body,.np-payment-qr-review .np-payment-qr-body{grid-template-columns:118px minmax(0,1fr);gap:10px}.np-payment-qr-image,.np-payment-qr-review .np-payment-qr-image{width:118px;height:118px}.np-payment-qr-info strong{font-size:21px}.np-payment-qr-info code{font-size:11px;padding:7px}.np-payment-qr-head b{font-size:13px}}
@media(max-width:380px){.np-payment-qr-body,.np-payment-qr-review .np-payment-qr-body{grid-template-columns:1fr;text-align:center}.np-payment-qr-image,.np-payment-qr-review .np-payment-qr-image{margin:auto}.np-payment-qr-info code{text-align:center}}

/* Stable 1.27.0 - Xen kẽ màu thẻ khách nợ, giảm chói và phân cấp mức nợ */
.np-debtor-results{
  --np-card-blue:#f5faff;
  --np-card-mint:#f4fcf8;
  --np-card-lilac:#faf7ff;
  --np-card-sand:#fffaf3;
}
.np-debtor-card{
  position:relative;
  overflow:hidden;
  border-left-width:4px;
  box-shadow:0 4px 13px rgba(16,56,84,.055);
}
.np-debtor-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:currentColor;
  opacity:.92;
}
.np-debtor-card.tone-0{background:var(--np-card-blue);border-color:#cfe4f5;color:#2f80b7}
.np-debtor-card.tone-1{background:var(--np-card-mint);border-color:#cfeadf;color:#238b6a}
.np-debtor-card.tone-2{background:var(--np-card-lilac);border-color:#e1d8f3;color:#7a5aae}
.np-debtor-card.tone-3{background:var(--np-card-sand);border-color:#f1dfc2;color:#c27a28}
.np-debtor-card:hover{border-color:currentColor;box-shadow:0 9px 22px rgba(16,56,84,.11)}
.np-debtor-card .np-debtor-head,.np-debtor-card .np-debtor-balances,.np-debtor-card .np-debtor-priority{position:relative;z-index:1}
.np-debtor-card .np-debtor-head b{color:#113f5d}
.np-debtor-card .np-debtor-head>span{background:rgba(226,248,239,.88);border:1px solid rgba(126,211,177,.28)}

.np-debtor-balance{
  background:rgba(255,255,255,.72)!important;
  border-color:rgba(148,163,184,.34)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42);
  transition:.15s ease;
}
.np-debtor-balance.money.owed{color:#a61b45}
.np-debtor-balance.bottle.owed{color:#a84d0c}
.np-debtor-balance.clear{color:#64748b;background:rgba(248,250,252,.72)!important}

.np-debtor-balance.money.severity-low{background:#fff7f8!important;border-color:#f8cbd5!important}
.np-debtor-balance.money.severity-medium{background:#fff0f3!important;border-color:#f3a9b9!important}
.np-debtor-balance.money.severity-high{background:#ffe8ed!important;border-color:#ef879f!important}
.np-debtor-balance.money.severity-critical{background:#ffdce5!important;border-color:#e95476!important;color:#8f1233}
.np-debtor-balance.bottle.severity-low{background:#fffaf2!important;border-color:#f4ddba!important}
.np-debtor-balance.bottle.severity-medium{background:#fff4df!important;border-color:#f2c982!important}
.np-debtor-balance.bottle.severity-high{background:#ffebcf!important;border-color:#eda94b!important}
.np-debtor-balance.bottle.severity-critical{background:#ffe1b8!important;border-color:#df8428!important;color:#8a3a05}
.np-debtor-balance.severity-critical strong{font-weight:1000}

.np-debtor-priority{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  margin-top:7px;
  color:#6b7d8b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.np-debtor-priority i{width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.78}
.np-debtor-card.priority-critical .np-debtor-priority{color:#b42342}
.np-debtor-card.priority-high .np-debtor-priority{color:#bf651b}
.np-debtor-card.priority-medium .np-debtor-priority{color:#8a6a20}

@media(max-width:700px){
  .np-debtor-card{border-left-width:3px}
  .np-debtor-card::before{width:3px}
  .np-debtor-priority{margin-top:5px;font-size:8px}
}

/* Stable 1.28.0 - Reliable detailed reports, mobile one-panel layout */
.np-report-shell{display:grid;gap:12px;min-width:0}.np-report-filter-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 3px 12px #1c36520a}.np-report-presets{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.np-report-presets::-webkit-scrollbar,.np-report-tabs::-webkit-scrollbar,.np-report-kpis::-webkit-scrollbar{display:none}.np-report-preset{flex:0 0 auto;min-height:36px;padding:7px 12px;border:1px solid #d9e4ed;background:#f6f9fc;color:#31516a;font-weight:750}.np-report-preset.active{background:#0f6fa4;color:#fff;border-color:#0f6fa4}.np-report-more-filter{margin-top:9px;border-top:1px solid #edf1f5;padding-top:8px}.np-report-more-filter summary{cursor:pointer;color:#476178;font-weight:750;list-style:none}.np-report-more-filter summary::-webkit-details-marker{display:none}.np-report-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;margin-top:10px}.np-report-filter-grid label{margin:0}.np-report-filter-grid label span{font-size:11px;color:var(--muted)}.np-report-filter-grid button{min-height:42px}.np-report-range-line{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:9px;color:#203e56}.np-report-range-line span{font-weight:800}.np-report-range-line small{color:var(--muted)}.np-report-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 1px;scrollbar-width:none}.np-report-tabs button{flex:0 0 auto;display:flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;background:#eaf0f5;color:#40586d;font-weight:800;border:1px solid transparent}.np-report-tabs button.active{background:#0f304d;color:#fff;box-shadow:0 4px 12px #0f304d22}.np-report-content{min-width:0;display:grid;gap:12px}.np-report-loading,.np-report-error,.np-report-empty{display:grid;place-items:center;text-align:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:42px 16px;color:var(--muted)}.np-report-loading i{width:34px;height:34px;border:4px solid #d8e8f3;border-top-color:#0f6fa4;border-radius:50%;animation:npReportSpin .8s linear infinite}.np-report-loading b,.np-report-error b,.np-report-empty b{color:var(--text);font-size:16px}.np-report-loading span{font-size:12px}.np-report-empty span{font-size:34px}.np-report-empty p,.np-report-error p{margin:0;max-width:480px}@keyframes npReportSpin{to{transform:rotate(360deg)}}
.np-report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.np-report-kpi{position:relative;min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px;overflow:hidden}.np-report-kpi:after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:#438db9}.np-report-kpi.green:after{background:#2f9d65}.np-report-kpi.violet:after{background:#8064b8}.np-report-kpi.orange:after{background:#df8e36}.np-report-kpi-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#eef6fb;margin-bottom:8px}.np-report-kpi small,.np-report-kpi strong,.np-report-kpi em{display:block;min-width:0}.np-report-kpi>small{color:var(--muted);font-size:11px;font-weight:750}.np-report-kpi strong{font-size:22px;margin:5px 0;overflow-wrap:anywhere}.np-report-kpi em{color:var(--muted);font-size:11px;font-style:normal;line-height:1.35}.np-report-delta{display:block;font-size:10px;font-weight:800;margin:2px 0 5px}.np-report-delta.up{color:#11804c}.np-report-delta.down{color:#c43d32}.np-report-delta.flat{color:var(--muted)}.np-report-grid-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:12px}.np-report-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;box-shadow:0 3px 12px #1c36520a}.np-report-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px}.np-report-card-head small,.np-report-card-head h3{display:block;margin:0}.np-report-card-head small{color:var(--muted);font-size:11px}.np-report-card-head h3{font-size:16px;margin-top:2px}.np-report-card-head>b{font-size:15px;color:#164b70;text-align:right}.np-report-bars{display:grid;gap:8px}.np-report-bar-item{display:grid;grid-template-columns:64px minmax(80px,1fr) 108px;gap:8px;align-items:center}.np-report-bar-item>span{font-size:11px;color:var(--muted)}.np-report-bar-item>div{height:9px;border-radius:999px;background:#edf2f6;overflow:hidden}.np-report-bar-item i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#57a8d6,#176a9c)}.np-report-bar-item>b{text-align:right;font-size:11px}.np-report-progress-list{display:grid;gap:14px;margin-bottom:14px}.np-report-progress-list>div{display:grid;grid-template-columns:1fr auto;gap:6px}.np-report-progress-list span{font-size:12px;color:var(--muted)}.np-report-progress-list>div>i{grid-column:1/-1;height:8px;background:#edf2f6;border-radius:999px;overflow:hidden}.np-report-progress-list em{display:block;height:100%;background:linear-gradient(90deg,#1f8bc1,#34a66d);border-radius:999px}.np-report-mini-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.np-report-mini-summary>div{background:#f5f8fb;border:1px solid #e7edf2;border-radius:10px;padding:10px}.np-report-mini-summary span,.np-report-mini-summary b{display:block}.np-report-mini-summary span{font-size:10px;color:var(--muted)}.np-report-mini-summary b{font-size:13px;margin-top:3px}.np-report-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.np-report-insights article{display:flex;gap:9px;padding:11px;border-radius:11px;background:#f5f8fb}.np-report-insights article>span{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#e4ebf1;font-weight:900}.np-report-insights article.good{background:#eef9f2}.np-report-insights article.good>span{background:#cdeed9;color:#137541}.np-report-insights article.warn{background:#fff5e9}.np-report-insights article.warn>span{background:#fce0bb;color:#9a5b0b}.np-report-insights b{font-size:12px}.np-report-insights p{margin:3px 0 0;font-size:11px;color:#5f7181;line-height:1.4}.np-payment-split{display:flex;height:15px;border-radius:999px;overflow:hidden;background:#edf2f6}.np-payment-split div:first-child{background:#38a56c}.np-payment-split div:last-child{background:#2d7eae}.np-payment-legend{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 14px;font-size:11px;color:var(--muted)}.np-payment-legend span{display:flex;align-items:center;gap:5px}.np-payment-legend i{width:9px;height:9px;border-radius:50%}.np-payment-legend .cash{background:#38a56c}.np-payment-legend .bank{background:#2d7eae}.np-report-day-list{display:grid;gap:4px}.np-report-day-list article{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f5}.np-report-day-list article:last-child{border-bottom:0}.np-report-day-list time{font-size:11px;color:var(--muted)}.np-report-day-list div span,.np-report-day-list div b,.np-report-day-list div small{display:block}.np-report-day-list div span{font-size:10px;color:var(--muted)}.np-report-day-list div b{font-size:12px}.np-report-day-list div small{font-size:10px;color:#788897;margin-top:2px}.np-report-day-list>article>strong{font-size:12px;color:#0f6a42}.np-report-rank-list{display:grid}.np-report-rank-list article{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f5}.np-report-rank-list article:last-child{border-bottom:0}.np-report-rank-list.customers article{cursor:pointer}.np-report-rank-list.customers article:hover{background:#f8fbfd}.np-report-rank-list .rank{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eaf3f9;color:#155c86;font-weight:900}.np-report-rank-list .main{min-width:0}.np-report-rank-list .main b,.np-report-rank-list .main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-report-rank-list .main small{color:var(--muted);font-size:10px;margin-top:3px}.np-report-rank-list .main i{display:block;height:5px;border-radius:999px;background:#edf2f6;margin-top:7px;overflow:hidden}.np-report-rank-list .main em{display:block;height:100%;border-radius:999px;background:#438db9}.np-report-rank-list .value{text-align:right}.np-report-rank-list .value strong,.np-report-rank-list .value small{display:block}.np-report-rank-list .value strong{font-size:12px}.np-report-rank-list .value small{font-size:10px;color:var(--muted);margin-top:3px}.np-report-creator-list{display:grid}.np-report-creator-list article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}.np-report-creator-list article:last-child{border-bottom:0}.np-report-creator-list article>span{font-size:17px}.np-report-creator-list b,.np-report-creator-list small{display:block}.np-report-creator-list small{font-size:10px;color:var(--muted);margin-top:2px}.np-report-creator-list strong{font-size:12px}.np-report-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.np-report-route-grid>article{border:1px solid #dde8ef;border-left:4px solid #4b97c1;border-radius:12px;padding:12px;background:#fbfdff}.np-report-route-grid>article.tone-1{border-left-color:#55a477;background:#f9fdfb}.np-report-route-grid>article.tone-2{border-left-color:#8a72ba;background:#fcfbfe}.np-report-route-grid>article.tone-3{border-left-color:#d89b47;background:#fffdf9}.np-report-route-grid header{height:auto;padding:0;background:transparent;border:0;display:flex}.np-report-route-grid header small,.np-report-route-grid header b{display:block}.np-report-route-grid header small{font-size:10px;color:var(--muted)}.np-report-route-grid header b{margin-top:2px}.np-report-route-grid header strong{font-size:13px;color:#164b70}.np-report-route-grid .stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:11px 0}.np-report-route-grid .stats span{padding:8px;border-radius:9px;background:#fff;border:1px solid #e8eef2}.np-report-route-grid .stats small,.np-report-route-grid .stats b{display:block}.np-report-route-grid .stats small{font-size:9px;color:var(--muted)}.np-report-route-grid .stats b{font-size:12px;margin-top:2px}.np-report-route-grid .stats .warn b{color:#bd591d}.np-report-route-grid .stats .ok b{color:#187447}.np-report-route-grid footer{display:flex;gap:9px;justify-content:space-between;flex-wrap:wrap;padding-top:9px;border-top:1px dashed #dce5eb;font-size:10px;color:var(--muted)}.np-report-note{margin:12px 0 0;color:var(--muted);font-size:10px}
@media(max-width:1100px){.np-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.np-report-grid-main{grid-template-columns:1fr}.np-report-insights{grid-template-columns:1fr}.np-report-route-grid{grid-template-columns:1fr}.np-report-filter-grid{grid-template-columns:1fr 1fr}.np-report-filter-grid button{grid-column:1/-1}}
@media(max-width:900px){body:not(.mobile-sales-open) .np-report-tabs{position:sticky;top:55px;z-index:22;background:var(--bg);margin:0 -10px;padding:7px 10px;border-bottom:1px solid #dfe7ef}.np-report-shell{gap:9px}.np-report-filter-card{padding:10px;border-radius:12px}.np-report-more-filter{margin-top:7px}.np-report-range-line{align-items:flex-start;flex-direction:column;gap:2px}.np-report-range-line small{font-size:10px}.np-report-tabs button{min-height:38px;padding:7px 11px;font-size:12px}.np-report-kpis{display:flex;overflow-x:auto;gap:8px;scroll-snap-type:x mandatory;margin-right:-10px;padding-right:10px}.np-report-kpi{flex:0 0 min(74vw,235px);scroll-snap-align:start;padding:12px}.np-report-kpi strong{font-size:19px}.np-report-card{padding:12px;border-radius:12px}.np-report-bar-item{grid-template-columns:52px minmax(70px,1fr) 92px}.np-report-bar-item>b{font-size:10px}.np-report-mini-summary{grid-template-columns:1fr 1fr}.np-report-day-list article{grid-template-columns:42px minmax(0,1fr)}.np-report-day-list>article>strong{grid-column:2;text-align:left}.np-report-rank-list article{grid-template-columns:28px minmax(0,1fr)}.np-report-rank-list .value{grid-column:2;text-align:left;display:flex;justify-content:space-between;gap:8px}.np-report-rank-list .value small{margin:0}.np-report-creator-list article{grid-template-columns:25px minmax(0,1fr)}.np-report-creator-list strong{grid-column:2}.np-report-route-grid header{display:flex!important}.np-report-loading,.np-report-error,.np-report-empty{padding:34px 14px}}
@media(max-width:520px){.np-report-filter-grid{grid-template-columns:1fr}.np-report-filter-grid button{grid-column:auto}.np-report-preset{font-size:12px}.np-report-kpi{flex-basis:82vw}.np-report-mini-summary{grid-template-columns:1fr 1fr}.np-report-card-head{margin-bottom:10px}.np-report-card-head>b{font-size:12px}.np-report-route-grid .stats{grid-template-columns:1fr 1fr}.np-report-route-grid footer{display:grid;grid-template-columns:1fr 1fr}.np-report-insights article{padding:10px}}

/* Stable 1.28.1 · Report anti-flicker hotfix */
.np-report-range-line{position:relative}
.np-report-live-refresh{margin-left:auto;display:inline-grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:6px;align-items:center;border:1px solid #e3a240;background:#fff7e8;color:#8b5507;border-radius:10px;padding:6px 9px;box-shadow:0 2px 8px #70460014;cursor:pointer;white-space:nowrap}
.np-report-live-refresh.hidden{display:none!important}
.np-report-live-refresh>span{grid-row:1/3;font-size:16px;font-weight:900}.np-report-live-refresh>b{font-size:11px;line-height:1.1}.np-report-live-refresh>small{font-size:9px;color:#a06a1a;line-height:1.1}
.np-report-content{position:relative;min-height:120px}
.np-report-soft-loading{position:sticky;top:104px;z-index:24;display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:calc(100% - 16px);margin:0 auto 8px;padding:7px 11px;border:1px solid #cfe0eb;border-radius:999px;background:#f6fbfeeb;color:#245c7b;box-shadow:0 4px 14px #173d5717;backdrop-filter:blur(6px);font-size:11px;font-weight:800}
.np-report-soft-loading i{width:12px;height:12px;border:2px solid #b8d5e6;border-top-color:#2479a8;border-radius:50%;animation:npReportSoftSpin .8s linear infinite}
@keyframes npReportSoftSpin{to{transform:rotate(360deg)}}
.np-report-content.is-soft-loading>.np-report-kpis,.np-report-content.is-soft-loading>.np-report-grid-main,.np-report-content.is-soft-loading>.np-report-card{filter:none;opacity:1}
@media(max-width:900px){.np-report-range-line{padding-right:0}.np-report-live-refresh{margin:5px 0 0;width:100%;grid-template-columns:auto auto 1fr;grid-template-rows:1fr;justify-content:center}.np-report-live-refresh>span{grid-row:auto}.np-report-live-refresh>small{text-align:left}.np-report-soft-loading{top:101px}}
@media(prefers-reduced-motion:reduce){.np-report-soft-loading i{animation:none}}

/* Stable 1.29.0 - Executive reports rebuilt for mobile and decision-making */
.np29-shell{display:grid;gap:12px;min-width:0}.np29-filter-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px;box-shadow:0 3px 12px #18364f0a}.np29-presets,.np29-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.np29-presets::-webkit-scrollbar,.np29-tabs::-webkit-scrollbar,.np29-segmented::-webkit-scrollbar{display:none}.np29-preset,.np29-tabs button{flex:0 0 auto;min-height:38px;border:1px solid #dbe5ed;background:#f5f8fb;color:#355169;font-weight:800}.np29-preset{padding:7px 12px}.np29-preset.active{background:#0f6fa4;color:#fff;border-color:#0f6fa4}.np29-filter-details{margin-top:9px;border-top:1px solid #edf1f4;padding-top:8px}.np29-filter-details summary{cursor:pointer;list-style:none;font-weight:800;color:#446078}.np29-filter-details summary::-webkit-details-marker{display:none}.np29-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:9px;align-items:end;margin-top:9px}.np29-filter-grid label{margin:0}.np29-filter-grid label span{font-size:11px;color:var(--muted)}.np29-filter-grid button{min-height:42px}.np29-filter-card .np-report-range-line{margin-top:9px}.np29-filter-card .np-report-range-line>div{display:grid;gap:2px}.np29-filter-card .np-report-range-line span{font-weight:900}.np29-filter-card .np-report-range-line small{color:var(--muted)}.np29-tabs{position:sticky;top:66px;z-index:16;background:linear-gradient(#f4f8fb 80%,transparent);padding:3px 1px 8px}.np29-tabs button{display:flex;align-items:center;gap:6px;padding:8px 12px}.np29-tabs button.active{background:#102f4b;color:#fff;border-color:#102f4b;box-shadow:0 4px 12px #102f4b22}.np29-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.np29-kpi{position:relative;min-width:0;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;overflow:hidden;box-shadow:0 3px 12px #18364f08}.np29-kpi:after{content:'';position:absolute;inset:auto 0 0;height:4px;background:#2d84b4}.np29-kpi.green:after{background:#2f9d65}.np29-kpi.violet:after{background:#8064b8}.np29-kpi.orange:after{background:#df8e36}.np29-kpi.red:after{background:#d8574d}.np29-kpi-top{display:flex;align-items:center;gap:7px}.np29-kpi-top>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#eef5fa}.np29-kpi-top small{font-size:11px;color:var(--muted);font-weight:800}.np29-kpi strong{display:block;font-size:21px;margin:8px 0 5px;overflow-wrap:anywhere}.np29-kpi em{display:block;color:var(--muted);font-size:10.5px;font-style:normal;line-height:1.4}.np29-delta{display:block;font-size:10px;font-weight:850;margin:-1px 0 5px}.np29-delta.good{color:#16834e}.np29-delta.bad{color:#c43e35}.np29-delta.neutral{color:var(--muted)}.np29-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.np29-grid.executive{grid-template-columns:1.25fr .75fr}.np29-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;box-shadow:0 3px 12px #18364f08}.np29-span-2{grid-column:1/-1}.np29-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.np29-card-head small,.np29-card-head h3{display:block;margin:0}.np29-card-head small{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em}.np29-card-head h3{font-size:16px;margin-top:3px}.np29-card-right{font-weight:900;color:#164b70;text-align:right}.np29-trend{height:220px;overflow-x:auto;padding:12px 2px 0}.np29-trend-bars{display:flex;align-items:flex-end;gap:8px;height:190px;min-width:max-content}.np29-trend-col{display:grid;grid-template-rows:28px 1fr 22px;justify-items:center;gap:4px;width:52px;height:100%}.np29-trend-col b{font-size:9px;color:#456176;align-self:end;white-space:nowrap}.np29-trend-col i{display:block;align-self:end;width:24px;min-height:5px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#3ca8dc,#176b9b)}.np29-trend-col span{font-size:9.5px;color:var(--muted);white-space:nowrap}.np29-signal-grid{display:grid;gap:8px}.np29-signal{display:flex;gap:9px;padding:10px;border:1px solid #e5ecf1;border-radius:11px;background:#f7f9fb}.np29-signal>span{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:#e8edf1;font-weight:900}.np29-signal.good{background:#eef9f2;border-color:#d5eddf}.np29-signal.good>span{background:#ccebd8;color:#147846}.np29-signal.warn{background:#fff7ea;border-color:#f3e1c4}.np29-signal.warn>span{background:#f9dfb7;color:#9b5c0a}.np29-signal.bad{background:#fff0f0;border-color:#f2d1d1}.np29-signal.bad>span{background:#f4cccc;color:#a52f2a}.np29-signal b,.np29-signal p,.np29-signal small{display:block;margin:0}.np29-signal b{font-size:11px}.np29-signal p{font-size:15px;font-weight:900;margin:2px 0}.np29-signal small{font-size:10px;color:#647687;line-height:1.35}.np29-action-list{display:grid;gap:8px}.np29-action-list article{display:flex;gap:9px;align-items:flex-start;padding:9px;background:#f6f8fa;border-radius:10px}.np29-action-list article>span{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:#dfeaf1;color:#174f72;font-weight:900;font-size:11px}.np29-action-list p{margin:2px 0 0;font-size:11.5px;line-height:1.5}.np29-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.np29-compare-grid>div{padding:10px;background:#f6f8fa;border:1px solid #edf1f4;border-radius:10px}.np29-compare-grid span,.np29-compare-grid b{display:block}.np29-compare-grid>div>span{font-size:10px;color:var(--muted)}.np29-compare-grid b{font-size:15px;margin:4px 0}.np29-leader{display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;padding:12px;background:linear-gradient(135deg,#eef8fc,#f7fbfd);border:1px solid #dceaf2;border-radius:12px}.np29-leader>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#d9eef7}.np29-leader b,.np29-leader small{display:block}.np29-leader small{color:var(--muted);font-size:10px;margin-top:2px}.np29-leader strong{color:#0e527d}.np29-progress{display:grid;gap:6px;margin-top:11px}.np29-progress>div{display:flex;justify-content:space-between;gap:8px;font-size:11px}.np29-progress>div span{color:var(--muted)}.np29-progress>i{display:block;height:8px;border-radius:99px;background:#edf2f5;overflow:hidden}.np29-progress em{display:block;height:100%;border-radius:99px;background:#2d84b4}.np29-progress em.green{background:#2f9d65}.np29-progress em.violet{background:#8064b8}.np29-progress em.red{background:#d8574d}.np29-definition-note{margin:11px 2px 0;color:#617283;font-size:10.5px;line-height:1.45}.np29-flow{display:grid;gap:11px}.np29-flow-total{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed #d8e1e7;padding-top:11px}.np29-flow-total strong{font-size:19px;color:#126c9d}.np29-donut-row{display:grid;grid-template-columns:128px 1fr;gap:15px;align-items:center}.np29-donut{display:grid;place-items:center;align-content:center;width:128px;height:128px;border-radius:50%;position:relative}.np29-donut:after{content:'';position:absolute;width:82px;height:82px;border-radius:50%;background:#fff}.np29-donut span,.np29-donut small{position:relative;z-index:1}.np29-donut span{font-size:22px;font-weight:900}.np29-donut small{color:var(--muted)}.np29-legend{display:grid;gap:9px}.np29-legend p{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;margin:0;font-size:11px}.np29-legend i{width:9px;height:9px;border-radius:50%}.np29-legend .cash{background:#2f9d65}.np29-legend .bank{background:#247daf}.np29-legend .old{background:#8064b8}.np29-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.np29-mini-grid>div{padding:9px;background:#f6f8fa;border-radius:9px}.np29-mini-grid span,.np29-mini-grid b{display:block}.np29-mini-grid span{font-size:9.5px;color:var(--muted)}.np29-mini-grid b{font-size:12px;margin-top:3px}.np29-mini-grid b.good{color:#16834e}.np29-mini-grid b.bad{color:#c43e35}.np29-day-cards{display:grid;gap:5px}.np29-day-cards article{display:grid;grid-template-columns:62px 1fr 1fr 100px;gap:10px;align-items:center;padding:9px 5px;border-bottom:1px solid #edf1f4}.np29-day-cards time{font-weight:800;font-size:11px}.np29-day-cards span,.np29-day-cards b,.np29-day-cards small{display:block}.np29-day-cards span{font-size:9.5px;color:var(--muted)}.np29-day-cards b{font-size:11.5px}.np29-day-cards small{font-size:9px;color:#71808d;margin-top:2px}.np29-day-cards .bad b{color:#c43e35}.np29-day-cards .good b{color:#16834e}.np29-toolbar-inline{display:flex;justify-content:flex-end;margin-bottom:10px}.np29-segmented{display:flex;gap:4px;overflow-x:auto;padding:3px;background:#eaf0f4;border-radius:11px}.np29-segmented button{flex:0 0 auto;min-height:34px;padding:6px 11px;background:transparent;color:#486075;font-weight:800}.np29-segmented button.active{background:#fff;color:#0f5f90;box-shadow:0 2px 7px #17334c18}.np29-product-list{display:grid;gap:5px}.np29-product-list article{display:grid;grid-template-columns:26px 1fr auto;gap:9px;align-items:center;padding:9px 5px;border-bottom:1px solid #edf1f4}.np29-product-list article>span,.np29-rank-no{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e7eff5;color:#164c6d;font-weight:900;font-size:10px}.np29-product-list b,.np29-product-list small{display:block}.np29-product-list b{font-size:11.5px}.np29-product-list small{font-size:9.5px;color:var(--muted);margin-top:2px}.np29-product-list i,.np29-rank-main i{display:block;height:5px;border-radius:99px;background:#edf1f4;margin-top:6px;overflow:hidden}.np29-product-list em,.np29-rank-main em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#43a6d4,#236f9b)}.np29-product-list strong{font-size:11.5px;text-align:right}.np29-group-list{display:grid;gap:9px}.np29-group-list article{position:relative;display:grid;grid-template-columns:1fr auto;gap:5px;padding:10px;border-radius:11px;background:#f5f9fc;overflow:hidden}.np29-group-list article.tone-1{background:#f2faf5}.np29-group-list article.tone-2{background:#f7f3fb}.np29-group-list article.tone-3{background:#fff8ed}.np29-group-list b,.np29-group-list small{display:block}.np29-group-list small{color:var(--muted);font-size:9.5px;margin-top:2px}.np29-group-list i{grid-column:1/-1;height:6px;background:#e8eef2;border-radius:99px;overflow:hidden}.np29-group-list em{display:block;height:100%;background:#2e86b5}.np29-group-list article>span{position:absolute;right:9px;bottom:8px;font-size:9px;color:var(--muted)}.np29-rank-list{display:grid;gap:4px}.np29-rank-list article{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;padding:8px 4px;border-bottom:1px solid #edf1f4;cursor:pointer}.np29-rank-main b,.np29-rank-main small{display:block}.np29-rank-main b{font-size:11.5px}.np29-rank-main small{font-size:9.5px;color:var(--muted);margin-top:2px}.np29-rank-list article>strong{font-size:11px;text-align:right}.np29-empty-compact{padding:16px;text-align:center;color:var(--muted);font-size:11px;background:#f7f9fb;border-radius:10px}.np29-debt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.np29-debt-grid article{display:grid;grid-template-columns:25px 1fr auto;gap:8px;align-items:center;padding:9px;border:1px solid #f0d9d9;background:#fff5f5;border-radius:10px;cursor:pointer}.np29-debt-grid article>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#f6d7d7;color:#9c302b;font-size:9px;font-weight:900}.np29-debt-grid b,.np29-debt-grid small{display:block}.np29-debt-grid b{font-size:10.5px}.np29-debt-grid small{font-size:9px;color:var(--muted)}.np29-debt-grid strong{color:#b53630;font-size:10.5px}.np29-gauge{text-align:center;padding:8px}.np29-gauge>div{display:grid;place-items:center;width:136px;height:136px;margin:auto;border-radius:50%;background:conic-gradient(#2f9d65 var(--angle),#e8eef1 0);position:relative}.np29-gauge>div:after{content:'';position:absolute;width:92px;height:92px;border-radius:50%;background:#fff}.np29-gauge span{position:relative;z-index:1;font-size:24px;font-weight:900;color:#176c42}.np29-gauge p{font-size:11px;color:var(--muted)}.np29-bottle-top{display:grid;gap:5px}.np29-bottle-top article{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:8px 3px;border-bottom:1px solid #edf1f4;cursor:pointer}.np29-bottle-top article>span{font-size:9px;font-weight:900}.np29-bottle-top b{font-size:10.5px}.np29-bottle-top i{display:block;height:5px;background:#edf1f4;border-radius:99px;margin-top:5px;overflow:hidden}.np29-bottle-top em{display:block;height:100%;background:#df8e36}.np29-bottle-top strong{color:#a85b07;font-size:10.5px}.np29-route-bottle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.np29-route-bottle-grid article{padding:10px;border-radius:11px;background:#f1f8fc;border-left:4px solid #4295c0}.np29-route-bottle-grid article.tone-1{background:#f1faf4;border-color:#47a66d}.np29-route-bottle-grid article.tone-2{background:#f7f2fb;border-color:#8667b8}.np29-route-bottle-grid article.tone-3{background:#fff7ec;border-color:#db8b32}.np29-route-bottle-grid b,.np29-route-bottle-grid small{display:block}.np29-route-bottle-grid small{font-size:9px;color:var(--muted);margin-top:2px}.np29-route-bottle-grid p{display:flex;gap:9px;flex-wrap:wrap;margin:9px 0 0;font-size:9.5px}.np29-route-bottle-grid .bad b{color:#c43e35}.np29-route-bottle-grid .good b{color:#16834e}.np29-material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.np29-material-grid article{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid #eedfca;background:#fff8ed;border-radius:11px}.np29-material-grid article.critical{border-color:#efcdcd;background:#fff1f1}.np29-material-grid article>span{font-size:19px}.np29-material-grid b,.np29-material-grid small{display:block}.np29-material-grid b{font-size:11px}.np29-material-grid small{font-size:9px;color:var(--muted);margin-top:2px}.np29-material-grid i{display:block;height:5px;background:#e8edf0;border-radius:99px;margin-top:6px;overflow:hidden}.np29-material-grid em{display:block;height:100%;background:#df8e36}.np29-material-grid .critical em{background:#d8574d}.np29-material-grid strong{font-size:10px}.np29-request-list{display:grid;gap:6px}.np29-request-list article{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:9px;background:#f6f8fa;border-radius:9px;cursor:pointer}.np29-request-list article>span{font-size:8.5px;font-weight:900;padding:4px 6px;border-radius:99px;background:#e2e9ef}.np29-request-list article>span.urgent{background:#f7d2d2;color:#a42e29}.np29-request-list article>span.soon{background:#f7e3c5;color:#93570a}.np29-request-list b,.np29-request-list small{display:block}.np29-request-list b{font-size:10.5px}.np29-request-list small{font-size:9px;color:var(--muted)}.np29-detail-list{display:grid;gap:7px}.np29-detail-list article{padding:11px;border:1px solid #e7edf1;border-radius:10px}.np29-detail-list header{display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px dashed #dce3e8}.np29-detail-list header strong{color:#0e618f}.np29-detail-list article>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.np29-detail-list span,.np29-detail-list b{display:block}.np29-detail-list span{font-size:9px;color:var(--muted)}.np29-detail-list article>div b{font-size:10.5px;margin-top:2px}.np29-sale-list{display:grid;gap:5px}.np29-sale-list article{display:grid;grid-template-columns:1fr 1.3fr auto;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid #edf1f4;cursor:pointer}.np29-sale-list b,.np29-sale-list small{display:block}.np29-sale-list b{font-size:10.5px}.np29-sale-list small{font-size:9px;color:var(--muted);margin-top:2px}.np29-sale-list>article>strong{font-size:11px;color:#0e618f}.np29-toolbar-inline .detail{max-width:100%}
@media(max-width:900px){.np29-filter-grid{grid-template-columns:1fr 1fr}.np29-filter-grid label:nth-child(3),.np29-filter-grid button{grid-column:1/-1}.np29-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.np29-grid,.np29-grid.executive{grid-template-columns:1fr}.np29-span-2{grid-column:auto}.np29-debt-grid,.np29-route-bottle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.np29-day-cards article{grid-template-columns:55px 1fr 1fr}.np29-day-cards article>div:last-child{grid-column:2/-1}.np29-material-grid{grid-template-columns:1fr}}
@media(max-width:620px){.np29-shell{gap:8px}.np29-filter-card{padding:9px;border-radius:12px}.np29-filter-details:not([open]){padding-top:6px}.np29-tabs{top:61px;margin-inline:-2px;padding-bottom:5px}.np29-tabs button{min-height:36px;padding:7px 10px;font-size:11px}.np29-kpis{gap:7px}.np29-kpi{padding:10px;border-radius:12px}.np29-kpi-top>span{width:24px;height:24px}.np29-kpi-top small{font-size:9.5px}.np29-kpi strong{font-size:16px;margin:6px 0 4px}.np29-kpi em{font-size:9px}.np29-delta{font-size:8.5px}.np29-grid{gap:8px;margin-top:8px}.np29-card{padding:11px;border-radius:12px}.np29-card-head{margin-bottom:9px}.np29-card-head small{font-size:9px}.np29-card-head h3{font-size:14px}.np29-card-right{font-size:11px}.np29-trend{height:190px;padding-top:4px}.np29-trend-bars{height:170px;gap:6px}.np29-trend-col{width:43px;grid-template-rows:24px 1fr 20px}.np29-trend-col b{font-size:8px}.np29-trend-col i{width:21px}.np29-trend-col span{font-size:8.5px}.np29-signal-grid{grid-template-columns:1fr 1fr}.np29-signal{padding:8px;gap:7px}.np29-signal>span{width:23px;height:23px;flex-basis:23px;font-size:10px}.np29-signal b{font-size:9.5px}.np29-signal p{font-size:12px}.np29-signal small{font-size:8.5px}.np29-action-list article{padding:8px}.np29-action-list p{font-size:10px}.np29-compare-grid{gap:6px}.np29-compare-grid>div{padding:8px}.np29-compare-grid b{font-size:12px}.np29-leader{grid-template-columns:32px 1fr auto;padding:9px}.np29-leader>span{width:32px;height:32px}.np29-leader strong{font-size:11px}.np29-donut-row{grid-template-columns:105px 1fr;gap:10px}.np29-donut{width:105px;height:105px}.np29-donut:after{width:68px;height:68px}.np29-donut span{font-size:18px}.np29-legend p{font-size:9.5px}.np29-mini-grid>div{padding:7px}.np29-day-cards article{grid-template-columns:46px 1fr;gap:7px;padding:8px 2px}.np29-day-cards article>div:nth-of-type(2),.np29-day-cards article>div:last-child{grid-column:2}.np29-toolbar-inline{justify-content:flex-start;overflow:hidden}.np29-segmented{max-width:100%;overflow-x:auto}.np29-segmented button{font-size:10px;padding:6px 9px}.np29-product-list article{grid-template-columns:22px 1fr}.np29-product-list article>strong{grid-column:2;text-align:left;color:#0f648f;margin-top:-3px}.np29-rank-list article{grid-template-columns:24px 1fr}.np29-rank-list article>strong{grid-column:2;text-align:left;color:#0f648f;margin-top:-2px}.np29-debt-grid,.np29-route-bottle-grid{grid-template-columns:1fr}.np29-debt-grid article{grid-template-columns:23px 1fr auto}.np29-material-grid article{grid-template-columns:25px 1fr auto}.np29-detail-list article>div{grid-template-columns:1fr 1fr}.np29-sale-list article{grid-template-columns:1fr auto}.np29-sale-list article>div:nth-child(2){grid-column:1/-1;grid-row:2}.np29-sale-list>article>strong{grid-column:2;grid-row:1}.np29-definition-note{font-size:9.5px}}

/* Stable 1.30.0 - End-of-day employee handover report */
.np30-handover-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}.np30-handover-toolbar label{display:grid;gap:5px;min-width:230px}.np30-handover-toolbar label span{font-size:12px;font-weight:800;color:#486479}.np30-handover-toolbar select{height:42px;border:1px solid #cddce7;border-radius:12px;background:#fff;padding:0 12px;font-weight:700;color:#15364d}.np30-range-warning{display:flex;align-items:center;gap:11px;padding:11px 13px;margin-bottom:13px;border:1px solid #ffd18a;border-radius:14px;background:#fff8ea;color:#704313}.np30-range-warning>span{font-size:22px}.np30-range-warning div{display:grid;gap:2px;flex:1}.np30-range-warning small{color:#8c673e}.np30-kpi-grid{margin-bottom:14px}.np30-period-label{font-size:12px;font-weight:800;color:#557185;background:#edf5f9;padding:6px 9px;border-radius:999px}.np30-handover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.np30-handover-card{border:1px solid #dce8ef;border-left:5px solid #2b8fbe;border-radius:17px;padding:13px;background:linear-gradient(145deg,#fff,#f8fbfd);box-shadow:0 5px 18px rgba(15,70,100,.06)}.np30-handover-card.tone-1{border-left-color:#39a46d;background:linear-gradient(145deg,#fff,#f5fcf8)}.np30-handover-card.tone-2{border-left-color:#9a71d1;background:linear-gradient(145deg,#fff,#faf7fd)}.np30-handover-card.tone-3{border-left-color:#d59b32;background:linear-gradient(145deg,#fff,#fffaf0)}.np30-handover-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.np30-handover-card header>div{display:flex;align-items:center;gap:9px;min-width:0}.np30-handover-card header b{display:block;color:#0e3752;font-size:16px}.np30-handover-card header small{display:block;color:#708696;margin-top:2px}.np30-avatar{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#e4f3fa;color:#12648c;font-weight:900}.np30-primary-amount{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #95d8b0;border-radius:13px;background:#edfbf2;margin-bottom:10px}.np30-primary-amount span{font-size:13px;font-weight:800;color:#236642}.np30-primary-amount strong{font-size:22px;color:#127241;white-space:nowrap}.np30-handover-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.np30-handover-stats>div{padding:8px 9px;border-radius:11px;background:#f2f6f8;display:grid;gap:3px}.np30-handover-stats small{font-size:11px;color:#688094}.np30-handover-stats b{font-size:14px;color:#173e56}.np30-handover-stats .warn{background:#fff3e9}.np30-handover-stats .warn b{color:#b44a1b}.np30-handover-stats .ok{background:#eff9f3}.np30-handover-stats .ok b{color:#23794b}.np30-handover-card footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px dashed #dbe6ec;color:#60798a;font-size:12px}.np30-handover-card footer b{color:#173f57}.np30-modal-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:13px}.np30-modal-summary>div{background:#f1f7fa;border-radius:12px;padding:10px;display:grid;gap:3px}.np30-modal-summary span{font-size:11px;color:#688095}.np30-modal-summary b,.np30-modal-summary strong{font-size:16px;color:#153d55}.np30-modal-summary strong{color:#087946}.np30-detail-list{display:grid;gap:7px;max-height:58vh;overflow:auto}.np30-detail-row{display:grid;grid-template-columns:minmax(150px,1.5fr) repeat(4,minmax(88px,.7fr));align-items:center;gap:8px;padding:9px 10px;border:1px solid #dce8ee;border-radius:12px;background:#fff;cursor:pointer}.np30-detail-row:hover{background:#f5fafc}.np30-detail-row>div{display:grid;gap:2px}.np30-detail-row span,.np30-detail-row small{font-size:11px;color:#718695}.np30-detail-row b{font-size:13px;color:#173d55}.np30-detail-row strong{color:#0b7b47}
@media(max-width:900px){.np30-handover-grid{grid-template-columns:1fr}.np30-handover-toolbar{align-items:stretch}.np30-handover-toolbar label{min-width:0;flex:1}.np30-modal-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.np30-detail-row{grid-template-columns:1fr 1fr 1fr}.np30-detail-row>div:first-child{grid-column:1/-1;border-bottom:1px dashed #dce6eb;padding-bottom:5px}.np30-detail-row>div:nth-child(5){display:none}}
@media(max-width:560px){.np30-handover-toolbar{flex-direction:column}.np30-handover-toolbar button{width:100%}.np30-range-warning{align-items:flex-start;flex-wrap:wrap}.np30-range-warning button{width:100%}.np30-primary-amount strong{font-size:20px}.np30-handover-stats{grid-template-columns:1fr 1fr}.np30-handover-card{padding:11px}.np30-modal-summary{grid-template-columns:1fr 1fr}.np30-detail-row{grid-template-columns:1fr 1fr}.np30-detail-row>div:nth-child(4){display:none}}

/* Stable 1.31.0 - Expense management, management accounting, and handover deduction */
.np31-intro{display:flex;align-items:center;gap:12px;padding:13px 15px;margin-bottom:12px;border:1px solid #cfe4ef;border-radius:15px;background:linear-gradient(135deg,#eef9fd,#f8fcfe)}.np31-intro>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#d9eff8;font-size:22px}.np31-intro div{display:grid;gap:3px}.np31-intro b{color:#123f5b}.np31-intro small{color:#617d8e;line-height:1.45}.np31-filter-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:11px;margin-bottom:12px;box-shadow:0 3px 12px #18364f0a}.np31-date-presets{display:flex;gap:7px;overflow-x:auto}.np31-date-presets button{min-height:35px;padding:7px 12px;border:1px solid #d9e4eb;background:#f5f8fa;color:#3f5d72;font-weight:800}.np31-date-presets button.active{background:#0f6fa4;color:#fff;border-color:#0f6fa4}.np31-filter-card details{margin-top:8px;border-top:1px solid #edf1f4;padding-top:8px}.np31-filter-card summary{cursor:pointer;font-weight:850;color:#3b5d74;list-style:none}.np31-filter-card summary::-webkit-details-marker{display:none}.np31-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:end;margin-top:9px}.np31-filter-grid label{display:grid;gap:4px;margin:0;font-size:11px;color:#5c7486}.np31-filter-grid .wide{grid-column:span 2}.np31-filter-grid input,.np31-filter-grid select{min-width:0;height:40px}.np31-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.np31-expense-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:12px}.np31-expense-list{display:grid;gap:8px;max-height:72vh;overflow:auto;padding-right:2px}.np31-expense-card{border:1px solid #dce7ed;border-left:5px solid #2c8db8;border-radius:14px;padding:11px 12px;background:#fff;cursor:pointer;box-shadow:0 3px 10px #18364f0a}.np31-expense-card.tone-1{border-left-color:#50a779;background:#fbfefc}.np31-expense-card.tone-2{border-left-color:#9272c7;background:#fdfbff}.np31-expense-card.tone-3{border-left-color:#d39b3b;background:#fffdf8}.np31-expense-card:hover{box-shadow:0 5px 16px #173d5514}.np31-expense-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.np31-expense-card header div{min-width:0}.np31-expense-card header b,.np31-expense-card header small{display:block}.np31-expense-card header b{font-size:14px;color:#123c56}.np31-expense-card header small{font-size:10px;color:#738794;margin-top:3px}.np31-expense-card header strong{font-size:18px;color:#c14c42;white-space:nowrap}.np31-expense-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px}.np31-status,.np31-accounting,.np31-handover-tag{display:inline-flex;align-items:center;min-height:24px;padding:4px 7px;border-radius:999px;font-size:9.5px;font-weight:850}.np31-status.pending{background:#fff0d9;color:#9b5b07}.np31-status.approved{background:#e5f6ec;color:#187748}.np31-status.rejected,.np31-status.voided{background:#f3e7e7;color:#9b3f3a}.np31-accounting{background:#eaf3f8;color:#27607f}.np31-accounting.production_overhead{background:#eee8f8;color:#694b98}.np31-accounting.administration{background:#edf0f3;color:#52616b}.np31-accounting.finance{background:#e6f0fa;color:#245e91}.np31-accounting.capital{background:#f6ebda;color:#875d21}.np31-accounting.other{background:#f1eef4;color:#695e71}.np31-handover-tag{background:#dff7e8;color:#147448}.np31-expense-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.np31-expense-meta>span{display:grid;gap:2px;padding:7px 8px;border-radius:9px;background:#f4f7f9}.np31-expense-meta small{font-size:9px;color:#788b98}.np31-expense-meta b{font-size:10.5px;color:#284a5f;overflow-wrap:anywhere}.np31-expense-card footer{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px dashed #dce5ea}.secondary.danger{color:#a83e37;border-color:#e7c6c3}.np31-breakdown{display:grid;gap:8px}.np31-breakdown article{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;padding:8px 2px;border-bottom:1px solid #edf1f4}.np31-breakdown b,.np31-breakdown small{display:block}.np31-breakdown b{font-size:11.5px}.np31-breakdown small{font-size:9.5px;color:#718592;margin-top:2px}.np31-breakdown i{display:block;height:5px;border-radius:99px;background:#edf1f4;margin-top:6px;overflow:hidden}.np31-breakdown em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#e18b64,#c9584c)}.np31-breakdown strong{font-size:11.5px;color:#a4433d}.np31-material-warning{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;margin-bottom:12px;border:1px solid #f0d39d;border-radius:12px;background:#fff8e9}.np31-material-warning>span{font-size:21px}.np31-material-warning div{display:grid;gap:2px}.np31-material-warning b{color:#7e5518}.np31-material-warning small{color:#8a704c;line-height:1.4}.np31-expense-form .np31-guidance{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 10px;border-radius:10px;background:#f1f7fa;border:1px solid #dfeaf0}.np31-guidance>span{font-size:10.5px;font-weight:800;color:#4c687a}.np31-guidance>small{display:block;flex-basis:100%;color:#6c7f8b}.np31-detail-hero{display:grid;gap:8px;padding:13px;border:1px solid #dce8ed;border-radius:14px;background:linear-gradient(135deg,#f7fbfd,#fff);margin-bottom:11px}.np31-detail-hero>div{display:flex;gap:5px;flex-wrap:wrap}.np31-detail-hero strong{font-size:27px;color:#c44c42}.np31-detail-hero>b{font-size:16px;color:#183e55}.np31-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.np31-detail-grid>div{display:grid;gap:3px;padding:9px;border-radius:10px;background:#f4f7f9}.np31-detail-grid span{font-size:10px;color:#768a97}.np31-detail-grid b{font-size:12px;color:#27495e}.np31-detail-note{margin-top:9px;padding:10px;border-radius:10px;background:#f7f8fa}.np31-detail-note b{font-size:11px}.np31-detail-note p{margin:4px 0 0;font-size:11px;line-height:1.5}.np31-modal-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:12px}.np31-master-columns{display:grid;grid-template-columns:1fr 1fr;gap:13px}.np31-master-columns>section{min-width:0;border:1px solid #dce7ed;border-radius:13px;padding:11px}.np31-master-list{display:grid;gap:6px;max-height:60vh;overflow:auto;margin-top:9px}.np31-master-list article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;padding:8px;border-radius:10px;background:#f5f8fa}.np31-master-list article>div{min-width:0}.np31-master-list b,.np31-master-list small{display:block}.np31-master-list b{font-size:11.5px;margin-top:4px}.np31-master-list small{font-size:9.5px;color:#718590;margin-top:2px}.np31-checkbox{display:flex!important;align-items:center;gap:8px}.np31-checkbox input{width:auto!important}.np31-report-warning{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:11px 0;border:1px solid #f0d19a;border-radius:12px;background:#fff7e8}.np31-report-warning>span{font-size:21px}.np31-report-warning div{display:grid;gap:2px}.np31-report-warning small{color:#826a47}.np31-group-breakdown{display:grid;gap:8px}.np31-group-breakdown article{display:grid;grid-template-columns:1fr auto;gap:6px;padding:9px;border-radius:10px;background:#f6f8fa}.np31-group-breakdown article>div{display:flex;align-items:center;gap:8px}.np31-group-breakdown article>div>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#e6eef3}.np31-group-breakdown b,.np31-group-breakdown small{display:block}.np31-group-breakdown b{font-size:11px}.np31-group-breakdown small{font-size:8.5px;color:#768995}.np31-group-breakdown strong{font-size:11.5px;color:#a3463e}.np31-group-breakdown i{grid-column:1/-1;display:block;height:5px;border-radius:99px;background:#e7edf1;overflow:hidden}.np31-group-breakdown em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#dd8060,#be4d43)}.np31-profit-flow{display:grid;gap:7px}.np31-profit-flow>div{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:8px;background:#f5f8fa}.np31-profit-flow span{font-size:10.5px;color:#617989}.np31-profit-flow b,.np31-profit-flow strong{font-size:12px}.np31-profit-flow>div:nth-child(3) strong{color:#18764a}.np31-profit-flow .total{border:1px solid #9fd8b7;background:#ebf9f0}.np31-profit-flow .total strong{font-size:16px;color:#0d7644}.np31-readiness{display:grid;justify-items:center;text-align:center;gap:7px;padding:18px;border:1px dashed #e2b665;border-radius:12px;background:#fff9ed}.np31-readiness>span{font-size:28px}.np31-readiness b{color:#8a5b0d}.np31-readiness p{margin:0;color:#7d6b50;font-size:11px;line-height:1.5}.np31-top-expenses{display:grid;gap:5px}.np31-top-expenses article{display:grid;grid-template-columns:25px 1fr auto;gap:9px;align-items:center;padding:8px 4px;border-bottom:1px solid #edf1f4;cursor:pointer}.np31-top-expenses article>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#f4e5e2;color:#9a4b43;font-size:9px;font-weight:900}.np31-top-expenses b,.np31-top-expenses small{display:block}.np31-top-expenses b{font-size:11px}.np31-top-expenses small{font-size:9px;color:#758794;margin-top:2px}.np31-top-expenses strong{font-size:11px;color:#aa433b}.np31-handover-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1.1fr;gap:7px;align-items:center;padding:9px;border-radius:12px;background:#f2f7f9}.np31-handover-equation>div{display:grid;gap:3px}.np31-handover-equation small{font-size:9.5px;color:#6f8491}.np31-handover-equation b{font-size:13px}.np31-handover-equation strong{font-size:17px;color:#087847}.np31-handover-equation>span{font-weight:900;color:#6d7f89}.np31-handover-equation .negative strong{color:#b24d38}.np31-pending-expense{margin-top:7px;padding:7px 9px;border-radius:9px;background:#fff2da;color:#895b16;font-size:10.5px;font-weight:800}.np31-handover-modal-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.np31-handover-modal-summary>div{display:grid;gap:3px;padding:9px;border-radius:10px;background:#f3f7f9}.np31-handover-modal-summary span{font-size:10px;color:#718592}.np31-handover-modal-summary b,.np31-handover-modal-summary strong{font-size:14px}.np31-handover-modal-summary .total{background:#eaf8ef;border:1px solid #a4dabb}.np31-handover-modal-summary .total strong{color:#0f7745}.np31-handover-expenses{display:grid;gap:6px}.np31-handover-expense{display:grid;grid-template-columns:25px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid #e3e9ed;border-radius:10px;cursor:pointer}.np31-handover-expense>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e7f5ed;color:#167548;font-weight:900}.np31-handover-expense b,.np31-handover-expense small{display:block}.np31-handover-expense b{font-size:11px}.np31-handover-expense small{font-size:9px;color:#758793}.np31-handover-expense strong{font-size:11.5px;color:#b0473e}
@media(max-width:1000px){.np31-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.np31-filter-grid .wide{grid-column:span 2}.np31-expense-layout{grid-template-columns:1fr}.np31-breakdown-card{order:-1}.np31-master-columns{grid-template-columns:1fr}.np31-expense-list{max-height:none}}
@media(max-width:700px){.np31-intro{padding:10px}.np31-intro>span{width:35px;height:35px;font-size:18px}.np31-intro small{font-size:10px}.np31-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.np31-expense-card{padding:9px 10px}.np31-expense-card header b{font-size:12px}.np31-expense-card header strong{font-size:15px}.np31-expense-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.np31-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.np31-handover-equation{grid-template-columns:1fr auto 1fr;gap:5px}.np31-handover-equation>span:nth-of-type(2){display:none}.np31-handover-equation>div:last-child{grid-column:1/-1;padding-top:6px;border-top:1px dashed #d5e1e7}.np31-handover-modal-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.np31-filter-grid{grid-template-columns:1fr}.np31-filter-grid .wide{grid-column:auto}.np31-filter-grid button{width:100%}.np31-date-presets button{font-size:10px}.np31-expense-tags{gap:4px}.np31-status,.np31-accounting,.np31-handover-tag{font-size:8.5px;min-height:22px}.np31-expense-meta>span{padding:6px}.np31-expense-card footer button{flex:1}.np31-detail-grid{grid-template-columns:1fr 1fr}.np31-modal-actions button{width:100%}.np31-master-list article{grid-template-columns:1fr auto}.np31-master-list article button{grid-column:1/-1}.np31-top-expenses article{grid-template-columns:22px 1fr}.np31-top-expenses strong{grid-column:2}.np31-handover-expense{grid-template-columns:23px 1fr}.np31-handover-expense strong{grid-column:2}}

/* ===== Stable 1.32.0 · Expense mobile fix + granular permissions ===== */
.np31-category-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:-8px}.np31-category-label b{font-size:14px;color:#173d59}.np31-category-select{margin-top:0}.np31-category-select select{width:100%}
.np32-permission-card{overflow:hidden}.np32-role-hint{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}.np32-role-hint span{padding:8px 11px;border-radius:12px;background:#f3f8fb;border:1px solid #d9e7ef;font-size:12px;color:#476273}.np32-role-hint b{display:block;color:#123d59;margin-bottom:2px}.np32-permission-loading{padding:18px;text-align:center;color:#6c7d88;background:#f7fafc;border-radius:14px}.np32-member-permission{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #dbe8ef;border-radius:16px;margin-top:10px;background:#fff}.np32-member-permission:nth-child(even){background:#f8fbfd}.np32-member-permission.owner{border-color:#a7dfc0;background:#f1fff7}.np32-member-main{display:flex;align-items:center;gap:11px;min-width:0}.np32-member-main>div{min-width:0}.np32-member-main b{display:block;color:#113b58}.np32-member-main small{display:block;color:#71818c;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np32-member-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#0c86bb,#075f91);color:#fff;font-weight:800;flex:0 0 auto}.np32-member-right{display:flex;align-items:center;gap:10px}.np32-member-right>span:first-child{font-size:12px;color:#657b89;white-space:nowrap}
.np32-preset-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-bottom:12px;border:1px solid #dce9f0;border-radius:14px;background:#f7fafc}.np32-preset-bar b{margin-right:2px;color:#173f5b}.np32-permission-form{padding-bottom:4px}.np32-permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.np32-permission-groups section{border:1px solid #dce8ef;border-radius:16px;padding:10px;background:#fff;overflow:hidden}.np32-permission-groups section>header{display:flex;align-items:center;gap:8px;padding:4px 3px 10px;border-bottom:1px solid #edf2f5;margin-bottom:4px}.np32-permission-groups section>header span{font-size:19px}.np32-permission-groups section>header b{flex:1;color:#123d59}.np32-permission-groups section>header button{border:0;background:#eaf5fb;color:#0874a7;border-radius:9px;padding:6px 8px;font-size:11px;font-weight:700}.np32-permission-check{display:flex!important;align-items:center;gap:10px;padding:9px 5px;margin:0!important;border-bottom:1px dashed #edf2f5;cursor:pointer}.np32-permission-check:last-child{border-bottom:0}.np32-permission-check input{position:absolute;opacity:0;pointer-events:none}.np32-permission-check span{flex:1;min-width:0}.np32-permission-check b{display:block;font-size:13px;color:#173c56}.np32-permission-check small{display:block;font-size:10px;color:#91a0a9;margin-top:2px}.np32-permission-check i{width:42px;height:24px;border-radius:999px;background:#d8e1e6;position:relative;transition:.18s;flex:0 0 auto}.np32-permission-check i:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #526a7870;transition:.18s}.np32-permission-check input:checked+i{background:#10a866}.np32-permission-check input:checked+i:after{transform:translateX(18px)}.np32-permission-check input:focus-visible+i{outline:3px solid #8dd6fa}.np32-permission-note{display:flex;gap:10px;align-items:flex-start;margin:12px 0;padding:11px 13px;border-radius:13px;background:#fff9e8;border:1px solid #f1d486}.np32-permission-note p{margin:0;font-size:12px;color:#675322}.np32-permission-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:12px 0 2px;background:linear-gradient(transparent,#fff 25%)}
@media(max-width:700px){.np32-member-permission{align-items:flex-start}.np32-member-right{flex-direction:column;align-items:flex-end}.np32-permission-groups{grid-template-columns:1fr}.np32-preset-bar{position:sticky;top:-1px;z-index:3}.np32-permission-actions{display:grid;grid-template-columns:1fr 1.4fr}.np31-category-label{align-items:flex-end}.np31-category-label .compact{padding:7px 9px;font-size:11px}}
.np32-permission-check.locked{cursor:not-allowed;opacity:.58;background:#f7f9fa}.np32-permission-check.locked i{background:#cfd8dd}.np32-permission-check.locked small{color:#a36b38;font-weight:700}

/* Stable 1.32.2 - permission switch interaction/visual fix */
.np32-permission-check input:checked~i{background:#10a866}
.np32-permission-check input:checked~i:after{transform:translateX(18px)}
.np32-permission-check input:focus-visible~i{outline:3px solid #8dd6fa}
.np32-permission-check i{pointer-events:none}
.np32-permission-check.is-checked{background:#f2fff8}
.np32-permission-check.is-checked b{color:#087747}
.np32-permission-selection-count{margin-left:auto;padding:6px 9px;border-radius:9px;background:#e9f8f1;color:#087747;font-size:11px;font-weight:800;white-space:nowrap}
@media(max-width:700px){.np32-permission-selection-count{width:100%;text-align:center;margin-left:0}}

/* ===== Stable 1.32.3 · Employee today-only analytics ===== */
.np33-scope-note{display:flex;align-items:center;gap:11px;padding:11px 13px;margin-bottom:12px;border:1px solid #cfe4ef;border-radius:14px;background:linear-gradient(135deg,#f1f9fd,#f7fcff)}.np33-scope-note>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#dff1fa;font-size:18px}.np33-scope-note>div{flex:1;min-width:0}.np33-scope-note b,.np33-scope-note small{display:block}.np33-scope-note b{color:#123f5d}.np33-scope-note small{margin-top:2px;color:#687f8e;font-size:11px;line-height:1.35}.np33-today-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.np33-kpi{display:grid;align-content:start;gap:5px;min-width:0;padding:14px;border:1px solid #dce8ef;border-radius:15px;background:#fff;box-shadow:0 3px 12px #173f5b0a}.np33-kpi.primary{background:linear-gradient(145deg,#edf9f3,#fff);border-color:#a8dcc0}.np33-kpi.warning{background:#fff9eb;border-color:#f0d28a}.np33-kpi>span:first-child{font-size:11px;color:#637b8a;font-weight:800}.np33-kpi>strong{font-size:24px;color:#123d59;overflow-wrap:anywhere}.np33-kpi.primary>strong{color:#087747}.np33-kpi>small{font-size:10px;color:#80909a}.np33-delta{font-size:10px;font-weight:850}.np33-delta.up{color:#0a824d}.np33-delta.down{color:#c0443b}.np33-delta.flat{color:#7a8c97}.np33-handover-card{padding:14px;margin-bottom:12px;border:1px solid #b9dfc9;border-radius:16px;background:linear-gradient(145deg,#f0fbf5,#fff);box-shadow:0 4px 14px #0a774414}.np33-handover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.np33-handover-head small,.np33-handover-head h3{display:block;margin:0}.np33-handover-head small{font-size:10px;color:#658173}.np33-handover-head h3{font-size:16px;color:#145237;margin-top:2px}.np33-handover-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px 14px;border-radius:13px;background:#daf5e5;border:1px solid #91d4ad}.np33-handover-total span{font-weight:900;color:#176842}.np33-handover-total strong{font-size:27px;color:#087747}.np33-handover-total.negative{background:#fff3e8;border-color:#efc187}.np33-handover-total.negative span,.np33-handover-total.negative strong{color:#a64f25}.np33-handover-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center}.np33-handover-equation>div{padding:9px;border-radius:10px;background:#fff;border:1px solid #e1ebe5}.np33-handover-equation small,.np33-handover-equation b{display:block}.np33-handover-equation small{font-size:9px;color:#70857a}.np33-handover-equation b{margin-top:3px;font-size:13px;color:#244a38}.np33-handover-equation>span{font-weight:900;color:#71877a}.np33-handover-mini{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.np33-handover-mini span{padding:7px 9px;border-radius:9px;background:#f7fbf8;border:1px solid #e0ebe4;font-size:10px;color:#60766a}.np33-handover-mini b{color:#1e4b35}.np33-pending{margin-top:9px;padding:8px 10px;border-radius:10px;background:#fff3d9;border:1px solid #f0cc7d;color:#835813;font-size:10.5px;font-weight:800}.np33-loading-line{display:flex;align-items:center;gap:9px;color:#678071}.np33-loading-line i{width:19px;height:19px;border:3px solid #d0e6d9;border-top-color:#15905a;border-radius:50%;animation:npReportSpin .8s linear infinite}.np33-inline-error{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#a34136}.np33-inline-error span{flex:1;font-size:11px}.np33-recent-sales{overflow:hidden}.np33-sale-list{display:grid}.np33-sale-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px;border-bottom:1px solid #edf2f5;cursor:pointer}.np33-sale-list article:last-child{border-bottom:0}.np33-sale-list b,.np33-sale-list small{display:block}.np33-sale-list b{font-size:12px;color:#143e59}.np33-sale-list small{font-size:10px;color:#748691;margin-top:2px}.np33-sale-list strong{font-size:12px;color:#087747}.np33-empty{display:grid;justify-items:center;text-align:center;gap:5px;padding:22px;color:#788a95}.np33-empty>span{font-size:26px}.np33-empty b{color:#345267}.np33-empty p{margin:0;font-size:11px}.np33-empty.compact{padding:14px}.np33-employee-report{display:grid;gap:12px}.np33-report-total{display:grid;justify-items:center;text-align:center;gap:5px;padding:22px 14px;border:1px solid #8fd1aa;border-radius:18px;background:linear-gradient(145deg,#e9faef,#f8fffb);box-shadow:0 5px 17px #08774716}.np33-report-total small{font-size:10px;font-weight:950;letter-spacing:.06em;color:#2d7951}.np33-report-total strong{font-size:36px;color:#087747}.np33-report-total span{font-size:10px;color:#6a8173}.np33-report-total.negative{background:#fff4ea;border-color:#e9b47d}.np33-report-total.negative small,.np33-report-total.negative strong{color:#a34d25}.np33-report-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.np33-report-breakdown article{padding:12px;border:1px solid #dce8ee;border-radius:13px;background:#fff}.np33-report-breakdown span,.np33-report-breakdown strong,.np33-report-breakdown small{display:block}.np33-report-breakdown span{font-size:10px;color:#657b89;font-weight:800}.np33-report-breakdown strong{font-size:18px;color:#153f5b;margin:5px 0}.np33-report-breakdown small{font-size:9px;color:#8b99a2;line-height:1.35}.np33-pending.report{margin:0}.np33-report-section{border:1px solid #dce8ef;border-radius:15px;background:#fff;overflow:hidden}.np33-report-section>header{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;background:#f6fafc;border-bottom:1px solid #e8eff3}.np33-report-section>header b,.np33-report-section>header small{display:block}.np33-report-section>header b{font-size:13px;color:#153e59}.np33-report-section>header small{font-size:9.5px;color:#7a8b95;margin-top:2px}.np33-report-list{display:grid}.np33-report-list>article{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(75px,.7fr) minmax(75px,.7fr) auto;gap:9px;align-items:center;padding:10px 12px;border-bottom:1px solid #edf2f5;cursor:pointer}.np33-report-list>article:last-child{border-bottom:0}.np33-report-list b,.np33-report-list small,.np33-report-list span{display:block}.np33-report-list>article>div:first-child b{font-size:11px}.np33-report-list small{font-size:9px;color:#7c8d97;margin-top:2px}.np33-report-list span{font-size:8.5px;color:#7a8c96}.np33-report-list>article>div:not(:first-child) b{font-size:10.5px}.np33-report-list>article>strong{font-size:12px;color:#087747}.np33-expense-report-list{display:grid}.np33-expense-report-list>article,.np33-pending-list article{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid #edf2f5;cursor:pointer}.np33-expense-report-list>article>span,.np33-pending-list article>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e5f6ec;color:#107746;font-weight:900}.np33-expense-report-list b,.np33-expense-report-list small,.np33-pending-list b,.np33-pending-list small{display:block}.np33-expense-report-list b,.np33-pending-list b{font-size:11px}.np33-expense-report-list small,.np33-pending-list small{font-size:9px;color:#7d8d97;margin-top:2px}.np33-expense-report-list strong{font-size:11px;color:#af443b}.np33-pending-list article{background:#fff9ec;cursor:default}.np33-pending-list article>span{background:#fff0cc;color:#96610c}.np33-pending-list strong{font-size:11px;color:#8c5b0e}.np33-report-rule{margin:0;padding:10px 12px;border-radius:11px;background:#f2f7fa;color:#617888;font-size:10px;line-height:1.5}.np33-permission-scope{display:flex;gap:9px;align-items:flex-start;margin-bottom:12px;padding:10px 12px;border:1px solid #cde4f0;border-radius:12px;background:#f1f9fd}.np33-permission-scope p{margin:0;font-size:11px;color:#496779;line-height:1.45}.np33-permission-scope b{color:#153f5b}
@media(max-width:1000px){.np33-today-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.np33-report-list>article{grid-template-columns:minmax(140px,1fr) repeat(2,minmax(70px,.55fr)) auto}}
@media(max-width:700px){.np33-scope-note{padding:9px 10px}.np33-scope-note>span:first-child{width:30px;height:30px}.np33-scope-note small{font-size:9.5px}.np33-today-kpis{gap:7px}.np33-kpi{padding:11px}.np33-kpi>strong{font-size:19px}.np33-handover-card{padding:11px}.np33-handover-total{padding:10px}.np33-handover-total strong{font-size:22px}.np33-handover-equation{grid-template-columns:1fr auto 1fr}.np33-handover-equation>span:nth-of-type(2){display:none}.np33-handover-equation>div:last-child{grid-column:1/-1}.np33-report-total{padding:18px 11px}.np33-report-total strong{font-size:30px}.np33-report-breakdown{grid-template-columns:1fr}.np33-report-breakdown article{display:grid;grid-template-columns:1fr auto;align-items:center;padding:10px}.np33-report-breakdown strong{margin:0;text-align:right;font-size:15px}.np33-report-breakdown small{grid-column:1/-1}.np33-report-list>article{grid-template-columns:minmax(0,1fr) auto;padding:10px}.np33-report-list>article>div:nth-child(2),.np33-report-list>article>div:nth-child(3){display:none}.np33-report-list>article>strong{font-size:11px}.np33-report-section>header{padding:10px}.np33-expense-report-list>article,.np33-pending-list article{padding:9px 10px}}
@media(max-width:460px){.np33-today-kpis{grid-template-columns:1fr 1fr}.np33-kpi>span:first-child{font-size:9.5px}.np33-kpi>strong{font-size:17px}.np33-delta{font-size:8.5px}.np33-kpi>small{font-size:8.5px}.np33-handover-mini{display:grid;grid-template-columns:1fr}.np33-handover-total{align-items:flex-start;flex-direction:column;gap:3px}.np33-handover-total strong{font-size:25px}}

/* Stable 1.33.0 · Edit approved sale + revision history */
.np1330-permission-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:0 0 14px;border:1px solid #c7e5f5;background:#f2fbff;border-radius:14px}.np1330-permission-note span{font-size:22px}.np1330-permission-note p{margin:0;font-size:13px;line-height:1.45;color:#31556e}
.np1330-edit-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.np1330-edit-context>div{padding:10px 12px;border:1px solid #d7e8f2;border-radius:12px;background:#f8fcfe}.np1330-edit-context span{display:block;font-size:11px;color:#6f8797}.np1330-edit-context b{display:block;margin-top:3px;color:#173e58}
.np1330-edit-form{display:grid;gap:12px}.np1330-edit-form>section{padding:13px;border:1px solid #dbeaf2;border-radius:14px;background:#fff}.np1330-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.np1330-section-head b{display:block;color:#173e58}.np1330-section-head small{display:block;color:#738a99;font-size:11px;margin-top:2px}
#np1330EditItems{display:grid;gap:8px}.np1330-edit-item{display:grid;grid-template-columns:minmax(180px,1.7fr) 90px 130px 125px 34px;gap:8px;align-items:end;padding:10px;border:1px solid #deebf2;border-radius:12px;background:#f9fcfe}.np1330-edit-item label{margin:0;font-size:11px}.np1330-edit-item input,.np1330-edit-item select{margin-top:4px;min-height:38px}.np1330-line-total{min-height:38px;padding:6px 8px;border-radius:9px;background:#eaf7ff;display:flex;flex-direction:column;justify-content:center}.np1330-line-total span{font-size:10px;color:#668294}.np1330-line-total b{font-size:13px;color:#09699e}.np1330-remove{width:34px;height:38px;border:0;border-radius:9px;background:#fff0f0;color:#be3030;font-weight:900}
.np1330-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.np1330-fields label{margin:0}.np1330-reason span{color:#d62828}.np1330-reason textarea{border-color:#f0b6b6;background:#fffafa}.np1330-reason small{display:block;color:#8b6464;margin-top:4px}.np1330-edit-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px;border-radius:14px;background:#f2f9fd;border:1px solid #cfe6f2}.np1330-edit-summary>div{display:flex;justify-content:space-between;gap:12px;padding:7px 9px;background:#fff;border-radius:9px}.np1330-edit-summary .total{grid-column:1/-1;background:#dff4ff}.np1330-edit-summary .total strong{font-size:18px;color:#0873a8}.np1330-edit-summary .warn{background:#fff4e5;color:#9c5a00}.np1330-edit-actions{position:sticky;bottom:0;z-index:3;display:flex;justify-content:flex-end;gap:8px;padding:10px 0 2px;background:linear-gradient(transparent,#fff 25%)}
.np1330-edited-badge{display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:999px;background:#fff0d8;color:#8b5600;font-size:11px;font-weight:800}.np1330-row-revision{display:inline-block;padding:2px 5px;border-radius:999px;background:#fff0d8;color:#8b5600;font-size:10px}
.np1330-history-list{display:grid;gap:12px}.np1330-revision-card{border:1px solid #d7e7f0;border-radius:15px;overflow:hidden;background:#fff}.np1330-revision-card>header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;background:#f2f9fd}.np1330-revision-card header b,.np1330-revision-card header small{display:block}.np1330-revision-card header small{font-size:11px;color:#6f8797;margin-top:2px}.np1330-revision-card header span{font-size:10px;padding:4px 8px;border-radius:999px;background:#dff5e6;color:#267042}.np1330-reason-view{padding:10px 14px;border-top:1px solid #e5eff4;border-bottom:1px solid #e5eff4;background:#fffaf1;color:#74521c}.np1330-diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.np1330-diff-grid section{padding:12px 14px}.np1330-diff-grid section+section{border-left:1px solid #e1edf3}.np1330-diff-grid h4{margin:0 0 8px;color:#17415c}.np1330-diff-grid section>div{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:12px}.np1330-diff-grid section>p{margin:8px 0 0;padding-top:8px;border-top:1px dashed #d7e5ed;font-size:11px;line-height:1.65;color:#536d7d}
@media(max-width:760px){.np1330-edit-context{grid-template-columns:1fr 1fr}.np1330-fields{grid-template-columns:1fr 1fr}.np1330-edit-item{grid-template-columns:minmax(0,1fr) 80px 34px;padding:9px}.np1330-product-field{grid-column:1/-1}.np1330-edit-item label:nth-of-type(2){grid-column:1/2;grid-row:2}.np1330-edit-item label:nth-of-type(3){grid-column:2/3;grid-row:2}.np1330-line-total{grid-column:1/3;grid-row:3}.np1330-remove{grid-column:3/4;grid-row:2}.np1330-edit-summary{grid-template-columns:1fr}.np1330-edit-summary .total{grid-column:auto}.np1330-edit-actions{display:grid;grid-template-columns:1fr 1.7fr}.np1330-diff-grid{grid-template-columns:1fr}.np1330-diff-grid section+section{border-left:0;border-top:1px solid #e1edf3}.np1330-revision-card>header{align-items:flex-start}.np1330-revision-card header span{white-space:nowrap}}

/* ===== Stable 1.34.0 · Searchable reception customer picker ===== */
.np134-reception-form{gap:14px}.np134-customer-picker{position:relative}.np134-search-wrap{display:grid;grid-template-columns:28px 1fr 38px;align-items:center;border:1px solid var(--line,#cbd9e2);border-radius:12px;background:#fff;overflow:hidden;transition:.18s ease}.np134-search-wrap:focus-within{border-color:#168ac1;box-shadow:0 0 0 3px #168ac11a}.np134-search-wrap>span{text-align:center;color:#39708d}.np134-search-wrap input{border:0!important;box-shadow:none!important;padding-left:0!important;min-width:0}.np134-search-wrap button{height:100%;border:0;background:transparent;color:#6c8290;font-size:16px}.np134-search-wrap button:hover{background:#eef7fb}.np134-search-wrap input.invalid{background:#fff1f2!important}.required-mark{color:#d52d3a}.np134-customer-results{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 7px);max-height:min(390px,52vh);overflow:auto;border:1px solid #b8ccd8;border-radius:14px;background:#fff;box-shadow:0 18px 42px #173b4f2e;padding:6px}.np134-customer-result{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid #edf2f5;border-radius:9px;background:#fff;color:#15384d}.np134-customer-result:last-child{border-bottom:0}.np134-customer-result:hover,.np134-customer-result.active{background:#eaf7fd}.np134-result-main,.np134-result-side{display:grid;gap:2px;min-width:0}.np134-result-main small{color:#638093;font-weight:700}.np134-result-main b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np134-result-main span,.np134-result-side small{font-size:12px;color:#6c8290}.np134-result-side{text-align:right;align-content:center;max-width:190px}.np134-result-side span{font-size:11px;color:#a33b2a;font-weight:700}.np134-no-customer{display:grid;gap:4px;text-align:center;padding:22px;color:#637b89}.np134-no-customer span{font-size:12px}.np134-selected-customer{margin-top:8px;border:1px solid #bfe0ed;border-radius:13px;background:linear-gradient(135deg,#f0fbff,#f8fffd);padding:11px}.np134-selected-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.np134-selected-head>div{display:grid;gap:1px}.np134-selected-head small{color:#527286;font-weight:800}.np134-selected-head b{font-size:17px;color:#0b4665}.np134-selected-head button{padding:7px 10px}.np134-selected-contact{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;margin-top:8px;font-size:12px;color:#526b7a}.np134-selected-contact .wide{grid-column:1/-1}.np134-selected-balances{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.np134-badge{display:inline-flex;gap:4px;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;border:1px solid transparent}.np134-badge.ok{background:#e8faef;border-color:#b3e8c5;color:#126a38}.np134-badge.debt{background:#fff0f3;border-color:#ffbdc9;color:#a51d3b}.np134-badge.bottle{background:#fff6e8;border-color:#ffc77b;color:#9d4b00}.np134-badge.credit{background:#eaf5ff;border-color:#b8dcfb;color:#165b8c}.np134-reception-form .form-section-title>div{display:grid;gap:2px}.np134-reception-form .form-section-title small{font-size:11px;color:#708592;font-weight:400}.np134-form-check{display:flex;align-items:flex-start;gap:8px;border-radius:11px;background:#f2f8fb;padding:9px 11px;color:#516d7c}.np134-form-check>span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#dff5e8;color:#167445;font-weight:900}.np134-form-check p{margin:0;font-size:12px}.np134-sticky-save{position:sticky;bottom:0;z-index:5;box-shadow:0 -8px 20px #fff,0 7px 16px #0878af32}
@media(max-width:620px){.np134-customer-results{position:fixed;left:12px;right:12px;top:145px;max-height:45vh}.np134-customer-result{grid-template-columns:minmax(0,1fr) 120px;padding:11px 9px}.np134-result-side{max-width:120px}.np134-selected-contact{grid-template-columns:1fr}.np134-selected-contact .wide{grid-column:auto}.np134-reception-form .form-grid{grid-template-columns:1fr}.np134-sticky-save{bottom:calc(env(safe-area-inset-bottom,0px) + 2px)}}

/* Stable 1.34.1 · Create customer directly from reception search */
.np134-create-customer-bar{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:9px;margin-top:6px;padding:11px 12px;border:1px solid #7dd3b0;border-radius:11px;background:linear-gradient(135deg,#ecfdf5,#f4fffb);color:#106642;text-align:left}.np134-create-customer-bar:hover{background:#e2faef;border-color:#42b883}.np134-create-customer-bar>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#17a66a;color:#fff;font-size:20px;font-weight:900}.np134-create-customer-bar>div{display:grid;gap:1px;min-width:0}.np134-create-customer-bar b{font-size:13px}.np134-create-customer-bar small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#55796a;font-size:11px}.np134-create-customer-bar i{font-style:normal;font-size:24px;color:#25936a}.np134-create-customer-bar.disabled{filter:grayscale(.45);opacity:.65}
.np134-quick-customer{padding:8px}.np134-quick-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:4px 2px 10px}.np134-quick-head>div{display:grid;gap:2px}.np134-quick-head b{color:#0d5f3d;font-size:15px}.np134-quick-head small{color:#6b8178;font-size:11px}.np134-quick-head>button{width:32px;height:32px;border:0;border-radius:9px;background:#eef4f1;color:#50675e}.np134-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.np134-quick-grid label{margin:0;font-size:11px}.np134-quick-grid .wide{grid-column:1/-1}.np134-quick-grid input,.np134-quick-grid select{margin-top:4px;min-height:40px}.np134-quick-actions{display:grid;grid-template-columns:1fr 1.45fr;gap:8px;margin-top:11px}.np134-quick-actions button{min-height:42px}
@media(max-width:620px){.np134-quick-grid{grid-template-columns:1fr}.np134-quick-grid .wide{grid-column:auto}.np134-quick-actions{grid-template-columns:1fr 1.35fr}.np134-create-customer-bar{padding:10px}}

/* ===== Stable 1.35.0 · Utility filters ===== */
.np135-filter-panel{margin:14px 0;border:1px solid #d8e6ef;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(15,74,110,.05);overflow:hidden}
.np135-filter-panel>summary{display:flex;align-items:center;gap:8px;padding:12px 14px;font-weight:800;color:#163f5c;cursor:pointer;list-style:none;background:#f5f9fc}
.np135-filter-panel>summary::-webkit-details-marker{display:none}.np135-filter-summary{margin-left:auto;font-size:12px;font-weight:500;color:#738899}
.np135-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;padding:12px 14px 8px}.np135-filter-grid label{display:grid;gap:4px;font-size:12px;color:#526c7e}.np135-filter-grid input,.np135-filter-grid select{width:100%;min-width:0;height:42px;padding:8px 10px;border:1px solid #cbdde8;border-radius:10px;background:#fff;color:#15384f}
.np135-filter-actions{display:flex;align-items:center;gap:10px;padding:4px 14px 12px}.np135-filter-count{margin-left:auto;color:#526c7e;font-size:13px;font-weight:700}
.np135-filter-panel+.table-wrap,.np135-filter-panel+div>.table-wrap{margin-top:0}.np135-filter-panel .compact{min-height:34px}.bad-text{color:#b42318;font-weight:700}
.approval-metrics button.card{border:0;text-align:left;cursor:pointer}.table-wrap td small{display:block;margin-top:3px;color:#738899}
@media(max-width:1000px){.np135-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.np135-filter-panel{margin:10px 0;border-radius:13px}.np135-filter-panel:not([open]){box-shadow:none}.np135-filter-panel>summary{padding:10px 12px}.np135-filter-summary{display:none}.np135-filter-grid{grid-template-columns:1fr 1fr;gap:8px;padding:10px}.np135-filter-grid input,.np135-filter-grid select{height:39px;font-size:13px;padding:7px 8px}.np135-filter-grid input[type="search"]{grid-column:1/-1}.np135-filter-actions{padding:0 10px 10px}.np135-filter-count{font-size:11px}.np-approval-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.np-approval-metrics .card{padding:10px}.np-approval-metrics .card strong{font-size:20px}}

/* Stable 1.35.1 - compact date selector */
.np1351-date-selector{display:grid;gap:4px;font-size:12px;color:#526c7e}
.np1351-date-selector select{font-weight:750;color:#164665;background:#f7fbfe;border-color:#b9d7e8}
.np1351-custom-date{display:none!important}
.np1351-show-custom-dates .np1351-custom-date{display:grid!important;animation:np1351DateReveal .16s ease-out}
.np1351-compact-filter .np135-filter-grid{align-items:end}
@keyframes np1351DateReveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media(max-width:640px){
  .np1351-date-selector{grid-column:auto}
  .np1351-show-custom-dates .np1351-custom-date{grid-column:auto}
}

/* ===== css/design_1_36_0.css ===== */
/* =========================================================
   Nam Phuong ERP · Stable 1.36.0
   Unified responsive design system for desktop, tablet, mobile
   ========================================================= */
:root{
  --np-primary:#0876a8;
  --np-primary-strong:#07577f;
  --np-primary-soft:#eaf7fc;
  --np-secondary:#0f766e;
  --np-success:#16834a;
  --np-success-soft:#eaf9f0;
  --np-warning:#b65d09;
  --np-warning-soft:#fff7e8;
  --np-danger:#c12d3c;
  --np-danger-soft:#fff0f2;
  --np-info:#375fb5;
  --np-info-soft:#eef3ff;
  --np-ink:#10283b;
  --np-text:#19384d;
  --np-muted:#637b8d;
  --np-line:#d9e6ee;
  --np-line-strong:#bed2df;
  --np-page:#f3f7fa;
  --np-card:#ffffff;
  --np-card-alt:#f8fbfd;
  --np-shadow-sm:0 3px 12px rgba(28,72,99,.07);
  --np-shadow-md:0 10px 30px rgba(28,72,99,.11);
  --np-shadow-lg:0 24px 60px rgba(19,53,76,.19);
  --np-radius-xs:8px;
  --np-radius-sm:11px;
  --np-radius:15px;
  --np-radius-lg:20px;
  --np-content-max:1660px;
  --np-control-h:42px;
  --np-sidebar-w:248px;
  --navy:var(--np-ink);
  --blue:var(--np-primary);
  --bg:var(--np-page);
  --card:var(--np-card);
  --line:var(--np-line);
  --text:var(--np-text);
  --muted:var(--np-muted);
  --danger:var(--np-danger);
  --ok:var(--np-success);
}

html{background:var(--np-page)}
body{
  color:var(--np-text);
  background:
    radial-gradient(circle at 92% -12%,rgba(32,157,203,.10),transparent 30%),
    linear-gradient(180deg,#f8fbfd 0,var(--np-page) 260px);
  font-size:14px;
  line-height:1.45;
  letter-spacing:-.005em;
}
button,input,select,textarea{font-family:inherit}
button{-webkit-tap-highlight-color:transparent;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .12s ease}
button:not(:disabled):active{transform:translateY(1px)}
button:disabled{cursor:not-allowed;opacity:.55}
a{color:var(--np-primary)}

/* ===== App shell ===== */
.app{grid-template-columns:var(--np-sidebar-w) minmax(0,1fr);background:transparent}
.sidebar{
  background:linear-gradient(180deg,#102f45 0,#0b283c 58%,#071f30 100%);
  border-right:1px solid rgba(255,255,255,.06);
  padding:16px 12px 14px;
  box-shadow:8px 0 26px rgba(6,32,48,.08);
}
.sidebar .brand{
  min-height:60px;
  display:flex;
  align-items:center;
  padding:8px 12px 16px;
  font-size:18px;
  letter-spacing:.01em;
  color:#fff;
}
.sidebar nav{gap:4px}
.sidebar nav button,.logout{
  min-height:43px;
  border:1px solid transparent;
  border-radius:11px;
  padding:9px 11px;
  font-size:13.5px;
  font-weight:650;
  color:#d9e9f2;
  opacity:.96;
}
.sidebar nav button:hover{background:rgba(255,255,255,.075);color:#fff}
.sidebar nav button.active{
  color:#fff;
  background:linear-gradient(135deg,rgba(16,147,201,.92),rgba(8,103,153,.92));
  box-shadow:0 8px 20px rgba(1,38,61,.28),inset 0 0 0 1px rgba(255,255,255,.08);
}
.sidebar nav .nav-ico{width:25px;display:inline-grid;place-items:center;font-size:16px;margin-right:6px}
.np-nav-group-label{
  display:block;
  margin:14px 9px 5px;
  color:#7899ad;
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.logout{margin-top:16px;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.06);color:#d7e6ee}
.logout:hover{background:rgba(255,101,101,.14);color:#fff}

.app>main>header{
  height:68px;
  flex-basis:68px;
  padding:0 22px;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(199,216,227,.85);
  box-shadow:0 5px 18px rgba(34,80,105,.045);
  backdrop-filter:blur(15px);
  position:relative;
  z-index:30;
}
.header-user{display:flex;align-items:center;gap:11px;min-width:0}
.header-avatar{width:40px;height:40px;border-radius:13px;box-shadow:0 4px 12px rgba(9,100,145,.17)}
.header-user b{font-size:14.5px;color:var(--np-ink)}
.header-user small{font-size:11.5px}
.header-status{display:flex;align-items:center;gap:13px;color:var(--np-muted);font-size:12px}
.online-status{border:1px solid #c8ecd6;background:#effbf4;color:#167241;padding:4px 9px;border-radius:999px;font-weight:750}
.online-status.offline{border-color:#f2c4c9;background:#fff2f3;color:#a92c39}

#content{
  width:100%;
  max-width:var(--np-content-max);
  margin:0 auto;
  padding:22px clamp(16px,2.1vw,34px) 42px;
}
body[data-np-page="newSale"] #content{max-width:1480px}
body[data-np-page="reports"] #content{max-width:1720px}

/* ===== Page heading ===== */
.page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin:0 0 17px;
  min-height:48px;
}
.np-page-title-block{display:grid;gap:3px;min-width:0}
.page-head h2{
  margin:0;
  color:var(--np-ink);
  font-size:clamp(21px,1.55vw,27px);
  line-height:1.22;
  letter-spacing:-.025em;
}
.np-page-description{margin:0;color:var(--np-muted);font-size:12.5px;max-width:760px}
.page-head .actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}
.page-head .actions:empty{display:none}

/* ===== Cards and visual hierarchy ===== */
.card{
  border:1px solid var(--np-line);
  border-radius:var(--np-radius);
  background:rgba(255,255,255,.97);
  box-shadow:var(--np-shadow-sm);
  padding:15px;
}
.card:hover{border-color:#c8dce7}
.cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.grid-2{gap:12px}
.metric{position:relative;overflow:hidden;min-width:0}
.metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#a8cfdf}
.metric span{display:block;color:var(--np-muted);font-size:12px;font-weight:680}
.metric strong{margin-top:7px;font-size:clamp(21px,1.8vw,28px);line-height:1.13;color:var(--np-ink);letter-spacing:-.025em;overflow-wrap:anywhere}
.metric small{display:block;margin-top:5px;color:var(--np-muted);font-size:11.5px}
.metric.metric-alert:before{background:var(--np-danger)}
.metric.metric-alert{background:linear-gradient(135deg,#fff,#fff5f6)}
.metric-total{color:#0c6844!important;font-weight:800}
.metric-cash{color:#14733f!important}
.metric-bank{color:#315cb4!important}
.metric-debt{color:#b23543!important}
.metric-bottle{color:#9b550a!important}

/* ===== Buttons ===== */
button{
  min-height:38px;
  border-radius:10px;
  padding:8px 13px;
  font-size:13px;
  font-weight:690;
}
.primary{
  background:linear-gradient(135deg,var(--np-primary),#0a8ec7);
  color:#fff;
  box-shadow:0 5px 13px rgba(8,118,168,.20);
}
.primary:hover{background:linear-gradient(135deg,#066997,#087fb5);box-shadow:0 7px 18px rgba(8,118,168,.25)}
.secondary{
  color:#284c61;
  background:#edf4f8;
  border:1px solid #d8e5ed;
}
.secondary:hover{background:#e3eef4;border-color:#c3d7e3}
.danger{background:var(--np-danger-soft);color:var(--np-danger);border:1px solid #f6cbd1}
.danger:hover{background:#ffe4e8}
.actions button{white-space:nowrap}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.big-action{min-height:48px;padding-inline:18px}

/* ===== Form controls ===== */
label{margin:0;gap:5px;color:#28495e;font-size:12px;font-weight:700}
input,select,textarea{
  min-height:var(--np-control-h);
  padding:9px 11px;
  color:var(--np-text);
  border:1px solid var(--np-line-strong);
  border-radius:10px;
  background:#fff;
  outline:none;
  box-shadow:inset 0 1px 1px rgba(20,55,75,.025);
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
input:hover,select:hover,textarea:hover{border-color:#a9c6d6}
input:focus,select:focus,textarea:focus{
  border-color:#42a1cc;
  box-shadow:0 0 0 3px rgba(33,152,202,.13);
  background:#fff;
}
input::placeholder,textarea::placeholder{color:#94a5b1}
textarea{min-height:80px}
.form-grid{gap:11px}
.field-help{font-weight:500;color:#78909e;font-size:11px}
.form-section-title{border-bottom:1px solid #e4edf2;padding-bottom:8px;margin-top:4px;color:#153c55}

/* ===== Filters ===== */
.toolbar{
  gap:8px;
  margin:0 0 12px;
  padding:10px;
  border:1px solid var(--np-line);
  border-radius:13px;
  background:rgba(255,255,255,.88);
}
.toolbar input,.toolbar select{height:40px;min-width:170px;background:#fff}
.np135-filter-panel{
  margin:12px 0 14px;
  border:1px solid var(--np-line);
  border-radius:15px;
  background:rgba(255,255,255,.98);
  box-shadow:var(--np-shadow-sm);
}
.np135-filter-panel>summary{
  min-height:44px;
  padding:10px 13px;
  color:#18445e;
  background:linear-gradient(180deg,#f9fcfe,#f1f7fa);
  border-bottom:1px solid transparent;
}
.np135-filter-panel[open]>summary{border-bottom-color:#e2edf3}
.np135-filter-panel>summary:after{content:"⌄";font-size:18px;margin-left:3px;color:#668394;transition:transform .16s ease}
.np135-filter-panel[open]>summary:after{transform:rotate(180deg)}
.np135-filter-summary{margin-left:auto}
.np135-filter-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;padding:11px 12px 8px}
.np135-filter-grid input,.np135-filter-grid select{height:40px;border-radius:9px}
.np135-filter-actions{padding:3px 12px 11px}
.np135-filter-count{font-weight:720}
.np1351-date-selector select{background:#edf8fd;border-color:#add2e3;color:#0d547a}

/* ===== Tables ===== */
.table-wrap{
  border:1px solid var(--np-line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--np-shadow-sm);
  overflow:auto;
}
table{font-size:13px}
thead{position:sticky;top:0;z-index:3}
th{
  padding:10px 12px;
  color:#5d7487;
  background:#f6f9fb;
  border-bottom:1px solid #d9e6ed;
  font-size:10.5px;
  font-weight:820;
  letter-spacing:.035em;
  text-transform:uppercase;
}
td{
  padding:10px 12px;
  border-bottom:1px solid #e7eef3;
  color:#29495d;
  vertical-align:middle;
}
tbody tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:#fbfdfe}
tr.clickable{cursor:pointer}
tr.clickable:hover{background:#eef8fc}
td b{color:#163a51}
td small{line-height:1.35}
.table-wrap button{min-height:34px;padding:6px 11px;font-size:12px}
.empty{
  min-height:100px;
  padding:30px 16px!important;
  color:#738a99;
  background:linear-gradient(180deg,#fff,#fbfdfe);
  text-align:center;
}
.empty.np-empty-enhanced:before{content:"◌";display:block;font-size:24px;color:#a8bfcc;margin-bottom:5px}

/* ===== Status pills and chips ===== */
.pill,.status-pill{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 8px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:11px;
  font-weight:760;
  line-height:1.2;
}
.pill.ok,.status-pill.approved{background:var(--np-success-soft);border-color:#bce7cc;color:#136b3d}
.pill.bad{background:var(--np-danger-soft);border-color:#f3c1c8;color:#a72a39}
.np-alert-chip{min-height:0!important;padding:5px 8px!important;border-radius:10px!important;box-shadow:none!important}
.np-alert-chip .np-alert-icon{font-size:14px!important}
.np-alert-chip small{font-size:9px!important;line-height:1.05!important}
.np-alert-chip strong{font-size:12.5px!important;line-height:1.15!important}

/* ===== Modals ===== */
.modal-backdrop{background:rgba(7,31,46,.62);backdrop-filter:blur(3px);padding:20px}
.modal{
  width:min(780px,96vw);
  max-height:calc(100dvh - 40px);
  border:1px solid rgba(255,255,255,.45);
  border-radius:20px;
  padding:18px;
  box-shadow:var(--np-shadow-lg);
}
.modal.wide{width:min(1180px,97vw)}
.modal-head{
  top:-18px;
  margin:-18px -18px 14px;
  padding:14px 18px 12px;
  border-radius:20px 20px 0 0;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px);
}
.modal-head h3{font-size:19px;color:var(--np-ink)}
.modal-head button{width:40px;min-width:40px;height:40px;min-height:40px;padding:0;border-radius:11px}

/* ===== Dashboard, reports, special panels ===== */
.dashboard-kpis,.approval-metrics,.np-approval-metrics,.attendance-kpis{gap:11px}
.quick-grid{gap:10px}
.quick-grid button{border:1px solid var(--np-line);background:#fff;box-shadow:var(--np-shadow-sm)}
.quick-grid button:hover{border-color:#a9cedf;background:#f4fbfe}
.report-tabs,.np-report-tabs{gap:6px;padding:5px;background:#eaf2f6;border-radius:13px;overflow-x:auto}
.report-tabs button,.np-report-tabs button{white-space:nowrap;border-radius:9px;background:transparent;color:#4c697b}
.report-tabs button.active,.np-report-tabs button.active{background:#fff;color:#0d5d86;box-shadow:0 3px 10px rgba(38,83,107,.10)}
.insight-card,.expense-card,.material-card,.route-choice,.route-customer-card,.debtor-card{border-color:var(--np-line)!important;box-shadow:var(--np-shadow-sm)!important}
.debtor-card:hover,.route-customer-card:hover{transform:translateY(-1px);box-shadow:var(--np-shadow-md)!important}
.np-critical-notice{border-width:1px!important;border-radius:12px!important}

/* ===== Permission screen ===== */
.permission-group,.np132-permission-group{border-color:var(--np-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:var(--np-shadow-sm)!important}
.permission-switch,.np132-switch{min-height:40px}

/* ===== Toast / prompt ===== */
#toastRoot{right:18px;bottom:18px}
.toast{border-radius:12px;background:#113c56;box-shadow:0 12px 30px rgba(3,29,45,.28)}
.pwa-prompt{border-radius:16px;box-shadow:var(--np-shadow-lg)}

/* ===== Login ===== */
.login-view{
  background:
    radial-gradient(circle at 13% 15%,rgba(57,186,229,.18),transparent 24%),
    radial-gradient(circle at 85% 85%,rgba(33,145,180,.14),transparent 28%),
    linear-gradient(145deg,#eaf8fd,#f8fdff 58%,#e8f5f8);
}
.np-login-card{border-radius:24px!important;border-color:rgba(148,194,213,.55)!important;box-shadow:0 30px 75px rgba(17,77,108,.18)!important}
.login-input-wrap{border-radius:12px!important}
.login-submit{border-radius:12px!important;min-height:48px}

/* ===== Desktop density ===== */
@media(min-width:901px){
  .table-wrap{scrollbar-color:#bad0dc transparent;scrollbar-width:thin}
  .table-wrap::-webkit-scrollbar{height:9px;width:9px}.table-wrap::-webkit-scrollbar-thumb{background:#c4d6df;border-radius:99px;border:2px solid #fff}
  .cards.compact-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
}

/* ===== Tablet and mobile ===== */
@media(max-width:900px){
  :root{--np-control-h:44px}
  body{background:#f3f7fa}
  .app>main{padding-bottom:calc(67px + env(safe-area-inset-bottom))}
  .app>main>header{
    display:flex!important;
    height:60px;
    flex-basis:60px;
    padding:0 10px;
    border-bottom-color:#dce8ef;
    box-shadow:0 4px 15px rgba(22,66,90,.06);
  }
  #content{
    padding:12px 10px calc(88px + env(safe-area-inset-bottom));
    max-width:none;
  }
  .header-avatar{width:38px;height:38px;border-radius:12px}
  .header-user{gap:8px}
  .header-user b{font-size:13.5px;max-width:48vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .header-user small{font-size:10.5px}
  .header-status{gap:4px}
  .online-status{font-size:9.5px;padding:3px 7px}
  #today{display:none}
  .menu-btn{width:40px;min-width:40px;height:40px;min-height:40px}
  .sidebar{width:min(310px,86vw);padding:13px 10px}
  .sidebar .brand{min-height:52px;padding:4px 46px 10px 9px}
  .np-nav-group-label{margin-top:12px}
  .sidebar nav button,.logout{min-height:44px}
  .page-head{margin-bottom:11px;gap:9px}
  .page-head h2{font-size:20px}
  .np-page-description{font-size:11px;line-height:1.35}
  .page-head .actions{gap:6px}
  .page-head .actions button{min-height:38px;padding:7px 10px;font-size:12px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .card{padding:12px;border-radius:13px}
  .metric strong{font-size:20px}
  .grid-2{grid-template-columns:1fr;gap:9px}
  .np135-filter-panel{margin:9px 0 11px;border-radius:13px;box-shadow:none}
  .np135-filter-panel>summary{min-height:42px;padding:9px 11px;font-size:12px}
  .np135-filter-grid{grid-template-columns:1fr 1fr;gap:7px;padding:9px}
  .np135-filter-grid input,.np135-filter-grid select{height:40px;font-size:13px}
  .np135-filter-actions{padding:0 9px 9px}
  .toolbar{display:grid;grid-template-columns:1fr 1fr;padding:8px;gap:7px}
  .toolbar input,.toolbar select{width:100%;min-width:0}
  .modal-backdrop{align-items:end;padding:0}
  .modal,.modal.wide{
    width:100%;
    max-width:none;
    max-height:93dvh;
    border-radius:20px 20px 0 0;
    border-bottom:0;
    padding:14px 12px calc(16px + env(safe-area-inset-bottom));
  }
  .modal-head{top:-14px;margin:-14px -12px 12px;padding:11px 12px;border-radius:20px 20px 0 0}
  .modal-head h3{font-size:17px}
  .form-grid{grid-template-columns:1fr 1fr;gap:9px}
  .form-grid .full{grid-column:1/-1}
  .mobile-bottom-nav{
    height:calc(65px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.96);
    border-top:1px solid #dce8ee;
    box-shadow:0 -8px 24px rgba(17,60,84,.10);
    backdrop-filter:blur(16px);
  }
  .mobile-bottom-nav button{color:#647d8e!important}
  .mobile-bottom-nav button.active{color:#0876a8!important;background:#ebf8fd!important}
  .mobile-bottom-nav .mnav-sale{background:linear-gradient(135deg,#0781b9,#0a98cc)!important}
  #toastRoot{left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom))}

  /* Tables become readable information cards on mobile. */
  .table-wrap.np-mobile-card-wrap{border:0;background:transparent;box-shadow:none;overflow:visible}
  .np-mobile-card-table{display:block;width:100%;font-size:13px}
  .np-mobile-card-table thead{display:none}
  .np-mobile-card-table tbody{display:grid;gap:8px}
  .np-mobile-card-table tr{display:block;border:1px solid var(--np-line);border-radius:13px;background:#fff;box-shadow:var(--np-shadow-sm);overflow:hidden}
  .np-mobile-card-table tr:nth-child(even){background:#fff}
  .np-mobile-card-table tr:hover{background:#fff}
  .np-mobile-card-table td{
    display:grid;
    grid-template-columns:minmax(96px,35%) minmax(0,1fr);
    gap:8px;
    align-items:center;
    min-height:38px;
    padding:8px 10px;
    border-bottom:1px dashed #e3edf2;
    white-space:normal!important;
    overflow-wrap:anywhere;
    text-align:right;
  }
  .np-mobile-card-table td:last-child{border-bottom:0}
  .np-mobile-card-table td:before{
    content:attr(data-label);
    color:#718797;
    font-size:10px;
    font-weight:800;
    letter-spacing:.025em;
    text-transform:uppercase;
    text-align:left;
  }
  .np-mobile-card-table td[colspan]{display:block;text-align:center}
  .np-mobile-card-table td[colspan]:before{display:none}
  .np-mobile-card-table td>*{max-width:100%}
  .np-mobile-card-table td button{justify-self:end}
  .np-mobile-card-table td b,.np-mobile-card-table td strong{text-align:right}
  .np-mobile-card-table td small{display:block}
  .np-mobile-card-table .np-alert-chip{justify-self:end}
}

@media(max-width:600px){
  #content{padding-left:8px;padding-right:8px}
  .page-head{align-items:stretch;flex-direction:column}
  .page-head .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}
  .page-head .actions button{width:100%;white-space:normal}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards>.card:only-child{grid-column:1/-1}
  .card{padding:10px}
  .metric span{font-size:10.5px}
  .metric strong{font-size:18px}
  .np135-filter-grid{grid-template-columns:1fr}
  .np1351-date-selector,.np1351-custom-date{grid-column:auto!important}
  .toolbar{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .form-grid .full{grid-column:auto}
  .actions{grid-template-columns:1fr 1fr}
  input,select,textarea{font-size:16px}
  .np-mobile-card-table td{grid-template-columns:92px minmax(0,1fr);padding:8px 9px}
  .profile-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px}
}

@media(max-width:390px){
  .cards{grid-template-columns:1fr}
  .page-head .actions{grid-template-columns:1fr}
  .np-mobile-card-table td{grid-template-columns:82px minmax(0,1fr)}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* ===== css/design_1_36_1.css ===== */
/* Nam Phuong ERP Stable 1.36.1
   Detail hierarchy and approval review mobile reliability. */

/* ===== Shared detail hierarchy ===== */
.np-detail-view .np-detail-meta-legacy{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
  padding:12px;
  border:1px solid #d6e7ef;
  border-radius:13px;
  background:#f7fbfd;
  line-height:1.55;
}
.np-detail-view .np-detail-meta-legacy b{color:#0e496b;font-weight:900}
.np-detail-view .np-detail-table tbody td:first-child{font-weight:850;color:#123f5b}
.np-detail-view .np-detail-table tbody td:nth-child(2){font-weight:900;color:#0d668f}
.np-detail-view .np-detail-value{font-weight:900;color:#143f58}

/* ===== Approval detail ===== */
.np-approval-modal{
  display:flex;
  flex-direction:column;
  overflow:hidden!important;
  min-height:0;
}
.np-approval-head{flex:0 0 auto}
.np-approval-head>div{min-width:0}
.np-approval-head h3{margin:0}
.np-approval-head .muted{display:block;margin-top:3px;font-size:12px}
.np-approval-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:0 3px 14px;
  scroll-behavior:smooth;
}
.np-approval-modal .approval-detail-state{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  margin:0 0 10px;
  padding:10px 13px;
  border-width:1px;
  border-radius:12px;
  font-size:14px;
}
.np-approval-modal .approval-detail-state span{font-size:17px}
.np-approval-customer{
  display:grid;
  grid-template-columns:minmax(260px,1.15fr) minmax(320px,.85fr);
  gap:12px;
  padding:15px;
  border:1px solid #cfe4ed;
  border-left:5px solid #0a85b9;
  border-radius:15px;
  background:linear-gradient(135deg,#eefaff,#fff 68%);
  box-shadow:0 5px 16px rgba(20,93,125,.07);
}
.np-approval-customer small,.np-approval-section-title small,.np-approval-product small,.np-approval-summary-grid small{
  display:block;
  color:#698294;
  font-size:10px;
  font-weight:850;
  letter-spacing:.055em;
}
.np-approval-customer>div>strong{
  display:block;
  margin-top:4px;
  color:#0b3f5e;
  font-size:24px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.np-approval-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.np-approval-meta span{padding:10px;border:1px solid #dbe9ef;border-radius:11px;background:rgba(255,255,255,.82)}
.np-approval-meta b{display:block;margin-top:4px;color:#173f59;font-size:14px;overflow-wrap:anywhere}
.np-approval-section{margin-top:12px}
.np-approval-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:7px;padding:0 2px}
.np-approval-section-title h4{margin:2px 0 0;color:#143e56;font-size:16px}
.np-approval-section-title>span{padding:5px 9px;border-radius:999px;background:#e8f5fb;color:#0b6d9c;font-size:12px;font-weight:850}
.np-approval-products{display:grid;gap:7px}
.np-approval-product{
  display:grid;
  grid-template-columns:34px minmax(220px,1.7fr) minmax(90px,.45fr) minmax(120px,.65fr) minmax(135px,.7fr);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid #dbe7ec;
  border-radius:12px;
  background:#fff;
}
.np-approval-product:nth-child(even){background:#f8fbfd}
.np-approval-product-index{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e8f5fb;color:#0b6d9c;font-weight:900}
.np-approval-product strong{display:block;margin-top:3px;color:#143e56;font-size:14px;line-height:1.25;overflow-wrap:anywhere}
.np-approval-product-name strong{font-size:16px;color:#0b4161}
.np-approval-product-name span{display:block;margin-top:2px;color:#718593;font-size:11px}
.np-approval-product-qty strong{display:inline-grid;place-items:center;min-width:44px;min-height:34px;padding:5px 10px;border-radius:10px;background:#eaf7fd;color:#0875a6;font-size:20px}
.np-approval-product-amount strong{color:#09623e;font-size:16px}
.np-approval-summary{margin-top:12px;padding:11px;border-radius:14px;background:#fbfdfe}
.np-approval-summary .payment-total-highlight{min-height:58px;padding:10px 13px;border:1.5px solid #16915d;border-radius:12px;background:linear-gradient(135deg,#eafaf1,#f4fff8)}
.np-approval-summary .payment-total-highlight span{font-weight:900;color:#125d3c}
.np-approval-summary .payment-total-highlight b{font-size:25px;color:#0d623d}
.np-approval-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}
.np-approval-summary-grid>div{padding:9px 10px;border:1px solid #dce8ed;border-radius:10px;background:#fff}
.np-approval-summary-grid strong{display:block;margin-top:4px;color:#173f59;font-size:14px;overflow-wrap:anywhere}
.np-approval-summary-grid .metric-cash{border-color:#bfe6cf;background:#f2fcf6}
.np-approval-summary-grid .metric-bank{border-color:#bedcf2;background:#f2f9ff}
.np-approval-summary-grid .metric-debt{border-color:#f1c6cc;background:#fff6f7}
.np-approval-summary-grid .metric-debt strong{color:#b42335}
.np-approval-summary-grid .metric-bottle{border-color:#f1d7ac;background:#fffbf3}
.np-approval-rejection{display:grid;gap:4px;margin-top:10px}
.np-approval-actions{
  flex:0 0 auto;
  position:relative;
  bottom:auto;
  z-index:20;
  grid-template-columns:minmax(130px,.8fr) minmax(180px,1.25fr);
  gap:9px;
  margin:10px -18px -18px;
  padding:11px 18px calc(11px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.98);
  border-top:1px solid #dbe6eb;
  box-shadow:0 -8px 20px rgba(8,50,72,.10);
}
.np-approval-actions button{min-height:48px;font-size:15px;font-weight:900}

@media(max-width:900px){
  .np-detail-view .np-detail-meta-legacy{grid-template-columns:1fr;padding:10px}
  .np-approval-modal{
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:0!important;
    border-radius:0!important;
  }
  .np-approval-modal .np-approval-head{
    position:relative;
    top:0;
    margin:0;
    padding:10px 11px;
    min-height:59px;
    border-radius:0;
  }
  .np-approval-head .muted{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72vw}
  .np-approval-scroll{padding:10px 10px 14px;touch-action:pan-y}
  .np-approval-customer{grid-template-columns:1fr;gap:8px;padding:12px}
  .np-approval-customer>div>strong{font-size:21px}
  .np-approval-meta{grid-template-columns:1fr 1fr}
  .np-approval-product{
    grid-template-columns:30px minmax(0,1fr) 68px;
    grid-template-areas:'idx name qty' 'idx price amount';
    gap:7px 8px;
    padding:10px;
  }
  .np-approval-product-index{grid-area:idx;align-self:stretch;height:auto;min-height:60px}
  .np-approval-product-name{grid-area:name}
  .np-approval-product-qty{grid-area:qty;text-align:right}
  .np-approval-product-price{grid-area:price}
  .np-approval-product-amount{grid-area:amount;text-align:right}
  .np-approval-product-name strong{font-size:15px}
  .np-approval-product-qty strong{min-width:40px;min-height:31px;font-size:18px}
  .np-approval-product-price strong,.np-approval-product-amount strong{font-size:13px}
  .np-approval-summary-grid{grid-template-columns:1fr 1fr}
  .np-approval-summary .payment-total-highlight b{font-size:23px}
  .np-approval-actions{
    grid-template-columns:minmax(105px,.72fr) minmax(165px,1.28fr)!important;
    margin:0;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));
  }
  .np-approval-actions .primary{order:initial!important}
  .np-approval-actions button{min-height:48px;padding:9px 10px;font-size:14px}
}

@media(max-width:420px){
  .np-approval-meta{grid-template-columns:1fr}
  .np-approval-section-title{align-items:center}
  .np-approval-summary-grid{grid-template-columns:1fr 1fr}
  .np-approval-summary-grid>div{padding:8px}
  .np-approval-actions{grid-template-columns:1fr 1.55fr!important}
}

/* ===== css/design_1_37_0.css ===== */
/* =========================================================
   Nam Phuong ERP · Stable 1.37.0
   Modern UI Foundation · Clean Water Business Design System
   Visual-only layer: no business logic or database changes.
   ========================================================= */
:root{
  --np137-navy:#082638;
  --np137-navy-2:#0b344a;
  --np137-blue:#087fae;
  --np137-blue-2:#10a2cf;
  --np137-cyan:#2ac3d5;
  --np137-teal:#0d9b8e;
  --np137-green:#159a61;
  --np137-amber:#e38a20;
  --np137-red:#d94a5a;
  --np137-purple:#7658c7;
  --np137-ink:#102d3f;
  --np137-text:#29495c;
  --np137-muted:#718796;
  --np137-line:#dfeaf0;
  --np137-line-strong:#c8dce6;
  --np137-page:#f3f8fb;
  --np137-surface:#ffffff;
  --np137-soft:#f8fbfd;
  --np137-radius-sm:12px;
  --np137-radius:18px;
  --np137-radius-lg:24px;
  --np137-shadow-1:0 1px 2px rgba(12,48,68,.035),0 7px 20px rgba(20,72,99,.055);
  --np137-shadow-2:0 12px 34px rgba(11,54,77,.105);
  --np137-shadow-3:0 24px 68px rgba(5,38,57,.20);
  --np137-ease:cubic-bezier(.2,.8,.2,1);

  --np-primary:var(--np137-blue);
  --np-primary-strong:#07668e;
  --np-primary-soft:#eaf8fc;
  --np-secondary:var(--np137-teal);
  --np-success:var(--np137-green);
  --np-warning:#c87513;
  --np-danger:#c93d4d;
  --np-info:#466cc7;
  --np-ink:var(--np137-ink);
  --np-text:var(--np137-text);
  --np-muted:var(--np137-muted);
  --np-line:var(--np137-line);
  --np-line-strong:var(--np137-line-strong);
  --np-page:var(--np137-page);
  --np-card:var(--np137-surface);
  --np-card-alt:var(--np137-soft);
  --np-shadow-sm:var(--np137-shadow-1);
  --np-shadow-md:var(--np137-shadow-2);
  --np-shadow-lg:var(--np137-shadow-3);
  --np-radius:var(--np137-radius);
  --np-radius-lg:var(--np137-radius-lg);
  --np-sidebar-w:264px;
}

html{background:var(--np137-page)}
body.np137-modern{
  font-family:Inter,"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--np137-text);
  background:
    radial-gradient(circle at 100% 0,rgba(40,187,213,.105),transparent 31rem),
    radial-gradient(circle at 0 36%,rgba(8,127,174,.055),transparent 28rem),
    linear-gradient(180deg,#f8fcfe 0,#f3f8fb 32rem,#f3f8fb 100%);
  letter-spacing:-.008em;
}
body.np137-modern *{scrollbar-width:thin;scrollbar-color:#bfd2dc transparent}
body.np137-modern *::-webkit-scrollbar{width:9px;height:9px}
body.np137-modern *::-webkit-scrollbar-thumb{background:#c4d7e0;border:2px solid transparent;background-clip:padding-box;border-radius:999px}
body.np137-modern *::-webkit-scrollbar-track{background:transparent}

/* ===== Application shell ===== */
body.np137-modern .app{
  grid-template-columns:var(--np-sidebar-w) minmax(0,1fr);
  background:transparent;
}
body.np137-modern .sidebar{
  position:relative;
  isolation:isolate;
  padding:14px 11px 13px;
  background:
    radial-gradient(circle at 15% 3%,rgba(42,195,213,.25),transparent 15rem),
    radial-gradient(circle at 100% 75%,rgba(12,117,154,.22),transparent 22rem),
    linear-gradient(180deg,#0a3348 0,#082a3d 48%,#061e2e 100%);
  border-right:1px solid rgba(255,255,255,.055);
  box-shadow:10px 0 36px rgba(5,37,55,.10);
}
body.np137-modern .sidebar:after{
  content:"";
  position:absolute;
  inset:auto -60px -90px auto;
  width:220px;
  height:220px;
  border:1px solid rgba(97,222,236,.08);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(97,222,236,.025),0 0 0 70px rgba(97,222,236,.02);
  pointer-events:none;
  z-index:-1;
}
body.np137-modern .sidebar .brand{
  min-height:68px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:8px 11px 15px;
  color:#fff;
}
.np137-brand-logo{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(225,249,252,.90));
  box-shadow:0 10px 28px rgba(0,20,35,.22),inset 0 0 0 1px rgba(255,255,255,.9);
  overflow:hidden;
}
.np137-brand-logo img{width:100%;height:100%;object-fit:contain;padding:3px}
.np137-brand-copy{display:grid;min-width:0;gap:1px}
.np137-brand-copy strong{font-size:16px;line-height:1.15;letter-spacing:.005em;color:#fff}
.np137-brand-copy small{font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#87c9db}
body.np137-modern .np-nav-group-label{
  margin:15px 11px 5px;
  color:#6fa5b7;
  font-size:9px;
  letter-spacing:.16em;
}
body.np137-modern .sidebar nav{gap:3px}
body.np137-modern .sidebar nav button,
body.np137-modern .logout{
  position:relative;
  min-height:43px;
  margin:0;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:12px;
  color:#cce1e9;
  font-size:13px;
  font-weight:650;
  letter-spacing:-.005em;
  overflow:hidden;
}
body.np137-modern .sidebar nav button:before{
  content:"";
  position:absolute;
  inset:5px auto 5px 0;
  width:3px;
  border-radius:999px;
  background:transparent;
  transition:background .18s ease;
}
body.np137-modern .sidebar nav button .nav-ico{
  width:31px;
  height:31px;
  flex:0 0 31px;
  display:grid;
  place-items:center;
  margin:0 7px 0 0;
  border-radius:10px;
  background:rgba(255,255,255,.055);
  font-size:15px;
  filter:saturate(.85);
  transition:background .18s ease,transform .18s ease;
}
body.np137-modern .sidebar nav button:hover{
  color:#fff;
  background:rgba(255,255,255,.065);
  transform:none;
}
body.np137-modern .sidebar nav button:hover .nav-ico{background:rgba(255,255,255,.10);transform:scale(1.04)}
body.np137-modern .sidebar nav button.active{
  color:#fff;
  background:linear-gradient(110deg,rgba(31,164,202,.98),rgba(7,112,155,.95));
  border-color:rgba(255,255,255,.10);
  box-shadow:0 9px 24px rgba(0,35,54,.23),inset 0 1px 0 rgba(255,255,255,.08);
}
body.np137-modern .sidebar nav button.active:before{background:#b8f1f4}
body.np137-modern .sidebar nav button.active .nav-ico{background:rgba(255,255,255,.16);filter:none}
body.np137-modern .logout{
  margin-top:14px;
  color:#b9d0da;
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.055);
}
body.np137-modern .logout:hover{color:#fff;background:rgba(218,72,91,.17);border-color:rgba(255,143,157,.12)}

body.np137-modern .app>main>header{
  position:sticky;
  top:0;
  z-index:75;
  height:70px;
  flex-basis:70px;
  padding:0 clamp(16px,2vw,30px);
  background:rgba(250,253,254,.88);
  border-bottom:1px solid rgba(201,220,229,.72);
  box-shadow:0 5px 22px rgba(22,67,91,.045);
  backdrop-filter:blur(18px) saturate(140%);
}
body.np137-modern .header-avatar{
  width:42px;
  height:42px;
  flex-basis:42px;
  border-radius:14px;
  border:2px solid #fff;
  box-shadow:0 5px 16px rgba(8,100,142,.18);
}
body.np137-modern .header-user b{font-size:14px;font-weight:800;color:var(--np137-ink)}
body.np137-modern .header-user small{font-size:10.5px;color:#6d8493}
.np137-header-context{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  gap:8px;
  max-width:35vw;
  padding:6px 11px 6px 7px;
  border:1px solid rgba(198,219,229,.8);
  border-radius:999px;
  background:rgba(255,255,255,.70);
  color:#395a6d;
  font-size:11px;
  font-weight:750;
  white-space:nowrap;
  box-shadow:0 3px 12px rgba(18,62,86,.04);
}
.np137-header-context i{width:26px;height:26px;display:grid;place-items:center;border-radius:9px;background:#e8f7fb;font-style:normal;font-size:13px}
.np137-header-context span{overflow:hidden;text-overflow:ellipsis}
body.np137-modern .online-status{
  padding:5px 10px;
  border:1px solid #c9ead7;
  background:rgba(238,250,243,.9);
  box-shadow:0 2px 8px rgba(20,125,72,.04);
}

body.np137-modern #content{
  padding:25px clamp(16px,2.35vw,38px) 54px;
  animation:none;
}
body.np137-modern #content.np137-page-enter{animation:np137PageEnter .28s var(--np137-ease)}
@keyframes np137PageEnter{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}

/* ===== Page title / actions ===== */
body.np137-modern .page-head{
  align-items:flex-end;
  min-height:62px;
  margin-bottom:18px;
  padding:0 2px;
}
body.np137-modern .np-page-title-block{gap:4px}
.np137-page-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  color:#0b779e;
  font-size:9.5px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.np137-page-kicker i{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:linear-gradient(145deg,#e5f7fb,#f3fcfd);
  border:1px solid #c9e8ef;
  font-style:normal;
  font-size:12px;
  letter-spacing:0;
}
body.np137-modern .page-head h2{
  color:var(--np137-ink);
  font-size:clamp(23px,1.65vw,30px);
  font-weight:830;
  line-height:1.12;
  letter-spacing:-.035em;
}
body.np137-modern .np-page-description{font-size:12px;color:#718694;line-height:1.45}
body.np137-modern .page-head .actions{
  padding:4px;
  border:1px solid rgba(215,230,237,.82);
  border-radius:14px;
  background:rgba(255,255,255,.68);
  box-shadow:0 3px 12px rgba(18,60,82,.035);
}
body.np137-modern .page-head .actions:has(>button:only-child){padding:0;border:0;background:transparent;box-shadow:none}

/* ===== Buttons and controls ===== */
body.np137-modern button{
  border-radius:11px;
  font-weight:720;
  letter-spacing:-.008em;
  transition:transform .14s var(--np137-ease),box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}
body.np137-modern button:not(:disabled):hover{transform:translateY(-1px)}
body.np137-modern button:not(:disabled):active{transform:translateY(0) scale(.985)}
body.np137-modern .primary{
  border:1px solid rgba(7,113,154,.2);
  background:linear-gradient(135deg,#0b88b7 0,#0875a5 55%,#096691 100%);
  box-shadow:0 7px 18px rgba(7,116,160,.20),inset 0 1px 0 rgba(255,255,255,.16);
}
body.np137-modern .primary:hover{background:linear-gradient(135deg,#0b94c4,#0876a6 58%,#075b83);box-shadow:0 10px 23px rgba(7,116,160,.25)}
body.np137-modern .secondary{
  color:#315468;
  border:1px solid #d5e4eb;
  background:linear-gradient(180deg,#fff,#f2f7f9);
  box-shadow:0 2px 7px rgba(23,64,85,.035);
}
body.np137-modern .secondary:hover{color:#0b6f99;border-color:#aed4e3;background:#f0fafe}
body.np137-modern .danger{border:1px solid #f2cbd1;background:#fff3f5;color:#bd3546}
body.np137-modern .danger:hover{background:#ffe9ed;border-color:#efaeb8}
body.np137-modern input,
body.np137-modern select,
body.np137-modern textarea{
  color:#24475a;
  border:1px solid #cddfe7;
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(10,49,69,.025),inset 0 1px 0 rgba(255,255,255,.8);
}
body.np137-modern input:hover,
body.np137-modern select:hover,
body.np137-modern textarea:hover{border-color:#a8cbd9}
body.np137-modern input:focus,
body.np137-modern select:focus,
body.np137-modern textarea:focus{
  border-color:#48a9c9;
  box-shadow:0 0 0 4px rgba(26,156,199,.11),0 2px 7px rgba(15,84,111,.04);
}
body.np137-modern label{color:#355669;font-weight:750}

/* ===== Cards and KPI surfaces ===== */
body.np137-modern .card{
  position:relative;
  border:1px solid rgba(211,228,236,.93);
  border-radius:var(--np137-radius);
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(253,254,255,.98));
  box-shadow:var(--np137-shadow-1);
}
body.np137-modern .card:hover{border-color:#c1dbe5;box-shadow:0 9px 27px rgba(16,64,88,.075)}
body.np137-modern .cards{gap:12px}
body.np137-modern .metric{
  min-height:116px;
  padding:16px 17px 14px;
  overflow:hidden;
}
body.np137-modern .metric:before{
  left:0;
  top:0;
  right:0;
  bottom:auto;
  width:auto;
  height:3px;
  background:linear-gradient(90deg,#61c3da,#0c83b2 65%,transparent);
}
body.np137-modern .metric:after{
  content:"";
  position:absolute;
  right:-32px;
  bottom:-40px;
  width:100px;
  height:100px;
  border-radius:50%;
  background:rgba(8,127,174,.035);
  pointer-events:none;
}
body.np137-modern .metric[data-np-accent="success"]:before{background:linear-gradient(90deg,#5ed29a,#159a61 65%,transparent)}
body.np137-modern .metric[data-np-accent="success"]:after{background:rgba(21,154,97,.045)}
body.np137-modern .metric[data-np-accent="warning"]:before{background:linear-gradient(90deg,#ffc26d,#df841c 65%,transparent)}
body.np137-modern .metric[data-np-accent="warning"]:after{background:rgba(227,138,32,.05)}
body.np137-modern .metric[data-np-accent="danger"]:before{background:linear-gradient(90deg,#ff8998,#d94a5a 65%,transparent)}
body.np137-modern .metric[data-np-accent="danger"]:after{background:rgba(217,74,90,.045)}
body.np137-modern .metric[data-np-accent="purple"]:before{background:linear-gradient(90deg,#a58ce9,#7658c7 65%,transparent)}
body.np137-modern .metric[data-np-accent="purple"]:after{background:rgba(118,88,199,.045)}
body.np137-modern .metric>span:not(.np137-metric-icon){padding-right:42px;color:#6b8290;font-size:11.5px;font-weight:750}
body.np137-modern .metric>strong{margin-top:8px;color:var(--np137-ink);font-size:clamp(22px,1.8vw,29px);font-weight:850;letter-spacing:-.035em}
body.np137-modern .metric>small{margin-top:6px;color:#7b909d;font-size:10.5px}
.np137-metric-icon{
  position:absolute;
  top:13px;
  right:13px;
  width:37px;
  height:37px;
  display:grid!important;
  place-items:center;
  padding:0!important;
  border:1px solid #d9ebf1;
  border-radius:12px;
  background:linear-gradient(145deg,#effafd,#fff);
  box-shadow:0 5px 14px rgba(12,86,116,.07);
  font-size:17px!important;
  line-height:1;
  filter:saturate(.88);
}
.metric[data-np-accent="success"] .np137-metric-icon{border-color:#d1eadc;background:#effaf4}
.metric[data-np-accent="warning"] .np137-metric-icon{border-color:#f1dfc5;background:#fff8ed}
.metric[data-np-accent="danger"] .np137-metric-icon{border-color:#f1d6da;background:#fff4f5}
.metric[data-np-accent="purple"] .np137-metric-icon{border-color:#e1d9f3;background:#f7f4fd}

/* ===== Dashboard ===== */
body.np137-modern .health-hero{
  position:relative;
  isolation:isolate;
  grid-template-columns:minmax(245px,.68fr) minmax(0,1.32fr);
  gap:22px;
  margin-bottom:14px;
  padding:23px 25px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:
    radial-gradient(circle at 86% -8%,rgba(78,224,231,.32),transparent 20rem),
    radial-gradient(circle at 10% 115%,rgba(12,126,173,.70),transparent 25rem),
    linear-gradient(125deg,#082f45 0,#075b7f 52%,#0787a5 100%);
  box-shadow:0 18px 45px rgba(6,67,92,.18);
  overflow:hidden;
}
body.np137-modern .health-hero:before,
body.np137-modern .health-hero:after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}
body.np137-modern .health-hero:before{width:240px;height:240px;right:-75px;top:-155px;border:1px solid rgba(255,255,255,.16);box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 76px rgba(255,255,255,.018)}
body.np137-modern .health-hero:after{width:130px;height:130px;left:34%;bottom:-105px;background:rgba(67,218,225,.09)}
body.np137-modern .health-hero strong{font-size:46px;line-height:1;letter-spacing:-.055em}
body.np137-modern .health-hero b{margin-top:5px;color:#b9f1ed;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
body.np137-modern .health-scale{height:8px;max-width:270px;background:rgba(255,255,255,.16);box-shadow:inset 0 1px 2px rgba(0,0,0,.14)}
body.np137-modern .health-scale i{background:linear-gradient(90deg,#8aeee7,#fff);box-shadow:0 0 13px rgba(138,238,231,.55)}
body.np137-modern .health-notes{gap:9px}
body.np137-modern .health-notes p{
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(255,255,255,.075);
  backdrop-filter:blur(6px);
  font-size:12px;
}
body.np137-modern .workflow-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:13px 0;
}
body.np137-modern .workflow-strip button{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  grid-template-areas:"icon value" "icon label";
  gap:1px 11px;
  align-items:center;
  min-height:76px;
  padding:12px 14px;
  text-align:left;
  border:1px solid #d7e7ed;
  background:linear-gradient(145deg,#fff,#f7fbfd);
  box-shadow:var(--np137-shadow-1);
}
body.np137-modern .workflow-strip button>span{
  grid-area:icon;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(145deg,#e8f7fb,#fff);
  border:1px solid #d5eaf1;
  font-size:20px;
}
body.np137-modern .workflow-strip button>b{grid-area:value;color:#163c52;font-size:21px;line-height:1.05}
body.np137-modern .workflow-strip button>small{grid-area:label;color:#718694;font-size:10.5px;font-weight:650}
body.np137-modern .quick-grid button{
  min-height:86px;
  border-radius:17px;
  background:linear-gradient(145deg,#fff,#f8fbfd);
}
body.np137-modern .bar-track{background:#edf4f7;border-radius:8px 8px 3px 3px}
body.np137-modern .bar-fill{background:linear-gradient(180deg,#2dc0d5,#087fad);border-radius:8px 8px 3px 3px;box-shadow:0 -4px 12px rgba(13,146,181,.18)}
body.np137-modern .insight{border:1px solid #e0ebf0;border-radius:13px;background:#f8fbfc}
body.np137-modern .rank-list .rank{background:linear-gradient(145deg,#e8f7fb,#f7fcfd);color:#0878a5;border:1px solid #d5e8ef}

/* ===== Filters ===== */
body.np137-modern .np135-filter-panel{
  margin:12px 0 15px;
  border:1px solid rgba(208,225,233,.95);
  border-radius:16px;
  background:rgba(255,255,255,.91);
  box-shadow:0 5px 18px rgba(17,67,91,.045);
  overflow:hidden;
}
body.np137-modern .np135-filter-panel>summary{
  min-height:47px;
  padding:9px 13px;
  color:#31576b;
  background:linear-gradient(180deg,#fbfdfe,#f4f9fb);
  font-size:12px;
  font-weight:780;
}
body.np137-modern .np135-filter-panel>summary:before{
  content:"⌁";
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  margin-right:8px;
  border-radius:10px;
  background:#e9f7fb;
  color:#0b7da8;
  font-size:17px;
}
body.np137-modern .np135-filter-panel[open]>summary{border-bottom:1px solid #e2edf2}
body.np137-modern .np135-filter-grid{gap:9px;padding:12px}
body.np137-modern .np135-filter-grid label{margin:0;font-size:10.5px;color:#607b8b}
body.np137-modern .np135-filter-grid input,
body.np137-modern .np135-filter-grid select{height:41px;border-radius:11px;background:#fff}
body.np137-modern .np135-filter-actions{padding:0 12px 12px}
.np137-filter-status{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  margin-left:auto;
  padding:3px 7px;
  border:1px solid #d7e8ef;
  border-radius:999px;
  background:#fff;
  color:#648090;
  font-size:9.5px;
  font-weight:780;
}
.np137-filter-status.active{border-color:#b9dfea;background:#edf9fc;color:#0877a2}

/* ===== Tables / list surfaces ===== */
body.np137-modern .table-wrap{
  border:1px solid rgba(209,226,234,.96);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--np137-shadow-1);
}
body.np137-modern table{border-collapse:separate;border-spacing:0;font-size:12.5px}
body.np137-modern th{
  height:43px;
  padding:10px 13px;
  color:#68808f;
  background:#f6fafb;
  border-bottom:1px solid #dce9ef;
  font-size:9.5px;
  font-weight:850;
  letter-spacing:.07em;
}
body.np137-modern td{padding:11px 13px;color:#315165;border-bottom-color:#e8f0f3}
body.np137-modern tbody tr{transition:background .15s ease,box-shadow .15s ease}
body.np137-modern tbody tr:hover{background:#f4fafc}
body.np137-modern tbody tr:nth-child(even){background:#fcfdfe}
body.np137-modern tbody tr:nth-child(even):hover{background:#f4fafc}
body.np137-modern td b{color:#173d53;font-weight:810}
body.np137-modern .table-wrap button{border-radius:9px}
body.np137-modern .approval-row.approval-pending td{background:rgba(255,249,249,.85)!important;border-bottom-color:#f0dfe1!important}
body.np137-modern .approval-row.approval-approved td{background:rgba(247,253,249,.85)!important;border-bottom-color:#dcebe3!important}
body.np137-modern .approval-pending,
body.np137-modern .approval-approved,
body.np137-modern .approval-rejected{
  border-width:1px!important;
  color:var(--np137-text)!important;
}
body.np137-modern .approval-pending{background:linear-gradient(145deg,#fff,#fff7f8)!important;border-color:#efd8dc!important}
body.np137-modern .approval-approved{background:linear-gradient(145deg,#fff,#f4fcf7)!important;border-color:#d3e9dc!important}
body.np137-modern .approval-rejected{background:linear-gradient(145deg,#fff,#fff9f1)!important;border-color:#eedfc9!important}
body.np137-modern .approval-state{padding:5px 9px;border-width:1px!important;font-size:10.5px}

/* ===== Reception / delivery cards ===== */
body.np137-modern .request-grid{gap:12px}
body.np137-modern .request-card,
body.np137-modern .np-request-card{
  padding:15px;
  border-width:1px!important;
  border-radius:19px!important;
  background:linear-gradient(155deg,#fff,#fbfdfe)!important;
  box-shadow:var(--np137-shadow-1)!important;
}
body.np137-modern .request-card:before,
body.np137-modern .np-request-card:before{width:4px!important}
body.np137-modern .np-request-card.np-status-new{border-color:#edd6da!important;background:linear-gradient(150deg,#fff,#fff8f9)!important;box-shadow:var(--np137-shadow-1)!important}
body.np137-modern .np-request-card.np-status-claimed,
body.np137-modern .np-request-card.np-status-delivering,
body.np137-modern .np-request-card.np-status-completed{border-color:#d5e8dd!important;background:linear-gradient(150deg,#fff,#f7fcf9)!important;box-shadow:var(--np137-shadow-1)!important}
body.np137-modern .request-head{padding-bottom:7px;border-bottom:1px solid #edf2f5}
body.np137-modern .request-customer{padding:13px 0 8px}
body.np137-modern .request-customer b{font-size:17px;font-weight:850;color:#133e55}
body.np137-modern .request-items li{padding:8px 2px}
body.np137-modern .request-time,
body.np137-modern .request-note{border:1px solid #e3ecef;border-radius:11px}
body.np137-modern .request-time{background:#fff9ee;border-color:#f0e1c8}
body.np137-modern .request-note{background:#f7fafb}
body.np137-modern .request-actions{padding-top:4px}

/* ===== Sales wizard / entry forms ===== */
body.np137-modern .np-sale-wizard-shell{max-width:840px}
body.np137-modern .np-sale-wizard-head{
  border:1px solid rgba(208,225,233,.92);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 26px rgba(16,67,92,.07);
  backdrop-filter:blur(14px);
}
body.np137-modern .np-wizard-node i{border-color:#d4e3e9;background:#f3f7f9}
body.np137-modern .np-wizard-node.active i{background:linear-gradient(145deg,#11a1c8,#0876a5);border-color:#0a83af;box-shadow:0 0 0 5px rgba(15,151,192,.11)}
body.np137-modern .np-wizard-node.done i{background:#e7f8ef;border-color:#83d6aa;color:#117747}
body.np137-modern .np-step-card{
  border:1px solid #d8e7ed;
  border-radius:19px;
  background:linear-gradient(160deg,#fff,#fbfdfe);
  box-shadow:var(--np137-shadow-1);
}
body.np137-modern .np-step-icon{background:linear-gradient(145deg,#e8f8fb,#fff);border:1px solid #d2e9ef;color:#0877a4}
body.np137-modern .product-shortcuts button,
body.np137-modern .np-product-shortcuts button{
  border:1px solid #cfe4ec;
  border-radius:999px;
  background:#f1fafc;
  color:#176c8e;
  box-shadow:none;
}
body.np137-modern .item-row{
  border-color:#d9e8ee!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(20,69,92,.035);
}
body.np137-modern .customer-snapshot,
body.np137-modern .np134-selected-customer{
  border-color:#cce5ed;
  border-radius:15px;
  background:linear-gradient(145deg,#eefafd,#f8fffe);
}
body.np137-modern .np-payment-card{border-left-color:#1598bf!important}
body.np137-modern .np-delivery-payment-card{border-left-color:#e39a39!important}
body.np137-modern .np-review-total{background:linear-gradient(135deg,#08785d,#16a06e);box-shadow:0 12px 28px rgba(12,132,91,.20)}
body.np137-modern .np-review-customer,
body.np137-modern .np-review-block,
body.np137-modern .np-review-note,
body.np137-modern .np-review-grid>div{border-color:#d9e7ed;box-shadow:var(--np137-shadow-1)}
body.np137-modern .mobile-sale-bar{
  background:rgba(8,42,60,.96);
  border-top:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
  box-shadow:0 -10px 30px rgba(6,34,49,.22);
}
body.np137-modern .mobile-sale-bar button{border-radius:12px}

/* ===== Form sections / selected customer ===== */
body.np137-modern .form-section-title{
  min-height:38px;
  padding-bottom:8px;
  border-bottom:1px solid #e1ebef;
  color:#173f56;
}
body.np137-modern .np134-search-wrap{
  min-height:45px;
  border-color:#cbdfe7;
  border-radius:14px;
  box-shadow:0 2px 9px rgba(17,65,88,.025);
}
body.np137-modern .np134-search-wrap:focus-within{border-color:#3fa8ca;box-shadow:0 0 0 4px rgba(33,153,194,.10)}
body.np137-modern .np134-customer-results{
  border-color:#cbdfe7;
  border-radius:16px;
  box-shadow:0 22px 54px rgba(9,51,72,.19);
}
body.np137-modern .np134-customer-result{border-radius:11px}
body.np137-modern .np134-customer-result:hover,
body.np137-modern .np134-customer-result.active{background:#edf9fc}

/* ===== Modal / details ===== */
body.np137-modern .modal-backdrop{background:rgba(3,28,42,.67);backdrop-filter:blur(5px)}
body.np137-modern .modal{
  border:1px solid rgba(255,255,255,.65);
  border-radius:23px;
  background:#fff;
  box-shadow:var(--np137-shadow-3);
}
body.np137-modern .modal-head{
  border-bottom:1px solid #e4edf1;
  background:rgba(255,255,255,.93);
}
body.np137-modern .modal-head h3{font-weight:850;letter-spacing:-.025em}
body.np137-modern .modal-head button{border:1px solid #e0eaee;background:#f5f8fa;color:#567181}
body.np137-modern .np-approval-customer{border-color:#cfe4eb;border-left-color:#0e92ba;background:linear-gradient(135deg,#edfafd,#fff 68%);box-shadow:var(--np137-shadow-1)}
body.np137-modern .np-approval-product{border-color:#dce9ee;border-radius:14px;box-shadow:0 2px 8px rgba(17,64,87,.025)}
body.np137-modern .np-approval-product:nth-child(even){background:#fbfdfe}
body.np137-modern .np-approval-product-qty strong{background:#e9f8fc;color:#0879a4}
body.np137-modern .np-approval-summary .payment-total-highlight{border-color:#58ba86;background:linear-gradient(135deg,#eafaf1,#f8fffb)}

/* ===== Reports and tabs ===== */
body.np137-modern .report-tabs,
body.np137-modern .np-report-tabs{
  padding:5px;
  border:1px solid #dbe7ec;
  border-radius:15px;
  background:#eef4f7;
}
body.np137-modern .report-tabs button,
body.np137-modern .np-report-tabs button{min-height:38px;border-radius:11px}
body.np137-modern .report-tabs button.active,
body.np137-modern .np-report-tabs button.active{color:#0877a3;background:#fff;box-shadow:0 5px 14px rgba(22,70,94,.09)}
body.np137-modern .np29-card,
body.np137-modern .np31-card,
body.np137-modern .np33-report-section{border-radius:18px!important;border-color:#d8e6ec!important;box-shadow:var(--np137-shadow-1)!important}

/* ===== Login ===== */
body.np137-modern .login-view{
  background:
    radial-gradient(circle at 12% 12%,rgba(47,199,216,.18),transparent 24rem),
    radial-gradient(circle at 88% 90%,rgba(6,118,161,.14),transparent 27rem),
    linear-gradient(145deg,#eaf8fc,#fbfeff 55%,#edf8fa);
}
body.np137-modern .np-login-card{
  width:min(448px,92vw);
  padding:27px 29px 23px;
  border:1px solid rgba(177,211,224,.65)!important;
  border-radius:27px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 32px 85px rgba(11,71,98,.19)!important;
  backdrop-filter:blur(18px);
}
body.np137-modern .login-logo-emblem{border-radius:18px;box-shadow:0 10px 26px rgba(8,101,142,.14)}
body.np137-modern .login-input-wrap{border-radius:14px!important;background:#f8fbfc}
body.np137-modern .login-submit{border-radius:14px!important;box-shadow:0 10px 24px rgba(7,119,164,.22)}

/* ===== Mobile navigation and responsive layout ===== */
@media(max-width:1100px) and (min-width:901px){
  :root{--np-sidebar-w:238px}
  .np137-header-context{display:none}
}

@media(max-width:900px){
  body.np137-modern{background:#f3f8fb;padding-bottom:0}
  body.np137-modern .app>main{padding-bottom:0}
  body.np137-modern .app>main>header{
    height:62px;
    flex-basis:62px;
    padding:0 10px;
    background:rgba(251,254,255,.93);
  }
  .np137-header-context{display:none}
  body.np137-modern .menu-btn{border:1px solid #d8e6ec;background:#f1f7f9;color:#0a709b}
  body.np137-modern .sidebar{
    width:min(316px,87vw);
    padding:14px 10px;
    border-radius:0 22px 22px 0;
    box-shadow:16px 0 42px rgba(3,29,43,.30);
  }
  body.np137-modern .sidebar .brand{display:flex;padding-right:45px}
  body.np137-modern .sidebar nav button{min-height:45px}
  body.np137-modern #content{padding:13px 9px calc(96px + env(safe-area-inset-bottom))}
  body.np137-modern .page-head{align-items:flex-start;min-height:0;margin-bottom:12px}
  body.np137-modern .page-head h2{font-size:21px}
  body.np137-modern .np-page-description{font-size:10.5px;max-width:88vw}
  .np137-page-kicker{font-size:8.5px}
  .np137-page-kicker i{width:21px;height:21px;font-size:11px}
  body.np137-modern .page-head .actions{padding:3px;border-radius:12px}
  body.np137-modern .cards{gap:8px}
  body.np137-modern .metric{min-height:105px;padding:13px 12px}
  body.np137-modern .metric>span:not(.np137-metric-icon){padding-right:34px;font-size:10px}
  body.np137-modern .metric>strong{font-size:20px}
  .np137-metric-icon{top:10px;right:10px;width:31px;height:31px;border-radius:10px;font-size:14px!important}
  body.np137-modern .health-hero{grid-template-columns:1fr;gap:14px;padding:18px;border-radius:20px}
  body.np137-modern .health-hero strong{font-size:40px}
  body.np137-modern .workflow-strip{gap:7px}
  body.np137-modern .workflow-strip button{
    grid-template-columns:1fr;
    grid-template-areas:"icon" "value" "label";
    justify-items:center;
    min-height:105px;
    padding:10px 6px;
    text-align:center;
  }
  body.np137-modern .workflow-strip button>span{width:38px;height:38px;border-radius:12px;font-size:18px}
  body.np137-modern .workflow-strip button>b{font-size:19px}
  body.np137-modern .workflow-strip button>small{font-size:9px;line-height:1.25}
  body.np137-modern .np135-filter-panel{margin:9px 0 11px;border-radius:14px;box-shadow:none}
  body.np137-modern .np135-filter-panel>summary{min-height:43px;padding:7px 10px}
  body.np137-modern .np135-filter-panel>summary:before{width:27px;height:27px;margin-right:6px}
  .np137-filter-status{font-size:8.5px;padding:2px 6px}

  body.np137-modern .table-wrap.np-mobile-card-wrap{border:0;background:transparent;box-shadow:none}
  body.np137-modern .np-mobile-card-table tbody{gap:9px}
  body.np137-modern .np-mobile-card-table tr{
    border:1px solid #d9e7ed;
    border-radius:16px;
    background:linear-gradient(155deg,#fff,#fbfdfe)!important;
    box-shadow:var(--np137-shadow-1);
  }
  body.np137-modern .np-mobile-card-table td{
    min-height:37px;
    padding:8px 10px;
    border-bottom:1px dashed #e5eef2;
  }
  body.np137-modern .np-mobile-card-table td:before{font-size:8.5px;letter-spacing:.055em}
  body.np137-modern .np-mobile-card-table td:first-child{padding-top:11px}
  body.np137-modern .np-mobile-card-table td:last-child{padding-bottom:11px}

  body.np137-modern .mobile-bottom-nav{
    left:8px;
    right:8px;
    bottom:7px;
    height:calc(66px + env(safe-area-inset-bottom));
    padding:5px 6px calc(5px + env(safe-area-inset-bottom));
    border:1px solid rgba(207,224,232,.88);
    border-radius:22px;
    background:rgba(255,255,255,.94);
    box-shadow:0 12px 34px rgba(7,45,64,.18);
    backdrop-filter:blur(20px) saturate(140%);
    overflow:visible;
  }
  body.np137-modern .mobile-bottom-nav button{
    min-height:53px;
    border-radius:15px!important;
    color:#6d8391!important;
  }
  body.np137-modern .mobile-bottom-nav button.active{color:#0879a7!important;background:#edf9fc!important}
  body.np137-modern .mobile-bottom-nav .mnav-sale{
    min-height:64px;
    transform:translateY(-13px);
    border:4px solid #f4f9fb!important;
    border-radius:21px!important;
    background:linear-gradient(145deg,#0a94c0,#08709e)!important;
    box-shadow:0 11px 25px rgba(7,119,163,.32);
  }
  body.np137-modern .mobile-bottom-nav .mnav-sale.active{background:linear-gradient(145deg,#087da9,#075d86)!important}
  body.np137-modern .mobile-bottom-nav .mnav-plus{font-size:25px;line-height:.9}

  body.np137-modern .modal,
  body.np137-modern .modal.wide{border-radius:24px 24px 0 0}
  body.np137-modern .np-approval-modal{border-radius:0!important}
  body.np137-modern .np-sale-wizard-head{border-radius:0 0 16px 16px;border-top:0}
}

@media(max-width:600px){
  body.np137-modern .page-head{gap:8px}
  body.np137-modern .page-head .actions{display:flex;width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;scrollbar-width:none}
  body.np137-modern .page-head .actions::-webkit-scrollbar{display:none}
  body.np137-modern .page-head .actions button{flex:0 0 auto;width:auto;white-space:nowrap}
  body.np137-modern .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.np137-modern .metric{min-height:101px;padding:12px 10px}
  body.np137-modern .metric>strong{font-size:18px}
  body.np137-modern .metric>small{font-size:9px}
  body.np137-modern .np135-filter-grid{grid-template-columns:1fr}
  body.np137-modern .np-mobile-card-table td{grid-template-columns:86px minmax(0,1fr)}
  body.np137-modern .np-step-card{border-radius:16px}
  body.np137-modern .request-card,
  body.np137-modern .np-request-card{border-radius:17px!important}
}

@media(max-width:380px){
  body.np137-modern .cards{grid-template-columns:1fr}
  body.np137-modern .workflow-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.np137-modern .workflow-strip button{min-height:101px}
}

@media(prefers-reduced-motion:reduce){
  body.np137-modern #content.np137-page-enter{animation:none}
}

/* Stable 1.37.1 · mobile blank-page recovery */
.np1371-page-error{max-width:640px;margin:24px auto;padding:28px;text-align:center;border:1px solid #d7e6ed;border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(8,49,70,.10)}
.np1371-page-error-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:17px;background:#fff0e8;color:#bd4d35;font-size:26px;font-weight:900}
.np1371-page-error h2{margin:0 0 8px;color:#173b50}.np1371-page-error p{margin:0 auto 12px;max-width:480px;color:#6d8290;line-height:1.55}.np1371-page-error code{display:block;margin:12px 0;padding:9px 10px;border-radius:10px;background:#f4f7f9;color:#8b3e35;white-space:normal;overflow-wrap:anywhere}.np1371-page-error>div:last-child{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
@media(max-width:900px){body:not(.np-auth-checking) #appView:not(.hidden){display:block!important}body:not(.np-auth-checking) #appView:not(.hidden)>main{display:block!important;min-height:100dvh}body:not(.np-auth-checking) #content{display:block!important;min-height:calc(100dvh - 150px);visibility:visible!important}.np1371-page-error{margin:12px 2px;padding:22px 16px}}

/* ===== css/design_1_37_2.css ===== */
/* Nam Phuong ERP Stable 1.37.2
   - Correct mobile application shell (sidebar must never occupy document flow)
   - Product image UI and upload controls
*/

/* ===== Definitive mobile shell repair ===== */
@media (max-width:900px){
  html,body{width:100%;height:100%;overflow:hidden}
  body.np137-modern #appView.app:not(.hidden){
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
  }
  body.np137-modern #sidebar.sidebar{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:min(316px,87vw)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    z-index:120!important;
    transform:translateX(-106%)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  body.np137-modern.menu-open #sidebar.sidebar{transform:translateX(0)!important}
  body.np137-modern #appView.app>main{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:100dvh!important;
    min-height:0!important;
    margin:0!important;
    padding:0 0 calc(72px + env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
  }
  body.np137-modern #appView.app>main>header{
    flex:0 0 62px!important;
    width:100%!important;
  }
  body.np137-modern #content{
    position:relative!important;
    display:block!important;
    flex:1 1 auto!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    visibility:visible!important;
    opacity:1!important;
  }
}

/* ===== Product images ===== */
.np1372-product-thumb{
  display:block;
  width:54px;
  height:54px;
  flex:0 0 54px;
  object-fit:contain;
  border:1px solid #dce9ef;
  border-radius:13px;
  background:#fff;
  box-shadow:0 4px 12px rgba(11,75,104,.07);
}
.np1372-product-thumb.small{width:38px;height:38px;flex-basis:38px;border-radius:10px}
.np1372-product-name{display:flex;align-items:center;gap:10px;min-width:0}
.np1372-product-name>span{min-width:0}
.np1372-product-name b,.np1372-product-name small{display:block}
.np1372-product-name small{margin-top:3px;color:var(--muted);font-size:10px}

.np1372-product-shortcut{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
}
.np1372-product-shortcut img{
  width:42px;height:42px;object-fit:contain;border-radius:11px;background:#fff;border:1px solid #dce8ee;
}
.np1372-product-shortcut span{min-width:0;overflow:hidden;text-overflow:ellipsis}

.np1372-request-thumb{
  width:44px;height:44px;object-fit:contain;border-radius:11px;border:1px solid #dce8ee;background:#fff;
}
.request-item-row.np1372-has-image{grid-template-columns:44px minmax(0,1fr) 100px 44px;align-items:center}

.np1372-image-editor{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:14px;
  border:1px solid #dbe8ee;
  border-radius:17px;
  background:linear-gradient(145deg,#fbfeff,#f4fafc);
}
.np1372-image-preview{
  width:150px;height:150px;display:grid;place-items:center;overflow:hidden;border:1px solid #d8e6ed;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(10,65,91,.08)
}
.np1372-image-preview img{width:100%;height:100%;object-fit:contain}
.np1372-image-controls{display:grid;gap:9px;min-width:0}
.np1372-image-controls h4{margin:0;color:#153f58}
.np1372-image-controls p{margin:0;color:#6b818e;font-size:11px;line-height:1.5}
.np1372-image-actions{display:flex;gap:8px;flex-wrap:wrap}
.np1372-upload-button{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;margin:0!important;padding:9px 12px;border-radius:11px;background:#e9f5fa;color:#0b6b94;font-weight:750;cursor:pointer}
.np1372-upload-button input{display:none}
.np1372-image-status{padding:8px 10px;border-radius:10px;background:#fff;border:1px dashed #cfe0e8;color:#5e7583;font-size:11px}
.np1372-image-status.custom{border-style:solid;border-color:#a9ddc2;background:#f0fbf5;color:#147447}

@media(max-width:900px){
  .np1372-product-thumb{width:48px;height:48px;flex-basis:48px}
  .request-item-row.np1372-has-image{grid-template-columns:40px minmax(0,1fr) 78px 42px}
  .np1372-request-thumb{width:40px;height:40px}
}
@media(max-width:560px){
  .np1372-image-editor{grid-template-columns:96px minmax(0,1fr);gap:11px;padding:11px}
  .np1372-image-preview{width:96px;height:96px;border-radius:14px}
  .np1372-image-actions{display:grid;grid-template-columns:1fr}
  .np1372-image-actions>*{width:100%}
  body.np-sales-compact .np1372-product-shortcut{grid-template-columns:24px minmax(0,1fr)!important;gap:5px!important}
  body.np-sales-compact .np1372-product-shortcut img{width:24px;height:24px;border-radius:7px}
}

/* ===== css/design_1_37_3.css ===== */
/* Nam Phuong ERP Stable 1.37.3
   Mobile readability and fixed navigation repair.
   - Removes hidden 680px table width that pushed values outside the viewport.
   - Keeps header, bottom navigation and slide menu anchored to the visual viewport.
   - Makes customer and transaction cards compact and readable on phones.
*/

@media (max-width:900px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none;
  }

  body.np137-modern,
  body.np137-modern #appView,
  body.np137-modern #appView>main,
  body.np137-modern #content{
    min-width:0!important;
    max-width:100vw!important;
  }

  body.np137-modern #appView.app:not(.hidden){
    width:100vw!important;
    max-width:100vw!important;
  }

  body.np137-modern #appView.app>main{
    width:100vw!important;
    max-width:100vw!important;
  }

  body.np137-modern #appView.app>main>header{
    position:relative!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
    transform:none!important;
  }

  body.np137-modern #content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    touch-action:pan-y;
  }

  body.np137-modern #content>*{
    min-width:0!important;
    max-width:100%!important;
  }

  /* The old rule .table-wrap table{min-width:680px} was still active on mobile. */
  body.np137-modern #content .table-wrap,
  body.np137-modern #content .table-wrap.np-mobile-card-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }

  body.np137-modern #content .table-wrap table,
  body.np137-modern #content .np-mobile-card-table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }

  body.np137-modern #content .np-mobile-card-table thead,
  body.np137-modern #content .np-mobile-card-table tbody,
  body.np137-modern #content .np-mobile-card-table tr{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  body.np137-modern #content .np-mobile-card-table tbody{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
  }

  body.np137-modern #content .np-mobile-card-table tr{
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  body.np137-modern #content .np-mobile-card-table td{
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  body.np137-modern #content .np-mobile-card-table td:before{
    min-width:0!important;
  }

  body.np137-modern #content .np-mobile-card-table td>*{
    max-width:100%!important;
    min-width:0!important;
  }

  body.np137-modern #content .np-mobile-card-table td b,
  body.np137-modern #content .np-mobile-card-table td strong,
  body.np137-modern #content .np-mobile-card-table td span,
  body.np137-modern #content .np-mobile-card-table td small{
    overflow-wrap:anywhere;
  }

  body.np137-modern #content .np-mobile-card-table .np-alert-chip{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    justify-self:stretch!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }

  body.np137-modern #content .np-mobile-card-table .np-sale-creator-cell{
    white-space:normal!important;
    max-width:100%!important;
  }

  body.np137-modern #content .np-mobile-empty-cell{
    display:none!important;
  }

  /* Bottom navigation is tied to the viewport, never to a wide table. */
  body.np137-modern .mobile-bottom-nav{
    position:fixed!important;
    left:8px!important;
    right:auto!important;
    bottom:7px!important;
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    min-width:0!important;
    margin:0!important;
    transform:none!important;
    contain:layout paint;
    touch-action:manipulation;
  }

  body.np137-modern .mobile-bottom-nav button{
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
    touch-action:manipulation;
  }

  body.np137-modern .mobile-bottom-nav button>span:last-child{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.np137-modern #sidebar.sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    margin:0!important;
    transform:translate3d(-106%,0,0)!important;
    will-change:transform;
    touch-action:pan-y;
  }

  body.np137-modern.menu-open #sidebar.sidebar{
    transform:translate3d(0,0,0)!important;
  }

  body.np137-modern #mobileMenuBackdrop{
    position:fixed!important;
    inset:0!important;
  }

  /* Customer list: show the important identity first, then balances. */
  body.np137-modern #customerTable .np-mobile-card-table tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:5px 9px!important;
    padding:11px!important;
  }

  body.np137-modern #customerTable .np-mobile-card-table td{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:7px!important;
    align-items:center!important;
    min-height:34px!important;
    padding:6px 0!important;
    border-bottom:1px dashed #e5eef2!important;
    text-align:left!important;
  }

  body.np137-modern #customerTable .np-mobile-card-table td:nth-child(1){
    grid-column:2!important;
    grid-row:1!important;
    display:block!important;
    padding:2px 0!important;
    border:0!important;
    color:#708796;
    font-size:11px;
    text-align:right!important;
    white-space:nowrap!important;
  }

  body.np137-modern #customerTable .np-mobile-card-table td:nth-child(1):before{
    content:'Mã ';display:inline!important;font-size:9px;
  }

  body.np137-modern #customerTable .np-mobile-card-table td:nth-child(2){
    grid-column:1!important;
    grid-row:1!important;
    display:block!important;
    padding:0!important;
    border:0!important;
    color:#153e55;
    font-size:16px;
    text-align:left!important;
  }

  body.np137-modern #customerTable .np-mobile-card-table td:nth-child(2):before{display:none!important}
  body.np137-modern #customerTable .np-mobile-card-table td:nth-child(n+3){grid-column:1/-1!important}
  body.np137-modern #customerTable .np-mobile-card-table td:last-child{border-bottom:0!important;padding-bottom:0!important}
  body.np137-modern #customerTable .np-mobile-card-table td:last-child button{width:100%!important;justify-self:stretch!important}

  /* Transactions: two-column financial summary without horizontal movement. */
  body.np137-modern #saleTable .np-mobile-card-table tr{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 9px!important;
    padding:11px!important;
  }

  body.np137-modern #saleTable .np-mobile-card-table td{
    display:block!important;
    min-height:0!important;
    padding:7px 0!important;
    border-bottom:1px dashed #e5eef2!important;
    text-align:left!important;
  }

  body.np137-modern #saleTable .np-mobile-card-table td:before{
    display:block!important;
    margin-bottom:3px;
    font-size:8.5px!important;
    text-align:left!important;
  }

  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(1){grid-column:1!important;font-weight:800;color:#0a6f99}
  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(4){grid-column:2!important;text-align:right!important}
  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(4):before{text-align:right!important}
  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(2),
  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(3),
  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(5),
  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(8),
  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(9){grid-column:1/-1!important}

  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(2){font-size:15px;color:#153e55}
  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(5){
    margin-top:2px;
    padding:9px 10px!important;
    border:1px solid #bae2ef!important;
    border-radius:11px;
    background:#effaff;
    color:#075f86;
    font-size:16px;
    font-weight:900;
  }
  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(10){border-bottom:0!important}
  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(11){border-bottom:0!important;text-align:right!important}
  body.np137-modern #saleTable .np-mobile-card-table td:nth-child(11) button{width:100%!important}

  /* Generic list pages remain compact and values stay inside each card. */
  body.np137-modern #debtTable .np-mobile-card-table td,
  body.np137-modern #bottleTable .np-mobile-card-table td,
  body.np137-modern #approvalTable .np-mobile-card-table td,
  body.np137-modern #productTable .np-mobile-card-table td{
    grid-template-columns:86px minmax(0,1fr)!important;
    text-align:left!important;
  }

  body.np137-modern #productTable .np-mobile-card-table td:first-child img{
    margin-left:auto;
  }
}

@media (max-width:390px){
  body.np137-modern .mobile-bottom-nav{
    left:5px!important;
    width:calc(100vw - 10px)!important;
    max-width:calc(100vw - 10px)!important;
  }
  body.np137-modern #customerTable .np-mobile-card-table td,
  body.np137-modern #debtTable .np-mobile-card-table td,
  body.np137-modern #bottleTable .np-mobile-card-table td,
  body.np137-modern #approvalTable .np-mobile-card-table td,
  body.np137-modern #productTable .np-mobile-card-table td{
    grid-template-columns:74px minmax(0,1fr)!important;
  }
}

/* ===== css/design_1_37_4.css ===== */
/* =========================================================
   Nam Phuong ERP · Stable 1.37.4
   Color Contrast & Visual Hierarchy
   Visual-only release: no database or business-logic changes.
   ========================================================= */

:root{
  --np174-ink:#123247;
  --np174-text:#294b5d;
  --np174-muted:#526a78;
  --np174-line:#c9dce5;
  --np174-line-soft:#dce8ee;
  --np174-page:#f1f7fa;
  --np174-surface:#ffffff;
  --np174-surface-soft:#f6fafc;
  --np174-primary:#006b95;
  --np174-primary-dark:#005e85;
  --np174-primary-soft:#e6f5fa;
  --np174-success:#0b6b47;
  --np174-success-soft:#e8f7ef;
  --np174-warning:#9a4f00;
  --np174-warning-soft:#fff3df;
  --np174-danger:#b42318;
  --np174-danger-soft:#fff0ee;
  --np174-info:#3157a4;
  --np174-info-soft:#edf2ff;
  --np174-purple:#6547a8;
  --np174-purple-soft:#f2effb;
  --np174-shadow:0 5px 18px rgba(16,55,77,.08);
  --np174-shadow-strong:0 10px 28px rgba(10,54,76,.13);

  --np-primary:var(--np174-primary);
  --np-primary-strong:var(--np174-primary-dark);
  --np-primary-soft:var(--np174-primary-soft);
  --np-success:var(--np174-success);
  --np-warning:var(--np174-warning);
  --np-danger:var(--np174-danger);
  --np-ink:var(--np174-ink);
  --np-text:var(--np174-text);
  --np-muted:var(--np174-muted);
  --np-line:var(--np174-line-soft);
  --np-line-strong:var(--np174-line);
}

/* ===== Global readability ===== */
body.np137-modern{
  color:var(--np174-text);
  background:
    radial-gradient(circle at 100% 0,rgba(0,107,149,.07),transparent 29rem),
    linear-gradient(180deg,#f8fbfd 0,var(--np174-page) 28rem,var(--np174-page) 100%);
}
body.np137-modern h1,
body.np137-modern h2,
body.np137-modern h3,
body.np137-modern h4{color:var(--np174-ink)}
body.np137-modern .muted,
body.np137-modern .np-page-description{color:var(--np174-muted)}
body.np137-modern .page-head h2{color:#102f43}
body.np137-modern .np137-page-kicker{color:var(--np174-primary-dark)}
body.np137-modern .np137-page-kicker i{color:var(--np174-primary-dark);background:#e5f5fa;border-color:#b9dce8}

/* ===== Cards and surfaces ===== */
body.np137-modern .card,
body.np137-modern .np33-kpi,
body.np137-modern .np33-handover-card,
body.np137-modern .np33-scope-note{
  border-color:var(--np174-line)!important;
  box-shadow:var(--np174-shadow)!important;
}
body.np137-modern .card{
  color:var(--np174-text);
  background:var(--np174-surface);
}
body.np137-modern .card:hover{border-color:#aacbd8;box-shadow:var(--np174-shadow-strong)}

/* Generic KPI cards: keep values dark and accent only the edge/icon. */
body.np137-modern .metric{
  background:#fff!important;
  border-color:var(--np174-line)!important;
}
body.np137-modern .metric:before{height:4px;background:linear-gradient(90deg,#2bb3d2,var(--np174-primary) 72%,transparent)}
body.np137-modern .metric>span:not(.np137-metric-icon){color:#405e6e;font-weight:800}
body.np137-modern .metric>strong{color:var(--np174-ink)}
body.np137-modern .metric>small{color:var(--np174-muted)}
body.np137-modern .metric[data-np-accent="success"]:before{background:linear-gradient(90deg,#45c486,var(--np174-success) 72%,transparent)}
body.np137-modern .metric[data-np-accent="warning"]:before{background:linear-gradient(90deg,#efad4b,var(--np174-warning) 72%,transparent)}
body.np137-modern .metric[data-np-accent="danger"]:before{background:linear-gradient(90deg,#ec6d63,var(--np174-danger) 72%,transparent)}
body.np137-modern .metric[data-np-accent="purple"]:before{background:linear-gradient(90deg,#997bd6,var(--np174-purple) 72%,transparent)}
body.np137-modern .metric.metric-alert{background:#fff9f8!important;border-color:#efb9b3!important}
body.np137-modern .np137-metric-icon{color:var(--np174-primary-dark);border-color:#badce8;background:#eaf7fb;filter:none}
body.np137-modern .metric[data-np-accent="success"] .np137-metric-icon{color:var(--np174-success);border-color:#b8ddca;background:var(--np174-success-soft)}
body.np137-modern .metric[data-np-accent="warning"] .np137-metric-icon{color:var(--np174-warning);border-color:#ebcd9d;background:var(--np174-warning-soft)}
body.np137-modern .metric[data-np-accent="danger"] .np137-metric-icon{color:var(--np174-danger);border-color:#edbbb6;background:var(--np174-danger-soft)}
body.np137-modern .metric[data-np-accent="purple"] .np137-metric-icon{color:var(--np174-purple);border-color:#d2c7eb;background:var(--np174-purple-soft)}

/* ===== Employee dashboard: solve the dark-blue-card / colored-text conflict ===== */
body.np137-modern .np33-scope-note{
  color:var(--np174-text);
  background:#f2f9fc!important;
  border-color:#bcdce8!important;
}
body.np137-modern .np33-scope-note>span:first-child{color:var(--np174-primary-dark);background:#dff1f7}
body.np137-modern .np33-scope-note b{color:var(--np174-ink)}
body.np137-modern .np33-scope-note small{color:#496675}

body.np137-modern .np33-today-kpis{gap:10px}
body.np137-modern .np33-kpi,
body.np137-modern .np33-kpi.primary,
body.np137-modern .np33-kpi.warning{
  position:relative;
  overflow:hidden;
  color:var(--np174-text)!important;
  background:#fff!important;
  border:1px solid var(--np174-line)!important;
  box-shadow:var(--np174-shadow)!important;
}
body.np137-modern .np33-kpi:before{
  content:"";
  position:absolute;
  left:0;top:0;right:0;
  height:4px;
  background:var(--np174-info);
}
body.np137-modern .np33-kpi:nth-child(1):before{background:var(--np174-primary)}
body.np137-modern .np33-kpi:nth-child(2):before{background:var(--np174-info)}
body.np137-modern .np33-kpi:nth-child(3):before{background:var(--np174-success)}
body.np137-modern .np33-kpi:nth-child(4):before{background:var(--np174-warning)}
body.np137-modern .np33-kpi.primary:hover,
body.np137-modern .np33-kpi.warning:hover{background:#fff!important}
body.np137-modern .np33-kpi>span:first-child{color:#405e6e;font-weight:850}
body.np137-modern .np33-kpi>strong,
body.np137-modern .np33-kpi.primary>strong{color:var(--np174-ink)!important;text-shadow:none}
body.np137-modern .np33-kpi:nth-child(1)>strong{color:var(--np174-primary-dark)!important}
body.np137-modern .np33-kpi:nth-child(3)>strong{color:var(--np174-success)!important}
body.np137-modern .np33-kpi:nth-child(4).warning>strong{color:var(--np174-warning)!important}
body.np137-modern .np33-kpi>small{color:var(--np174-muted)}
body.np137-modern .np33-delta{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  line-height:1.25;
}
body.np137-modern .np33-delta.up{color:var(--np174-success);background:var(--np174-success-soft)}
body.np137-modern .np33-delta.down{color:var(--np174-danger);background:var(--np174-danger-soft)}
body.np137-modern .np33-delta.flat{color:#455f6e;background:#edf3f6}

body.np137-modern .np33-handover-card{
  color:var(--np174-text);
  background:#f4fbf7!important;
  border-color:#aad7bf!important;
}
body.np137-modern .np33-handover-head small{color:#527061}
body.np137-modern .np33-handover-head h3{color:#123e2a}
body.np137-modern .np33-handover-total{
  background:#dff4e8;
  border-color:#8fc9a8;
}
body.np137-modern .np33-handover-total span{color:#145d3d}
body.np137-modern .np33-handover-total strong{color:#075f3b}
body.np137-modern .np33-handover-equation>div{border-color:#cfe0d6;background:#fff}
body.np137-modern .np33-handover-equation small{color:#526d5e}
body.np137-modern .np33-handover-equation b{color:#173f2c}
body.np137-modern .np33-handover-mini span{color:#4a6656;border-color:#d0e2d7;background:#fff}
body.np137-modern .np33-handover-mini b{color:#123e2a}

/* ===== Buttons: selectors are limited to interactive elements ===== */
body.np137-modern button.primary,
body.np137-modern a.primary{
  color:#fff!important;
  border-color:#005b80;
  background:linear-gradient(135deg,#0079a8 0,var(--np174-primary) 58%,var(--np174-primary-dark) 100%);
  box-shadow:0 7px 17px rgba(0,94,133,.23);
}
body.np137-modern button.primary:hover,
body.np137-modern a.primary:hover{background:linear-gradient(135deg,#0087b8,#006b95 58%,#005477)}
body.np137-modern button.secondary,
body.np137-modern a.secondary{
  color:#274b5e;
  border-color:#bfd4de;
  background:#fff;
}
body.np137-modern button.secondary:hover,
body.np137-modern a.secondary:hover{color:var(--np174-primary-dark);border-color:#8cbfD2;background:#edf8fb}
body.np137-modern button:focus-visible,
body.np137-modern input:focus-visible,
body.np137-modern select:focus-visible,
body.np137-modern textarea:focus-visible{
  outline:3px solid rgba(0,107,149,.23);
  outline-offset:2px;
}

/* ===== Status colors and finance values ===== */
body.np137-modern .pill.ok,
body.np137-modern .status-pill.approved,
body.np137-modern .approval-state.approved{
  color:#075f3b!important;
  background:#e5f6ed!important;
  border-color:#a9d9bf!important;
}
body.np137-modern .pill.bad,
body.np137-modern .status-pill.rejected,
body.np137-modern .approval-state.rejected{
  color:#9f2017!important;
  background:#fff0ee!important;
  border-color:#ebb5b0!important;
}
body.np137-modern .approval-state.pending,
body.np137-modern .pill.warning,
body.np137-modern .status-pill.pending{
  color:#874500!important;
  background:#fff2dc!important;
  border-color:#e8c58e!important;
}
body.np137-modern .good-text{color:var(--np174-success)!important}
body.np137-modern .bad-text{color:var(--np174-danger)!important}
body.np137-modern .metric-total{color:#075f3b!important}
body.np137-modern .metric-cash{color:#0b6b47!important}
body.np137-modern .metric-bank{color:#254f9c!important}
body.np137-modern .metric-debt{color:#a1261d!important}
body.np137-modern .metric-bottle{color:#8b4800!important}

/* ===== Forms, filters and tables ===== */
body.np137-modern label{color:#294d60}
body.np137-modern input,
body.np137-modern select,
body.np137-modern textarea{color:#183b4e;border-color:#bfd3dd}
body.np137-modern input::placeholder,
body.np137-modern textarea::placeholder{color:#718692;opacity:1}
body.np137-modern .np135-filter-panel{border-color:#bdd5df;background:#fff}
body.np137-modern .np135-filter-panel>summary{color:#274c5f}
body.np137-modern .table-wrap{border-color:var(--np174-line);background:#fff}
body.np137-modern th{color:#425f6f;background:#f2f7f9}
body.np137-modern td{color:#294b5d}
body.np137-modern .np-mobile-card-table td:before{color:#526b79!important;font-weight:850}
body.np137-modern .np-mobile-card-table tr{border-color:#cbdde5!important;background:#fff!important;box-shadow:var(--np174-shadow)!important}
body.np137-modern .np-alert-chip.ok{color:#075f3b!important;border-color:#9ed7b8!important;background:#e8f8ef!important}
body.np137-modern .np-alert-chip.warn,
body.np137-modern .np-alert-chip.bad{color:#8f2500!important;border-color:#e8bd8a!important;background:#fff3e3!important}
body.np137-modern .np-sale-creator-cell{color:#254f9c!important;background:#eef3ff!important}

/* ===== Management dashboard dark hero stays dark, text becomes clearly white ===== */
body.np137-modern .health-hero,
body.np137-modern .health-hero strong,
body.np137-modern .health-hero b,
body.np137-modern .health-hero span{color:#fff}
body.np137-modern .health-hero p{color:#e7f6fa}
body.np137-modern .workflow-strip button{color:var(--np174-text);border-color:var(--np174-line);background:#fff}
body.np137-modern .workflow-strip button b{color:var(--np174-ink)}
body.np137-modern .workflow-strip button small{color:var(--np174-muted)}

/* ===== Mobile bottom navigation ===== */
@media(max-width:900px){
  body.np137-modern .app>main>header{background:rgba(255,255,255,.97);border-bottom-color:#c8dbe4}
  body.np137-modern .header-user b{color:#102f43}
  body.np137-modern .header-user small{color:#516b7a}
  body.np137-modern .online-status{color:#075f3b;border-color:#a7d8bd;background:#eaf8f0}

  body.np137-modern .mobile-bottom-nav{
    border-color:#bfd3dc;
    background:rgba(255,255,255,.98);
    box-shadow:0 12px 30px rgba(8,50,71,.20);
  }
  body.np137-modern .mobile-bottom-nav button{
    color:#526a78!important;
    font-weight:800!important;
  }
  body.np137-modern .mobile-bottom-nav button.active:not(.mnav-sale){
    color:var(--np174-primary-dark)!important;
    background:#e5f5fa!important;
    box-shadow:inset 0 0 0 1px #c5e3ed;
  }
  body.np137-modern .mobile-bottom-nav .mnav-sale,
  body.np137-modern .mobile-bottom-nav .mnav-sale.active{
    color:#fff!important;
    background:linear-gradient(145deg,#007dab,var(--np174-primary-dark))!important;
    border-color:#f5fafc!important;
    box-shadow:0 11px 25px rgba(0,94,133,.36)!important;
  }
  body.np137-modern .mobile-bottom-nav .mnav-sale *,
  body.np137-modern .mobile-bottom-nav .mnav-sale.active *{color:#fff!important;opacity:1!important}

  body.np137-modern .np33-kpi{min-height:124px;padding-top:16px}
  body.np137-modern .np33-kpi>span:first-child{font-size:10px}
  body.np137-modern .np33-kpi>strong{font-size:21px}
  body.np137-modern .np33-kpi>small{font-size:9.5px;line-height:1.35}
  body.np137-modern .np33-delta{font-size:9px;white-space:normal}
}

@media(max-width:460px){
  body.np137-modern .np33-today-kpis{gap:9px}
  body.np137-modern .np33-kpi{min-height:132px;padding:15px 11px 12px}
  body.np137-modern .np33-kpi>strong{font-size:20px}
  body.np137-modern .np33-handover-card{padding:13px}
  body.np137-modern .np33-handover-total{padding:12px}
}

@media(prefers-contrast:more){
  body.np137-modern .card,
  body.np137-modern .np33-kpi,
  body.np137-modern .np-mobile-card-table tr{border-width:2px!important}
}

/* ===== css/design_1_37_5.css ===== */
/* =========================================================
   Nam Phuong ERP · Stable 1.37.5
   Vehicle Dispatch + Product Groups
   Additive UI layer. Existing sales entry remains unchanged.
   ========================================================= */

body.np137-modern .np1375-product-toolbar{
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(190px,260px);
  gap:10px;
  align-items:end;
}
body.np137-modern .np1375-group-chip{
  display:inline-flex;align-items:center;max-width:100%;padding:5px 9px;border:1px solid #c9dae3;
  border-radius:999px;background:#f4f8fa;color:#35586a;font-size:12px;font-weight:850;white-space:nowrap;
}
body.np137-modern .np1375-group-chip.bottle{color:#075f78;border-color:#9fd4e3;background:#e7f7fb}
body.np137-modern .np1375-group-chip.bottled{color:#17613e;border-color:#a9d9be;background:#eaf8f0}
body.np137-modern .np1375-group-chip.other{color:#65512b;border-color:#e4d1a8;background:#fff8e9}
body.np137-modern .np1375-report-toggle{align-self:end;min-height:44px;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #c9dce5;border-radius:10px;background:#f6fafc;font-weight:800}

body.np137-modern .np1375-group-list{display:grid;gap:9px;margin:12px 0 16px}
body.np137-modern .np1375-group-row{
  display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #cbdde5;
  border-radius:14px;background:#fff;box-shadow:0 3px 11px rgba(16,55,77,.06)
}
body.np137-modern .np1375-group-row.inactive{opacity:.62;background:#f5f7f8}
body.np137-modern .np1375-group-row>div{display:flex;align-items:center;gap:11px;min-width:0}
body.np137-modern .np1375-group-row p{display:grid;gap:2px;margin:0;min-width:0}
body.np137-modern .np1375-group-row b{color:#173b4e;font-size:15px}
body.np137-modern .np1375-group-row small{color:#5d7481;overflow-wrap:anywhere}
body.np137-modern .np1375-group-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#e9f6fa;font-size:22px}

/* Dispatch page shell */
body.np137-modern .np1375-dispatch-shell{display:grid;gap:12px;min-width:0}
body.np137-modern .np1375-dispatch-filter{
  display:flex;justify-content:space-between;align-items:end;gap:12px;padding:12px 14px;border:1px solid #c8dce5;
  border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(16,55,77,.07)
}
body.np137-modern .np1375-dispatch-filter label{display:grid;gap:5px;font-weight:850}
body.np137-modern .np1375-dispatch-filter input{min-width:180px}
body.np137-modern .np1375-loading{padding:38px 16px;text-align:center;color:#4b6978;font-weight:800}
body.np137-modern .np1375-migration-error{border-color:#edbd88!important;background:#fff9ef!important}
body.np137-modern .np1375-migration-error h3{color:#874500}
body.np137-modern .np1375-migration-error small{display:block;margin-top:10px;color:#725c45;overflow-wrap:anywhere}

body.np137-modern .np1375-dispatch-kpis{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px
}
body.np137-modern .np1375-dispatch-kpis>div{
  position:relative;overflow:hidden;display:grid;gap:5px;min-height:88px;padding:15px;border:1px solid #cbdde5;
  border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(16,55,77,.07)
}
body.np137-modern .np1375-dispatch-kpis>div:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#0079a8}
body.np137-modern .np1375-dispatch-kpis>div:nth-child(2):before{background:#a55a00}
body.np137-modern .np1375-dispatch-kpis>div:nth-child(3):before{background:#0b6b47}
body.np137-modern .np1375-dispatch-kpis>div:nth-child(4):before{background:#6547a8}
body.np137-modern .np1375-dispatch-kpis span{color:#506a78;font-size:12px;font-weight:850}
body.np137-modern .np1375-dispatch-kpis b{color:#123247;font-size:24px;line-height:1.15;overflow-wrap:anywhere}

body.np137-modern .np1375-dispatch-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.8fr);gap:13px;align-items:start;min-width:0}
body.np137-modern .np1375-dispatch-layout>section{
  min-width:0;padding:14px;border:1px solid #c9dce5;border-radius:16px;background:#f7fbfc;box-shadow:0 4px 14px rgba(16,55,77,.06)
}
body.np137-modern .np1375-section-head{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:11px}
body.np137-modern .np1375-section-head h3{margin:0 0 3px;font-size:17px}
body.np137-modern .np1375-section-head p{margin:0;color:#587180;font-size:12px;line-height:1.45}
body.np137-modern .np1375-section-head>span{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#e5f4f9;color:#075f78;font-size:12px;font-weight:900}
body.np137-modern .np1375-trip-grid,.np1375-unassigned-list{display:grid;gap:10px;min-width:0}

/* Trip cards */
body.np137-modern .np1375-trip-card{
  min-width:0;padding:13px;border:1px solid #bfd5df;border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(16,55,77,.07)
}
body.np137-modern .np1375-trip-card.status-departed{border-color:#9fc6e4;background:#fbfdff}
body.np137-modern .np1375-trip-card.status-returned{border-color:#e1c28d;background:#fffdf8}
body.np137-modern .np1375-trip-card.status-reconciled{border-color:#a9d7bd;background:#fbfffc}
body.np137-modern .np1375-trip-card.status-locked{border-color:#c5b6e6;background:#fdfcff}
body.np137-modern .np1375-trip-card>header{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:9px}
body.np137-modern .np1375-trip-card>header>div{display:flex;align-items:center;gap:10px;min-width:0}
body.np137-modern .np1375-trip-card p{display:grid;gap:2px;min-width:0;margin:0}
body.np137-modern .np1375-trip-card p b{color:#153d52;font-size:16px}
body.np137-modern .np1375-trip-card p small{color:#617886;overflow-wrap:anywhere}
body.np137-modern .np1375-vehicle-icon{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:13px;background:linear-gradient(145deg,#e3f5fa,#f4fbfd);border:1px solid #b9dce8;font-size:23px}
body.np137-modern .np1375-status{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:5px 9px;border:1px solid #ccd9df;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}
body.np137-modern .np1375-status.muted{color:#526a78;background:#f1f5f7}
body.np137-modern .np1375-status.info{color:#075f78;border-color:#a8d4e1;background:#e8f7fb}
body.np137-modern .np1375-status.wait{color:#874500;border-color:#e6c28e;background:#fff3df}
body.np137-modern .np1375-status.ok{color:#075f3b;border-color:#a8d8bd;background:#e8f7ef}
body.np137-modern .np1375-status.locked{color:#553a91;border-color:#c8b8e8;background:#f2effb}
body.np137-modern .np1375-status.bad{color:#9f2017;border-color:#e8b3ae;background:#fff0ee}
body.np137-modern .np1375-trip-meta{display:grid;gap:5px;margin:8px 0;padding:9px 10px;border-radius:11px;background:#f4f8fa;color:#425f6f;font-size:12px}
body.np137-modern .np1375-trip-meta span{overflow-wrap:anywhere}
body.np137-modern .np1375-load-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:9px 0}
body.np137-modern .np1375-load-grid>div{display:grid;gap:3px;padding:9px;border:1px solid #d5e3e9;border-radius:11px;background:#fff}
body.np137-modern .np1375-load-grid span{color:#5a7280;font-size:10px;font-weight:850}
body.np137-modern .np1375-load-grid b{color:#173c4f;font-size:18px}
body.np137-modern .np1375-capacity{display:grid;gap:6px;padding-top:2px}
body.np137-modern .np1375-capacity>div{display:flex;justify-content:space-between;gap:10px;color:#425f6f;font-size:11px;font-weight:850}
body.np137-modern .np1375-capacity>div b{color:#173c4f}
body.np137-modern .np1375-capacity>i{display:block;overflow:hidden;height:8px;border-radius:999px;background:#e4edf1}
body.np137-modern .np1375-capacity>i em{display:block;height:100%;min-width:2px;border-radius:inherit;background:#0b6b47;transition:width .2s ease}
body.np137-modern .np1375-capacity>i em.info{background:#237aa2}.np1375-capacity>i em.wait{background:#d17a14}.np1375-capacity>i em.bad{background:#bd3026}
body.np137-modern .np1375-capacity small{color:#647b88}
body.np137-modern .np1375-trip-card>footer{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px;padding-top:10px;border-top:1px dashed #d8e5ea}
body.np137-modern .np1375-trip-card>footer button{flex:1 1 110px}
body.np137-modern .np1375-reconcile-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:9px;padding:9px;border-radius:11px;background:#f3f8f5;color:#456454;font-size:11px}
body.np137-modern .np1375-reconcile-mini .good,.np1375-reconcile-box .good,.np1375-reconcile-preview .good{color:#075f3b}
body.np137-modern .np1375-reconcile-mini .bad,.np1375-reconcile-box .bad,.np1375-reconcile-preview .bad{color:#a1261d}

/* Orders */
body.np137-modern .np1375-order-card{min-width:0;padding:11px;border:1px solid #cfdee5;border-radius:13px;background:#fff}
body.np137-modern .np1375-order-card.assigned{background:#f7fbfd}
body.np137-modern .np1375-order-card.invalid{opacity:.62;border-color:#e7b6b1;background:#fff5f4}
body.np137-modern .np1375-order-card>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}
body.np137-modern .np1375-order-code{color:#006b95;font-size:11px;font-weight:900}
body.np137-modern .np1375-order-status{padding:3px 7px;border-radius:999px;background:#eef4f7;color:#526b79;font-size:10px;font-weight:850}
body.np137-modern .np1375-order-card h4{margin:6px 0 4px;font-size:14px;color:#173c4f}
body.np137-modern .np1375-order-card p{margin:0;color:#506a78;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
body.np137-modern .np1375-order-card footer{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-top:8px;padding-top:7px;border-top:1px dashed #dbe6eb;color:#536d7b;font-size:10px}
body.np137-modern .np1375-order-card footer span{min-width:0;overflow-wrap:anywhere}
body.np137-modern .np1375-order-card footer b{flex:0 0 auto;color:#173c4f;text-align:right}

/* Trip form / assignment */
body.np137-modern .np1375-trip-form{display:grid;gap:13px}
body.np137-modern .np1375-trip-form>section{padding:11px;border:1px solid #d0e0e7;border-radius:13px;background:#f8fbfc}
body.np137-modern .np1375-trip-form h4{margin:0 0 9px}
body.np137-modern .np1375-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
body.np137-modern .np1375-check-grid label{display:flex;align-items:center;gap:8px;min-width:0;padding:9px;border:1px solid #cbdce4;border-radius:10px;background:#fff;cursor:pointer}
body.np137-modern .np1375-check-grid label:has(input:checked){border-color:#73b6cc;background:#eaf7fb}
body.np137-modern .np1375-check-grid input{flex:0 0 auto;width:auto}
body.np137-modern .np1375-check-grid span{display:grid;min-width:0;overflow-wrap:anywhere}
body.np137-modern .np1375-check-grid small{color:#607886;font-size:10px}
body.np137-modern .np1375-capacity-hint{min-height:0}
body.np137-modern .np1375-capacity-hint span{display:block;padding:10px 11px;border:1px solid #b9d7e2;border-radius:11px;background:#edf8fb;color:#155a72}
body.np137-modern .np1375-capacity-hint span.wait{border-color:#e5c18b;background:#fff4e2;color:#874500}
body.np137-modern .np1375-capacity-hint span.bad{border-color:#e7b5b0;background:#fff0ee;color:#9f2017}
body.np137-modern .np1375-capacity-hint span.ok{border-color:#a9d8bd;background:#eaf8f0;color:#075f3b}
body.np137-modern .np1375-assign-list{display:grid;gap:8px;max-height:min(58vh,620px);overflow:auto;margin:10px 0;padding-right:3px}
body.np137-modern .np1375-assign-order{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:8px;border:1px solid #d2e0e6;border-radius:13px;background:#f8fbfc;cursor:pointer}
body.np137-modern .np1375-assign-order:has(input:checked){border-color:#62abc3;background:#eaf7fb}
body.np137-modern .np1375-assign-order.current{border-color:#9ed4b6;background:#effaf4}
body.np137-modern .np1375-assign-order.move{border-color:#ddc28e;background:#fffaf0}
body.np137-modern .np1375-assign-order>input{width:auto;margin-top:5px}
body.np137-modern .np1375-assign-order>span{min-width:0}
body.np137-modern .np1375-move-note{display:block;margin-top:5px;padding:5px 7px;border-radius:7px;background:#fff0cf;color:#805000;font-weight:800}

/* Detail / reconcile */
body.np137-modern .np1375-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}
body.np137-modern .np1375-detail-summary>div{display:grid;gap:4px;padding:10px;border:1px solid #d0e0e7;border-radius:11px;background:#f8fbfc}
body.np137-modern .np1375-detail-summary span{color:#5a7280;font-size:10px;font-weight:850}
body.np137-modern .np1375-detail-summary b{color:#153d52;font-size:19px}
body.np137-modern .np1375-detail-lines{padding:9px 11px;border-radius:11px;background:#f4f8fa}
body.np137-modern .np1375-detail-lines p{margin:4px 0;color:#405f70;overflow-wrap:anywhere}
body.np137-modern .np1375-trip-order-list{display:grid;gap:8px;max-height:48vh;overflow:auto}
body.np137-modern .np1375-trip-order-list>div{display:grid;gap:5px}
body.np137-modern .np1375-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid #d7e4e9}
body.np137-modern .np1375-detail-actions button{flex:1 1 150px}
body.np137-modern .np1375-reconcile-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px;padding:11px;border:1px solid #b8dbc7;border-radius:13px;background:#f1faf5}
body.np137-modern .np1375-reconcile-box h4,.np1375-reconcile-box p{grid-column:1/-1;margin:0}
body.np137-modern .np1375-reconcile-box>div{display:flex;justify-content:space-between;gap:8px;padding:7px;border-radius:8px;background:#fff;color:#4c6959}
body.np137-modern .np1375-reconcile-rule{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin:5px 0 12px;padding:10px;border:1px solid #c8dce5;border-radius:12px;background:#f5fafc;color:#4a6878;text-align:center}
body.np137-modern .np1375-reconcile-rule b{color:#075f78;font-size:18px}.np1375-reconcile-rule em{font-style:normal;font-weight:900;color:#6d8290}
body.np137-modern .np1375-reconcile-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.np137-modern .np1375-reconcile-preview span{padding:9px;border:1px solid currentColor;border-radius:10px;background:#fff;font-weight:800;text-align:center}

/* Vehicle catalogue */
body.np137-modern .np1375-vehicle-list{display:grid;gap:8px;margin:10px 0 14px}
body.np137-modern .np1375-vehicle-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid #ccdce4;border-radius:12px;background:#fff}
body.np137-modern .np1375-vehicle-list article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eaf7fb;font-size:22px}
body.np137-modern .np1375-vehicle-list article>div{display:grid;gap:2px;min-width:0}
body.np137-modern .np1375-vehicle-list b{color:#173c4f}.np1375-vehicle-list small{color:#5c7481;overflow-wrap:anywhere}

@media(max-width:1180px){
  body.np137-modern .np1375-dispatch-layout{grid-template-columns:minmax(0,1fr)}
  body.np137-modern .np1375-unassigned-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  body.np137-modern .np1375-product-toolbar{grid-template-columns:minmax(0,1fr)}
  body.np137-modern .np1375-dispatch-shell,
  body.np137-modern .np1375-dispatch-layout,
  body.np137-modern .np1375-dispatch-layout>section,
  body.np137-modern .np1375-trip-grid,
  body.np137-modern .np1375-unassigned-list{width:100%;max-width:100%;min-width:0}
  body.np137-modern .np1375-dispatch-filter{align-items:stretch}
  body.np137-modern .np1375-dispatch-filter label{flex:1;min-width:0}
  body.np137-modern .np1375-dispatch-filter input{width:100%;min-width:0}
  body.np137-modern .np1375-dispatch-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.np137-modern .np1375-dispatch-kpis>div{min-height:78px;padding:12px}
  body.np137-modern .np1375-dispatch-kpis b{font-size:20px}
  body.np137-modern .np1375-unassigned-list{grid-template-columns:minmax(0,1fr)}
  body.np137-modern .np1375-check-grid{grid-template-columns:minmax(0,1fr)}
  body.np137-modern .np1375-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.np137-modern .np1375-trip-card,
  body.np137-modern .np1375-order-card,
  body.np137-modern .np1375-assign-order{max-width:100%;overflow:hidden}
}

@media(max-width:520px){
  body.np137-modern .np1375-dispatch-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:10px}
  body.np137-modern .np1375-dispatch-filter button{align-self:end;min-height:44px}
  body.np137-modern .np1375-dispatch-layout>section{padding:10px;border-radius:14px}
  body.np137-modern .np1375-trip-card{padding:11px}
  body.np137-modern .np1375-trip-card>header{align-items:flex-start}
  body.np137-modern .np1375-vehicle-icon{flex-basis:38px;width:38px;height:38px;font-size:20px}
  body.np137-modern .np1375-status{padding:4px 7px;font-size:9px}
  body.np137-modern .np1375-load-grid{gap:5px}
  body.np137-modern .np1375-load-grid>div{padding:7px 6px}
  body.np137-modern .np1375-load-grid span{font-size:8.5px}
  body.np137-modern .np1375-load-grid b{font-size:16px}
  body.np137-modern .np1375-order-card footer{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
  body.np137-modern .np1375-order-card footer b{text-align:left}
  body.np137-modern .np1375-reconcile-mini,.np1375-reconcile-box,.np1375-reconcile-preview{grid-template-columns:minmax(0,1fr)}
  body.np137-modern .np1375-reconcile-box h4,.np1375-reconcile-box p{grid-column:1}
  body.np137-modern .np1375-vehicle-list article{grid-template-columns:auto minmax(0,1fr)}
  body.np137-modern .np1375-vehicle-list article button{grid-column:1/-1;width:100%}
  body.np137-modern .np1375-group-row{align-items:flex-start}
}

/* ===== css/design_1_37_6.css ===== */
/* Stable 1.37.6 - Reception vehicle planning */
.np1376-vehicle-field{min-width:220px}
.np1376-vehicle-field small{display:block;margin-top:6px;color:#647b87;font-size:12px;line-height:1.35}
.np1376-request-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.np1376-vehicle-badge{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 9px;border-radius:999px;border:1px solid #9fd8e7;background:#eefbff;color:#075d79;font-size:12px;font-weight:800;line-height:1.15;white-space:nowrap}
button.np1376-vehicle-badge{cursor:pointer}
.np1376-vehicle-badge.unassigned{border-style:dashed;border-color:#b5c7cf;background:#f7fafb;color:#526b77}
.np1376-plan-link{border:0;background:transparent;color:#087da2;font-weight:800;padding:3px 2px;cursor:pointer}
.np1376-plan-button{border-color:#88cfe2!important;color:#076f8f!important;background:#f3fcff!important}
.np1376-plan-modal{display:grid;gap:16px}
.np1376-plan-modal>label{display:grid;gap:7px;font-weight:800;color:#264c5b}
.np1376-plan-modal select{min-height:48px}
.np1376-plan-modal>p{margin:0;padding:12px 14px;border-radius:14px;background:#f1f8fb;color:#506b77;line-height:1.5}
.np1376-plan-summary{display:grid;gap:6px;padding:13px 14px;border:1px solid #d8e8ee;border-radius:14px;background:#fff}
.np1376-plan-summary span{color:#6a818c;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.np1376-plan-summary b{color:#163c4b;line-height:1.45}
.np1376-detail-vehicle{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin:10px 0;border:1px solid #cce7ef;border-radius:14px;background:#f5fcfe}
.np1376-detail-vehicle>span{font-weight:800;color:#5b7480}
.np1376-detail-vehicle>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.request-head{gap:10px;align-items:flex-start}

@media(max-width:700px){
  .np1376-vehicle-field{grid-column:1/-1;min-width:0}
  .np1376-vehicle-field select{min-height:48px}
  .request-head{flex-wrap:wrap}
  .np1376-request-tags{max-width:calc(100% - 110px)}
  .np1376-vehicle-badge{white-space:normal;text-align:left}
  .request-actions .np1376-plan-button{order:2}
  .np1376-detail-vehicle{align-items:flex-start;flex-direction:column}
  .np1376-detail-vehicle>div{justify-content:flex-start}
}

/* ===== css/design_1_37_7.css ===== */
/* Nam Phuong ERP Stable 1.37.7 · lifecycle and customer bottled-water pricing */
body.np137-modern .np1377-status-pill{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;padding:6px 10px;border:1px solid;border-radius:999px;font-size:12px;font-weight:850;line-height:1.1;white-space:nowrap}
body.np137-modern .np1377-status-pill i{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
body.np137-modern .np1377-status-pill.active{color:#087443;background:#eafaf1;border-color:#b9e7ca}
body.np137-modern .np1377-status-pill.active i{background:#18a75f;box-shadow:0 0 0 3px rgba(24,167,95,.12)}
body.np137-modern .np1377-status-pill.inactive{color:#8a4651;background:#fff2f3;border-color:#efc5cb}
body.np137-modern .np1377-status-pill.inactive i{background:#d64c5f;box-shadow:0 0 0 3px rgba(214,76,95,.12)}
body.np137-modern .np1377-inactive-row{background:linear-gradient(90deg,#fbfcfd,#fff)!important}
body.np137-modern .np1377-inactive-row>td:not(:last-child){opacity:.67}
body.np137-modern .np1377-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;min-width:220px}
body.np137-modern .np1377-row-actions button{padding:8px 10px;min-height:36px;white-space:nowrap}
body.np137-modern button.np1377-stop{background:#fff4df;color:#9b5c00;border:1px solid #edcf91;font-weight:800}
body.np137-modern button.np1377-stop:hover{background:#ffe9bd}
body.np137-modern button.np1377-activate{background:#e8f8ef;color:#087443;border:1px solid #b7e2c8;font-weight:800}
body.np137-modern button.np1377-activate:hover{background:#d7f1e2}
body.np137-modern .np1377-bottled-price-card{padding:15px;border:1px solid #cfe3eb;border-radius:17px;background:linear-gradient(145deg,#f4fbfe,#fff);box-shadow:0 6px 18px rgba(18,85,112,.05)}
body.np137-modern .np1377-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
body.np137-modern .np1377-section-head b{display:block;color:#123f57;font-size:15px}
body.np137-modern .np1377-section-head small{display:block;color:#66808f;margin-top:4px;font-weight:600;line-height:1.45}
body.np137-modern #np1377BottlePriceRows{display:grid;gap:8px}
body.np137-modern .np1377-price-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(135px,.7fr) auto;gap:8px;align-items:center;padding:9px;border:1px solid #dbe9ee;border-radius:13px;background:#fff}
body.np137-modern .np1377-price-row select,body.np137-modern .np1377-price-row input{margin:0;min-width:0}
body.np137-modern .np1377-empty-note{padding:14px;border:1px dashed #cbdce3;border-radius:12px;color:#6b8190;background:#fff;text-align:center;font-weight:650}
body.np137-modern .np1377-form-actions{padding-top:13px;border-top:1px solid #dce8ed}
body.np137-modern .np1377-inactive-notice{display:grid;gap:4px;margin:12px 0;padding:13px 15px;border:1px solid #efc4ca;border-radius:14px;background:#fff3f4;color:#8f3442}
body.np137-modern .np1377-inactive-notice span{font-size:13px;color:#97606a}
body.np137-modern .np1377-product-toolbar{align-items:center}
body.np137-modern .np1377-count{margin-left:auto;color:#617b89;font-weight:750;white-space:nowrap}
body.np137-modern .np1377-product-lifecycle{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;border:1px solid #d9e6eb;border-radius:16px;background:#f8fbfc}
body.np137-modern .np1377-product-lifecycle>div:first-child{display:grid;gap:6px}
body.np137-modern .np1377-product-lifecycle>div:first-child>span{display:block}
body.np137-modern .np1377-product-lifecycle small{color:#667f8e;font-weight:600;line-height:1.4}
body.np137-modern .np1377-product-lifecycle>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:900px){
  body.np137-modern .np1377-section-head{display:grid}
  body.np137-modern .np1377-section-head button{width:100%}
  body.np137-modern .np1377-price-row{grid-template-columns:1fr auto}
  body.np137-modern .np1377-price-row .np1377-price-product{grid-column:1/-1}
  body.np137-modern .np1377-price-row .np1377-price-value{min-width:0}
  body.np137-modern .np1377-product-lifecycle{display:grid}
  body.np137-modern .np1377-product-lifecycle>div:last-child{display:grid;grid-template-columns:1fr 1fr}
  body.np137-modern .np1377-product-lifecycle button{width:100%}
  body.np137-modern .np1377-count{width:100%;margin-left:0;padding:2px 4px}

  body.np137-modern #customerTable .np-mobile-card-table td:last-child,
  body.np137-modern #productTable .np-mobile-card-table td:last-child{display:block!important}
  body.np137-modern #customerTable .np-mobile-card-table td:last-child:before,
  body.np137-modern #productTable .np-mobile-card-table td:last-child:before{display:none!important}
  body.np137-modern #customerTable .np1377-row-actions,
  body.np137-modern #productTable .np1377-row-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;gap:6px}
  body.np137-modern #customerTable .np1377-row-actions button,
  body.np137-modern #productTable .np1377-row-actions button{width:100%!important;min-width:0;padding:9px 5px;font-size:12px}
  body.np137-modern #customerTable .np-mobile-card-table td:nth-child(5) .np1377-status-pill,
  body.np137-modern #productTable .np-mobile-card-table td:nth-child(5) .np1377-status-pill{justify-self:end}
}

@media(max-width:390px){
  body.np137-modern #customerTable .np1377-row-actions,
  body.np137-modern #productTable .np1377-row-actions{grid-template-columns:1fr 1fr}
  body.np137-modern #customerTable .np1377-row-actions button:first-child,
  body.np137-modern #productTable .np1377-row-actions button:first-child{grid-column:1/-1}
}

/* ===== css/design_1_37_8.css ===== */
/* Nam Phuong ERP Stable 1.37.8 · returned order correction workflow */
body.np137-modern .np138-returned-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;border-radius:999px;background:#d92d3e;color:#fff;font-size:11px;font-weight:900;box-shadow:0 4px 10px rgba(217,45,62,.24)}
body.np137-modern .np138-dashboard-alert,body.np137-modern .np138-page-returned-alert{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:15px 17px;border:1px solid #f0b9bf;border-left:5px solid #d92d3e;border-radius:17px;background:linear-gradient(135deg,#fff4f5,#fff);box-shadow:0 8px 24px rgba(151,36,54,.07)}
body.np137-modern .np138-dashboard-alert>div,body.np137-modern .np138-page-returned-alert>div{display:flex;align-items:center;gap:12px;min-width:0}
body.np137-modern .np138-dashboard-alert>div>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#ffe0e3;color:#a8172b;font-size:23px;font-weight:900;flex:0 0 auto}
body.np137-modern .np138-dashboard-alert p,body.np137-modern .np138-page-returned-alert div{margin:0}
body.np137-modern .np138-dashboard-alert b,body.np137-modern .np138-page-returned-alert b{display:block;color:#812234;font-size:15px}
body.np137-modern .np138-dashboard-alert small,body.np137-modern .np138-page-returned-alert span{display:block;margin-top:3px;color:#7c5961;font-weight:650}
body.np137-modern .np138-page-returned-alert button{background:#fff;border:1px solid #e1a7ae;color:#9c2234;font-weight:850}
body.np137-modern .np138-cancelled-metric{border-color:#d7dfe3!important;background:#f7f9fa!important;color:#52636c!important}
body.np137-modern .np138-needs-action{background:linear-gradient(90deg,#fff4f5,#fff)!important;box-shadow:inset 4px 0 #d92d3e}
body.np137-modern .np138-revision{display:block;margin-top:5px;color:#9a5c00;font-weight:800}
body.np137-modern .np138-inline-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
body.np137-modern .np138-returned-edit-banner{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px;padding:15px 17px;border:1px solid #efaeb6;border-radius:17px;background:linear-gradient(135deg,#fff0f2,#fff);box-shadow:0 8px 22px rgba(170,35,55,.07)}
body.np137-modern .np138-returned-edit-banner span{display:block;color:#ad2036;font-size:11px;font-weight:950;letter-spacing:.12em}
body.np137-modern .np138-returned-edit-banner b{display:block;margin-top:3px;color:#6f1e2d;font-size:17px}
body.np137-modern .np138-returned-edit-banner p{margin:6px 0 0;color:#7d5058;font-size:13px;line-height:1.45}
body.np137-modern .np138-rejection-reason{margin:13px 0;padding:14px 15px;border:1px solid #edafb7;border-radius:15px;background:#fff1f3;color:#852338}
body.np137-modern .np138-rejection-reason b{display:block;margin-bottom:5px}
body.np137-modern .np138-rejection-reason p{margin:0;line-height:1.5;font-weight:700}
body.np137-modern .np138-order-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
body.np137-modern .np138-order-meta span{padding:10px 12px;border:1px solid #dce8ec;border-radius:12px;background:#f8fbfc;color:#284e60;font-weight:700}
body.np137-modern .np138-order-meta b{display:block;margin-bottom:3px;color:#708793;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
body.np137-modern .np138-returned-actions{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px;margin-top:15px;padding-top:14px;border-top:1px solid #dce7eb}
body.np137-modern .np138-event-history{margin-top:14px;border:1px solid #dbe7ec;border-radius:14px;background:#fafcfd;overflow:hidden}
body.np137-modern .np138-event-history summary{padding:12px 14px;color:#31586b;font-weight:850;cursor:pointer}
body.np137-modern .np138-event-history>div{display:flex;gap:10px;padding:10px 14px;border-top:1px solid #e5edef}
body.np137-modern .np138-event-history i{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eaf4f8;color:#176f95;font-style:normal;font-weight:900;flex:0 0 auto}
body.np137-modern .np138-event-history p{display:grid;gap:2px;margin:0;min-width:0}
body.np137-modern .np138-event-history p b{color:#234b5e}
body.np137-modern .np138-event-history p span{color:#4f6976}
body.np137-modern .np138-event-history p small{color:#82949d}
body.np137-modern .approval-state.cancelled{color:#5d6d75;background:#eef2f4;border-color:#d5dde1}

@media(max-width:900px){
  body.np137-modern .np138-dashboard-alert,body.np137-modern .np138-page-returned-alert{display:grid;gap:12px}
  body.np137-modern .np138-dashboard-alert>button,body.np137-modern .np138-page-returned-alert>button{width:100%}
  body.np137-modern .np138-returned-edit-banner{display:grid;margin:0 0 12px}
  body.np137-modern .np138-returned-edit-banner button{width:100%}
  body.np137-modern .np138-order-meta{grid-template-columns:1fr}
  body.np137-modern .np138-returned-actions{grid-template-columns:1fr}
  body.np137-modern .np138-inline-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  body.np137-modern .np138-inline-actions button{width:100%;min-width:0}
  body.np137-modern #approvalTable .np-mobile-card-table tr.np138-needs-action{box-shadow:inset 4px 0 #d92d3e,0 8px 22px rgba(30,74,94,.06)}
  body.np137-modern #approvalTable .np-mobile-card-table td:last-child{display:block!important}
  body.np137-modern #approvalTable .np-mobile-card-table td:last-child:before{display:none!important}
}

/* ===== css/design_1_37_9.css ===== */
/* Nam Phuong ERP Stable 1.37.9 - Standalone debt collection */

.np139-debt-kpis{margin-bottom:16px}
.np139-debt-section,.np139-receipt-section{margin-top:16px}
.np139-debt-section .card-title-row p,.np139-receipt-section .card-title-row p{margin:4px 0 0}
.np139-debt-toolbar,.np139-receipt-toolbar{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(4,minmax(140px,1fr));gap:10px;margin:14px 0}
.np139-receipt-toolbar{grid-template-columns:minmax(220px,1.7fr) minmax(140px,1fr) minmax(145px,1fr) minmax(145px,1fr) auto}
.np139-receipt-toolbar label{margin:0;display:grid;gap:5px;font-size:12px;font-weight:700;color:var(--muted,#627386)}
.np139-debt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.np139-debt-card{position:relative;border:1px solid #d8e4ec;border-radius:16px;padding:15px;background:#fff;box-shadow:0 6px 18px rgba(15,59,79,.06);cursor:pointer;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.np139-debt-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#e0a338}
.np139-debt-card.danger:before{background:#d84e4e}.np139-debt-card.credit:before{background:#288a74}
.np139-debt-card:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(15,59,79,.1);border-color:#bad3e1}
.np139-debt-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.np139-debt-card header>div{display:grid;gap:2px;min-width:0}
.np139-debt-card header small{font-size:11px;font-weight:800;letter-spacing:.06em;color:#688096}
.np139-debt-card header b{font-size:16px;color:#15364a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.np139-debt-card header span{font-size:12px;color:#657b8c}
.np139-debt-amount{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:15px 0 11px;padding:11px 12px;border-radius:12px;background:#f5f9fc}
.np139-debt-card.warning .np139-debt-amount{background:#fff8e8}.np139-debt-card.danger .np139-debt-amount{background:#fff0f0}.np139-debt-card.credit .np139-debt-amount{background:#ebf8f4}
.np139-debt-amount span{font-size:12px;color:#65788a}.np139-debt-amount strong{font-size:21px;color:#143d55}
.np139-debt-card.danger .np139-debt-amount strong{color:#b83333}.np139-debt-card.credit .np139-debt-amount strong{color:#16705e}
.np139-debt-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#65788a}
.np139-debt-meta>span:not(.pill){padding:5px 8px;border-radius:999px;background:#f1f5f8}
.np139-receipt-list{display:grid;gap:8px}
.np139-receipt-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(180px,1.25fr) auto auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid #dce6ed;border-radius:13px;background:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.np139-receipt-row:hover{background:#f7fbfd;border-color:#b9d4e2}
.np139-receipt-row.voided{opacity:.67;background:#fafafa}
.np139-receipt-row>div{display:grid;gap:3px;min-width:0}.np139-receipt-row b{color:#173c52}.np139-receipt-row small{font-size:11px;color:#6d8190;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np139-receipt-row>strong{font-size:16px;color:#147056;white-space:nowrap}
.np139-collect-form{margin-top:10px}
.np139-payment-presets{display:flex;gap:8px;flex-wrap:wrap;padding:10px;border:1px dashed #c4d8e4;border-radius:12px;background:#f7fbfd}
.np139-payment-presets button{border:1px solid #bfd4df;background:#fff;color:#155979;border-radius:10px;padding:9px 12px;font-weight:700;cursor:pointer}
.np139-payment-presets button:hover{background:#eaf6fb}
.np139-collect-customer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 12px;border-bottom:1px solid #e4edf2;margin-bottom:4px}.np139-collect-customer b{color:#143d55}.np139-collect-customer span{font-size:12px;color:#688094}
.np139-receipt-paper{border:1px solid #d9e5ec;border-radius:16px;padding:18px;background:linear-gradient(180deg,#fff 0,#f9fcfd 100%)}
.np139-receipt-brand{text-align:center;padding:4px 0 18px;border-bottom:2px solid #1c6b8b;margin-bottom:8px}.np139-receipt-brand b{display:block;color:#0d5b7b;letter-spacing:.05em}.np139-receipt-brand span{display:block;margin-top:5px;font-size:18px;font-weight:800;color:#173c52}
.np139-receipt-note{margin:12px 0;padding:12px;border-radius:10px;background:#eef7fb}.np139-receipt-note p{margin:5px 0 0;white-space:pre-wrap}
.np139-customer-receipts{margin:20px 0}.np139-customer-receipts .card-title-row{margin-bottom:9px}
.np139-handover-receipt{border-left:4px solid #7a5bc7!important;background:#faf8ff!important}

@media(max-width:1100px){
  .np139-debt-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.np139-debt-toolbar input:first-child{grid-column:1/-1}
  .np139-receipt-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.np139-receipt-toolbar input:first-child{grid-column:1/-1}
}
@media(max-width:720px){
  .np139-debt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .np139-debt-kpis .metric{min-width:0;padding:12px!important}.np139-debt-kpis .metric strong{font-size:18px!important}.np139-debt-kpis .metric small{font-size:10px!important}
  .np139-debt-section,.np139-receipt-section{padding:12px!important;border-radius:15px!important}
  .np139-debt-toolbar,.np139-receipt-toolbar{display:grid;grid-template-columns:1fr;gap:8px;margin:10px 0 12px}.np139-debt-toolbar input:first-child,.np139-receipt-toolbar input:first-child{grid-column:auto}
  .np139-debt-toolbar input,.np139-debt-toolbar select,.np139-receipt-toolbar input,.np139-receipt-toolbar select,.np139-receipt-toolbar button{width:100%;min-height:44px}
  .np139-debt-grid{grid-template-columns:1fr;gap:9px}
  .np139-debt-card{padding:13px 12px 12px;border-radius:14px}
  .np139-debt-card header{align-items:center}.np139-debt-card header b{font-size:15px}.np139-debt-card header .compact{padding:8px 10px;min-height:38px;white-space:nowrap}
  .np139-debt-amount{margin:11px 0 9px;padding:10px}.np139-debt-amount strong{font-size:19px}
  .np139-debt-meta{gap:6px}.np139-debt-meta>span:not(.pill){font-size:11px;padding:4px 7px}
  .np139-receipt-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:11px;border-radius:12px}
  .np139-receipt-row>div:nth-child(2){grid-column:1/-1;grid-row:2}.np139-receipt-row>strong{grid-column:2;grid-row:1}.np139-receipt-row>.pill{grid-column:2;grid-row:2;justify-self:end}
  .np139-receipt-paper{padding:13px}.np139-receipt-brand span{font-size:16px}
  .np139-payment-presets{display:grid;grid-template-columns:1fr 1fr;padding:8px}.np139-payment-presets button:last-child{grid-column:1/-1}
  .np139-collect-form .review-actions{position:sticky;bottom:0;background:#fff;padding-top:10px;z-index:2}
  .np139-customer-receipts .np139-receipt-row:nth-child(n+8){display:none}
}

/* ===== css/design_1_37_11.css ===== */
/* Nam Phuong ERP Stable 1.37.11
   Stable iPad/tablet shell and visual-viewport sizing.
*/

.np13711-data-loader{
  position:sticky;
  top:4px;
  z-index:60;
  width:max-content;
  max-width:calc(100% - 20px);
  margin:0 auto 8px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 13px;
  border:1px solid #b9ddea;
  border-radius:999px;
  background:rgba(247,253,255,.96);
  color:#145c78;
  font-size:12px;
  font-weight:750;
  box-shadow:0 8px 24px rgba(15,75,101,.12);
  backdrop-filter:blur(10px);
}
.np13711-data-loader i{
  width:14px;height:14px;border-radius:50%;
  border:2px solid #b9dce8;border-top-color:#0785ae;
  animation:np13711Spin .75s linear infinite;
}
@keyframes np13711Spin{to{transform:rotate(360deg)}}

body.np-tablet,
body.np-tablet *{box-sizing:border-box}

body.np-tablet{
  width:100%;
  height:var(--np-visible-height,100dvh);
  min-height:0;
  overflow:hidden!important;
  overscroll-behavior:none;
}
body.np-tablet #appView.app:not(.hidden){
  position:fixed!important;
  inset:0!important;
  display:block!important;
  width:var(--np-visible-width,100vw)!important;
  max-width:100vw!important;
  height:var(--np-visible-height,100dvh)!important;
  min-height:0!important;
  overflow:hidden!important;
}
body.np-tablet #appView.app>main{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0 0 calc(82px + env(safe-area-inset-bottom))!important;
  overflow:hidden!important;
}
body.np-tablet #appView.app>main>header{
  position:relative!important;
  inset:auto!important;
  flex:0 0 68px!important;
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  transform:none!important;
  z-index:72!important;
  padding-left:max(14px,env(safe-area-inset-left))!important;
  padding-right:max(14px,env(safe-area-inset-right))!important;
  background:rgba(250,254,255,.96)!important;
  backdrop-filter:blur(15px);
  box-shadow:0 1px 0 rgba(28,88,112,.12);
}
body.np-tablet #menuBtn.menu-btn{display:inline-grid!important;flex:0 0 46px!important;width:46px!important;height:46px!important}
body.np-tablet #content{
  position:relative!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:16px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left))!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
body.np-tablet #content>*{min-width:0!important;max-width:100%!important}
body.np-tablet #content .table-wrap{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
body.np-tablet #content .table-wrap>table{max-width:none}
body.np-tablet #content img,
body.np-tablet #content canvas,
body.np-tablet #content svg{max-width:100%}
body.np-tablet .toolbar,
body.np-tablet .friendly-toolbar,
body.np-tablet .page-head,
body.np-tablet .page-intro{max-width:100%;min-width:0}
body.np-tablet input,
body.np-tablet select,
body.np-tablet textarea{min-width:0;max-width:100%}

/* Tablet navigation is always a viewport overlay; it never participates in document width. */
body.np-tablet #sidebar.sidebar{
  position:fixed!important;
  inset:0 auto 0 0!important;
  display:flex!important;
  flex-direction:column!important;
  width:min(338px,82vw)!important;
  height:var(--np-visible-height,100dvh)!important;
  max-height:var(--np-visible-height,100dvh)!important;
  margin:0!important;
  padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom))!important;
  z-index:160!important;
  transform:translate3d(-106%,0,0)!important;
  transition:transform .22s ease!important;
  overflow:hidden!important;
  contain:layout paint;
}
body.np-tablet #sidebar nav{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
}
body.np-tablet #sidebar nav button{width:100%!important;min-width:0!important;white-space:normal!important}
body.np-tablet.menu-open #sidebar.sidebar{transform:translate3d(0,0,0)!important}
body.np-tablet #mobileMenuBackdrop{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:var(--np-visible-height,100dvh)!important;
  z-index:150!important;
}
body.np-tablet .menu-close{display:grid!important}

body.np-tablet .mobile-bottom-nav{
  position:fixed!important;
  left:max(12px,env(safe-area-inset-left))!important;
  right:max(12px,env(safe-area-inset-right))!important;
  bottom:max(10px,env(safe-area-inset-bottom))!important;
  display:flex!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:68px!important;
  margin:0!important;
  transform:none!important;
  z-index:125!important;
  contain:layout paint;
  overflow:visible!important;
}
body.np-tablet .mobile-bottom-nav button{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  padding:7px 5px!important;
  touch-action:manipulation;
}
body.np-tablet .mobile-bottom-nav button>span:last-child{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.np-tablet .mobile-bottom-nav .mnav-sale{
  flex:0 0 min(126px,18vw)!important;
  margin-top:-18px!important;
}
body.np-tablet .mobile-sale-bar{
  left:max(14px,env(safe-area-inset-left))!important;
  right:max(14px,env(safe-area-inset-right))!important;
  bottom:calc(84px + env(safe-area-inset-bottom))!important;
  width:auto!important;
  max-width:none!important;
}

body.np-tablet .modal-backdrop{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:var(--np-visible-height,100dvh)!important;
  overflow:hidden!important;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
}
body.np-tablet .modal{
  width:min(760px,96vw)!important;
  max-width:96vw!important;
  max-height:calc(var(--np-visible-height,100dvh) - 24px)!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch;
}
body.np-tablet .modal.wide{width:min(1050px,97vw)!important;max-width:97vw!important}

/* Landscape tablet: give dashboards and forms more breathing room without changing workflow. */
body.np-tablet-landscape #content{padding-left:22px!important;padding-right:22px!important}
body.np-tablet-landscape .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
body.np-tablet-landscape .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
body.np-tablet-landscape .request-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body.np-tablet-landscape .np1375-dispatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* iPad portrait still uses compact cards, but the page itself cannot move sideways. */
@media (min-width:700px) and (max-width:900px){
  body.np-tablet #customerTable .np-mobile-card-table tbody,
  body.np-tablet #saleTable .np-mobile-card-table tbody,
  body.np-tablet #approvalTable .np-mobile-card-table tbody{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  body.np-tablet #customerTable .np-mobile-card-table tr,
  body.np-tablet #saleTable .np-mobile-card-table tr,
  body.np-tablet #approvalTable .np-mobile-card-table tr{height:100%}
}

@media (max-height:560px){
  body.np-tablet .mobile-bottom-nav{height:60px!important;bottom:5px!important}
  body.np-tablet #appView.app>main{padding-bottom:70px!important}
}

/* ===== css/design_1_37_13.css ===== */
/* Nam Phuong ERP Stable 1.37.13 · mobile review width, catalog sync and approval clarity */

.np13713-approval-guide{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:13px 15px;border:1px solid #b9dce8;border-left:5px solid #0e86b8;border-radius:15px;background:linear-gradient(135deg,#eef9fd,#fff);box-shadow:0 7px 20px rgba(16,75,101,.07)}
.np13713-approval-guide div{min-width:0}.np13713-approval-guide b,.np13713-approval-guide span{display:block}.np13713-approval-guide b{color:#0b506f;font-size:14px}.np13713-approval-guide span{margin-top:3px;color:#527080;font-size:12px;line-height:1.45}.np13713-approval-guide i{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#dff3fa;color:#08749f;font-style:normal;font-size:20px;font-weight:950}
button.np13713-busy{opacity:.62;cursor:wait!important;pointer-events:none}

@media(max-width:900px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  body.mobile-sales-open #appView,
  body.mobile-sales-open .app,
  body.mobile-sales-open .app>main,
  body.mobile-sales-open #content,
  body.mobile-sales-open .np-sale-wizard-shell,
  body.mobile-sales-open .np-mobile-sale-wizard,
  body.mobile-sales-open .np-sale-step,
  body.mobile-sales-open .np-step-card,
  body.mobile-sales-open .np-sale-review-page,
  body.mobile-sales-open #npSaleReview{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }
  body.mobile-sales-open #content{padding-left:8px!important;padding-right:8px!important}
  body.mobile-sales-open .np-sale-wizard-head{margin-left:-8px!important;margin-right:-8px!important;max-width:calc(100% + 16px)!important}
  body.mobile-sales-open .np-sale-review-page>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}

  body.mobile-sales-open .np-review-customer{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
  }
  body.mobile-sales-open .np-review-customer>div{min-width:0!important;max-width:100%!important}
  body.mobile-sales-open .np-review-customer>div:first-child b,
  body.mobile-sales-open .np-review-customer>div:first-child span{overflow-wrap:anywhere;word-break:break-word}
  body.mobile-sales-open .np-review-customer>.np-review-creator{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    text-align:left!important;
    white-space:normal!important;
  }

  body.mobile-sales-open .np-critical-grid{max-width:100%!important;overflow:hidden!important}
  body.mobile-sales-open .np-alert-chip{max-width:100%!important;min-width:0!important}
  body.mobile-sales-open .np-alert-chip>span:last-child{min-width:0!important;flex-wrap:wrap!important}

  body.mobile-sales-open .np-review-block,
  body.mobile-sales-open .np-review-total,
  body.mobile-sales-open .np-review-grid,
  body.mobile-sales-open .np-review-note{width:100%!important;min-width:0!important;max-width:100%!important}
  body.mobile-sales-open .np-review-heading{min-width:0!important}.np-review-heading>*{min-width:0}
  body.mobile-sales-open .np-review-item{grid-template-columns:24px minmax(0,1fr)!important;width:100%!important;min-width:0!important}
  body.mobile-sales-open .np-review-item>div{min-width:0!important}
  body.mobile-sales-open .np-review-item b,
  body.mobile-sales-open .np-review-item small{overflow-wrap:anywhere;word-break:break-word}
  body.mobile-sales-open .np-review-item strong{grid-column:2!important;justify-self:end!important;max-width:100%!important;white-space:normal!important;text-align:right!important;overflow-wrap:anywhere}
  body.mobile-sales-open .np-review-total strong{max-width:100%!important;overflow-wrap:anywhere}
  body.mobile-sales-open .np-review-grid>div{min-width:0!important;overflow:hidden!important}
  body.mobile-sales-open .np-review-grid b{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere;word-break:break-word}

  body.mobile-sales-open .mobile-sale-bar{
    left:0!important;right:0!important;width:100vw!important;max-width:100vw!important;
    box-sizing:border-box!important;overflow:hidden!important;
  }
  body.mobile-sales-open .mobile-sale-bar>*{min-width:0!important;max-width:100%!important}
  body.mobile-sales-open .mobile-sale-bar>div{overflow:hidden!important}
  body.mobile-sales-open .mobile-sale-bar strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.mobile-sales-open .mobile-sale-bar #mobileSaveSaleBtn{max-width:100%!important;overflow-wrap:anywhere}

  .np13713-approval-guide{display:grid;grid-template-columns:minmax(0,1fr) 34px;padding:11px 12px;margin-bottom:10px}
  .np13713-approval-guide i{width:34px;height:34px;font-size:17px}
  #approvalTable .approval-state{white-space:normal!important;text-align:center!important;line-height:1.25!important}
}

@media(max-width:420px){
  body.mobile-sales-open .np-review-customer{grid-template-columns:minmax(0,1fr) 112px!important}
  body.mobile-sales-open .np-review-customer>div:last-child:not(.np-review-creator){white-space:normal!important;text-align:right!important}
  body.mobile-sales-open .np-review-item strong{font-size:13px!important}
}

/* ===== css/design_1_37_14.css ===== */
/* Nam Phuong ERP Stable 1.37.14
   Universal mobile viewport containment.
   Keeps every phone/tablet page inside the visible viewport and recenters the app shell.
*/

@media (max-width:900px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    overflow-x:hidden!important;
    overflow-x:clip!important;
    overscroll-behavior-x:none!important;
  }

  body.np-mobile-viewport #appView.app:not(.hidden),
  body.np-mobile-viewport #appView.app:not(.hidden)>main,
  body.np-mobile-viewport #content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  body.np-mobile-viewport #appView.app:not(.hidden),
  body.np-mobile-viewport #appView.app:not(.hidden)>main{
    left:0!important;
    right:0!important;
    overflow-x:hidden!important;
    overflow-x:clip!important;
  }

  body.np-mobile-viewport #appView.app:not(.hidden)>main>header{
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    transform:none!important;
  }

  body.np-mobile-viewport #content{
    position:relative!important;
    padding-left:max(8px,env(safe-area-inset-left))!important;
    padding-right:max(8px,env(safe-area-inset-right))!important;
    overflow-x:hidden!important;
    overflow-x:clip!important;
    touch-action:pan-y!important;
  }

  body.np-mobile-viewport #content>*{
    min-width:0!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  body.np-mobile-viewport #content :where(
    .page-head,.page-intro,.actions,.cards,.card,.grid-2,.toolbar,.friendly-toolbar,
    .np135-filter-panel,.np135-filter-grid,.request-grid,.request-card,.np-request-card,
    .np-sale-wizard-shell,.np-mobile-sale-wizard,.np-sale-step,.np-step-card,
    .np-sale-review-page,.np-review-customer,.np-review-block,.np-review-total,
    .np-review-grid,.np-review-note,.np-critical-grid,.np-alert-chip,
    .np1375-dispatch-grid,.np1375-trip-card,.np1379-debt-panel,
    .np13713-approval-guide,.table-wrap,.form-grid,.sale-layout
  ){
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.np-mobile-viewport #content :where(.cards,.grid-2,.request-grid,.np1375-dispatch-grid) > *{
    min-width:0!important;
    max-width:100%!important;
  }

  /* Horizontal data belongs inside its own scroller, never on the whole page. */
  body.np-mobile-viewport #content .table-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }

  body.np-mobile-viewport #content .table-wrap>table:not(.np-mobile-card-table){
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
  }

  body.np-mobile-viewport #content .np-mobile-card-table,
  body.np-mobile-viewport #content .np-mobile-card-table tbody,
  body.np-mobile-viewport #content .np-mobile-card-table tr{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  body.np-mobile-viewport #content img,
  body.np-mobile-viewport #content svg,
  body.np-mobile-viewport #content canvas,
  body.np-mobile-viewport #content video{
    max-width:100%!important;
    height:auto;
  }

  body.np-mobile-viewport #content input,
  body.np-mobile-viewport #content select,
  body.np-mobile-viewport #content textarea,
  body.np-mobile-viewport #content button{
    max-width:100%!important;
    min-width:0;
  }

  /* Review screen: three information blocks must wrap instead of creating a third column. */
  body.np-mobile-viewport .np-sale-wizard-head{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  body.np-mobile-viewport .np-review-customer{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(96px,auto)!important;
    align-items:start!important;
    gap:8px 10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  body.np-mobile-viewport .np-review-customer>div{
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
  }

  body.np-mobile-viewport .np-review-customer>div:first-child :where(b,span),
  body.np-mobile-viewport .np-review-customer>div:nth-child(2) :where(b,span),
  body.np-mobile-viewport .np-review-customer>.np-review-creator :where(b,span){
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  body.np-mobile-viewport .np-review-customer>.np-review-creator{
    grid-column:1/-1!important;
    width:100%!important;
    text-align:left!important;
  }

  body.np-mobile-viewport .np-review-item{
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body.np-mobile-viewport .np-review-item>div,
  body.np-mobile-viewport .np-review-item :where(b,small,strong){
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  body.np-mobile-viewport .np-review-item>strong{
    grid-column:2!important;
    justify-self:end!important;
    white-space:normal!important;
    text-align:right!important;
  }

  body.np-mobile-viewport .np-alert-chip,
  body.np-mobile-viewport .np-alert-chip>span:last-child{
    min-width:0!important;
    max-width:100%!important;
    flex-wrap:wrap!important;
    white-space:normal!important;
  }

  /* Fixed controls are anchored to safe-area edges, not 100vw. */
  body.np-mobile-viewport .mobile-bottom-nav{
    position:fixed!important;
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  body.np-mobile-viewport .mobile-sale-bar{
    position:fixed!important;
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    transform:none!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.np-mobile-viewport .mobile-bottom-nav>*,
  body.np-mobile-viewport .mobile-sale-bar>*{
    min-width:0!important;
    max-width:100%!important;
  }

  body.np-mobile-viewport .modal-backdrop{
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body.np-mobile-viewport .modal,
  body.np-mobile-viewport .modal.wide{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  body.np-mobile-viewport .np-mobile-overflow-guard{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    transform:none!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:420px){
  body.np-mobile-viewport .np-review-customer{
    grid-template-columns:minmax(0,1fr) minmax(92px,108px)!important;
  }
  body.np-mobile-viewport .np-review-item>strong{font-size:13px!important}
}

/* ===== css/design_1_37_15.css ===== */
/* Nam Phuong ERP Stable 1.37.15 */

/* The page itself stays centered, while true table containers may still pan horizontally. */
html,body,#appView,.app,main,#content{max-width:100%;min-width:0}
#content{touch-action:auto!important;overscroll-behavior-x:none}
.table-wrap,.np-table-scroll,.np135-mobile-table-scroll{touch-action:pan-x pan-y!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
#content>*{min-width:0;max-width:100%}

.np13715-old-debt-method{display:grid;gap:6px;margin-top:12px}
.np13715-old-debt-method select{width:100%;max-width:100%}

.np13715-accounting-card,.np13715-payment-allocation{
  border:1px solid rgba(0,107,149,.16);border-radius:18px;background:#fff;overflow:hidden;margin-top:12px
}
.np13715-accounting-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:rgba(0,107,149,.055)}
.np13715-accounting-title b{font-size:12px;letter-spacing:.045em;color:#075f83}
.np13715-accounting-title span{font-size:11px;color:#6d7d85;text-align:right}
.np13715-grand-total{background:linear-gradient(135deg,rgba(0,107,149,.11),rgba(31,157,128,.08));padding-top:14px!important;padding-bottom:14px!important}
.np13715-grand-total b{font-size:20px;color:#005e85}
.np13715-balance-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.np13715-balance-cards>div{display:grid;gap:5px;padding:12px;border:1px solid rgba(20,50,65,.1);border-radius:14px;background:#f8fbfc;min-width:0}
.np13715-balance-cards span{font-size:11px;color:#6b7d85}
.np13715-balance-cards b{font-size:14px;overflow-wrap:anywhere}

.np13715-review-accounting{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.np13715-review-accounting>div{display:grid;gap:5px;padding:12px;border:1px solid rgba(0,107,149,.13);border-radius:14px;background:#f8fbfc;min-width:0}
.np13715-review-accounting>div span{font-size:11px;color:#657981}
.np13715-review-accounting>div b,.np13715-review-accounting>div strong{font-size:15px;overflow-wrap:anywhere}
.np13715-review-accounting>div.total{grid-column:1/-1;background:linear-gradient(135deg,#e9f7fb,#edf9f5);border-color:rgba(0,107,149,.24)}
.np13715-review-accounting>div.total strong{font-size:22px;color:#005f86}

.np13715-history-list{display:grid;gap:12px}
.np13715-history-row{border:1px solid rgba(0,107,149,.14);border-radius:16px;padding:14px;background:#fff;display:grid;gap:10px}
.np13715-history-row header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.np13715-history-row header small{color:#71838b;text-align:right}
.np13715-history-row p{margin:0;padding:9px 11px;border-radius:10px;background:#fff8df;color:#65541e}
.np13715-history-row>div{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;font-size:12px}
.np13715-history-row del{color:#9b4b4b;overflow-wrap:anywhere}
.np13715-history-row ins{color:#176b54;text-decoration:none;font-weight:700;overflow-wrap:anywhere}

@media(max-width:900px){
  #content{width:100%!important;max-width:100%!important;margin-inline:0!important;padding-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right))!important}
  #content>.page-head,#content>.np-sale-wizard-shell,#content>.card,#content>section,#content>div{max-width:100%;min-width:0}
  .np13715-balance-cards,.np13715-review-accounting{grid-template-columns:1fr}
  .np13715-review-accounting>div.total{grid-column:auto}
  .np13715-history-row>div{grid-template-columns:1fr;gap:4px;padding-top:8px;border-top:1px dashed rgba(20,50,65,.13)}
  .np13715-history-row>div b{display:none}
  .np13715-history-row header{display:grid}
  .np13715-history-row header small{text-align:left}
  .np31-modal-actions{display:grid!important;grid-template-columns:1fr!important}
  .np31-modal-actions button{width:100%;max-width:100%}
}

/* ===== css/design_1_37_16.css ===== */
/* Nam Phuong ERP Stable 1.37.16 - explicit close-current-sale control */
.np13716-close-sale{
  border:1px solid #f1b8b8!important;
  background:#fff7f7!important;
  color:#b42318!important;
  font-weight:850!important;
}
.np13716-close-sale:hover{background:#fff0f0!important;border-color:#e89595!important}

@media(max-width:900px){
  body.np-sales-compact .np-sale-wizard-head{
    grid-template-columns:minmax(0,1fr) 64px!important;
  }
  body.np-sales-compact .np-sale-close{
    grid-column:2!important;
    grid-row:1/3!important;
    width:62px!important;
    min-width:62px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 6px!important;
    border:1px solid #f0b5b5!important;
    border-radius:10px!important;
    background:#fff4f4!important;
    color:#b42318!important;
    font-size:11px!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }
  body.np-sales-compact .np-sale-close:active{transform:scale(.97)}
}

@media(max-width:360px){
  body.np-sales-compact .np-sale-wizard-head{
    grid-template-columns:minmax(0,1fr) 57px!important;
  }
  body.np-sales-compact .np-sale-close{
    width:55px!important;
    min-width:55px!important;
    padding:0 4px!important;
    font-size:10px!important;
  }
}

/* ===== css/design_1_37_18.css ===== */
/* Nam Phuong ERP Stable 1.37.18
   iPhone input zoom prevention + genuinely responsive mobile sale rows.
   This file is intentionally loaded last so it can neutralize older compact rules.
*/

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

@media (max-width:900px){
  /* iOS Safari zooms the visual viewport when a focused field is below 16px.
     Keep every editable control at 16px so the layout viewport and visible viewport stay aligned. */
  body.np13718-mobile-stable :where(input,select,textarea){
    font-size:16px!important;
  }

  body.np13718-mobile-stable,
  body.np13718-mobile-stable #appView,
  body.np13718-mobile-stable #appView>main,
  body.np13718-mobile-stable #content{
    min-width:0!important;
    max-width:100%!important;
  }

  body.np13718-mobile-stable.mobile-sales-open #content{
    width:100%!important;
    padding-left:max(8px,env(safe-area-inset-left))!important;
    padding-right:max(8px,env(safe-area-inset-right))!important;
    overflow-x:clip!important;
  }

  body.np13718-mobile-stable.mobile-sales-open :where(
    .np-sale-wizard-shell,.np-sale-wizard-head,.np-mobile-sale-wizard,
    .np-sale-step,.np-step-card,.np-sale-items,.item-row,
    .np-quick-products,.np-optional-note,.np-product-shortcuts
  ){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.np13718-mobile-stable.mobile-sales-open .np-step-card{
    overflow:hidden!important;
  }

  /* Product shortcuts scroll only inside their own strip. */
  body.np13718-mobile-stable.mobile-sales-open .np-product-shortcuts{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x!important;
  }

  /* Sale line: product on the first row; quantity, price and amount share the second row.
     The delete button is taken out of the grid so it can never create an extra wide column. */
  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .item-row{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(92px,1.05fr) minmax(80px,1fr) minmax(72px,.84fr)!important;
    gap:5px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:8px!important;
    overflow:hidden!important;
  }

  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .item-row>label{
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
  }
  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .item-row>label:first-child{
    grid-column:1/-1!important;
    padding-right:38px!important;
  }
  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .item-row>label:nth-child(2){grid-column:1!important}
  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .item-row>label:nth-child(3){grid-column:2!important}
  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .item-row>label:nth-child(4){grid-column:3!important}

  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .item-row :where(input,select){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .qty-control{
    display:grid!important;
    grid-template-columns:30px minmax(30px,1fr) 30px!important;
    gap:2px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .qty-control button{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    padding:0!important;
  }

  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .item-row>.danger{
    position:absolute!important;
    top:7px!important;
    right:7px!important;
    grid-column:auto!important;
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    padding:0!important;
    z-index:2!important;
  }

  body.np13718-mobile-stable.mobile-sales-open .add-product-row{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:7px 0 0!important;
  }

  body.np13718-mobile-stable.mobile-sales-open .mobile-sale-bar{
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
  }
  body.np13718-mobile-stable.mobile-sales-open .mobile-sale-bar>*{
    min-width:0!important;
    max-width:100%!important;
  }
}

@media (max-width:360px){
  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .item-row{
    grid-template-columns:minmax(86px,1.05fr) minmax(74px,1fr) minmax(66px,.82fr)!important;
    gap:4px!important;
    padding:7px!important;
  }
  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .qty-control{
    grid-template-columns:28px minmax(28px,1fr) 28px!important;
  }
  body.np13718-mobile-stable.mobile-sales-open .np-mobile-sale-wizard .qty-control button{
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
  }
}

/* ===== css/design_1_37_19.css ===== */
/* Nam Phuong ERP Stable 1.37.19 · Planned vehicle selector */
.np13719-vehicle-chooser{margin-top:14px;padding-top:14px;border-top:1px solid #d9e7ee;min-width:0;max-width:100%}
.np13719-vehicle-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}
.np13719-vehicle-title>div{display:grid;gap:2px;min-width:0}
.np13719-vehicle-title b{font-size:15px;color:#123d56}
.np13719-vehicle-title small{color:#67808f;line-height:1.35}
.np13719-vehicle-title>span{flex:0 0 auto;border-radius:999px;background:#eef6fa;color:#427088;font-size:11px;font-weight:700;padding:5px 8px}
.np13719-vehicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;max-width:100%}
.np13719-vehicle-option{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 20px;align-items:center;gap:8px;min-width:0;max-width:100%;padding:10px;border:1px solid #d8e5eb;border-radius:12px;background:#fff;cursor:pointer;box-sizing:border-box;transition:border-color .15s,background .15s,box-shadow .15s}
.np13719-vehicle-option input{position:absolute;opacity:0;pointer-events:none}
.np13719-vehicle-option .np13719-vehicle-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#edf5f8;font-size:20px}
.np13719-vehicle-option>span:nth-of-type(2){display:grid;gap:2px;min-width:0}
.np13719-vehicle-option b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#173e55}
.np13719-vehicle-option small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#718693;font-size:11px}
.np13719-vehicle-option i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#dfe9ee;color:transparent;font-style:normal;font-weight:900}
.np13719-vehicle-option.selected{border-color:#0b86ad;background:#effbff;box-shadow:0 0 0 2px rgba(11,134,173,.1)}
.np13719-vehicle-option.selected .np13719-vehicle-icon{background:#d8f3fb}
.np13719-vehicle-option.selected i{background:#0788ad;color:#fff}
.np13719-migration-note{margin:8px 0 0;color:#a05b00;font-size:12px}
.np13719-review-vehicle,.np13719-approval-vehicle{display:flex;align-items:center;gap:10px;margin:10px 0;padding:11px 12px;border:1px solid #cfe4ed;border-radius:12px;background:#f2fbfe}
.np13719-review-vehicle>span,.np13719-approval-vehicle>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#dff4fa;font-size:21px}
.np13719-review-vehicle>div,.np13719-approval-vehicle>div{display:grid;gap:2px;min-width:0}
.np13719-review-vehicle small,.np13719-approval-vehicle small{color:#69808d}
.np13719-review-vehicle b,.np13719-approval-vehicle b{color:#123f56;white-space:normal;overflow-wrap:anywhere}
.np13719-review-vehicle.unassigned,.np13719-approval-vehicle.unassigned{background:#f7f9fa}
.np13719-row-vehicle{display:block!important;width:max-content;max-width:100%;margin-top:4px;padding:3px 7px;border-radius:999px;background:#eaf6fa;color:#24708b!important;font-size:11px!important;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.np13719-row-vehicle.unassigned{background:#f0f2f3;color:#6f7b82!important}
.np13719-dispatch-vehicle{display:inline-flex;align-items:center;max-width:100%;margin:0 0 5px;padding:4px 8px;border-radius:999px;background:#e2f5fb;color:#176b87;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.np13719-dispatch-vehicle.unassigned{background:#eef1f3;color:#6a747a}
.np13719-filter-hidden{display:none!important}
.np1375-dispatch-filter label:has(#np13719DispatchVehicleFilter){min-width:170px}

@media (max-width:900px){
  .np13719-vehicle-chooser{width:100%;min-width:0;max-width:100%;overflow:hidden}
  .np13719-vehicle-grid{grid-template-columns:1fr;gap:7px;width:100%;min-width:0;max-width:100%}
  .np13719-vehicle-option{width:100%;min-width:0;max-width:100%}
  .np13719-vehicle-option b,.np13719-vehicle-option small{white-space:normal;overflow-wrap:anywhere}
  .np1375-dispatch-filter label:has(#np13719DispatchVehicleFilter){width:100%;min-width:0}
}

/* ===== css/design_1_38_0.css ===== */
/* Nam Phuong ERP Stable 1.38.0 · Professional UI Refresh
   Loaded last to unify the visual system without changing business logic. */

:root{
  --np-brand:#087da7;
  --np-brand-strong:#066487;
  --np-brand-soft:#eaf7fb;
  --np-brand-softer:#f4fbfd;
  --np-entry:#f0faff;
  --np-entry-border:#9ccddd;
  --np-entry-focus:#087da7;
  --np-bg:#f3f7f9;
  --np-surface:#ffffff;
  --np-surface-soft:#f8fafb;
  --np-line:#dce6ea;
  --np-line-strong:#cad9df;
  --np-text:#18333f;
  --np-muted:#6b7f88;
  --np-success:#16835c;
  --np-warning:#b26a13;
  --np-danger:#bc3f42;
  --np-radius:14px;
  --np-shadow:0 5px 18px rgba(28,65,80,.055);
}

body.np1380-ui{
  --navy:#fff;
  --blue:var(--np-brand);
  --bg:var(--np-bg);
  --card:var(--np-surface);
  --line:var(--np-line);
  --text:var(--np-text);
  --muted:var(--np-muted);
  color:var(--np-text);
  background:var(--np-bg);
  letter-spacing:-.005em;
}
body.np1380-ui *{box-sizing:border-box}
body.np1380-ui #appView,
body.np1380-ui #appView>main,
body.np1380-ui #content,
body.np1380-ui #content>*{min-width:0;max-width:100%}

/* App shell */
body.np1380-ui .app{grid-template-columns:232px minmax(0,1fr)}
body.np1380-ui .sidebar{
  background:#fff;
  color:var(--np-text);
  border-right:1px solid var(--np-line);
  padding:14px 10px;
  box-shadow:none;
}
body.np1380-ui .sidebar .brand{padding:4px 8px 15px;border-bottom:1px solid #edf2f4;margin-bottom:8px}
body.np1380-ui .np137-brand-logo{background:#eff9fc!important;border:1px solid #d5edf4!important;box-shadow:none!important}
body.np1380-ui .np137-brand-copy strong{color:#12516a!important}
body.np1380-ui .np137-brand-copy small{color:#80939b!important;text-transform:none!important;letter-spacing:.02em!important}
body.np1380-ui .sidebar nav{gap:2px;overflow-y:auto;overscroll-behavior:contain;padding-right:1px}
body.np1380-ui .np1380-nav-group-label{
  display:block;
  padding:13px 10px 5px;
  color:#82939a;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.np1380-ui .sidebar nav button,
body.np1380-ui .logout{
  color:#3c5661!important;
  background:transparent!important;
  min-height:42px;
  border-radius:10px!important;
  padding:8px 10px!important;
  font-weight:720!important;
  box-shadow:none!important;
}
body.np1380-ui .sidebar nav button .nav-ico{
  width:28px!important;height:28px!important;flex:0 0 28px!important;
  display:inline-grid!important;place-items:center!important;
  background:#f2f6f7!important;color:#59717b!important;
  border-radius:8px!important;font-size:15px!important;
}
body.np1380-ui .sidebar nav button:before{display:none!important}
body.np1380-ui .sidebar nav button:hover{background:#f3f8fa!important;color:#174f65!important}
body.np1380-ui .sidebar nav button.active{
  background:var(--np-brand-soft)!important;
  color:#075f80!important;
  font-weight:850!important;
}
body.np1380-ui .sidebar nav button.active .nav-ico{background:#d8f1f8!important;color:#086f94!important}
body.np1380-ui .sidebar .nav-sale-fast{margin:0!important;width:100%!important}
body.np1380-ui .logout{border-top:1px solid #edf2f4!important;margin-top:10px!important;border-radius:0!important;color:#8a4a4c!important}

body.np1380-ui .app>main>header{
  height:62px;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--np-line);
  padding:0 24px;
  backdrop-filter:blur(12px);
  box-shadow:none;
}
body.np1380-ui .header-status{color:var(--np-muted)}
body.np1380-ui #content{padding:20px 24px 34px}

/* Page heading */
body.np1380-ui .np1380-page-head{
  align-items:center;
  margin:0 0 16px;
  padding:0;
  gap:12px;
}
body.np1380-ui .np-page-title-block{gap:2px!important}
body.np1380-ui .np137-page-kicker{color:#78919c!important;font-size:10px!important;letter-spacing:.07em!important}
body.np1380-ui .page-head h2{font-size:23px!important;line-height:1.2!important;color:#153c4d!important;letter-spacing:-.025em}
body.np1380-ui .np-page-description{max-width:700px;color:#71858e!important;font-size:12.5px!important;line-height:1.45}
body.np1380-ui .actions{gap:7px}
body.np1380-ui .actions button{min-height:39px!important}

/* Buttons: one obvious primary action, quiet secondary actions */
body.np1380-ui button{
  min-height:40px;
  border-radius:10px;
  font-weight:750;
  transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
body.np1380-ui button:active{transform:translateY(1px)}
body.np1380-ui button.primary,
body.np1380-ui .primary{
  color:#fff!important;
  background:var(--np-brand)!important;
  border:1px solid var(--np-brand)!important;
  box-shadow:0 5px 13px rgba(8,125,167,.16)!important;
}
body.np1380-ui button.primary:hover{background:var(--np-brand-strong)!important}
body.np1380-ui button.secondary,
body.np1380-ui .secondary{
  color:#355967!important;
  background:#f5f8f9!important;
  border:1px solid #d8e3e7!important;
  box-shadow:none!important;
}
body.np1380-ui button.danger,
body.np1380-ui .danger{background:#fff2f2!important;border:1px solid #f0c8c9!important;color:#a83b3f!important;box-shadow:none!important}

/* Surfaces */
body.np1380-ui .card,
body.np1380-ui .np1380-surface{
  border:1px solid var(--np-line)!important;
  border-radius:var(--np-radius)!important;
  background:var(--np-surface)!important;
  box-shadow:var(--np-shadow)!important;
}
body.np1380-ui .cards{gap:11px}
body.np1380-ui .metric{padding:15px!important}
body.np1380-ui .metric>span:not(.np137-metric-icon){font-size:11px!important;color:#758991!important;font-weight:750!important}
body.np1380-ui .metric>strong{font-size:23px!important;color:#183e4e!important;margin-top:7px!important}
body.np1380-ui .np137-metric-icon{width:32px!important;height:32px!important;border-radius:9px!important;box-shadow:none!important}
body.np1380-ui .health-hero{border-radius:var(--np-radius);background:linear-gradient(125deg,#0b718f,#0c8ead);box-shadow:none;padding:17px}
body.np1380-ui .workflow-strip{gap:9px}
body.np1380-ui .workflow-strip button{border-radius:12px!important;border:1px solid var(--np-line)!important;box-shadow:none!important}

/* Quick start: simple action-first dashboard */
body.np1380-ui .np1380-quick-start{margin:0 0 15px}
body.np1380-ui .np1380-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 2px 9px}
body.np1380-ui .np1380-section-title small{display:block;color:#7f949d;font-size:9px;font-weight:850;letter-spacing:.09em}
body.np1380-ui .np1380-section-title h3{margin:2px 0 0;font-size:16px;color:#234b5c}
body.np1380-ui .np1380-section-title>span{font-size:11px;color:#8b9ba2}
body.np1380-ui .np1380-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
body.np1380-ui .np1380-quick-grid button{
  display:grid;grid-template-columns:38px minmax(0,1fr) 16px;align-items:center;gap:9px;
  min-height:66px;padding:10px;text-align:left;
  background:#fff;border:1px solid var(--np-line);box-shadow:none;color:var(--np-text)
}
body.np1380-ui .np1380-quick-grid button:hover{border-color:#abd5e2;background:#f7fcfd}
body.np1380-ui .np1380-quick-grid i{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--np-brand-soft);color:#08769c;font-size:20px;font-style:normal;font-weight:900}
body.np1380-ui .np1380-quick-grid span{min-width:0}
body.np1380-ui .np1380-quick-grid b,body.np1380-ui .np1380-quick-grid small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.np1380-ui .np1380-quick-grid b{font-size:13px;color:#254b5b}
body.np1380-ui .np1380-quick-grid small{font-size:10px;color:#7b8f97;margin-top:3px}
body.np1380-ui .np1380-quick-grid em{font-style:normal;color:#92a6ae;font-size:22px}

/* Forms: editable fields are intentionally recognizable */
body.np1380-ui label{color:#49636e;font-size:12px;font-weight:750;gap:6px}
body.np1380-ui input,
body.np1380-ui select,
body.np1380-ui textarea{
  min-width:0;
  border-radius:10px;
  border:1px solid var(--np-line-strong);
  color:#183946;
  background:#fff;
  box-shadow:none;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
body.np1380-ui .np1380-entry-field{
  background:var(--np-entry)!important;
  border-color:var(--np-entry-border)!important;
}
body.np1380-ui .np1380-entry-field:hover{border-color:#72b6cb!important}
body.np1380-ui .np1380-entry-field:focus{
  background:#fff!important;
  border-color:var(--np-entry-focus)!important;
  box-shadow:0 0 0 3px rgba(8,125,167,.12)!important;
  outline:none!important;
}
body.np1380-ui .np1380-readonly-field{background:#f3f5f6!important;color:#667b84!important;border-color:#e0e7ea!important}
body.np1380-ui .np1380-filter-field{background:#fff!important;border-color:#d7e2e6!important}
body.np1380-ui .np1380-field-label{position:relative}
body.np1380-ui .np1380-required:after{content:'';display:none}
body.np1380-ui .np1380-field-active{color:#096c8e!important}
body.np1380-ui .np1380-entry-guide{
  display:flex;align-items:center;gap:8px;
  margin:0 0 10px;padding:8px 10px;border-radius:10px;
  background:#f5fbfd;border:1px solid #d8edf3;color:#57717c;font-size:11px;
}
body.np1380-ui .np1380-entry-guide i{width:17px;height:17px;flex:0 0 17px;border-radius:5px;background:var(--np-entry);border:1px solid var(--np-entry-border)}
body.np1380-ui .field-help{color:#7b8e96!important;font-size:10.5px!important}

/* Tables and lists */
body.np1380-ui .table-wrap,
body.np1380-ui .np1380-table{border:1px solid var(--np-line)!important;border-radius:var(--np-radius)!important;box-shadow:none!important;background:#fff}
body.np1380-ui table th{background:#f7fafb!important;color:#72868e!important;font-size:10px!important;letter-spacing:.045em!important;border-bottom:1px solid var(--np-line)!important}
body.np1380-ui table td{border-bottom:1px solid #edf2f4!important;color:#304f5c}
body.np1380-ui tr.clickable:hover{background:#f7fbfc!important}
body.np1380-ui .pill{border-radius:999px;font-size:10px;font-weight:800;padding:4px 8px}
body.np1380-ui .pill.ok{background:#e8f7f0;color:#187151}
body.np1380-ui .pill.bad{background:#fff0f0;color:#a94043}
body.np1380-ui .empty{padding:30px;color:#7f929a}

/* Filter panels remain visually neutral, so data-entry forms stand out */
body.np1380-ui .np135-filter-panel,
body.np1380-ui .np137-filter-panel{border:1px solid var(--np-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
body.np1380-ui .np135-filter-panel>summary,
body.np1380-ui .np137-filter-panel>summary{min-height:43px;color:#3f5e6b!important}
body.np1380-ui .np137-filter-status{background:#f0f4f5!important;color:#73868e!important}
body.np1380-ui .np137-filter-status.active{background:#e9f7fb!important;color:#087398!important}

/* Modal */
body.np1380-ui .modal-backdrop{background:rgba(16,42,52,.56);backdrop-filter:blur(3px)}
body.np1380-ui .modal,
body.np1380-ui .np1380-modal{border-radius:16px!important;border:1px solid rgba(255,255,255,.75)!important;box-shadow:0 22px 60px rgba(25,55,66,.22)!important}
body.np1380-ui .modal-head{position:sticky;top:-20px;z-index:3;margin:-20px -20px 12px;padding:14px 20px;background:rgba(255,255,255,.97);border-bottom:1px solid #e5ecef;backdrop-filter:blur(10px)}
body.np1380-ui .modal-head h3{color:#214959}

/* Sales: clearer visual hierarchy on both desktop and mobile */
body.np1380-ui[data-np1380-page="newSale"] .page-head{margin-bottom:10px}
body.np1380-ui .sale-layout{gap:12px;grid-template-columns:minmax(0,1.45fr) minmax(310px,.7fr)}
body.np1380-ui .sale-main-card,
body.np1380-ui .sale-payment-card{padding:12px!important}
body.np1380-ui .mobile-sale-section{border:1px solid #e0e9ec;border-radius:12px;background:#fff;margin:0 0 9px;overflow:hidden}
body.np1380-ui .mobile-sale-section>summary{padding:11px 12px;background:#f9fbfc;min-height:52px}
body.np1380-ui .mobile-sale-section[open]>summary{border-bottom:1px solid #e6edef;background:#f5fafb}
body.np1380-ui .mobile-section-body{padding:10px 12px}
body.np1380-ui .section-number{background:var(--np-brand-soft)!important;color:#08769c!important;box-shadow:none!important}
body.np1380-ui .sticky-summary{top:76px}

body.np1380-ui .np-sale-wizard-shell{max-width:760px!important}
body.np1380-ui .np-sale-wizard-head{
  border:1px solid var(--np-line)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:none!important;
}
body.np1380-ui .np-sale-wizard-head h2{color:#1c4859!important}
body.np1380-ui .np-wizard-node i{box-shadow:none!important}
body.np1380-ui .np-wizard-node.active i{background:var(--np-brand)!important}
body.np1380-ui .np-wizard-node.done i{background:var(--np-success)!important}
body.np1380-ui .np-step-card{padding:13px!important;border:1px solid var(--np-line)!important;border-radius:13px!important;box-shadow:none!important}
body.np1380-ui .np-step-icon{background:var(--np-brand-soft)!important;border-radius:10px!important;box-shadow:none!important}
body.np1380-ui .np-step-copy b{color:#244d5d!important}
body.np1380-ui .np-step-copy span{color:#758a92!important}
body.np1380-ui .np-step-card input,
body.np1380-ui .np-step-card select,
body.np1380-ui .np-step-card textarea{border-radius:10px!important}
body.np1380-ui .customer-snapshot{background:#f7fafb!important;border:1px solid #dce8ec!important;color:#375d6c!important}
body.np1380-ui .np-critical-notice{box-shadow:none!important}
body.np1380-ui .np-product-shortcuts button{background:#f5fafb!important;border:1px solid #dce9ed!important;color:#315f70!important;box-shadow:none!important}
body.np1380-ui .np-product-shortcuts button:hover{border-color:#96cad9!important;background:#eff9fc!important}
body.np1380-ui .np-mobile-sale-wizard .item-row{border:1px solid #dce7eb!important;background:#fff!important;box-shadow:none!important;border-radius:12px!important}
body.np1380-ui .np-mobile-sale-wizard .item-row:focus-within{border-color:#a7d3df!important;box-shadow:0 0 0 3px rgba(8,125,167,.055)!important}
body.np1380-ui .qty-control button{background:#f3f8fa!important;border:1px solid #d8e5e9!important;color:#27627a!important;box-shadow:none!important}
body.np1380-ui .add-product-row{background:#f5fbfd!important;border:1px dashed #9fcbd8!important;color:#087092!important}
body.np1380-ui .np-payment-presets button{background:#f4f8f9!important;border:1px solid #d8e4e8!important;color:#385e6c!important;box-shadow:none!important}
body.np1380-ui .np-payment-presets button:hover{background:#eaf7fb!important;border-color:#9bcbd9!important;color:#087092!important}
body.np1380-ui .np-old-debt-box{border-color:#dce8eb!important;background:#fafcfc!important}
body.np1380-ui .np-sale-summary .payment-total-highlight{background:#eef9fc!important;border-color:#b9dfe9!important;box-shadow:none!important}
body.np1380-ui .np-review-customer,
body.np1380-ui .np-review-block,
body.np1380-ui .np-review-total,
body.np1380-ui .np-review-grid,
body.np1380-ui .np-review-note{border:1px solid var(--np-line)!important;border-radius:12px!important;box-shadow:none!important}
body.np1380-ui .np-review-total{background:linear-gradient(135deg,#08799e,#0891b4)!important}

/* Vehicle selection remains as approved, only visually aligned */
body.np1380-ui .np13719-vehicle-chooser{margin:10px 0 2px;padding:10px;border:1px solid #dce9ed;border-radius:12px;background:#fbfdfd}
body.np1380-ui .np13719-vehicle-title b{color:#315764}
body.np1380-ui .np13719-vehicle-title>span{background:#f0f4f5;color:#71848c}
body.np1380-ui .np13719-vehicle-option{min-height:54px;border-color:#dce7ea;border-radius:10px;box-shadow:none}
body.np1380-ui .np13719-vehicle-option.selected{border-color:#73b8cc;background:#effaff;box-shadow:0 0 0 2px rgba(8,125,167,.07)}

/* Mobile */
@media(max-width:900px){
  body.np1380-ui{padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}
  body.np1380-ui.mobile-sales-open{padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
  body.np1380-ui .app{display:block;min-height:100dvh}
  body.np1380-ui #content{
    width:100%!important;
    padding:10px max(10px,env(safe-area-inset-right)) 20px max(10px,env(safe-area-inset-left))!important;
  }

  body.np1380-ui .sidebar{
    position:fixed!important;inset:0 auto 0 0!important;z-index:130!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    width:min(320px,88vw)!important;max-width:88vw!important;
    padding:max(12px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
    transform:translateX(-104%);transition:transform .22s ease;
    box-shadow:18px 0 50px rgba(21,48,58,.18)!important;
  }
  body.np1380-ui.menu-open .sidebar{transform:translateX(0)}
  body.np1380-ui .sidebar .brand{display:flex!important;padding-right:44px}
  body.np1380-ui .sidebar nav{display:block!important;overflow-y:auto!important;padding-bottom:12px!important}
  body.np1380-ui .sidebar nav button{display:flex!important;width:100%!important;margin:1px 0!important;white-space:normal!important}
  body.np1380-ui .sidebar nav button.hidden{display:none!important}
  body.np1380-ui .menu-close{display:grid!important;place-items:center!important;top:max(13px,env(safe-area-inset-top))!important;right:12px!important;width:34px!important;height:34px!important;border-radius:9px!important;background:#f1f6f7!important;color:#45616c!important}
  body.np1380-ui .mobile-menu-backdrop:not(.hidden){z-index:120!important;background:rgba(17,42,51,.42)!important;backdrop-filter:blur(2px)}

  body.np1380-ui .page-head{margin-bottom:10px!important;gap:8px!important}
  body.np1380-ui .page-head h2{font-size:20px!important}
  body.np1380-ui .np-page-description{display:none!important}
  body.np1380-ui .np137-page-kicker{font-size:9px!important}
  body.np1380-ui .page-head .actions{display:flex!important;width:100%!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none;padding-bottom:1px}
  body.np1380-ui .page-head .actions::-webkit-scrollbar{display:none}
  body.np1380-ui .page-head .actions button{flex:0 0 auto!important;min-height:37px!important;padding:7px 10px!important;font-size:11px!important}

  body.np1380-ui .mobile-bottom-nav{
    display:grid!important;
    grid-template-columns:repeat(var(--np-mobile-nav-count,5),minmax(0,1fr))!important;
    left:max(7px,env(safe-area-inset-left))!important;
    right:max(7px,env(safe-area-inset-right))!important;
    bottom:max(6px,env(safe-area-inset-bottom))!important;
    width:auto!important;height:62px!important;
    border:1px solid #dce7ea!important;border-radius:16px!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 10px 28px rgba(27,61,74,.16)!important;
    overflow:hidden!important;backdrop-filter:blur(14px)!important;
  }
  body.np1380-ui .mobile-bottom-nav button{
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;
    min-width:0!important;min-height:60px!important;padding:4px 2px!important;border-radius:0!important;
    background:transparent!important;color:#72858d!important;box-shadow:none!important;
  }
  body.np1380-ui .mobile-bottom-nav button.hidden{display:none!important}
  body.np1380-ui .mobile-bottom-nav button.active{background:#eff9fc!important;color:#087397!important}
  body.np1380-ui .mobile-bottom-nav .mnav-sale,
  body.np1380-ui .mobile-bottom-nav .mnav-sale.active{background:transparent!important;color:#087397!important}
  body.np1380-ui .mobile-bottom-nav .mnav-icon,
  body.np1380-ui .mobile-bottom-nav .mnav-plus{font-size:20px!important;line-height:1!important;font-weight:900!important}
  body.np1380-ui .mobile-bottom-nav button>span:last-child{font-size:9px!important;font-weight:780!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}

  body.np1380-ui .np1380-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body.np1380-ui .np1380-quick-grid button{grid-template-columns:34px minmax(0,1fr);min-height:59px;padding:8px;gap:7px}
  body.np1380-ui .np1380-quick-grid i{width:34px;height:34px;font-size:18px}
  body.np1380-ui .np1380-quick-grid em{display:none}
  body.np1380-ui .np1380-section-title>span{display:none}
  body.np1380-ui .cards{gap:8px}
  body.np1380-ui .metric{padding:12px!important}
  body.np1380-ui .metric>strong{font-size:20px!important}

  body.np1380-ui .card{padding:12px!important;border-radius:12px!important;box-shadow:none!important}
  body.np1380-ui .form-grid{gap:8px}
  body.np1380-ui label{margin:8px 0;font-size:11px}
  body.np1380-ui input,body.np1380-ui select,body.np1380-ui textarea{font-size:16px!important;min-height:45px;padding:9px 10px}

  /* Mobile tables become calm cards; no page-level horizontal drift. */
  body.np1380-ui .np-mobile-card-wrap{overflow:visible!important;border:0!important;background:transparent!important}
  body.np1380-ui .np-mobile-card-table tbody{gap:8px!important}
  body.np1380-ui .np-mobile-card-table tbody tr{border:1px solid var(--np-line)!important;border-radius:12px!important;box-shadow:none!important;background:#fff!important;padding:10px!important}
  body.np1380-ui .np-mobile-card-table tbody td{padding:6px 0!important;border:0!important;white-space:normal!important}

  body.np1380-ui.mobile-sales-open .mobile-bottom-nav{display:none!important}

  /* Sale is a focused workflow, not a long form. */
  body.np1380-ui.mobile-sales-open #content{padding-top:6px!important;padding-bottom:16px!important}
  body.np1380-ui.mobile-sales-open .page-head{display:none!important}
  body.np1380-ui .np-sale-wizard-shell{width:100%!important;max-width:100%!important}
  body.np1380-ui .np-sale-wizard-head{
    position:sticky!important;top:0!important;z-index:22!important;
    margin:0 0 7px!important;padding:9px 10px!important;
    min-height:58px!important;border-radius:12px!important;
  }
  body.np1380-ui .np-sale-wizard-head>div:first-child{min-width:0}
  body.np1380-ui .np-sale-wizard-head h2{font-size:17px!important;margin:1px 0!important}
  body.np1380-ui .np-sale-wizard-head p{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.np1380-ui .np1380-entry-guide{margin:0 0 7px;padding:7px 9px;font-size:10px}
  body.np1380-ui .np-step-card{margin-bottom:7px!important;padding:10px!important}
  body.np1380-ui .np-step-copy{margin-bottom:7px!important}
  body.np1380-ui .np-step-copy b{font-size:13px!important}
  body.np1380-ui .np-step-copy span{font-size:10px!important}
  body.np1380-ui .np-step-icon{width:31px!important;height:31px!important;font-size:16px!important}
  body.np1380-ui .np13719-vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  body.np1380-ui .np13719-vehicle-option{padding:8px!important;min-height:52px!important;gap:7px!important}
  body.np1380-ui .np13719-vehicle-option small{font-size:9px!important}
  body.np1380-ui .np-product-shortcuts{flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:3px;scrollbar-width:none}
  body.np1380-ui .np-product-shortcuts::-webkit-scrollbar{display:none}
  body.np1380-ui .np-mobile-sale-wizard .item-row{padding:8px!important;gap:5px!important}
  body.np1380-ui .np-payment-presets{gap:5px!important}
  body.np1380-ui .np-payment-presets button{min-height:36px!important;font-size:10px!important}

  body.np1380-ui .mobile-sale-bar{
    left:max(7px,env(safe-area-inset-left))!important;
    right:max(7px,env(safe-area-inset-right))!important;
    bottom:max(6px,env(safe-area-inset-bottom))!important;
    width:auto!important;min-width:0!important;
    border:1px solid #d9e6ea!important;border-radius:15px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 10px 28px rgba(27,61,74,.16)!important;
    backdrop-filter:blur(14px)!important;
  }
  body.np1380-ui .mobile-sale-bar #mobileSaveSaleBtn{background:var(--np-brand)!important;border:1px solid var(--np-brand)!important;color:#fff!important;box-shadow:none!important}
  body.np1380-ui .mobile-sale-bar .np-sale-back{background:#f3f7f8!important;border:1px solid #d9e4e8!important;color:#46636f!important}

  body.np1380-ui .modal-backdrop{padding:8px!important;align-items:end!important}
  body.np1380-ui .modal{width:100%!important;max-width:100%!important;max-height:92dvh!important;border-radius:18px 18px 10px 10px!important;padding:15px!important}
  body.np1380-ui .modal-head{top:-15px;margin:-15px -15px 10px;padding:12px 15px}
}

@media(max-width:520px){
  body.np1380-ui .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.np1380-ui .cards>div:only-child{grid-column:1/-1}
  body.np1380-ui .health-hero{grid-template-columns:1fr!important;padding:14px!important}
  body.np1380-ui .health-notes{display:none!important}
  body.np1380-ui .health-hero strong{font-size:32px!important}
  body.np1380-ui .cash-split{grid-template-columns:1fr!important}
}

@media(max-width:360px){
  body.np1380-ui #content{padding-left:8px!important;padding-right:8px!important}
  body.np1380-ui .np1380-quick-grid{grid-template-columns:1fr 1fr}
  body.np1380-ui .np1380-quick-grid small{display:none}
  body.np1380-ui .np13719-vehicle-grid{grid-template-columns:1fr!important}
  body.np1380-ui .mobile-bottom-nav button>span:last-child{font-size:8px!important}
}

@media(min-width:901px){
  body.np1380-ui .mobile-bottom-nav{display:none!important}
  body.np1380-ui .menu-close{display:none!important}
  body.np1380-ui .np-mobile-card-wrap{overflow:auto!important}
}

@media(prefers-reduced-motion:reduce){
  body.np1380-ui *,body.np1380-ui *:before,body.np1380-ui *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* ===== css/design_1_38_1.css ===== */
/* Nam Phuong ERP Stable 1.38.1 · Mobile UI Hotfix
   Fixes sidebar overlay interaction, mobile sale action-bar balance,
   and the raised center navigation item inherited from older themes. */

@media (max-width:900px){
  /* 1) Mobile drawer: keep the dim layer behind the drawer and never blur it. */
  body.np1380-ui.menu-open:after{display:none!important;content:none!important}
  body.np1380-ui #mobileMenuBackdrop{
    position:fixed!important;
    inset:0!important;
    z-index:9990!important;
    background:rgba(17,42,51,.48)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .18s ease,visibility .18s ease!important;
  }
  body.np1380-ui #mobileMenuBackdrop:not(.hidden),
  body.np1380-ui.menu-open #mobileMenuBackdrop{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.np1380-ui #sidebar.sidebar{
    z-index:10000!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    -webkit-filter:none!important;
    filter:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    isolation:isolate!important;
  }
  body.np1380-ui.menu-open #sidebar.sidebar,
  body.np1380-ui.menu-open #sidebar.sidebar *{pointer-events:auto!important}
  body.np1380-ui #sidebar.sidebar nav,
  body.np1380-ui #sidebar.sidebar nav button,
  body.np1380-ui #sidebar.sidebar .logout,
  body.np1380-ui #sidebar.sidebar .menu-close{position:relative;z-index:1}

  /* 2) Bottom navigation: use five equal, flat items. Remove the old raised sale bubble. */
  body.np1380-ui .mobile-bottom-nav{
    z-index:5000!important;
    height:64px!important;
    min-height:64px!important;
    padding:3px!important;
    overflow:hidden!important;
  }
  body.np1380-ui .mobile-bottom-nav button,
  body.np1380-ui .mobile-bottom-nav .mnav-sale,
  body.np1380-ui .mobile-bottom-nav .mnav-sale.active{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    margin:0!important;
    min-height:56px!important;
    height:56px!important;
    padding:4px 2px!important;
    border:0!important;
    border-radius:11px!important;
    box-shadow:none!important;
    background:transparent!important;
    color:#72858d!important;
    opacity:1!important;
  }
  body.np1380-ui .mobile-bottom-nav button.active,
  body.np1380-ui .mobile-bottom-nav .mnav-sale.active{
    background:#eff9fc!important;
    color:#087397!important;
  }
  body.np1380-ui .mobile-bottom-nav .mnav-sale *,
  body.np1380-ui .mobile-bottom-nav .mnav-sale.active *{
    color:inherit!important;
    opacity:1!important;
  }
  body.np1380-ui .mobile-bottom-nav .mnav-plus{
    font-size:20px!important;
    line-height:1!important;
    font-weight:900!important;
  }

  /* 3) Sales action bar: reserve enough room for the full order total. */
  body.np1380-ui .mobile-sale-bar.hidden{display:none!important}
  body.np1380-ui .mobile-sale-bar{
    z-index:5100!important;
    display:grid!important;
    grid-template-columns:44px minmax(84px,.78fr) minmax(145px,1.32fr)!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:6px!important;
    min-height:70px!important;
    height:auto!important;
    padding:7px!important;
    overflow:hidden!important;
  }
  body.np1380-ui .mobile-sale-bar.np-first-step,
  body.np1380-ui[data-sale-step="1"] .mobile-sale-bar{
    grid-template-columns:minmax(94px,.72fr) minmax(165px,1.28fr)!important;
  }
  body.np1380-ui .mobile-sale-bar>*{min-width:0!important;max-width:100%!important}
  body.np1380-ui .mobile-sale-bar>div{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:0 2px!important;
    overflow:visible!important;
  }
  body.np1380-ui .mobile-sale-bar small{
    display:block!important;
    margin:0 0 1px!important;
    color:#7b8d95!important;
    font-size:10px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
  body.np1380-ui .mobile-sale-bar strong{
    display:block!important;
    width:max-content!important;
    max-width:none!important;
    color:#15465a!important;
    font-size:17px!important;
    line-height:1.15!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  body.np1380-ui .mobile-sale-bar .np-sale-back{
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:54px!important;
    min-height:54px!important;
    padding:0!important;
    font-size:22px!important;
  }
  body.np1380-ui .mobile-sale-bar .np-sale-back.hidden{display:none!important}
  body.np1380-ui .mobile-sale-bar #mobileSaveSaleBtn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 10px!important;
    font-size:14px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Keep scrolling content clear of the fixed control. */
  body.np1380-ui.mobile-sales-open #content{padding-bottom:90px!important}
}

@media (max-width:360px){
  body.np1380-ui .mobile-sale-bar{
    grid-template-columns:42px minmax(78px,.72fr) minmax(136px,1.28fr)!important;
    gap:5px!important;
    padding:6px!important;
  }
  body.np1380-ui .mobile-sale-bar.np-first-step,
  body.np1380-ui[data-sale-step="1"] .mobile-sale-bar{
    grid-template-columns:minmax(84px,.68fr) minmax(150px,1.32fr)!important;
  }
  body.np1380-ui .mobile-sale-bar strong{font-size:16px!important}
  body.np1380-ui .mobile-sale-bar #mobileSaveSaleBtn{font-size:13px!important;padding:0 7px!important}
  body.np1380-ui .mobile-sale-bar .np-sale-back{width:42px!important;min-width:42px!important;max-width:42px!important}
}

/* ===== css/design_1_38_2.css ===== */
/* Stable 1.38.2 - compact bottle flow card in approval detail */
.np1382-bottle-flow{
  display:flex;
  align-items:center;
  gap:12px;
  margin:14px 0;
  padding:13px 15px;
  border:1px solid #b9dfe2;
  border-radius:15px;
  background:#eff9fa;
  color:#174e5b;
  box-shadow:0 5px 14px rgba(16,91,107,.06);
}
.np1382-bottle-flow .np1382-bottle-icon{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:12px;
  background:#d9f0f2;
  color:#087b91;
  font-size:18px;
  line-height:1;
}
.np1382-bottle-flow>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.np1382-bottle-flow small{
  color:#54727a;
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
}
.np1382-bottle-flow strong{
  color:#123f49;
  font-size:18px;
  line-height:1.25;
  white-space:nowrap;
}
.np1382-bottle-flow strong i{
  padding:0 5px;
  color:#779097;
  font-style:normal;
  font-weight:600;
}
.np1382-bottle-flow.balanced{
  border-color:#b8e2d0;
  background:#f0faf5;
}
.np1382-bottle-flow.balanced .np1382-bottle-icon{
  background:#d9f2e6;
  color:#16825c;
}
.np1382-bottle-flow.short{
  border-color:#ead8ad;
  background:#fffaf0;
}
.np1382-bottle-flow.short .np1382-bottle-icon{
  background:#f8ebca;
  color:#9a6a13;
}
@media(max-width:420px){
  .np1382-bottle-flow{
    margin:12px 0;
    padding:12px;
    border-radius:14px;
  }
  .np1382-bottle-flow strong{font-size:17px}
}

/* ===== css/design_1_38_3.css ===== */
/* Stable 1.38.3 - Login screen input usability fix */
body:not(.np-authenticated) #mobileBottomNav{
  display:none!important;
}

.login-input-wrap,
.password-wrap{
  position:relative;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  min-height:56px;
  border:1.5px solid #c5e0eb;
  border-radius:17px;
  background:#f8fcfe;
  box-shadow:0 2px 0 #fff inset;
  overflow:hidden;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.password-wrap{
  grid-template-columns:48px minmax(0,1fr) 48px;
}
.login-input-wrap>i,
.password-wrap>i{
  position:static!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  width:48px;
  height:56px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  font-style:normal;
  font-size:18px;
  line-height:1;
  color:#4e8096;
  background:linear-gradient(180deg,#f5fbfe,#eef7fb);
  border-right:1px solid #d8e9f1;
  filter:none!important;
  z-index:auto!important;
  pointer-events:none;
}
.login-input-wrap input,
.password-wrap input{
  width:100%;
  min-width:0;
  height:56px!important;
  margin:0;
  padding:0 15px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-weight:650;
  color:#123c54;
}
.login-input-wrap input:focus,
.password-wrap input:focus{
  outline:none;
  border:0!important;
  box-shadow:none!important;
}
.login-input-wrap:focus-within,
.password-wrap:focus-within{
  border-color:#1196c7;
  background:#fff;
  box-shadow:0 0 0 4px #1b9ccc18,0 7px 20px #0879a810;
}
.password-wrap button{
  position:static!important;
  right:auto!important;
  top:auto!important;
  width:48px!important;
  height:56px!important;
  min-width:48px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-left:1px solid #d8e9f1;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
  font-size:19px!important;
  color:#4e8096!important;
}
.password-wrap button:active{
  background:#eef7fb!important;
}

@media(max-width:520px){
  .np-login-card{
    width:min(470px,94vw);
    padding:24px 18px 20px;
  }
  .login-input-wrap,
  .password-wrap{
    grid-template-columns:44px minmax(0,1fr);
    min-height:54px;
    border-radius:16px;
  }
  .password-wrap{
    grid-template-columns:44px minmax(0,1fr) 44px;
  }
  .login-input-wrap>i,
  .password-wrap>i,
  .password-wrap button,
  .login-input-wrap input,
  .password-wrap input{
    height:54px!important;
  }
  .login-input-wrap>i,
  .password-wrap>i,
  .password-wrap button{
    width:44px!important;
    min-width:44px!important;
  }
  .login-input-wrap input,
  .password-wrap input{
    padding:0 13px!important;
    font-size:16px!important;
  }
}

/* ===== css/design_1_38_4.css ===== */
/* Nam Phuong ERP Stable 1.38.4
   Approval quick-scan layout: customer, products, quantities, bottles and money first. */

.np1384-quick-approval .np1384-order-glance{
  display:grid;
  grid-template-columns:minmax(260px,1.45fr) repeat(2,minmax(150px,.55fr));
  gap:9px;
  margin:10px 0 12px;
}
.np1384-order-glance>div{
  min-width:0;
  padding:12px 14px;
  border:1px solid #cfe2e9;
  border-radius:14px;
  background:#fff;
  box-shadow:0 4px 13px rgba(21,80,104,.05);
}
.np1384-order-glance small,
.np1384-payment-card small{
  display:block;
  margin-bottom:4px;
  color:#6b818b;
  font-size:10px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.np1384-order-glance strong{
  display:block;
  color:#123f55;
  font-size:18px;
  line-height:1.22;
  overflow-wrap:anywhere;
}
.np1384-order-glance .np1384-customer{
  border-left:5px solid #0b8caf;
  background:linear-gradient(135deg,#edfaff,#fff 72%);
}
.np1384-order-glance .np1384-customer strong{
  color:#073f58;
  font-size:22px;
}
.np1384-order-glance .np1384-qty{
  border-color:#bedfe9;
  background:#f2fbfd;
}
.np1384-order-glance .np1384-qty strong{
  color:#087694;
  font-size:24px;
}
.np1384-order-glance .np1384-total{
  border-color:#b9dfca;
  background:#f1fbf5;
}
.np1384-order-glance .np1384-total strong{
  color:#0b6b45;
  font-size:23px;
}
.np1384-order-glance .np1384-old-debt{
  border-color:#efd4a8;
  background:#fff9ef;
}
.np1384-order-glance .np1384-old-debt strong{color:#9a5e0a}

.np1384-section-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:10px 1px 7px;
}
.np1384-section-title div{min-width:0}
.np1384-section-title small{
  display:block;
  color:#748993;
  font-size:10px;
  font-weight:850;
  letter-spacing:.07em;
}
.np1384-section-title h4{
  margin:2px 0 0;
  color:#143f55;
  font-size:17px;
}
.np1384-section-title>span{
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:999px;
  background:#def3f8;
  color:#087592;
  font-size:12px;
  font-weight:900;
}

.np1384-product-table{
  overflow:hidden!important;
  border:1px solid #cfe3ea!important;
  border-radius:15px!important;
  background:#fff;
  box-shadow:0 5px 16px rgba(16,76,101,.06);
}
.np1384-product-table table{table-layout:fixed}
.np1384-product-table thead th{
  padding:10px 12px;
  background:#eef8fb!important;
  color:#5e7783!important;
  border-bottom:1px solid #cfe3ea!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.06em;
}
.np1384-product-table thead th:first-child{width:46%}
.np1384-product-table thead th:nth-child(2){width:12%;text-align:center}
.np1384-product-table thead th:nth-child(3){width:19%}
.np1384-product-table thead th:nth-child(4){width:23%}
.np1384-product-table tbody tr:nth-child(even){background:#fbfdfe}
.np1384-product-table tbody td{
  padding:12px!important;
  border-bottom:1px solid #e3ecef!important;
  white-space:normal!important;
  vertical-align:middle;
}
.np1384-product-table tbody tr:last-child td{border-bottom:0!important}
.np1384-product-table tbody td:first-child{
  color:#073f5b!important;
  font-size:15px!important;
  font-weight:900!important;
  overflow-wrap:anywhere;
}
.np1384-product-table tbody td:nth-child(2){text-align:center}
.np1384-product-table tbody td:nth-child(2) .np1384-qty-badge{
  display:inline-grid;
  min-width:44px;
  min-height:36px;
  place-items:center;
  padding:5px 10px;
  border:1px solid #acd8e5;
  border-radius:11px;
  background:#e7f7fb;
  color:#067795;
  font-size:20px;
  font-weight:950;
  line-height:1;
}
.np1384-product-table tbody td:nth-child(3){color:#405c69}
.np1384-product-table tbody td:nth-child(4){color:#0a6844;font-weight:900}

.np1384-quick-approval .np1382-bottle-flow{
  margin:12px 0!important;
  border-width:1.5px;
}
.np1384-quick-approval .np1382-bottle-flow strong{font-size:19px}

.np1384-payment-overview{
  margin-top:12px!important;
  padding:11px!important;
  border:1px solid #d4e5eb!important;
  border-radius:15px!important;
  background:#fbfdfe!important;
}
.np1384-payment-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:58px;
  padding:11px 13px;
  border:1.5px solid #55b985;
  border-radius:12px;
  background:linear-gradient(135deg,#eafaf1,#f7fff9);
}
.np1384-payment-total span{color:#145d3e;font-weight:900}
.np1384-payment-total strong{color:#09643f;font-size:25px;white-space:nowrap}
.np1384-payment-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}
.np1384-payment-card{
  min-width:0;
  padding:10px 11px;
  border:1px solid #dbe7eb;
  border-radius:11px;
  background:#fff;
}
.np1384-payment-card strong{
  display:block;
  color:#173f54;
  font-size:15px;
  overflow-wrap:anywhere;
}
.np1384-payment-card.cash{border-color:#bde4ce;background:#f2fbf6}
.np1384-payment-card.bank{border-color:#bcdcf0;background:#f2f9fd}
.np1384-payment-card.debt{border-color:#efc5cc;background:#fff5f6}
.np1384-payment-card.debt strong{color:#ae2c3d}
.np1384-payment-card.old-debt{border-color:#efd3a5;background:#fff9ef}
.np1384-payment-card.old-debt strong{color:#985d0a}
.np1384-payment-card.paid{
  grid-column:1/-1;
  border-color:#bde4ce;
  background:#f2fbf6;
  text-align:center;
}
.np1384-payment-card.paid strong{color:#08704a}

.np1384-supporting-details{
  margin:12px 0 4px;
  border:1px solid #dbe7eb;
  border-radius:12px;
  background:#fafcfd;
  overflow:hidden;
}
.np1384-supporting-details>summary{
  cursor:pointer;
  padding:11px 13px;
  color:#526d79;
  font-size:13px;
  font-weight:850;
  list-style:none;
}
.np1384-supporting-details>summary::-webkit-details-marker{display:none}
.np1384-supporting-details>summary:after{content:'＋';float:right;color:#73909c}
.np1384-supporting-details[open]>summary:after{content:'−'}
.np1384-supporting-details .np138-order-meta{
  margin:0!important;
  padding:0 10px 10px;
}

@media(max-width:700px){
  .np1384-quick-approval .modal-head .muted{display:none}
  .np1384-order-glance{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  .np1384-order-glance .np1384-customer{grid-column:1/-1}
  .np1384-order-glance .np1384-old-debt{grid-column:1/-1}
  .np1384-order-glance>div{padding:10px 11px;border-radius:12px}
  .np1384-order-glance .np1384-customer strong{font-size:20px}
  .np1384-order-glance .np1384-qty strong,
  .np1384-order-glance .np1384-total strong{font-size:21px}

  .np1384-product-table{overflow:visible!important;border:0!important;box-shadow:none!important;background:transparent}
  .np1384-product-table table,
  .np1384-product-table tbody{display:block;width:100%}
  .np1384-product-table thead{display:none}
  .np1384-product-table tbody{display:grid;gap:8px}
  .np1384-product-table tbody tr{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:'name qty' 'price amount';
    gap:8px 12px;
    padding:11px 12px;
    border:1px solid #cfe3ea;
    border-left:4px solid #0b8caf;
    border-radius:13px;
    background:#fff!important;
    box-shadow:0 4px 12px rgba(16,76,101,.05);
  }
  .np1384-product-table tbody td{
    display:block;
    padding:0!important;
    border:0!important;
    min-width:0;
  }
  .np1384-product-table tbody td:first-child{grid-area:name;font-size:15px!important}
  .np1384-product-table tbody td:nth-child(2){grid-area:qty;text-align:right}
  .np1384-product-table tbody td:nth-child(3){grid-area:price;font-size:12px}
  .np1384-product-table tbody td:nth-child(4){grid-area:amount;text-align:right;font-size:14px}
  .np1384-product-table tbody td:nth-child(3):before,
  .np1384-product-table tbody td:nth-child(4):before{
    display:block;
    margin-bottom:2px;
    color:#718792;
    font-size:9px;
    font-weight:850;
    letter-spacing:.06em;
  }
  .np1384-product-table tbody td:nth-child(3):before{content:'ĐƠN GIÁ'}
  .np1384-product-table tbody td:nth-child(4):before{content:'THÀNH TIỀN'}
  .np1384-payment-grid{grid-template-columns:1fr 1fr}
  .np1384-payment-total strong{font-size:22px}
}

@media(max-width:380px){
  .np1384-order-glance{grid-template-columns:1fr!important}
  .np1384-order-glance .np1384-customer,
  .np1384-order-glance .np1384-old-debt{grid-column:auto}
  .np1384-payment-grid{grid-template-columns:1fr}
}

/* ===== css/design_1_39_0.css ===== */
/* Nam Phuong ERP Stable 1.39.0 · Report overview */
.np139-shell{display:grid;gap:12px;min-width:0}.np139-filter-card{background:#fff;border:1px solid #dce8ed;border-radius:17px;padding:12px;box-shadow:0 5px 18px rgba(20,73,91,.05)}.np139-filter-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.np139-presets{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.np139-presets::-webkit-scrollbar,.np139-tabs::-webkit-scrollbar{display:none}.np139-preset,.np139-more-filter>summary{flex:0 0 auto;min-height:38px;padding:8px 13px;border:1px solid #dbe6ea;border-radius:11px;background:#f7fafb;color:#42606d;font-weight:800;cursor:pointer;list-style:none}.np139-more-filter>summary::-webkit-details-marker,.np139-more-tabs>summary::-webkit-details-marker{display:none}.np139-preset.active{background:#087ca3;border-color:#087ca3;color:#fff;box-shadow:0 5px 13px rgba(8,124,163,.18)}.np139-more-filter{position:relative;flex:0 0 auto}.np139-more-filter[open]>summary{background:#edf8fb;border-color:#a9d6e2;color:#087397}.np139-filter-grid{position:absolute;right:0;top:46px;z-index:60;width:min(720px,calc(100vw - 36px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border:1px solid #cfe0e6;border-radius:16px;background:#fff;box-shadow:0 20px 55px rgba(15,57,74,.18)}.np139-filter-grid label{margin:0}.np139-filter-grid label span{font-size:11px;color:#687e87}.np139-filter-grid select,.np139-filter-grid input{min-height:44px}.np139-filter-grid button{grid-column:1/-1;min-height:44px}.np139-range-line{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #edf2f4}.np139-range-line>div{display:grid;gap:2px}.np139-range-line span{font-weight:900;color:#153f50}.np139-range-line small{color:#748891}.np139-range-line em{font-style:normal;font-size:11px;font-weight:800;color:#0c7898;background:#eef9fc;border-radius:999px;padding:6px 10px}.np139-tabs{position:sticky;top:66px;z-index:18;display:flex;gap:7px;align-items:center;overflow-x:auto;padding:3px 1px 8px;background:linear-gradient(#f4f8fb 76%,transparent)}.np139-tab-button,.np139-more-tabs>summary{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-height:39px;padding:8px 12px;border:1px solid #dbe5e9;border-radius:11px;background:#f7fafb;color:#45606c;font-weight:850;cursor:pointer;list-style:none}.np139-tab-button>span,.np139-more-tabs>summary>span{font-size:16px}.np139-tab-button.active,.np139-more-tabs.active>summary{background:#123f52;border-color:#123f52;color:#fff;box-shadow:0 5px 14px rgba(18,63,82,.18)}.np139-more-tabs{position:relative;flex:0 0 auto}.np139-more-tabs>div{position:absolute;right:0;top:47px;z-index:55;display:grid;min-width:190px;padding:7px;border:1px solid #d5e1e5;border-radius:13px;background:#fff;box-shadow:0 17px 42px rgba(18,55,69,.18)}.np139-more-tabs>div button{text-align:left;background:transparent;color:#294d5c;font-weight:750;padding:10px;border-radius:9px}.np139-more-tabs>div button:hover,.np139-more-tabs>div button.active{background:#edf8fb;color:#087397}.np139-overview{display:grid;gap:12px}.np139-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;padding:22px;border-radius:20px;color:#fff;background:linear-gradient(125deg,#075f83,#078fb4 55%,#0a9b9a);box-shadow:0 15px 34px rgba(7,104,138,.2);overflow:hidden;position:relative}.np139-hero:after{content:"";position:absolute;width:240px;height:240px;right:-85px;top:-105px;border-radius:50%;border:38px solid rgba(255,255,255,.08)}.np139-hero-main{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}.np139-hero-main>small{font-size:10px;font-weight:900;letter-spacing:.1em;opacity:.8}.np139-hero-main>strong{font-size:34px;line-height:1.1;margin:8px 0 5px;overflow-wrap:anywhere}.np139-hero-main>p{margin:0 0 10px;font-size:12px;opacity:.88}.np139-delta{display:inline-flex;align-items:center;font-size:10.5px;font-weight:850;padding:4px 7px;border-radius:999px;background:#eef3f5;color:#667c85}.np139-hero .np139-delta{background:rgba(255,255,255,.15);color:#fff}.np139-delta.good{color:#137f51;background:#e9f7ef}.np139-delta.bad{color:#bd4037;background:#fff0ef}.np139-hero .np139-delta.good,.np139-hero .np139-delta.bad,.np139-hero .np139-delta.neutral{color:#fff;background:rgba(255,255,255,.15)}.np139-hero-side{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(255,255,255,.1);backdrop-filter:blur(5px)}.np139-hero-side>div{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:14px;border-right:1px solid rgba(255,255,255,.17)}.np139-hero-side>div:last-child{border-right:0}.np139-hero-side span,.np139-hero-side b,.np139-hero-side small{display:block}.np139-hero-side span{font-size:10px;opacity:.78}.np139-hero-side b{font-size:17px;margin:5px 0;overflow-wrap:anywhere}.np139-hero-side small{font-size:9.5px;line-height:1.35;opacity:.78}.np139-hero-side .warn{background:rgba(145,82,0,.12)}.np139-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.np139-main-kpi{min-width:0;padding:14px;border:1px solid #dce7eb;border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(20,73,91,.05);position:relative;overflow:hidden}.np139-main-kpi:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#2e89b4}.np139-main-kpi.green:after{background:#2f9b6c}.np139-main-kpi.violet:after{background:#7d68b5}.np139-main-kpi.orange:after{background:#d78c32}.np139-main-kpi header{display:flex;align-items:center;gap:7px}.np139-main-kpi header>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#edf6fa;color:#08799d;font-weight:900}.np139-main-kpi header small{font-size:10.5px;font-weight:850;color:#6a7e87}.np139-main-kpi>strong{display:block;font-size:21px;color:#173e4d;margin:8px 0 5px;overflow-wrap:anywhere}.np139-main-kpi>p{margin:5px 0 0;font-size:10px;color:#758990;line-height:1.35}.np139-card{min-width:0;padding:16px;border:1px solid #dce7eb;border-radius:17px;background:#fff;box-shadow:0 4px 15px rgba(20,73,91,.05)}.np139-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}.np139-section-head small,.np139-section-head h3{display:block;margin:0}.np139-section-head small{font-size:9.5px;font-weight:850;color:#758990;letter-spacing:.07em}.np139-section-head h3{font-size:16px;color:#173e4d;margin-top:3px}.np139-section-head>button,.np139-section-head>div+button{padding:5px 8px;background:#eef8fb;color:#087397;font-size:10px;font-weight:850}.np139-section-head>div+small{font-size:10px;letter-spacing:0;color:#748991}.np139-section-head>div+b{font-size:11px;color:#0c7797}.np139-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.np139-flow-item{display:grid;gap:4px;padding:12px;border-radius:13px;background:#f5f8fa;border-left:4px solid #8499a2}.np139-flow-item.cash{background:#f0faf5;border-color:#35a16d}.np139-flow-item.bank{background:#eff8fc;border-color:#2e87b4}.np139-flow-item.old-debt{background:#f5f2fb;border-color:#7e68b5}.np139-flow-item.debt{background:#fff4ef;border-color:#d8793e}.np139-flow-item.good{background:#f0faf5;border-color:#35a16d}.np139-flow-item span{font-size:10px;color:#6c8089;font-weight:800}.np139-flow-item strong{font-size:16px;color:#183f4e;overflow-wrap:anywhere}.np139-flow-item small{font-size:9.5px;color:#7a8e96}.np139-two-column{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.np139-three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.np139-rank-list{display:grid}.np139-rank-list article{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 2px;border-bottom:1px solid #edf2f4;cursor:pointer}.np139-rank-list article:last-child{border-bottom:0}.np139-rank-list article>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e8f1f5;color:#1a5a72;font-size:9px;font-weight:900}.np139-rank-list b,.np139-rank-list small{display:block}.np139-rank-list b{font-size:11px;color:#203f4b}.np139-rank-list small{font-size:9px;color:#788b93;margin-top:2px}.np139-rank-list i{display:block;height:4px;border-radius:999px;background:#eaf0f2;margin-top:5px;overflow:hidden}.np139-rank-list em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2a94bc,#32a891)}.np139-rank-list article>strong{font-size:10.5px;text-align:right;color:#0b6f91}.np139-card-link{width:100%;margin-top:10px;padding:8px;background:#f1f8fa;color:#087397;font-weight:850}.np139-empty{padding:17px;text-align:center;border-radius:11px;background:#f6f9fa;color:#7a8c93;font-size:11px}.np139-product-loading{display:flex;align-items:center;justify-content:center;gap:8px;min-height:120px;color:#71858d;font-size:11px}.np139-product-loading i{width:18px;height:18px;border:2px solid #d6e3e7;border-top-color:#1782a3;border-radius:50%;animation:np139spin .75s linear infinite}@keyframes np139spin{to{transform:rotate(360deg)}}.np139-current-balances{display:grid;gap:9px}.np139-current-balances button{text-align:left;padding:12px;border:1px solid #e0e9ec;border-radius:13px;background:#f7fafb}.np139-current-balances button:first-child{background:#fff6f3;border-color:#f0ddd7}.np139-current-balances button:last-child{background:#fff9ee;border-color:#eedfbe}.np139-current-balances span,.np139-current-balances strong,.np139-current-balances small{display:block}.np139-current-balances span{font-size:10px;color:#6d8189}.np139-current-balances strong{font-size:17px;color:#173f4e;margin:5px 0}.np139-current-balances small{font-size:9.5px;color:#7b8d94}.np139-attention-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.np139-attention-grid button{text-align:left;padding:12px;border:1px solid #e1e9ec;border-radius:13px;background:#f7fafb}.np139-attention-grid button.warn{background:#fff8ec;border-color:#ecdcb9}.np139-attention-grid button.danger{background:#fff2f1;border-color:#efcfcc}.np139-attention-grid span,.np139-attention-grid strong,.np139-attention-grid small{display:block}.np139-attention-grid span{font-size:10px;color:#6c8189}.np139-attention-grid strong{font-size:19px;color:#173e4d;margin:4px 0}.np139-attention-grid small{font-size:9px;color:#778b93;line-height:1.35}.np139-alert-details{margin-top:11px;padding-top:10px;border-top:1px solid #edf2f4}.np139-alert-details>summary{cursor:pointer;font-size:11px;font-weight:850;color:#0b7596}.np139-alert-details>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}.np139-alert-details section>b{display:block;font-size:11px;color:#526a74;margin-bottom:5px}.np139-drilldown{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:13px;border:1px solid #dce7eb;border-radius:16px;background:#eef7fa}.np139-drilldown>div{margin-right:auto}.np139-drilldown small,.np139-drilldown b{display:block}.np139-drilldown small{font-size:9px;color:#6a818b}.np139-drilldown b{font-size:12px;color:#234a59;margin-top:2px}.np139-drilldown button{padding:8px 10px;background:#fff;color:#087397;border:1px solid #cfe2e8;font-size:10px;font-weight:850}
@media(max-width:1000px){.np139-hero{grid-template-columns:1fr}.np139-kpi-grid,.np139-flow-grid,.np139-attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.np139-three-column{grid-template-columns:1fr 1fr}.np139-three-column>.np139-card:last-child{grid-column:1/-1}}
@media(max-width:900px){.np139-tabs{top:61px}.np139-filter-grid{position:fixed;left:12px;right:12px;top:calc(env(safe-area-inset-top) + 84px);width:auto;max-height:calc(100dvh - 110px);overflow:auto}.np139-two-column,.np139-three-column{grid-template-columns:1fr}.np139-three-column>.np139-card:last-child{grid-column:auto}}
@media(max-width:620px){.np139-shell{gap:8px}.np139-filter-card{padding:9px;border-radius:13px}.np139-filter-top{display:block}.np139-presets{padding-bottom:7px}.np139-more-filter{display:block}.np139-more-filter>summary{width:100%;justify-content:center;text-align:center}.np139-range-line{align-items:flex-start}.np139-range-line em{max-width:45%;text-align:right;font-size:9px;padding:5px 7px}.np139-tabs{gap:5px;margin-inline:-2px}.np139-tab-button,.np139-more-tabs>summary{min-height:37px;padding:7px 10px;font-size:10.5px}.np139-hero{padding:16px;border-radius:16px;gap:13px}.np139-hero-main>strong{font-size:27px}.np139-hero-side{grid-template-columns:1fr}.np139-hero-side>div{padding:10px 12px;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.np139-hero-side>div:last-child{border-bottom:0}.np139-hero-side b{font-size:15px}.np139-kpi-grid,.np139-flow-grid,.np139-attention-grid{gap:7px}.np139-main-kpi{padding:11px;border-radius:13px}.np139-main-kpi>strong{font-size:16px}.np139-main-kpi header small{font-size:9px}.np139-main-kpi>p{font-size:8.8px}.np139-delta{font-size:8.5px}.np139-card{padding:11px;border-radius:13px}.np139-section-head{margin-bottom:9px}.np139-section-head h3{font-size:14px}.np139-flow-item{padding:9px}.np139-flow-item strong{font-size:13px}.np139-rank-list article{grid-template-columns:22px minmax(0,1fr)}.np139-rank-list article>strong{grid-column:2;text-align:left;margin-top:-2px}.np139-attention-grid button{padding:9px}.np139-attention-grid strong{font-size:16px}.np139-alert-details>div{grid-template-columns:1fr}.np139-drilldown>div{width:100%;margin-bottom:3px}.np139-drilldown button{flex:1 1 40%}}
@media(max-width:370px){.np139-kpi-grid,.np139-flow-grid,.np139-attention-grid{grid-template-columns:1fr}.np139-range-line{display:grid}.np139-range-line em{max-width:none;text-align:left;width:max-content}.np139-filter-grid{grid-template-columns:1fr}.np139-filter-grid button{grid-column:auto}}

/* ===== css/design_1_40_0.css ===== */
/* Nam Phuong ERP Stable 1.40.0
   Visual report charts + automatic sale-to-dispatch presentation. */

.np140-chart-dashboard{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:12px 0;
}
.np140-chart-card{
  min-width:0;
  padding:15px;
  border:1px solid #dce7eb;
  border-radius:17px;
  background:#fff;
  box-shadow:0 4px 15px rgba(20,73,91,.05);
  overflow:hidden;
}
.np140-chart-card.wide{grid-column:1/-1}
.np140-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.np140-chart-head small,.np140-chart-head h3{display:block;margin:0}
.np140-chart-head small{font-size:9.5px;font-weight:850;color:#758990;letter-spacing:.07em;text-transform:uppercase}
.np140-chart-head h3{font-size:16px;color:#173e4d;margin-top:3px}
.np140-chart-head>span{font-size:10px;color:#6e858e;text-align:right;line-height:1.35}
.np140-chart-empty{display:grid;place-items:center;min-height:150px;color:#7b8e95;font-size:11px;background:#f7fafb;border-radius:13px}

.np140-donut-layout{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(190px,1.25fr);align-items:center;gap:18px}
.np140-donut{
  position:relative;
  width:min(190px,100%);
  aspect-ratio:1;
  margin:auto;
  border-radius:50%;
  background:var(--np140-gradient,#dce7eb);
  box-shadow:inset 0 0 0 1px rgba(12,88,111,.06),0 8px 24px rgba(22,81,101,.09);
}
.np140-donut:after{
  content:"";
  position:absolute;
  inset:24%;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 1px #e4ecef;
}
.np140-donut-center{position:absolute;inset:25%;z-index:1;display:grid;place-content:center;text-align:center;min-width:0}
.np140-donut-center strong{font-size:18px;color:#164453;overflow-wrap:anywhere}
.np140-donut-center small{font-size:9px;color:#788b93;margin-top:3px}
.np140-chart-legend{display:grid;gap:7px}
.np140-chart-legend article{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #edf2f4}
.np140-chart-legend article:last-child{border-bottom:0}
.np140-chart-legend i{width:9px;height:9px;border-radius:3px;background:var(--legend-color)}
.np140-chart-legend b,.np140-chart-legend small{display:block}
.np140-chart-legend b{font-size:11px;color:#254853}
.np140-chart-legend small{font-size:9px;color:#7a8d94;margin-top:2px}
.np140-chart-legend strong{font-size:10.5px;color:#0a7395;text-align:right;white-space:nowrap}

.np140-line-wrap{width:100%;overflow:hidden}
.np140-line-svg{display:block;width:100%;height:auto;min-height:205px}
.np140-line-svg .grid{stroke:#e7eef1;stroke-width:1}
.np140-line-svg .axis-label{fill:#7c8f96;font-size:10px}
.np140-line-svg .line-main{fill:none;stroke:#1689b0;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.np140-line-svg .line-second{fill:none;stroke:#32a06c;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 5}
.np140-line-svg .area{fill:url(#np140Area);opacity:.16}
.np140-line-svg .dot-main{fill:#fff;stroke:#1689b0;stroke-width:3}
.np140-line-svg .dot-second{fill:#fff;stroke:#32a06c;stroke-width:2}
.np140-series-legend{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:5px;font-size:10px;color:#607780}
.np140-series-legend span{display:inline-flex;align-items:center;gap:6px}
.np140-series-legend i{width:18px;height:3px;border-radius:99px;background:#1689b0}
.np140-series-legend span:nth-child(2) i{background:#32a06c}

.np140-hbars{display:grid;gap:9px}
.np140-hbar{display:grid;grid-template-columns:minmax(92px,1fr) minmax(120px,1.7fr) auto;align-items:center;gap:10px}
.np140-hbar-label{min-width:0}
.np140-hbar-label b,.np140-hbar-label small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.np140-hbar-label b{font-size:10.5px;color:#264955}
.np140-hbar-label small{font-size:8.8px;color:#7a8d94;margin-top:2px}
.np140-hbar-track{height:11px;border-radius:999px;background:#edf3f5;overflow:hidden}
.np140-hbar-track i{display:block;height:100%;min-width:3px;border-radius:999px;background:linear-gradient(90deg,#1689b0,#37a786)}
.np140-hbar>strong{font-size:10px;color:#0b7293;white-space:nowrap;text-align:right}

.np140-group-bars{display:grid;grid-template-columns:repeat(var(--bar-count,7),minmax(30px,1fr));align-items:end;gap:7px;min-height:190px;padding-top:12px}
.np140-group-bar{display:grid;grid-template-rows:150px auto;gap:6px;min-width:0;text-align:center}
.np140-group-bar .plot{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:150px;border-bottom:1px solid #dfe9ec}
.np140-group-bar i{display:block;width:min(16px,38%);min-height:2px;border-radius:6px 6px 2px 2px;background:#1689b0;position:relative}
.np140-group-bar i.second{background:#32a06c}
.np140-group-bar i em{position:absolute;left:50%;bottom:calc(100% + 3px);transform:translateX(-50%);font-style:normal;font-size:7.5px;color:#5f757e;white-space:nowrap}
.np140-group-bar small{display:block;font-size:8.5px;color:#73878f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.np140-auto-dispatch-note{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:9px 11px;border-radius:12px;background:#eef9f4;border:1px solid #cfe8dc;color:#2a5d4b;font-size:10px;line-height:1.45}
.np140-auto-dispatch-note span{font-size:15px;line-height:1}
.np140-auto-trip-badge{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:3px 7px;border-radius:999px;background:#e8f7f1;color:#18734f;font-size:9px;font-weight:850;vertical-align:middle}
.np140-dispatch-toast{font-weight:750}

@media(max-width:900px){
  .np140-chart-dashboard{grid-template-columns:1fr}
  .np140-chart-card.wide{grid-column:auto}
}
@media(max-width:620px){
  .np140-chart-dashboard{gap:8px;margin:8px 0}
  .np140-chart-card{padding:11px;border-radius:13px}
  .np140-chart-head{margin-bottom:9px}
  .np140-chart-head h3{font-size:14px}
  .np140-donut-layout{grid-template-columns:1fr;gap:11px}
  .np140-donut{width:155px}
  .np140-donut-center strong{font-size:15px}
  .np140-chart-legend article{padding:6px 0}
  .np140-hbar{grid-template-columns:minmax(88px,1fr) minmax(85px,1.2fr);gap:7px}
  .np140-hbar>strong{grid-column:2;text-align:left;margin-top:-5px}
  .np140-line-svg{min-height:180px}
  .np140-group-bars{gap:4px;overflow-x:auto;grid-template-columns:repeat(var(--bar-count,7),minmax(42px,1fr));padding-bottom:5px}
}

/* ===== css/design_1_40_1.css ===== */
/* NamPhuongERP Stable 1.40.1 - Report "Báo cáo khác" access fix */
.np139-tabs{
  overflow:visible!important;
  flex-wrap:wrap;
  padding-bottom:8px;
}
.np139-more-tabs{z-index:80}
.np139-more-tabs[open]{z-index:120}
.np139-more-tabs>div{
  z-index:9999!important;
  overflow:visible;
}
.np139-more-tabs[open]>summary{
  background:#123f52;
  border-color:#123f52;
  color:#fff;
}
@media(max-width:900px){
  .np139-tabs{
    overflow:visible!important;
    flex-wrap:wrap;
    align-items:flex-start;
  }
  .np139-more-tabs>div{
    left:0;
    right:auto;
    top:44px;
    min-width:min(240px,calc(100vw - 28px));
  }
}
@media(max-width:620px){
  .np139-more-tabs{position:static}
  .np139-more-tabs>div{
    position:absolute;
    left:8px;
    right:8px;
    top:auto;
    margin-top:5px;
    min-width:0;
  }
}

/* ===== css/design_1_41_0.css ===== */
.np1410-vehicle-group{border:1px solid #cfe2ea;border-radius:18px;background:#f8fcfe;padding:12px;margin-bottom:14px}
.np1410-vehicle-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 4px 10px;border-bottom:1px dashed #cfe2ea;margin-bottom:10px}
.np1410-vehicle-head>div{display:flex;align-items:center;gap:10px}.np1410-vehicle-head>div>span{font-size:26px}.np1410-vehicle-head p{margin:0}.np1410-vehicle-head b{display:block;color:#063f57}.np1410-vehicle-head small{display:block;color:#617884;margin-top:2px}
.np1410-trip-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}.np1410-trip-list .np1375-trip-card{margin:0;background:#fff}
.np1410-trip-list .np1375-trip-card footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.np1410-trip-list .np1375-trip-card footer button{min-width:0}
@media(max-width:700px){.np1410-vehicle-head{align-items:flex-start}.np1410-vehicle-head button{padding:8px 10px}.np1410-trip-list{grid-template-columns:1fr}.np1410-trip-list .np1375-trip-card footer{grid-template-columns:1fr 1fr}.np1410-trip-list .np1375-trip-card footer .primary:last-child{grid-column:1/-1}}
.np1415-current-note{display:block;margin-top:5px;color:#087256;font-weight:700}.np1415-vehicle-group .np1375-trip-card>header p b{font-size:16px;color:#064d69}.np1415-vehicle-group .np1375-trip-card>header p small{max-width:620px}

/* ===== css/design_1_41_9.css ===== */
/* Nam Phuong ERP 1.41.9
   Mobile customer form: keep save actions above the bottom navigation and safe area. */

/* The bottom navigation in older UI patches uses z-index 5000. Modals must always be above it. */
#modalRoot .modal-backdrop{
  z-index:10000!important;
}

@media (max-width:900px){
  /* A modal is a focused task. Do not leave the main navigation over its controls. */
  body.modal-open .mobile-bottom-nav,
  body.modal-open .mobile-sale-bar,
  body.modal-open .pwa-prompt{
    display:none!important;
  }

  /* Keep the customer form scrollable all the way to its final controls. */
  #modalRoot .modal:has(#customerForm){
    padding-bottom:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  #customerForm{
    padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
  }

  /* Sticky customer actions: Save is always visible and cannot sit behind iOS/Android controls. */
  #customerForm .np1377-form-actions{
    position:sticky!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:45!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin:10px -12px 0!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
    border-top:1px solid #d7e5eb!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 -10px 26px rgba(18,57,72,.14)!important;
    backdrop-filter:blur(12px)!important;
  }

  #customerForm .np1377-form-actions button{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    margin:0!important;
    white-space:normal!important;
  }

  #customerForm .np1377-form-actions #np1377SaveCustomer{
    grid-column:1/-1!important;
    min-height:52px!important;
    font-size:16px!important;
    box-shadow:0 7px 18px rgba(8,113,151,.22)!important;
  }
}

@media (max-width:420px){
  #customerForm .np1377-form-actions{
    grid-template-columns:1fr!important;
  }
  #customerForm .np1377-form-actions #np1377SaveCustomer{
    grid-column:auto!important;
  }
}

/* ===== css/design_1_42_0.css ===== */
/* Nam Phuong ERP Stable 1.42.0 - Compact invoice list */
.np142-page-head .np142-page-subtitle{margin:5px 0 0;color:#63798a;font-size:13px}
.np142-invoice-page{max-width:1060px;margin:0 auto;display:grid;gap:12px}
.np142-invoice-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.np142-search{height:44px;border:1px solid #bfd7e3;background:#fff;border-radius:13px;display:flex;align-items:center;gap:8px;padding:0 12px;box-shadow:0 4px 14px #17465d0a}
.np142-search span{font-size:23px;color:#607c8d;line-height:1;transform:rotate(-15deg)}
.np142-search input{border:0!important;background:transparent!important;box-shadow:none!important;outline:0;width:100%;min-width:0;height:40px!important;padding:0!important;font-size:14px!important}
.np142-filter-button{height:44px;border:1px solid #b7d2df;background:#fff;color:#17475d;border-radius:13px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:800;white-space:nowrap;box-shadow:0 4px 14px #17465d0a}
.np142-filter-button>span{font-size:17px}.np142-filter-button i{min-width:20px;height:20px;border-radius:10px;background:#0786b2;color:#fff;font-style:normal;font-size:11px;display:inline-flex;align-items:center;justify-content:center}.np142-filter-button i.hidden{display:none}
.np142-date-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.np142-date-chips{display:flex;gap:7px;overflow-x:auto;padding:2px 1px 4px;scrollbar-width:none}.np142-date-chips::-webkit-scrollbar{display:none}
.np142-date-chip{min-height:36px!important;border:1px solid #c6dce6;background:#fff;color:#536c7b;border-radius:18px;padding:7px 13px;font-size:12px!important;font-weight:750;white-space:nowrap}
.np142-date-chip.active{background:#087da7;border-color:#087da7;color:#fff;box-shadow:0 4px 12px #087da72b}
#np142PeriodLabel{color:#63798a;font-size:12px;white-space:nowrap}
.np142-invoice-notice{border:1px solid #efcf8b;background:#fff8e9;color:#7b570e;border-radius:11px;padding:9px 12px;font-size:11px}.np142-invoice-notice.hidden{display:none}
.np142-invoice-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.np142-invoice-metrics>div{background:#fff;border:1px solid #c9dfe8;border-radius:13px;padding:12px 13px;min-width:0;box-shadow:0 5px 16px #17465d08}
.np142-invoice-metrics span,.np142-invoice-metrics strong{display:block}.np142-invoice-metrics span{font-size:11px;color:#6b8190;margin-bottom:5px}.np142-invoice-metrics strong{font-size:17px;color:#083d57;overflow-wrap:anywhere}
.np142-list-head{display:flex;align-items:end;justify-content:space-between;gap:10px;padding:5px 2px 0}.np142-list-head>div{display:flex;align-items:baseline;gap:9px}.np142-list-head b{font-size:15px;color:#123f54}.np142-list-head span{font-size:12px;color:#708491}.np142-link{border:0;background:transparent;color:#087da7;padding:4px;font-size:12px!important;font-weight:800;min-height:auto!important}
.np142-invoice-list{display:grid;background:#fff;border:1px solid #c8dee7;border-radius:16px;overflow:hidden;box-shadow:0 7px 22px #163e510b}
.np142-invoice-card{position:relative;padding:14px 42px 13px 16px;border-bottom:1px solid #e1edf2;background:#fff;cursor:pointer;transition:background .15s ease;outline:0}.np142-invoice-card:last-child{border-bottom:0}.np142-invoice-card:hover,.np142-invoice-card:focus-visible{background:#f5fbfd}.np142-invoice-card.is-cancelled{opacity:.7;background:#fafafa}
.np142-invoice-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}
.np142-invoice-customer{min-width:0}.np142-invoice-customer b{display:block;font-size:15px;color:#143f52;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np142-invoice-customer small{display:block;margin-top:4px;color:#768894;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.np142-invoice-amount{text-align:right}.np142-invoice-amount strong{display:block;color:#083e58;font-size:16px;white-space:nowrap}.np142-pay-tag{display:inline-flex;margin-top:5px;border-radius:10px;padding:3px 7px;font-size:10px;color:#536d7b;background:#edf3f6;white-space:nowrap}.np142-pay-tag.cash{color:#117346;background:#e9f7ef}.np142-pay-tag.bank{color:#0a6a9f;background:#e7f5fb}.np142-pay-tag.debt{color:#a55900;background:#fff3de}.np142-pay-tag.mixed{color:#6654a1;background:#f1edff}
.np142-invoice-items{display:flex;align-items:center;gap:5px 12px;flex-wrap:wrap;margin-top:9px;color:#415d6c;font-size:12px}.np142-invoice-items span{min-width:0}.np142-invoice-items b{font-weight:800}.np142-invoice-items em{font-style:normal;color:#087da7;font-size:11px}.np142-item-empty{color:#94a2aa!important;font-style:italic}
.np142-invoice-meta{display:flex;align-items:center;gap:5px 13px;flex-wrap:wrap;margin-top:10px;color:#738691;font-size:10.5px}.np142-invoice-meta .has-old-debt{color:#087944;font-weight:800}.np142-invoice-meta .is-voided{color:#b3261e;background:#fdeceb;border-radius:8px;padding:2px 6px;font-weight:800}
.np142-card-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:25px;color:#8aa1ac;font-weight:300}
.np142-loading,.np142-empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:28px;color:#6b808d}.np142-loading i{width:28px;height:28px;border:3px solid #cde3ec;border-top-color:#087da7;border-radius:50%;animation:np142spin .8s linear infinite}.np142-empty span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#edf7fb;color:#087da7;font-size:24px}.np142-empty b{color:#294d5e}.np142-empty small{max-width:340px}.np142-empty.error span{background:#feeeec;color:#b3261e}.np142-limit-note{text-align:center;padding:12px;color:#6e8290;font-size:11px;background:#f6fafc}
@keyframes np142spin{to{transform:rotate(360deg)}}

.np142-filter-form{display:grid;gap:13px;padding-bottom:76px}.np142-filter-form section{border:1px solid #d1e2e9;border-radius:13px;padding:13px;background:#fbfdfe}.np142-filter-form h4{margin:0 0 10px;color:#244b5d;font-size:13px}.np142-filter-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.np142-filter-presets button{min-height:38px;border:1px solid #c8dce5;background:#fff;color:#536c7a;border-radius:10px;font-size:12px;font-weight:750}.np142-filter-presets button.active{background:#e7f6fb;border-color:#0786b2;color:#067397}.np142-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.np142-filter-form label{display:grid;gap:5px;color:#617985;font-size:11px;font-weight:750}.np142-filter-form input[type=date],.np142-filter-form select{width:100%;min-width:0}.np142-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.np142-check-grid label{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #d1e2e9;border-radius:10px;padding:10px 11px;color:#365768;font-size:12px}.np142-check-grid input{width:18px;height:18px;min-height:auto}.np142-filter-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px}.np142-filter-actions{position:sticky;bottom:-16px;z-index:4;background:#fff;border-top:1px solid #d8e7ed;padding:11px 0 calc(2px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1.5fr;gap:8px}.np142-filter-actions button{width:100%}

@media(max-width:760px){
  body[data-np-page="invoices"] #content{padding-left:0;padding-right:0}
  .np142-page-head{padding:0 12px}.np142-page-head .actions{display:none}
  .np142-invoice-page{gap:10px}.np142-invoice-toolbar,.np142-date-bar,.np142-invoice-metrics,.np142-list-head{margin-left:12px;margin-right:12px}
  .np142-invoice-toolbar{grid-template-columns:minmax(0,1fr) 46px}.np142-filter-button{width:46px;padding:0;font-size:0}.np142-filter-button>span{font-size:18px}.np142-filter-button i{position:absolute;margin:-31px 0 0 31px}
  .np142-invoice-metrics{grid-template-columns:1fr 1fr}.np142-invoice-metrics>div{padding:10px 11px}.np142-invoice-metrics strong{font-size:15px}
  .np142-invoice-list{border-left:0;border-right:0;border-radius:0;box-shadow:none}.np142-invoice-card{padding:13px 34px 12px 12px}.np142-card-arrow{right:10px}.np142-list-head .np142-link{display:none}
  .np142-filter-head{position:sticky;top:0;background:#fff;z-index:4;padding-bottom:10px;border-bottom:1px solid #e0ebef}
}
@media(max-width:480px){
  .np142-date-bar{display:block}.np142-date-chips{margin-right:-12px}.np142-date-bar>#np142PeriodLabel{display:block;margin-top:3px;text-align:right}
  .np142-invoice-main{gap:8px}.np142-invoice-customer b{font-size:14px}.np142-invoice-amount strong{font-size:14px}.np142-pay-tag{max-width:115px;overflow:hidden;text-overflow:ellipsis}
  .np142-invoice-items{display:grid;gap:4px}.np142-invoice-items span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np142-invoice-meta{gap:4px 9px}
  .np142-filter-presets{grid-template-columns:1fr 1fr}.np142-date-fields,.np142-filter-selects{grid-template-columns:1fr}.np142-check-grid{grid-template-columns:1fr 1fr}
}

/* ===== css/design_1_42_1.css ===== */
/* Nam Phuong ERP Stable 1.42.1
   Visual density refinement: full information, clearer hierarchy and shorter mobile lists.
*/

/* ---------- Invoice list: full information without visual noise ---------- */
body.np1421-density .np142-invoice-list{
  border-color:#cbdde5;
  box-shadow:0 5px 18px rgba(16,58,77,.07);
}
body.np1421-density .np142-invoice-card{
  padding:12px 40px 11px 14px;
  border-bottom-color:#dce8ed;
}
body.np1421-density .np142-invoice-main{gap:10px}
body.np1421-density .np142-invoice-customer b{
  font-size:15px;
  line-height:1.25;
  letter-spacing:-.01em;
}
body.np1421-density .np142-invoice-customer small{
  margin-top:3px;
  font-size:10.5px;
  line-height:1.3;
  color:#7a8d98;
}
body.np1421-density .np142-invoice-amount strong{
  font-size:16px;
  line-height:1.15;
  letter-spacing:-.01em;
}
body.np1421-density .np142-pay-tag{
  margin-top:4px;
  padding:3px 7px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:750;
}
body.np1421-density .np142-invoice-items{
  display:grid;
  gap:3px;
  margin-top:8px;
  padding:7px 9px;
  border-radius:9px;
  background:#f7fafb;
  color:#355363;
  font-size:11.5px;
}
body.np1421-density .np142-invoice-items>span:not(.np142-item-empty){
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:baseline;
  gap:8px;
  min-width:0;
}
body.np1421-density .np1421-item-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:760;
  color:#294b5c;
}
body.np1421-density .np1421-item-qty{
  color:#0b607f;
  font-size:11px;
  font-weight:850;
  white-space:nowrap;
}
body.np1421-density .np142-invoice-items em{
  justify-self:start;
  padding:2px 7px;
  border-radius:999px;
  background:#e9f6fb;
  color:#08769c;
  font-size:9.5px;
  font-weight:800;
}
body.np1421-density .np142-invoice-meta{
  display:grid;
  gap:5px;
  margin-top:7px;
  color:#69808c;
  font-size:10px;
}
body.np1421-density .np1421-meta-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 6px;
  min-width:0;
}
body.np1421-density .np1421-meta-line:empty{display:none}
body.np1421-density .np1421-meta-line>span{
  display:inline-flex;
  align-items:center;
  min-width:0;
  max-width:100%;
  line-height:1.25;
}
body.np1421-density .np1421-business-row>span{
  padding:3px 7px;
  border:1px solid #d1e4eb;
  border-radius:999px;
  background:#f3f8fa;
  color:#3e6070;
  font-weight:780;
}
body.np1421-density .np1421-business-row .np1421-bottle-chip{
  border-color:#c6dfeb;
  background:#edf7fb;
  color:#0a6688;
}
body.np1421-density .np1421-business-row .has-old-debt{
  border-color:#bfe2ce;
  background:#edf9f2;
  color:#087044;
}
body.np1421-density .np1421-context-row>span{
  color:#778a94;
}
body.np1421-density .np1421-route-chip{
  max-width:min(100%,460px)!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.np1421-density .np1421-revision-chip{
  color:#8a6a27!important;
}
body.np1421-density .np142-invoice-meta .is-voided{
  padding:2px 6px;
  border-radius:999px;
  font-size:9px;
}
body.np1421-density .np142-card-arrow{
  right:13px;
  color:#9aadb6;
  font-size:23px;
}

/* ---------- Shared mobile density system ---------- */
@media(max-width:760px){
  body.np1421-density #content .np-mobile-card-table tbody{
    gap:6px!important;
  }
  body.np1421-density #content .np-mobile-card-table tbody tr{
    padding:9px 10px!important;
    border-width:1px!important;
    border-radius:11px!important;
    box-shadow:0 2px 8px rgba(16,58,77,.045)!important;
  }
  body.np1421-density #content .np-mobile-card-table td{
    min-height:0!important;
    padding:4px 0!important;
    border-bottom:1px dashed #e3ecef!important;
    line-height:1.32!important;
    font-size:12px!important;
  }
  body.np1421-density #content .np-mobile-card-table td:last-child{
    border-bottom:0!important;
  }
  body.np1421-density #content .np-mobile-card-table td:empty{
    display:none!important;
  }
  body.np1421-density #content .np-mobile-card-table td:before{
    color:#788c96!important;
    font-size:8px!important;
    font-weight:850!important;
    letter-spacing:.045em!important;
  }
  body.np1421-density #content .np-mobile-card-table td b,
  body.np1421-density #content .np-mobile-card-table td strong{
    line-height:1.25!important;
  }
  body.np1421-density #content .np-mobile-card-table td small{
    margin-top:1px!important;
    line-height:1.3!important;
  }
  body.np1421-density #content .np-mobile-card-table button{
    min-height:38px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }

  /* Customer list */
  body.np1421-density #customerTable .np-mobile-card-table tr{
    gap:2px 8px!important;
    padding:9px 11px!important;
  }
  body.np1421-density #customerTable .np-mobile-card-table td:nth-child(1){
    padding-top:1px!important;
    font-size:10px!important;
  }
  body.np1421-density #customerTable .np-mobile-card-table td:nth-child(2){
    font-size:14.5px!important;
    line-height:1.25!important;
  }
  body.np1421-density #customerTable .np-mobile-card-table td:nth-child(n+3){
    grid-template-columns:72px minmax(0,1fr)!important;
  }
  body.np1421-density #customerTable .np1377-row-actions{
    gap:6px!important;
    padding-top:3px!important;
  }

  /* Transaction list */
  body.np1421-density #saleTable .np-mobile-card-table tr{
    gap:0 8px!important;
    padding:9px 10px!important;
  }
  body.np1421-density #saleTable .np-mobile-card-table td{
    padding:4px 0!important;
  }
  body.np1421-density #saleTable .np-mobile-card-table td:nth-child(2){
    font-size:14px!important;
    line-height:1.25!important;
  }
  body.np1421-density #saleTable .np-mobile-card-table td:nth-child(5){
    margin-top:1px!important;
    padding:7px 9px!important;
    border-radius:9px!important;
    font-size:14px!important;
  }
  body.np1421-density #saleTable .np-mobile-card-table td:nth-child(11) button{
    min-height:37px!important;
  }

  /* Approval / debt / bottle / product lists */
  body.np1421-density #approvalTable .np-mobile-card-table td,
  body.np1421-density #debtTable .np-mobile-card-table td,
  body.np1421-density #bottleTable .np-mobile-card-table td,
  body.np1421-density #productTable .np-mobile-card-table td{
    grid-template-columns:72px minmax(0,1fr)!important;
  }
  body.np1421-density #approvalTable .np-mobile-card-table td:nth-child(2){
    font-size:13.5px!important;
    font-weight:780!important;
    color:#21495b!important;
  }
  body.np1421-density #approvalTable .approval-state{
    padding:5px 8px!important;
    font-size:10px!important;
  }

  /* Dispatch: same information, less vertical stretching */
  body.np1421-density .np1410-vehicle-group{
    padding:8px!important;
    margin-bottom:9px!important;
    border-radius:14px!important;
  }
  body.np1421-density .np1410-vehicle-head{
    padding:1px 2px 7px!important;
    margin-bottom:7px!important;
  }
  body.np1421-density .np1410-vehicle-head>div>span{font-size:22px!important}
  body.np1421-density .np1410-vehicle-head small{font-size:10px!important}
  body.np1421-density .np1410-trip-list{gap:7px!important}
  body.np1421-density .np1375-trip-card{
    padding:9px!important;
    border-radius:12px!important;
    box-shadow:0 2px 8px rgba(16,58,77,.045)!important;
  }
  body.np1421-density .np1375-trip-card>header{
    margin-bottom:6px!important;
    gap:7px!important;
  }
  body.np1421-density .np1375-trip-card p b{font-size:14px!important}
  body.np1421-density .np1375-trip-card p small{font-size:9.5px!important}
  body.np1421-density .np1375-vehicle-icon{
    flex-basis:35px!important;
    width:35px!important;
    height:35px!important;
    border-radius:10px!important;
    font-size:18px!important;
  }
  body.np1421-density .np1375-trip-meta{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:4px!important;
    margin:5px 0 6px!important;
    padding:0!important;
    background:transparent!important;
  }
  body.np1421-density .np1375-trip-meta span{
    padding:3px 6px!important;
    border-radius:999px!important;
    background:#f1f6f8!important;
    color:#506b78!important;
    font-size:9.5px!important;
    line-height:1.25!important;
  }
  body.np1421-density .np1375-load-grid{
    gap:5px!important;
    margin:6px 0!important;
  }
  body.np1421-density .np1375-load-grid>div{
    gap:1px!important;
    padding:6px 7px!important;
    border-radius:9px!important;
  }
  body.np1421-density .np1375-load-grid span{font-size:8px!important}
  body.np1421-density .np1375-load-grid b{font-size:15px!important}
  body.np1421-density .np1375-capacity{gap:4px!important}
  body.np1421-density .np1375-capacity>i{height:6px!important}
  body.np1421-density .np1375-capacity small{font-size:9px!important}
  body.np1421-density .np1375-trip-card>footer{
    gap:5px!important;
    margin-top:7px!important;
    padding-top:7px!important;
  }
  body.np1421-density .np1375-trip-card>footer button{
    min-height:37px!important;
    padding:7px 6px!important;
    font-size:11px!important;
  }

  /* Route / delivery customer cards */
  body.np1421-density .route-customer-list{gap:6px!important}
  body.np1421-density .route-customer-card{
    gap:8px!important;
    padding:9px!important;
    border-radius:12px!important;
    box-shadow:0 2px 8px rgba(15,61,47,.045)!important;
  }
  body.np1421-density .route-customer-main p{
    margin:3px 0!important;
    font-size:11px!important;
    line-height:1.35!important;
  }
  body.np1421-density .route-card-actions{gap:5px!important}
  body.np1421-density .route-card-actions button{
    min-height:37px!important;
    padding:7px 5px!important;
  }
}

@media(max-width:480px){
  body.np1421-density .np142-invoice-card{
    padding:10px 31px 9px 11px;
  }
  body.np1421-density .np142-invoice-customer b{font-size:13.5px}
  body.np1421-density .np142-invoice-customer small{font-size:9.5px}
  body.np1421-density .np142-invoice-amount strong{font-size:13.5px}
  body.np1421-density .np142-pay-tag{font-size:9px;padding:2px 6px}
  body.np1421-density .np142-invoice-items{
    margin-top:6px;
    padding:6px 8px;
    gap:2px;
  }
  body.np1421-density .np1421-item-name{font-size:11px}
  body.np1421-density .np1421-item-qty{font-size:10px}
  body.np1421-density .np1421-business-row>span{padding:2px 6px;font-size:9.5px}
  body.np1421-density .np1421-context-row>span{font-size:9.5px}
  body.np1421-density .np1421-route-chip{max-width:100%!important}
  body.np1421-density .np142-card-arrow{right:8px;font-size:21px}
}

/* ===== css/design_1_43_0.css ===== */
/* Nam Phuong ERP Stable 1.43.0 - Vehicle loading workflow */
.np1430-shell{display:grid;gap:14px}.np1430-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:12px;border:1px solid var(--border,#dbe7ec);border-radius:16px;background:var(--card,#fff)}.np1430-toolbar label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#52636d}.np1430-guide{display:grid;grid-template-columns:32px 1fr 32px 1fr;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#edf8fb;border:1px solid #cae8f0}.np1430-guide>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#08789d;color:#fff;font-weight:800}.np1430-guide p{margin:0;color:#38515c}.np1430-loading{padding:28px;text-align:center;color:#607681}.np1430-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.np1430-kpis>div{padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #dbe7ec}.np1430-kpis span{display:block;font-size:12px;color:#647781}.np1430-kpis b{display:block;margin-top:3px;font-size:22px;color:#123f50}.np1430-tabs{display:flex;gap:8px;margin-bottom:12px}.np1430-tabs button{border:1px solid #cddde3;background:#fff;border-radius:999px;padding:9px 13px;font-weight:700}.np1430-tabs button.active{background:#08789d;color:#fff;border-color:#08789d}.np1430-tabs span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.08);font-size:11px}.np1430-load-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.np1430-load-card{background:#fff;border:1px solid #dbe7ec;border-left:5px solid #8ba2ad;border-radius:17px;padding:14px;box-shadow:0 8px 24px rgba(20,58,72,.06)}.np1430-load-card.status-ready{border-left-color:#e9a512}.np1430-load-card.status-departed{border-left-color:#16966c}.np1430-load-card.status-cancelled{opacity:.65;border-left-color:#a7b1b5}.np1430-load-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.np1430-load-card>header>div{display:flex;align-items:center;gap:10px}.np1430-load-card>header>div>span{font-size:24px}.np1430-load-card header p{display:grid;margin:0}.np1430-load-card header p small{color:#6d7f87}.np1430-load-card header em{font-style:normal;font-size:12px;font-weight:800;padding:6px 9px;border-radius:999px;background:#eef3f5;color:#45616c}.status-ready>header em{background:#fff4d5;color:#926500}.status-departed>header em{background:#e4f7ef;color:#08734f}.np1430-date-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:11px 0;padding:9px 0;border-top:1px dashed #dbe7ec;border-bottom:1px dashed #dbe7ec;font-size:12px;color:#5b7079}.np1430-load-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.np1430-load-kpis>div{padding:9px;border-radius:11px;background:#f5f9fa}.np1430-load-kpis span{display:block;font-size:11px;color:#6b7d85}.np1430-load-kpis b{font-size:15px;color:#173f4e}.np1430-block-lines{display:grid;gap:5px;margin:10px 0}.np1430-block-lines p,.np1430-note{margin:0;font-size:12px;color:#536a74;line-height:1.45}.np1430-trip-link{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;background:#edf7fb;font-size:12px;color:#375967}.np1430-trip-link b{color:#a15c00}.np1430-load-card footer{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.np1430-setup{padding:18px}.np1430-form .np1430-bottle-field{padding:12px;border-radius:14px;background:#edf8fb;border:1px solid #cceaf1}.np1430-bottle-field span{font-weight:800}.np1430-bottle-field input{font-size:22px;font-weight:800;text-align:center}.np1430-products-box{border:1px solid #dbe7ec;border-radius:14px;padding:12px}.np1430-products-box>header{display:grid;gap:2px;margin-bottom:9px}.np1430-products-box>header small{color:#6b7d85}.np1430-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.np1430-product-qty{display:grid;grid-template-columns:1fr 86px;align-items:center;gap:8px;padding:8px 9px;border-radius:11px;background:#f6f9fa}.np1430-product-qty span{display:grid;font-size:12px;font-weight:700}.np1430-product-qty small{font-weight:400;color:#71828a}.np1430-product-qty input{text-align:center;font-weight:800}.np1430-form-actions{display:flex;justify-content:flex-end;gap:8px}.np1430-receive-summary{padding:12px 14px;margin-bottom:12px;border-radius:14px;background:#edf8fb}.np1430-receive-summary div{display:flex;justify-content:space-between}.np1430-receive-summary p{margin:6px 0 0;font-size:12px;color:#536a74}.np1430-receive-total{padding:12px;border-radius:12px;background:#e8f7ef;text-align:center;color:#176344}.np1430-defect-kpi b,.np1430-defect-summary b{color:#b56500!important}.np1430-load-detail{display:grid;gap:4px;margin-top:8px;padding:10px;border-radius:11px;background:#eef8fb}.np1430-load-detail span{font-size:12px;color:#4d6974}.np1430-defect-entry{display:grid;grid-template-columns:minmax(140px,220px) auto 1fr;align-items:end;gap:8px;margin:8px 0 12px;padding:9px;border-radius:12px;background:#fff7e6;border:1px solid #f2d395}.np1430-defect-entry label{display:grid;grid-template-columns:1fr 80px;align-items:center;gap:8px;font-size:12px;font-weight:800}.np1430-defect-entry input{text-align:center;font-weight:800}.np1430-defect-entry small{align-self:center;color:#765f32}.np1430-reconcile-defect{display:flex!important;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #e4c782}.np1430-reconcile-rule{flex-wrap:wrap}
@media(max-width:700px){.np1430-guide{grid-template-columns:28px 1fr}.np1430-kpis{grid-template-columns:1fr 1fr}.np1430-kpis>div:last-child{grid-column:1/-1}.np1430-load-grid{grid-template-columns:1fr}.np1430-load-kpis{grid-template-columns:1fr 1fr}.np1430-load-kpis>div:last-child{grid-column:1/-1}.np1430-product-grid{grid-template-columns:1fr}.np1430-form-actions{display:grid}.np1430-defect-entry{grid-template-columns:1fr auto}.np1430-defect-entry small{grid-column:1/-1}.np1430-toolbar>*{flex:1 1 140px}.np1430-toolbar label{flex-basis:100%}}
.np1430-order-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}.np1430-order-summary>div{padding:10px 12px;border-radius:12px;background:#f3f8fa;border:1px solid #dbe7ec}.np1430-order-summary span{display:block;font-size:11px;color:#647781}.np1430-order-summary b{display:block;margin-top:2px;font-size:17px;color:#163f4e}.np1430-load-orders{display:grid;gap:10px}.np1430-load-order{padding:12px;border:1px solid #dbe7ec;border-radius:14px;background:#fff}.np1430-load-order>header{display:flex;justify-content:space-between;gap:10px;align-items:start}.np1430-load-order>header>div{display:grid;gap:2px}.np1430-load-order>header small{color:#6b7d85}.np1430-load-order>header strong{white-space:nowrap;color:#0b6f91}.np1430-load-order>p{margin:8px 0;font-size:12px;color:#536a74;line-height:1.45}
@media(max-width:700px){.np1430-order-summary{grid-template-columns:1fr 1fr}.np1430-order-summary>div:last-child{grid-column:1/-1}.np1430-load-order>header{align-items:center}}

/* ===== css/design_1_43_2.css ===== */
/* Nam Phuong ERP Stable 1.43.2 - người soạn/nhận xe */
.np1432-people-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
  margin:-3px 0 10px;
  padding:7px 9px;
  border-radius:10px;
  background:#f7fafb;
  color:#526a74;
  font-size:12px;
}
.np1432-people-row span{display:inline-flex;align-items:center;gap:3px;min-width:0}
.np1432-people-row b{color:#284e5d}
.np1432-prepared-by::before{content:'👤';margin-right:3px}
.np1432-received-by::before{content:'✓';display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#e4f7ef;color:#08734f;font-weight:900;margin-right:3px}
@media(max-width:700px){
  .np1432-people-row{display:grid;grid-template-columns:1fr;margin-top:-2px}
}

/* ===== css/design_1_44_0.css ===== */
/* Nam Phuong ERP Stable 1.44.0
   Cham cong 2 buoi + cham bu quan ly + bang luong du kien.
   Chi ap dung cho module attendance, khong thay doi giao dien trang khac.
*/
.np1440-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px 14px;border:1px solid #c9e4ee;border-radius:15px;background:#edf8fb;color:#325766}
.np1440-intro>div{display:grid;gap:3px}.np1440-intro b{font-size:14px;color:#0d4e67}.np1440-intro span{font-size:12px;line-height:1.45;color:#58717c}
.np1440-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:12px;padding-bottom:2px}.np1440-tabs button{flex:0 0 auto;padding:9px 13px;border:1px solid #cedfe6;border-radius:999px;background:#fff;color:#385968;font-weight:800;white-space:nowrap}.np1440-tabs button.active{border-color:#087ba2;background:#087ba2;color:#fff;box-shadow:0 5px 14px rgba(8,123,162,.18)}
.np1440-loading{padding:36px 18px;text-align:center;color:#607781}.np1440-setup{display:grid;gap:8px}.np1440-setup h3,.np1440-setup p{margin:0}.np1440-setup small{color:#9a5b00;overflow-wrap:anywhere}
.np1440-today-card{padding:16px;border:1px solid #d7e5eb;border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(18,62,81,.06)}.np1440-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:13px}.np1440-title small{display:block;margin-bottom:3px;color:#6a7f89}.np1440-title h3{margin:0;color:#123f50}.np1440-title p{margin:4px 0 0;color:#617781;font-size:12px;line-height:1.45}
.np1440-sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.np1440-session{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:82px;padding:12px 13px;border:1px solid #dce7eb;border-radius:14px;background:#f8fbfc}.np1440-session>div{display:grid;gap:4px}.np1440-session small{color:#657a84}.np1440-session b{font-size:16px;color:#365765}.np1440-session.worked{border-color:#bfe4d1;background:#eef9f3}.np1440-session.worked b{color:#0a7249}.np1440-session.paid{border-color:#ead99c;background:#fff9e6}.np1440-session.paid b{color:#886100}.np1440-session.off{border-color:#e4d7da;background:#faf5f6}.np1440-session.off b{color:#8b4650}.np1440-session button{min-width:112px}.np1440-done,.np1440-note{font-size:12px;font-weight:800;color:#17704f}.np1440-note{color:#7c6726}
.np1440-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.np1440-kpis>div{padding:12px 14px;border:1px solid #dce7eb;border-radius:14px;background:#fff}.np1440-kpis span{display:block;font-size:11px;color:#687d87}.np1440-kpis b{display:block;margin-top:3px;font-size:21px;color:#173f4e}.np1440-kpis.payroll>div:last-child{border-color:#bfe3d0;background:#eef9f3}.np1440-kpis.payroll>div:last-child b{color:#087248}
.np1440-history{margin-top:0}.np1440-history-list{display:grid;gap:7px}.np1440-history-list.modal-list{margin-top:10px}.np1440-history-row{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(280px,1.5fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e0e9ed;border-radius:12px;background:#fff}.np1440-history-row>div:first-child{display:grid;gap:2px}.np1440-history-row small{color:#71848d;font-size:11px}.np1440-history-row>strong{color:#0b6687;white-space:nowrap}.np1440-two-status{display:flex;gap:8px;flex-wrap:wrap}.np1440-two-status>span{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#667b85}
.np1440-status{display:inline-flex;align-items:center;gap:4px;width:max-content;padding:4px 8px;border-radius:999px;background:#eef3f5;color:#5e7079;font-size:10px;font-weight:850;white-space:nowrap}.np1440-status.worked{background:#e4f6ed;color:#087149}.np1440-status.paid{background:#fff2c9;color:#856000}.np1440-status.off{background:#f7e9ec;color:#934451}.np1440-status.none{background:#edf2f4;color:#71828a}
.np1440-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:11px 12px;border:1px solid #d9e6eb;border-radius:15px;background:#fff}.np1440-toolbar label{display:grid;gap:4px;min-width:170px;margin:0;font-size:11px;color:#5e747e}.np1440-toolbar input{min-height:41px}.np1440-toolbar button{min-height:41px}.np1440-toolbar.payroll{justify-content:space-between}.np1440-manager-note{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;border-radius:13px;background:#f1f8fb;color:#536e79;font-size:12px}.np1440-manager-note b{color:#114f68}.np1440-manager-note span:before{content:'✓';margin-right:5px;color:#087ba2;font-weight:900}
.np1440-employee-list,.np1440-day-list{display:grid;gap:7px}.np1440-employee-summary{display:grid;grid-template-columns:minmax(150px,1fr) minmax(310px,1.5fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e0e9ed;border-radius:12px;background:#fff}.np1440-employee-summary>div:first-child,.np1440-day-person{display:grid;gap:2px}.np1440-employee-summary small,.np1440-day-person small{color:#70838c;font-size:11px}.np1440-employee-summary>div:nth-child(2){display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.np1440-employee-summary>div:nth-child(2)>span{padding:5px 8px;border-radius:999px;background:#f1f6f8;color:#526a75;font-size:10px;font-weight:750}.np1440-employee-summary>div:nth-child(2)>strong{padding:5px 9px;border-radius:999px;background:#e6f6ee;color:#087149;font-size:11px}
.np1440-day-employee{display:grid;grid-template-columns:minmax(150px,1fr) minmax(330px,1.35fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e0e9ed;border-radius:12px;background:#fff}.np1440-day-sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.np1440-day-sessions>span{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:6px 8px;border-radius:10px;background:#f5f9fa}.np1440-day-sessions small{color:#687c86;font-size:10px}.compact{padding:8px 11px!important;min-height:36px;font-size:12px}.np1440-edit-form{margin-top:8px}.np1440-edit-form label{margin:5px 0}.np1440-legend{display:flex;gap:8px;flex-wrap:wrap;padding:9px;border-radius:12px;background:#f6f9fa;font-size:11px;color:#5f747e}.np1440-legend>span{display:flex;align-items:center;gap:5px}.np1440-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:8px!important;padding:9px 10px;border-radius:11px;background:#f5f9fa}.np1440-check input{width:18px;height:18px;margin:0}
.np1440-payroll-formula{display:grid;gap:4px;margin-bottom:12px;padding:12px 14px;border:1px solid #cae3ec;border-radius:15px;background:#edf8fb}.np1440-payroll-formula b{color:#0d5069}.np1440-payroll-formula span{font-weight:800;color:#335966}.np1440-payroll-formula small{color:#647b85;line-height:1.45}.np1440-payroll-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:11px}.np1440-payroll-card{display:grid;gap:11px;padding:14px;border:1px solid #d9e6eb;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(18,62,81,.055)}.np1440-payroll-card.disabled{opacity:.67}.np1440-payroll-card>header{height:auto;padding:0;border:0;background:transparent;display:flex;align-items:start;justify-content:space-between;gap:12px}.np1440-payroll-card>header>div{display:grid;gap:3px}.np1440-payroll-card>header small{color:#71838c}.np1440-payroll-card>header>strong{font-size:18px;color:#087149;text-align:right}.np1440-payroll-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.np1440-payroll-grid>span{padding:8px 9px;border-radius:10px;background:#f5f9fa;min-width:0}.np1440-payroll-grid small{display:block;color:#70828b;font-size:9.5px;line-height:1.25}.np1440-payroll-grid b{display:block;margin-top:3px;color:#234b5b;font-size:12px;overflow-wrap:anywhere}.np1440-payroll-card footer{display:flex;justify-content:flex-end}.np1440-payroll-form{display:grid;gap:12px;margin-top:8px}.np1440-payroll-form section{padding:12px;border:1px solid #dde8ec;border-radius:14px;background:#fbfcfd}.np1440-payroll-form h4{margin:0 0 6px;color:#19485a}.np1440-payroll-form label{margin:5px 0}.np1440-payroll-form label small{font-weight:400;color:#6b7e87;line-height:1.35}.np1440-payroll-preview{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:11px 12px;border-radius:13px;background:#edf8fb;color:#476671}.np1440-payroll-preview b{color:#0d5f7d}.big-action{min-height:46px;font-size:14px}
.empty-state.compact{padding:18px;text-align:center;color:#71828a}
@media(max-width:860px){.np1440-history-row{grid-template-columns:1fr auto}.np1440-two-status{grid-column:1/-1;grid-row:2}.np1440-employee-summary,.np1440-day-employee{grid-template-columns:1fr auto}.np1440-employee-summary>div:nth-child(2),.np1440-day-sessions{grid-column:1/-1;grid-row:2;justify-content:flex-start}.np1440-payroll-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.np1440-intro{padding:10px 11px}.np1440-sessions{grid-template-columns:1fr}.np1440-session{min-height:76px}.np1440-session button{min-width:104px}.np1440-kpis{grid-template-columns:1fr 1fr}.np1440-kpis>div:last-child{grid-column:1/-1}.np1440-toolbar{display:grid;grid-template-columns:1fr 1fr}.np1440-toolbar label{min-width:0}.np1440-toolbar button{grid-column:1/-1}.np1440-toolbar.payroll{grid-template-columns:1fr}.np1440-history-row{grid-template-columns:1fr auto;padding:9px}.np1440-two-status{display:grid;grid-template-columns:1fr;gap:5px}.np1440-employee-summary,.np1440-day-employee{padding:9px}.np1440-employee-summary>div:nth-child(2){justify-content:flex-start}.np1440-day-sessions{grid-template-columns:1fr 1fr}.np1440-payroll-list{grid-template-columns:1fr}.np1440-payroll-card{padding:11px}.np1440-payroll-card>header{flex-direction:column}.np1440-payroll-card>header>strong{text-align:left}.np1440-payroll-grid{grid-template-columns:1fr 1fr}.np1440-payroll-form section{padding:9px}.np1440-payroll-preview{display:grid}.np1440-manager-note{display:grid;gap:5px}.np1440-tabs button{padding:8px 11px}}
@media(max-width:420px){.np1440-kpis{grid-template-columns:1fr}.np1440-kpis>div:last-child{grid-column:auto}.np1440-day-sessions{grid-template-columns:1fr}.np1440-payroll-grid{grid-template-columns:1fr}.np1440-session{align-items:flex-start;flex-direction:column}.np1440-session button{width:100%}.np1440-history-row{grid-template-columns:1fr}.np1440-history-row>strong{grid-row:1;justify-self:end}}

/* ===== css/design_1_44_1.css ===== */
/* Nam Phuong ERP Stable 1.44.1
   Chi bo sung giao dien cham cong mac dinh va bang luong/tam ung.
*/
.np1441-intro{border-color:#bfe0ea;background:linear-gradient(135deg,#edf9fc,#f7fcfd)}
.np1440-session em{display:block;margin-top:2px;color:#6f8189;font-size:10px;font-style:normal;line-height:1.35}
.np1441-default-note{border:1px solid #c9e6d7;background:#f0faf5}.np1441-default-note b{color:#087149}.np1441-default-note span:before{color:#0a8256}
.np1441-month-standard{align-self:center;padding:9px 12px;border-radius:12px;background:#edf8fb;color:#4c6874;font-size:12px}.np1441-month-standard b{color:#0d607e}
.np1441-formula{border-color:#badfd0;background:#f0faf5}.np1441-formula b{color:#087149}.np1441-formula span{color:#295e49}
.np1441-payroll-card>header>strong{display:grid;gap:2px}.np1441-payroll-card>header>strong small{font-size:9px;color:#6c8088;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.np1441-salary-highlight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.np1441-salary-highlight>span{padding:9px 10px;border:1px solid #d5e7ed;border-radius:11px;background:#f7fbfc}.np1441-salary-highlight small{display:block;color:#6b7f88;font-size:9.5px}.np1441-salary-highlight b{display:block;margin-top:3px;color:#0e536d;font-size:13px}
.np1441-advance-meter{height:7px;overflow:hidden;border-radius:999px;background:#e9f0f3}.np1441-advance-meter i{display:block;height:100%;max-width:100%;border-radius:inherit;background:linear-gradient(90deg,#0c87ae,#e7aa27);transition:width .2s ease}
.np1441-warning{padding:8px 10px;border:1px solid #efc2c8;border-radius:10px;background:#fff3f4;color:#964552;font-size:11px;font-weight:750;line-height:1.4}
.np1441-payroll-card footer{gap:8px;flex-wrap:wrap}
.np1441-readonly-field{display:grid;gap:3px;margin:5px 0;padding:10px 11px;border:1px dashed #bad4de;border-radius:11px;background:#f4fafc}.np1441-readonly-field span{font-size:11px;font-weight:700;color:#5a717b}.np1441-readonly-field b{color:#0b607e}.np1441-readonly-field small{color:#71838c;font-size:10px}
.np1441-advance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 12px}.np1441-advance-summary>span{padding:10px;border:1px solid #dce8ec;border-radius:11px;background:#f7fafb;color:#657983;font-size:10px}.np1441-advance-summary b{display:block;margin-top:3px;color:#164d61;font-size:14px}
.np1441-advance-history{margin-top:13px;padding-top:12px;border-top:1px solid #e0e9ed}.np1441-advance-history h4{margin:0 0 8px;color:#19495a}.np1441-advance-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #e0e9ed;border-radius:11px;background:#fff}.np1441-advance-row+ .np1441-advance-row{margin-top:6px}.np1441-advance-row>div{display:grid;gap:2px}.np1441-advance-row b{color:#155269}.np1441-advance-row small{color:#71838c;font-size:10px}
@media(max-width:620px){.np1441-salary-highlight{grid-template-columns:1fr 1fr}.np1441-salary-highlight>span:last-child{grid-column:1/-1}.np1441-advance-summary{grid-template-columns:1fr 1fr}.np1441-advance-summary>span:last-child{grid-column:1/-1}.np1441-month-standard{grid-column:1/-1}.np1441-payroll-card footer{display:grid;grid-template-columns:1fr 1fr}.np1441-payroll-card footer button{width:100%}}
@media(max-width:420px){.np1441-salary-highlight,.np1441-advance-summary{grid-template-columns:1fr}.np1441-salary-highlight>span:last-child,.np1441-advance-summary>span:last-child{grid-column:auto}.np1441-payroll-card footer{grid-template-columns:1fr}}

/* ===== css/design_1_44_2.css ===== */
/* Nam Phuong ERP Stable 1.44.2
   Giao dien truc quan cho cham cong chi tinh den ngay hien tai va bang luong tam tinh.
   Chi tac dong module Attendance/Payroll.
*/
.np1442-intro{border:1px solid #b9dce8;background:linear-gradient(135deg,#edf9fc 0%,#f8fcfd 58%,#eef9f4 100%)}
.np1442-attendance-hero,.np1442-admin-overview,.np1442-payroll-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;margin:12px 0;padding:18px;border:1px solid #c8e0e8;border-radius:18px;background:linear-gradient(135deg,#f6fcfe,#edf8fb 58%,#f1faf6);box-shadow:0 8px 26px rgba(21,82,104,.06);overflow:hidden}
.np1442-attendance-hero:after,.np1442-admin-overview:after,.np1442-payroll-hero:after{content:"";position:absolute;width:130px;height:130px;right:-45px;top:-55px;border-radius:50%;background:rgba(15,132,170,.08)}
.np1442-hero-copy,.np1442-admin-overview>div:first-child,.np1442-payroll-hero>div:first-child{position:relative;z-index:1}.np1442-hero-copy small,.np1442-admin-overview small,.np1442-payroll-hero small{color:#66808a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.np1442-hero-copy h3,.np1442-admin-overview h3,.np1442-payroll-hero h3{margin:4px 0 5px;color:#124e65;font-size:20px}.np1442-hero-copy p,.np1442-admin-overview p,.np1442-payroll-hero p{max-width:720px;margin:0;color:#627780;font-size:12px;line-height:1.55}
.np1442-hero-count{position:relative;z-index:1;display:grid;align-content:center;min-width:142px;padding:12px 15px;border:1px solid #c6e2d6;border-radius:15px;background:rgba(255,255,255,.82);text-align:right}.np1442-hero-count strong{color:#08714a;font-size:30px;line-height:1}.np1442-hero-count span{margin-top:4px;color:#315f50;font-size:11px;font-weight:800}.np1442-hero-count small{margin-top:2px;color:#72858a;font-size:9.5px}
.np1442-progress{grid-column:1/-1;height:8px;border-radius:999px;background:#dfecef;overflow:hidden}.np1442-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0d84aa,#18a273);transition:width .25s ease}
.np1442-today-panel{margin:12px 0;padding:15px;border:1px solid #d8e7ec;border-radius:16px;background:#fff}.np1442-today-panel .section-title{margin-bottom:10px}
.np1442-stat-grid,.np1442-payroll-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.np1442-stat-grid article,.np1442-payroll-kpis article{padding:13px 14px;border:1px solid #dbe8ec;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(19,70,88,.035)}.np1442-stat-grid span,.np1442-payroll-kpis span{display:block;color:#6b7e86;font-size:10px;font-weight:750}.np1442-stat-grid b,.np1442-payroll-kpis b{display:block;margin-top:5px;color:#16556c;font-size:17px}.np1442-stat-grid small{display:block;margin-top:3px;color:#829197;font-size:9.5px;line-height:1.35}.np1442-payroll-kpis article.primary{border-color:#adddcc;background:#eefaf5}.np1442-payroll-kpis article.primary b{color:#08714a}
.np1442-history{margin-top:12px}.np1442-history .section-title>div,.np1442-team-panel .section-title>div,.np1442-day-panel .section-title>div{display:grid;gap:2px}
.np1442-admin-overview{grid-template-columns:minmax(0,1fr) auto}.np1442-overview-numbers{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,100px);gap:7px}.np1442-overview-numbers span{display:grid;align-content:center;padding:10px;border:1px solid #d7e7ec;border-radius:13px;background:rgba(255,255,255,.84);text-align:center}.np1442-overview-numbers b{color:#0f607d;font-size:20px}.np1442-overview-numbers small{margin-top:2px;color:#71838a;font-size:9px;text-transform:none;letter-spacing:0}
.np1442-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0}.np1442-toolbar label{display:grid;gap:4px;min-width:170px;color:#62777f;font-size:10px;font-weight:800}.np1442-toolbar input{min-height:40px}.np1442-toolbar button{min-height:40px}.np1442-toolbar.payroll{justify-content:space-between;padding:10px 12px;border:1px solid #dbe8ec;border-radius:14px;background:#fff}
.np1442-rule-strip{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}.np1442-rule-strip span{padding:8px 10px;border:1px solid #d9e7eb;border-radius:999px;background:#f9fcfd;color:#5e747d;font-size:10px}.np1442-rule-strip b{color:#195a70}
.np1442-employee-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.np1442-employee-card{display:grid;gap:10px;padding:13px;border:1px solid #dce8ec;border-radius:15px;background:#fff}.np1442-employee-card header{display:flex;align-items:center;gap:10px}.np1442-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#dff2f8,#dff4e9);color:#12617b;font-size:16px;font-weight:900}.np1442-employee-card header>div:nth-child(2),.np1442-payroll-person>div:last-child{display:grid;gap:2px;min-width:0}.np1442-employee-card header b,.np1442-payroll-person b{overflow:hidden;color:#174d60;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.np1442-employee-card header small,.np1442-payroll-person small{color:#73848b;font-size:9.5px}.np1442-employee-card header strong{display:grid;margin-left:auto;color:#08714a;font-size:19px;text-align:right}.np1442-employee-card header strong small{font-size:8.5px;text-transform:uppercase}.np1442-employee-meter{height:6px;border-radius:999px;background:#edf2f4;overflow:hidden}.np1442-employee-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1686ac,#18a273)}.np1442-employee-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.np1442-employee-metrics span{padding:8px;border-radius:10px;background:#f5fafb;text-align:center}.np1442-employee-metrics small{display:block;color:#70838a;font-size:8.5px}.np1442-employee-metrics b{display:block;margin-top:3px;color:#15536a;font-size:12px}.np1442-employee-card>button{justify-self:end}
.np1442-day-card{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(260px,1.2fr) auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid #dde8ec;border-radius:13px;background:#fff}.np1442-day-card.future{opacity:.7;background:#f7f9fa}.np1442-not-counted{grid-column:2/-1;padding:9px;border-radius:10px;background:#eef2f4;color:#718087;font-size:10px;font-weight:750;text-align:center}
.np1442-payroll-hero{grid-template-columns:minmax(0,1fr) auto}.np1442-payroll-hero-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px}.np1442-payroll-hero-stats span{display:grid;align-content:center;padding:11px 13px;border:1px solid #d5e7ec;border-radius:13px;background:rgba(255,255,255,.84)}.np1442-payroll-hero-stats b{color:#0f607d;font-size:16px}.np1442-payroll-hero-stats small{margin-top:3px;font-size:9px;text-transform:none;letter-spacing:0}
.np1442-formula{margin:10px 0;padding:12px 14px;border:1px solid #cce5da;border-radius:14px;background:#f2faf6}.np1442-formula summary{cursor:pointer;color:#116447;font-size:11px;font-weight:850}.np1442-formula p{margin:7px 0 0;color:#5d7469;font-size:10.5px;line-height:1.5}
.np1442-payroll-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.np1442-payroll-card{display:grid;gap:11px;padding:14px;border:1px solid #d8e7eb;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(19,73,91,.045)}.np1442-payroll-card.disabled{opacity:.58}.np1442-payroll-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.np1442-payroll-person{display:flex;align-items:center;gap:10px;min-width:0}.np1442-payroll-card>header>strong{display:grid;flex:0 0 auto;color:#08714a;font-size:17px;text-align:right}.np1442-payroll-card>header>strong small{margin-top:2px;color:#74858b;font-size:8px;text-transform:uppercase}.np1442-payroll-progress{padding:9px 10px;border:1px solid #e0eaed;border-radius:12px;background:#f8fbfc}.np1442-payroll-progress>div:first-child{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;color:#687d85;font-size:9.5px}.np1442-payroll-progress b{color:#15566d}.np1442-payroll-main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.np1442-payroll-main span{padding:9px;border:1px solid #e0e9ec;border-radius:11px;background:#f8fbfc}.np1442-payroll-main span.primary{border-color:#b8dfd1;background:#eef9f4}.np1442-payroll-main small{display:block;color:#71848b;font-size:8.5px}.np1442-payroll-main b{display:block;margin-top:3px;color:#15566d;font-size:11px}.np1442-payroll-main .primary b{color:#08714a}.np1442-payroll-details{display:flex;gap:6px;flex-wrap:wrap}.np1442-payroll-details span{padding:6px 8px;border-radius:999px;background:#f0f5f7;color:#687b82;font-size:8.5px}.np1442-payroll-details b{color:#23586a}.np1442-payroll-card footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}.np1442-payroll-card footer button{width:100%}
@media(max-width:900px){.np1442-employee-list,.np1442-payroll-list{grid-template-columns:1fr}.np1442-stat-grid,.np1442-payroll-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.np1442-day-card{grid-template-columns:minmax(130px,.7fr) minmax(230px,1.3fr) auto}.np1442-payroll-main{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.np1442-attendance-hero,.np1442-admin-overview,.np1442-payroll-hero{grid-template-columns:1fr;padding:14px}.np1442-hero-count{text-align:left}.np1442-overview-numbers{grid-template-columns:repeat(3,minmax(0,1fr))}.np1442-payroll-hero-stats{grid-template-columns:1fr 1fr}.np1442-day-card{grid-template-columns:1fr}.np1442-day-card .np1440-day-sessions{grid-column:1}.np1442-day-card>button{width:100%}.np1442-not-counted{grid-column:1}.np1442-toolbar{display:grid;grid-template-columns:1fr 1fr}.np1442-toolbar label{min-width:0}.np1442-toolbar button{grid-column:1/-1;width:100%}.np1442-toolbar.payroll{grid-template-columns:1fr auto}.np1442-toolbar.payroll button{grid-column:auto}.np1442-employee-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.np1442-stat-grid,.np1442-payroll-kpis{grid-template-columns:1fr 1fr}.np1442-stat-grid article,.np1442-payroll-kpis article{padding:11px}.np1442-overview-numbers{grid-template-columns:1fr 1fr}.np1442-overview-numbers span:last-child{grid-column:1/-1}.np1442-payroll-hero-stats{grid-template-columns:1fr}.np1442-toolbar,.np1442-toolbar.payroll{grid-template-columns:1fr}.np1442-toolbar.payroll button{grid-column:1}.np1442-payroll-main{grid-template-columns:1fr 1fr}.np1442-rule-strip{display:grid}.np1442-rule-strip span{border-radius:11px}.np1442-employee-card header{align-items:flex-start}.np1442-employee-card header strong{font-size:16px}}


/* Stable 1.44.3 - payroll visual refresh + avatar display */
.np1442-payroll-hero{border-color:#d7e8ef;background:linear-gradient(135deg,#ffffff 0%,#f4fbff 46%,#eefbf4 100%);box-shadow:0 12px 30px rgba(12,81,112,.08)}
.np1442-payroll-kpis{gap:12px}
.np1442-payroll-kpis article{position:relative;overflow:hidden;padding:16px 16px 14px;border-radius:18px;border:1px solid #d9e7ee;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);box-shadow:0 6px 18px rgba(17,75,100,.05)}
.np1442-payroll-kpis article:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;border-radius:18px 18px 0 0;background:linear-gradient(90deg,#25a4da,#33c38b)}
.np1442-payroll-kpis article:nth-child(1):before{background:linear-gradient(90deg,#19a0d7,#54b5ff)}
.np1442-payroll-kpis article:nth-child(2):before{background:linear-gradient(90deg,#f59e0b,#f8c04d)}
.np1442-payroll-kpis article:nth-child(3):before{background:linear-gradient(90deg,#10b981,#34d399)}
.np1442-payroll-kpis article:nth-child(4):before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}
.np1442-payroll-kpis article.primary{background:linear-gradient(180deg,#effaf6 0%,#f9fffc 100%);border-color:#bfe7d4}
.np1442-payroll-kpis span{color:#4f6772;font-size:11px;font-weight:800}
.np1442-payroll-kpis b{margin-top:6px;color:#103d50;font-size:22px;line-height:1.15}
.np1442-formula{border-color:#d8e6db;background:#f7fcf8}
.np1442-formula summary{color:#0f6a4d;font-size:12px}
.np1442-payroll-list{gap:14px}
.np1442-payroll-card{position:relative;gap:12px;padding:16px;border-radius:18px;border:1px solid #d6e4ea;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);box-shadow:0 10px 24px rgba(18,70,88,.05)}
.np1442-payroll-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:18px 0 0 18px;background:linear-gradient(180deg,#1da4d4,#2ec58b)}
.np1442-payroll-card.disabled{opacity:.68;filter:saturate(.88)}
.np1442-payroll-card>header{align-items:flex-start}
.np1442-payroll-person{gap:12px}
.np1442-avatar,.np1443-avatar{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:14px;border:1px solid #d8e8ef;background:linear-gradient(135deg,#dff3fb,#eefbf4);color:#0f607d;font-size:18px;font-weight:900;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.np1442-avatar img,.np1443-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.np1442-avatar.fallback,.np1443-avatar.fallback{background:linear-gradient(135deg,#dff4fb,#e8f8ef)}
.np1442-payroll-person b{color:#143d52;font-size:16px;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip}
.np1442-payroll-person small{color:#5e7681;font-size:10.5px;line-height:1.45}
.np1442-payroll-card>header>strong{padding:8px 12px;border-radius:14px;background:linear-gradient(180deg,#effaf5,#ffffff);border:1px solid #cde8d9;color:#0b6f4c;font-size:18px;line-height:1.15;box-shadow:0 4px 12px rgba(18,97,71,.06)}
.np1442-payroll-card>header>strong small{margin-top:4px;color:#5d7b73;font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.np1442-payroll-progress{padding:10px 12px;border-color:#e3edf1;background:#f7fbfd}
.np1442-payroll-progress>div:first-child{color:#5b7380;font-size:10px}
.np1442-payroll-main{gap:10px}
.np1442-payroll-main span{padding:12px;border-radius:14px;border:1px solid #dfe9ee;background:#ffffff}
.np1442-payroll-main span:nth-child(1){background:linear-gradient(180deg,#f3fbff,#ffffff)}
.np1442-payroll-main span:nth-child(2){background:linear-gradient(180deg,#fff9ed,#ffffff)}
.np1442-payroll-main span:nth-child(3){background:linear-gradient(180deg,#eefaf5,#ffffff)}
.np1442-payroll-main span:nth-child(4){background:linear-gradient(180deg,#f6f2ff,#ffffff)}
.np1442-payroll-main span.primary{border-color:#c2e8d5;background:linear-gradient(180deg,#eafaf2,#ffffff)}
.np1442-payroll-main small{color:#5f7882;font-size:9px;font-weight:800;letter-spacing:.02em}
.np1442-payroll-main b{margin-top:4px;color:#123f53;font-size:13px}
.np1442-payroll-main .primary b{color:#0a6d4a}
.np1442-payroll-details{gap:8px}
.np1442-payroll-details span{padding:7px 10px;border-radius:999px;border:1px solid #e0e9ee;background:#f7fbfd;color:#5b7681;font-size:9px;font-weight:700}
.np1442-payroll-details b{color:#14455b}
.np1442-payroll-card footer{margin-top:2px}
.np1442-payroll-card footer .secondary,.np1442-payroll-card footer .primary{min-height:44px;border-radius:13px;font-weight:800}
.np1442-payroll-card footer .secondary{background:#f7fbfd;border:1px solid #d7e6ec;color:#165066}
.np1442-payroll-card footer .primary{background:linear-gradient(90deg,#0f91c0,#12b37b);border:none;color:#fff}
.np1442-employee-card{border-radius:16px;box-shadow:0 8px 20px rgba(19,73,91,.04)}
.np1442-employee-card header b{font-size:14px}
.np1442-employee-card header small{font-size:10px}
@media(max-width:680px){.np1442-payroll-card>header{gap:10px;flex-direction:column;align-items:stretch}.np1442-payroll-card>header>strong{text-align:left}.np1442-payroll-person b{font-size:15px}}

/* ===== css/design_1_44_4.css ===== */
/* Nam Phuong ERP Stable 1.44.4
   Bảng lương dạng danh sách một hàng mỗi nhân viên.
   Chỉ tác động module Attendance/Payroll. */
.np1444-payroll-summary{margin:12px 0;padding:18px;border:1px solid #d7e4ea;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(23,58,78,.06)}
.np1444-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.np1444-summary-head>div:first-child{min-width:0}.np1444-summary-head small{color:#607681;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.np1444-summary-head h3{margin:4px 0 5px;color:#17394d;font-size:21px}.np1444-summary-head p{margin:0;color:#5e737d;font-size:12px;line-height:1.5}
.np1444-summary-meta{display:flex;gap:8px;flex:0 0 auto}.np1444-summary-meta span{min-width:140px;padding:11px 13px;border:1px solid #dce8ed;border-radius:13px;background:#f8fbfc}.np1444-summary-meta b{display:block;color:#163e52;font-size:16px}.np1444-summary-meta small{display:block;margin-top:3px;color:#6a7f88;font-size:9px;text-transform:none;letter-spacing:0}
.np1444-progress{height:7px;margin-top:14px;border-radius:999px;background:#e7eef1;overflow:hidden}.np1444-progress i{display:block;height:100%;border-radius:inherit;background:#1597bd}
.np1444-toolbar{display:flex;align-items:end;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:12px 0;padding:11px 12px;border:1px solid #dbe7ec;border-radius:14px;background:#fff}.np1444-toolbar label{display:grid;gap:4px;color:#607681;font-size:10px;font-weight:800}.np1444-toolbar input{min-height:40px}.np1444-toolbar button{min-height:40px}
.np1444-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.np1444-kpis article{padding:14px 15px;border:1px solid #dce7ec;border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(23,58,78,.035)}
.np1444-kpis article.due{border-color:#bfe3d3;background:#f4fbf7}.np1444-kpis span{display:block;color:#586f7a;font-size:10px;font-weight:800}.np1444-kpis b{display:block;margin-top:5px;color:#17394d;font-size:20px}.np1444-kpis article.due b{color:#08714a}.np1444-kpis small{display:block;margin-top:3px;color:#7a8c93;font-size:9px}
.np1444-formula{margin:10px 0;padding:12px 14px;border:1px solid #dce7df;border-radius:13px;background:#fafcfb}.np1444-formula summary{cursor:pointer;color:#315c4b;font-size:11px;font-weight:850}.np1444-formula p{margin:7px 0 0;color:#61736b;font-size:10.5px;line-height:1.5}
.np1444-payroll-table{margin-top:12px;border:1px solid #d9e5ea;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(23,58,78,.04)}
.np1444-table-head,.np1444-payroll-row{display:grid;grid-template-columns:minmax(220px,1.55fr) minmax(130px,.8fr) minmax(130px,.9fr) minmax(115px,.75fr) minmax(135px,.9fr) minmax(135px,.9fr) minmax(165px,.9fr);align-items:center;gap:12px}
.np1444-table-head{padding:11px 14px;background:#f3f7f9;border-bottom:1px solid #dce7eb;color:#5e737d;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.035em}
.np1444-payroll-row{position:relative;padding:13px 14px;border-bottom:1px solid #e5edf0;background:#fff}.np1444-payroll-row:last-child{border-bottom:0}.np1444-payroll-row:hover{background:#fbfdfe}.np1444-payroll-row.disabled{opacity:.62}
.np1444-person-cell{display:flex;align-items:center;gap:11px;min-width:0}.np1444-avatar{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;border:1px solid #d8e8ef;background:#e8f5fa;color:#0f607d;font-size:17px;font-weight:900;overflow:hidden}.np1444-avatar img{width:100%;height:100%;display:block;object-fit:cover}.np1444-avatar.fallback{background:#e8f5fa}.np1444-person-cell>div:last-child{display:grid;gap:2px;min-width:0}.np1444-person-cell b{overflow:hidden;color:#17394d;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.np1444-person-cell small{color:#637984;font-size:9.5px}.np1444-person-cell em{color:#819097;font-size:8.5px;font-style:normal}
.np1444-work-cell{display:grid;gap:2px}.np1444-work-cell>b{color:#17394d;font-size:14px}.np1444-work-cell small{color:#637984;font-size:9px}.np1444-work-cell span{color:#8a6a36;font-size:8.5px}
.np1444-money-cell{display:grid;gap:3px}.np1444-money-cell small{color:#637984;font-size:9px}.np1444-money-cell b{color:#17394d;font-size:13px}.np1444-money-cell.advance b{color:#8b5a10}.np1444-money-cell.due b{color:#08714a}.np1444-money-cell.projected b{color:#5a4694}
.np1444-row-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.np1444-row-actions button{min-height:36px;padding:7px 8px;border-radius:10px;font-size:10px;font-weight:800}.np1444-row-actions .secondary{background:#fff;border:1px solid #cfdfe6;color:#23546a}.np1444-row-actions .primary{background:#0c86ad;border-color:#0c86ad;color:#fff}
.np1444-row-warning{grid-column:1/-1;padding:8px 10px;border-radius:10px;background:#fff7e8;color:#8a5a12;font-size:9.5px;font-weight:750}
@media(max-width:1180px){.np1444-table-head{display:none}.np1444-payroll-table{border:0;background:transparent;box-shadow:none;overflow:visible}.np1444-table-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.np1444-payroll-row{grid-template-columns:1fr 1fr;gap:10px;border:1px solid #d9e5ea;border-radius:15px}.np1444-person-cell{grid-column:1/-1}.np1444-row-actions{grid-column:1/-1}.np1444-money-cell,.np1444-work-cell{padding:9px 10px;border:1px solid #e3ebef;border-radius:11px;background:#fafcfd}.np1444-row-warning{grid-column:1/-1}}
@media(max-width:780px){.np1444-summary-head{display:grid}.np1444-summary-meta{display:grid;grid-template-columns:1fr 1fr}.np1444-summary-meta span{min-width:0}.np1444-kpis{grid-template-columns:1fr 1fr}.np1444-table-body{grid-template-columns:1fr}}
@media(max-width:480px){.np1444-kpis{grid-template-columns:1fr}.np1444-summary-meta{grid-template-columns:1fr}.np1444-payroll-row{grid-template-columns:1fr}.np1444-person-cell,.np1444-row-actions,.np1444-row-warning{grid-column:1}.np1444-row-actions{grid-template-columns:1fr 1fr}.np1444-person-cell b{white-space:normal}}

/* ===== css/design_1_45_0.css ===== */
/* Nam Phuong ERP Stable 1.45.0
   Giao dien gon cho ma chuyen xe dang giao. Chi tac dong Soan hang + Don ban. */
.np1450-legacy-hidden{display:none!important}
.np1450-trip-chooser{margin:12px 0;padding:14px;border:1px solid #cfe0e7;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(22,75,95,.045)}
.np1450-trip-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.np1450-trip-heading>div{display:grid;gap:2px}.np1450-trip-heading b{color:#173f50;font-size:13px}.np1450-trip-heading small{color:#687f89;font-size:10px}
.np1450-trip-heading button{min-width:38px;min-height:34px;padding:6px 9px}
.np1450-trip-chooser select{width:100%;min-height:45px;border-color:#b9d4df;background:#fbfdfe;color:#163f51;font-weight:800}
.np1450-trip-meta{display:flex;align-items:center;gap:10px;margin-top:9px;padding:10px 11px;border-radius:12px;border:1px solid #e0e9ed;background:#f7fafb}
.np1450-trip-meta>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#e7f5fa;font-size:17px}
.np1450-trip-meta>div{display:grid;gap:2px;min-width:0}.np1450-trip-meta b{color:#174c60;font-size:12px}.np1450-trip-meta small{color:#657b84;font-size:9.5px;line-height:1.4}
.np1450-trip-meta.active{border-color:#bfe2d4;background:#f3fbf7}.np1450-trip-meta.active>span{background:#ddf4e8}
.np1450-migration-note{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:#fff5df;color:#805a08;font-size:10px}
.np1450-review-trip,.np1450-approval-trip{display:flex;align-items:center;gap:10px;margin:10px 0;padding:11px 12px;border:1px solid #cfe2da;border-radius:13px;background:#f3faf6}
.np1450-review-trip>span,.np1450-approval-trip>span{font-size:20px}.np1450-review-trip>div,.np1450-approval-trip>div{display:grid;gap:2px}.np1450-review-trip small,.np1450-approval-trip small{color:#667d74;font-size:9px;text-transform:uppercase;font-weight:800}.np1450-review-trip b,.np1450-approval-trip b{color:#15543f;font-size:13px}.np1450-review-trip em{color:#6a7c76;font-size:9.5px;font-style:normal}
.np1450-receive-guide{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:11px 12px;border:1px solid #bfe4d5;border-radius:13px;background:#f1faf6}
.np1450-receive-guide>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#d7f2e4;color:#08724d;font-weight:900}.np1450-receive-guide p{display:grid;gap:2px;margin:0}.np1450-receive-guide b{color:#165744;font-size:11px}.np1450-receive-guide small{color:#647b72;font-size:9.5px}
.np1450-active-section{margin:14px 0;padding:14px;border:1px solid #c7e1d6;border-radius:17px;background:#f6fbf8}
.np1450-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.np1450-section-title>div{display:grid;gap:2px}.np1450-section-title b{color:#154f3d;font-size:14px}.np1450-section-title small{color:#657d73;font-size:10px}.np1450-section-title>span{padding:6px 10px;border-radius:999px;background:#dff3e9;color:#116443;font-size:9.5px;font-weight:900}
.np1450-active-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.np1450-active-load{display:grid;gap:11px;padding:14px;border:1px solid #cfe1d9;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(24,78,59,.04)}
.np1450-active-load header{display:flex;align-items:center;justify-content:space-between;gap:10px}.np1450-active-load header>div{display:flex;align-items:center;gap:9px;min-width:0}.np1450-active-load header>div>span{font-size:23px}.np1450-active-load header p{display:grid;gap:2px;margin:0;min-width:0}.np1450-active-load header b{overflow:hidden;color:#153f4c;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.np1450-active-load header small{overflow:hidden;color:#6d8086;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.np1450-active-load header em{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#dff4e9;color:#0c704b;font-size:9px;font-style:normal;font-weight:900}
.np1450-active-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.np1450-active-kpis span{display:grid;gap:3px;padding:9px;border-radius:11px;background:#f5f9fa}.np1450-active-kpis small{color:#6d8087;font-size:8.5px}.np1450-active-kpis b{color:#174c5d;font-size:12px}.np1450-active-load footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}.np1450-active-load footer button{width:100%;min-height:40px}
.np1430-load-card.status-completed{border-color:#d9e1e5;background:#fafbfc}.np1430-load-card.status-completed header em{background:#edf1f3;color:#566971}
.np1450-order-list{display:grid;gap:9px;margin-top:10px}.np1450-order-row{display:grid;gap:8px;padding:12px;border:1px solid #dce7eb;border-radius:13px;background:#fff}.np1450-order-row header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.np1450-order-row header>div{display:grid;gap:2px}.np1450-order-row header b{color:#173f50;font-size:12px}.np1450-order-row header small{color:#71838a;font-size:9px}.np1450-order-row header strong{color:#096b4a;font-size:13px}.np1450-order-row>p{margin:0;color:#657981;font-size:9.5px;line-height:1.45}
.np1450-order-actions{display:flex!important;align-items:end!important;gap:7px!important;padding:0!important;border:0!important;background:transparent!important}.np1450-order-actions>label{display:grid;gap:3px;margin-left:auto;color:#607780;font-size:9px;font-weight:800}.np1450-order-actions input{width:82px;min-height:34px}.np1450-order-actions button{min-height:34px}
@media(max-width:900px){.np1450-active-grid{grid-template-columns:1fr}}
@media(max-width:620px){.np1450-trip-chooser{padding:12px}.np1450-active-section{padding:11px}.np1450-active-kpis{grid-template-columns:1fr 1fr}.np1450-active-load footer{grid-template-columns:1fr}.np1450-order-actions{align-items:stretch!important;flex-wrap:wrap}.np1450-order-actions>label{margin-left:0;flex:1}.np1450-order-actions input{width:100%}.np1450-order-actions button{flex:1}.np1450-trip-meta small{font-size:9px}}

/* ===== css/design_1_45_1.css ===== */
/* Nam Phuong ERP Stable 1.45.1
   Chon nhanh ma chuyen bang the tick. Chi tac dong trang Ban hang / Soan hang. */
.np1451-trip-chooser{padding:14px;background:#fff;border-color:#d3e1e7}
.np1451-trip-tools{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.np1451-trip-tools button{min-height:34px}
.np1451-trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.np1451-trip-card{position:relative;display:grid;grid-template-columns:28px 38px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:72px;padding:11px 12px;border:1px solid #d7e3e8;border-radius:14px;background:#fff;color:#183e4e;text-align:left;box-shadow:0 2px 8px rgba(18,66,84,.035);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,transform .15s ease}
.np1451-trip-card:hover{border-color:#9fc7d6;box-shadow:0 5px 14px rgba(18,86,112,.08)}
.np1451-trip-card:active{transform:scale(.995)}
.np1451-trip-card:focus-visible{outline:3px solid rgba(16,132,172,.2);outline-offset:2px}
.np1451-trip-card:disabled{cursor:not-allowed;opacity:.46;box-shadow:none}
.np1451-trip-check{display:grid;place-items:center;width:24px;height:24px;border:2px solid #b8cbd3;border-radius:7px;background:#fff;color:#fff;font-size:14px;font-weight:950}
.np1451-trip-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf5f8;font-size:20px}
.np1451-trip-copy{display:grid;gap:3px;min-width:0}
.np1451-trip-copy b{overflow:hidden;color:#153e50;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.np1451-trip-copy small{overflow:hidden;color:#667c86;font-size:9.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.np1451-trip-card em{padding:5px 8px;border-radius:999px;background:#eef3f5;color:#526a74;font-size:8.5px;font-style:normal;font-weight:900;white-space:nowrap}
.np1451-trip-card.ready em{background:#eef7fb;color:#176080}
.np1451-trip-card.departed em{background:#edf8f3;color:#116648}
.np1451-trip-card.closed em{background:#f0f2f3;color:#5f6d73}
.np1451-trip-card.selected{border-color:#1688ad;background:#f4fbfe;box-shadow:0 0 0 2px rgba(22,136,173,.13),0 7px 16px rgba(17,96,126,.08)}
.np1451-trip-card.selected .np1451-trip-check{border-color:#1086ac;background:#1086ac}
.np1451-trip-card.selected .np1451-trip-icon{background:#e1f3f9}
.np1451-trip-card.selected.departed{border-color:#15956a;background:#f3fbf7;box-shadow:0 0 0 2px rgba(21,149,106,.12),0 7px 16px rgba(18,105,75,.07)}
.np1451-trip-card.selected.departed .np1451-trip-check{border-color:#14885f;background:#14885f}
.np1451-trip-card.selected.departed .np1451-trip-icon{background:#e2f5eb}
.np1451-trip-card.selected.closed{border-color:#8a999f;background:#f7f9fa;box-shadow:0 0 0 2px rgba(95,113,120,.1)}
.np1451-trip-card.selected.closed .np1451-trip-check{border-color:#687b83;background:#687b83}
.np1451-trip-empty{grid-column:1/-1;display:grid;gap:3px;padding:15px;border:1px dashed #cbdbe1;border-radius:13px;background:#f8fbfc;text-align:center}
.np1451-trip-empty b{color:#355968;font-size:11px}.np1451-trip-empty small{color:#74868d;font-size:9.5px}
.np1451-closed-note{margin:9px 0 0;padding:9px 11px;border:1px solid #d8e0e3;border-radius:11px;background:#f7f9fa;color:#5e7179;font-size:9.5px;line-height:1.45}
.np1450-trip-meta.closed{border-color:#d8e0e3;background:#f7f9fa}.np1450-trip-meta.closed>span{background:#e9edef}
@media(max-width:760px){.np1451-trip-grid{grid-template-columns:1fr}.np1451-trip-card{min-height:68px}}
@media(max-width:480px){.np1451-trip-chooser{padding:11px}.np1450-trip-heading{align-items:flex-start}.np1451-trip-tools{flex-wrap:wrap;justify-content:flex-end}.np1451-trip-card{grid-template-columns:25px 34px minmax(0,1fr);padding:10px}.np1451-trip-card em{grid-column:3;justify-self:start}.np1451-trip-icon{width:34px;height:34px;font-size:18px}.np1451-trip-copy small{white-space:normal}.np1450-trip-meta{align-items:flex-start}}

/* ===== css/design_1_46_0.css ===== */
/* Nam Phuong ERP Stable 1.46.0 - diagnostics only. */
.np1460-inline-loading{grid-column:1/-1;padding:11px 13px;border:1px solid #d9e7ec;border-radius:12px;background:#f7fbfd;color:#496b78;font-size:11px;font-weight:750}
.np1460-diagnostic{margin-top:14px;border:1px solid #d9e7ec;background:#fff}
.np1460-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}
.np1460-metrics span,.np1460-row-counts span{padding:10px 11px;border:1px solid #e0eaee;border-radius:12px;background:#f8fbfc}
.np1460-metrics small,.np1460-row-counts small{display:block;color:#6a7f87;font-size:9px;font-weight:750}
.np1460-metrics b,.np1460-row-counts b{display:block;margin-top:4px;color:#174f63;font-size:14px}
.np1460-row-counts{display:flex;gap:7px;flex-wrap:wrap}.np1460-row-counts span{min-width:92px;padding:7px 9px}
.np1460-diagnostic-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:11px;color:#697c84}.np1460-diagnostic-foot details{max-width:60%}.np1460-diagnostic-foot p{margin:7px 0;padding:7px 9px;border-radius:9px;background:#fff5f5;color:#7a4141}
@media(max-width:760px){.np1460-metrics{grid-template-columns:1fr 1fr}.np1460-diagnostic .card-title-row{align-items:stretch}.np1460-diagnostic .card-title-row button{width:100%}.np1460-diagnostic-foot{display:grid}.np1460-diagnostic-foot details{max-width:none}}
/* ===== css/design_1_46_2a.css ===== */
/* Nam Phuong ERP Stable 1.46.2A - read-flow performance UI */
.np1462-search-status{display:block;margin-top:5px;color:#647b85;font-size:10px;font-weight:700}
.np1462-load-more{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border:1px solid #dce8ed;border-top:0;border-radius:0 0 14px 14px;background:#f8fbfc;color:#58717c;font-size:11px}
.np1462-load-more button{min-height:38px}
.np1462-diagnostic{margin-top:14px}
.np1462-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}
.np1462-metrics span{display:grid;gap:4px;padding:11px;border:1px solid #dce8ed;border-radius:12px;background:#f8fbfc}
.np1462-metrics small{color:#6c8088;font-size:9px;font-weight:750}
.np1462-metrics b{color:#15566d;font-size:15px}
@media(max-width:720px){.np1462-load-more{flex-direction:column}.np1462-load-more button{width:100%}.np1462-metrics{grid-template-columns:1fr 1fr}}
/* ===== css/design_1_46_1.css ===== */
/* Stable 1.46.1 - o Binh loi gon tren trang ban hang */
.np1461-defect-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:12px 13px;border:1px solid #f1d5a5;border-radius:14px;background:#fffaf1}
.np1461-defect-copy{display:flex;align-items:center;gap:10px;min-width:0}.np1461-defect-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#fff0cf;color:#a86400;font-size:15px}.np1461-defect-copy div{display:grid;gap:2px}.np1461-defect-copy b{color:#674309;font-size:12px}.np1461-defect-copy small{color:#7f725d;font-size:9.5px;line-height:1.35}.np1461-defect-box label{display:flex;align-items:center;gap:6px;flex:0 0 auto;color:#765313;font-size:10px;font-weight:800}.np1461-defect-box input{width:74px;min-height:40px;padding:8px 9px;border-color:#e6c37c;background:#fff;color:#3c2c0c;font-size:16px;font-weight:900;text-align:center}
.np1461-review-defect{display:flex;align-items:center;gap:10px;margin:9px 0;padding:10px 12px;border:1px solid #f0d7aa;border-radius:12px;background:#fffaf1}.np1461-review-defect>span{font-size:18px}.np1461-review-defect div{display:grid;gap:1px}.np1461-review-defect small{color:#806f52;font-size:9px}.np1461-review-defect b{color:#68440a;font-size:13px}.np1461-review-defect em{color:#8a7b62;font-size:8.5px;font-style:normal}
@media(max-width:560px){.np1461-defect-box{align-items:flex-start}.np1461-defect-copy small{max-width:220px}.np1461-defect-box input{width:66px}}
/* ===== css/design_1_47_0.css ===== */
/* Nam Phuong ERP Stable 1.47.0 - luong hai xe don gian */
.np1470-shell{margin:12px 0}.np1470-loading{padding:28px;border:1px solid #dce7ec;border-radius:16px;background:#fff;color:#5d7079;text-align:center}.np1470-error{border-color:#efcaca;background:#fffafa}
.np1470-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.np1470-summary span{display:grid;gap:4px;padding:13px 14px;border:1px solid #dce7ec;border-radius:14px;background:#fff}.np1470-summary small{color:#667982;font-size:10px;font-weight:750}.np1470-summary b{color:#163f52;font-size:17px}
.np1470-guide{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px;margin-bottom:12px;padding:11px 13px;border:1px solid #d9e8ee;border-radius:14px;background:#f8fbfc}.np1470-guide>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#126f91;color:#fff;font-size:11px;font-weight:900}.np1470-guide p{margin:0;color:#526b76;font-size:11px;line-height:1.45}.np1470-guide b{color:#153f52}
.np1470-vehicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.np1470-vehicle-card{position:relative;display:grid;gap:11px;padding:16px;border:1px solid #d8e4e9;border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(15,62,82,.045);overflow:hidden}.np1470-vehicle-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#3488a9}.np1470-vehicle-card.tone-green:before{background:#16846b}.np1470-vehicle-card.tone-white:before{background:#547e9c}.np1470-vehicle-card.empty{background:#fafcfd;border-style:dashed;box-shadow:none}.np1470-vehicle-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.np1470-vehicle-title{display:flex;align-items:center;gap:10px}.np1470-vehicle-title>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#edf7fa;font-size:21px}.tone-green .np1470-vehicle-title>span{background:#edf8f4}.np1470-vehicle-title h3{margin:0;color:#163f52;font-size:17px}.np1470-vehicle-title small{display:block;margin-top:2px;color:#71828a;font-size:9.5px}.np1470-vehicle-card>header>em{padding:5px 8px;border-radius:999px;background:#edf8f4;color:#0f745c;font-size:9px;font-style:normal;font-weight:850;white-space:nowrap}.np1470-vehicle-card.empty>header>em{background:#eef2f4;color:#687b83}
.np1470-time-line{display:grid;gap:4px;padding:9px 11px;border-radius:11px;background:#f7fafb;color:#596f79;font-size:9.5px}.np1470-time-line b{color:#244b5d}.np1470-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.np1470-kpis span{display:grid;align-content:center;min-height:68px;padding:8px;border:1px solid #e0e9ed;border-radius:11px;background:#fbfdfe;text-align:center}.np1470-kpis span.primary{border-color:#bfe3d5;background:#f1faf6}.np1470-kpis span.bad{border-color:#edc1c1;background:#fff5f5}.np1470-kpis small{color:#6a7e87;font-size:8.5px}.np1470-kpis b{margin-top:3px;color:#16465a;font-size:17px;line-height:1}.np1470-kpis span.primary b{color:#087052}.np1470-kpis span.bad b{color:#b33232}.np1470-kpis em{margin-top:2px;color:#8a989e;font-size:8px;font-style:normal}.np1470-empty-kpis{padding:16px;border:1px dashed #d5e0e5;border-radius:11px;color:#6d7f87;text-align:center;font-size:11px}
.np1470-block-summary{padding:9px 11px;border-radius:11px;background:#f8fbfc;color:#5d717b;font-size:10px;line-height:1.45}.np1470-block-summary b{color:#244d60}.np1470-note{margin:0;padding:8px 10px;border-left:3px solid #d7e4e9;background:#fbfcfd;color:#667982;font-size:10px}.np1470-vehicle-card>footer{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:2px}.np1470-vehicle-card>footer button{min-height:38px}.np1470-no-action{color:#74858c;font-size:10px}
.np1470-tracking-note{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:11px 13px;border:1px solid #dce8ed;border-radius:13px;background:#f8fbfc}.np1470-tracking-note b{color:#17485c;font-size:11px}.np1470-tracking-note span{color:#60757e;font-size:10px;line-height:1.45}
.np1470-new-warning{display:grid;gap:3px;margin-bottom:12px;padding:11px 13px;border:1px solid #efd59e;border-radius:12px;background:#fffaf0}.np1470-new-warning b{color:#8d5a09;font-size:11px}.np1470-new-warning span{color:#765f39;font-size:10px}.np1470-edit-meta{margin-bottom:12px;padding:10px 12px;border-radius:12px;background:#f7fafb;color:#5d717a;font-size:10px}.np1470-form{gap:12px}.np1470-bottle-input>span{font-weight:850;color:#17485b}.np1470-bottle-input input{min-height:48px;font-size:20px;font-weight:850}.np1470-bottle-input small{color:#708189;font-size:9px}.np1470-products{padding:12px;border:1px solid #dce7eb;border-radius:13px;background:#fbfdfe}.np1470-products header{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.np1470-products header b{color:#17485b;font-size:11px}.np1470-products header small{color:#76878e;font-size:9px}.np1470-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.np1470-product{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid #e0e9ed;border-radius:10px;background:#fff}.np1470-product>span{display:grid;color:#345767;font-size:9.5px;font-weight:750}.np1470-product small{color:#839198;font-size:8px}.np1470-product input{width:82px;min-height:36px;text-align:center}
.np1470-history{display:grid;gap:9px}.np1470-history article{display:grid;gap:9px;padding:12px;border:1px solid #dce6ea;border-radius:13px;background:#fff}.np1470-history header{display:flex;justify-content:space-between;gap:10px}.np1470-history header>div{display:grid;gap:2px}.np1470-history header b{color:#17475a;font-size:11px}.np1470-history header small{color:#75868d;font-size:9px}.np1470-history header em{color:#667a83;font-size:9px;font-style:normal}.np1470-history article>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.np1470-history article>div span{padding:7px;border-radius:9px;background:#f6fafb;color:#627780;font-size:9px;text-align:center}.np1470-history article>div b{color:#17485b}.np1470-history article>button{justify-self:end}
.np1470-sale-chooser{margin:10px 0;padding:12px;border:1px solid #d8e5ea;border-radius:15px;background:#fff}.np1470-sale-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.np1470-sale-heading>div{display:grid;gap:2px}.np1470-sale-heading b{color:#163f52;font-size:12px}.np1470-sale-heading small{color:#6b7e87;font-size:9.5px}.np1470-sale-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.np1470-sale-card{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:64px;padding:10px 11px;border:1px solid #d8e5ea;border-radius:13px;background:#fbfdfe;color:inherit;text-align:left;cursor:pointer}.np1470-sale-card:hover{border-color:#9fc7d5;background:#f8fcfd}.np1470-sale-card.selected{border:2px solid #1082a7;background:#f0f9fc;box-shadow:0 0 0 3px rgba(16,130,167,.08)}.np1470-sale-card.tone-green.selected{border-color:#16846b;background:#eff9f5;box-shadow:0 0 0 3px rgba(22,132,107,.08)}.np1470-sale-card.disabled{cursor:not-allowed;opacity:.58;background:#f4f6f7}.np1470-sale-check{display:grid;place-items:center;width:22px;height:22px;border:1px solid #b9cbd2;border-radius:7px;background:#fff;color:#fff;font-size:13px;font-weight:900}.np1470-sale-card.selected .np1470-sale-check{border-color:#1082a7;background:#1082a7}.np1470-sale-card.tone-green.selected .np1470-sale-check{border-color:#16846b;background:#16846b}.np1470-sale-icon{font-size:21px}.np1470-sale-copy{display:grid;gap:3px;min-width:0}.np1470-sale-copy b{color:#163f52;font-size:13px}.np1470-sale-copy small{overflow:hidden;color:#6c7f87;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.np1470-sale-card>em{padding:4px 7px;border-radius:999px;background:#edf7fa;color:#17627c;font-size:8.5px;font-style:normal;font-weight:800;white-space:nowrap}.np1470-sale-card.tone-green>em{background:#edf8f4;color:#176b58}.np1470-sale-card.disabled>em{background:#e9edef;color:#75848a}.np1470-sale-hint{margin:8px 1px 0;color:#71828a;font-size:9px;line-height:1.4}.np1470-sale-closed{display:flex;align-items:center;gap:9px;margin-top:8px;padding:9px 10px;border:1px solid #e1e7ea;border-radius:11px;background:#f6f8f9}.np1470-sale-closed>div{display:grid;gap:2px}.np1470-sale-closed b{color:#465d68;font-size:10px}.np1470-sale-closed small{color:#77868d;font-size:9px}
@media(max-width:900px){.np1470-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.np1470-vehicle-grid{grid-template-columns:1fr}.np1470-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.np1470-guide{grid-template-columns:auto 1fr}.np1470-summary{gap:7px}.np1470-summary span{padding:10px}.np1470-summary b{font-size:15px}.np1470-vehicle-card{padding:13px}.np1470-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.np1470-product-grid{grid-template-columns:1fr}.np1470-products header{display:grid}.np1470-sale-grid{grid-template-columns:1fr}.np1470-sale-card{grid-template-columns:auto auto minmax(0,1fr)}.np1470-sale-card>em{grid-column:3;justify-self:start}.np1470-history article>div{grid-template-columns:repeat(2,minmax(0,1fr))}.np1470-tracking-note{display:grid}}

/* Stable 1.48.5 - hide locked vehicles from sale chooser */
.np1485-no-active-vehicle{grid-column:1/-1;display:grid;gap:4px;padding:13px 14px;border:1px dashed #cbdce4;border-radius:12px;background:#f7fafb;text-align:center}.np1485-no-active-vehicle b{color:#234e61;font-size:11px}.np1485-no-active-vehicle span{color:#667b85;font-size:9.5px;line-height:1.45}
/* ===== css/design_1_47_1.css ===== */
/* Nam Phuong ERP Stable 1.47.1 - doi chieu thuc te hai xe */
.np1471-overview{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);align-items:center;gap:8px;margin:-2px 0 12px;padding:10px 12px;border:1px solid #dce8ed;border-radius:13px;background:#f8fbfc}.np1471-overview>span{display:flex;align-items:baseline;gap:5px;padding:7px 9px;border-radius:10px;background:#fff;border:1px solid #e0e9ed}.np1471-overview b{font-size:15px;color:#17485b}.np1471-overview small{font-size:8.5px;color:#6d7f87}.np1471-overview .ok b{color:#087052}.np1471-overview .warn b{color:#9a650d}.np1471-overview .bad b{color:#b33232}.np1471-overview p{margin:0;color:#60757e;font-size:9.5px;line-height:1.4;text-align:right}
.np1471-reconcile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #dce7eb;border-radius:12px;background:#f8fbfc}.np1471-reconcile-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e9f1f4;color:#55707b;font-weight:900}.np1471-reconcile-copy{display:grid;gap:3px;min-width:0}.np1471-reconcile-copy header{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.np1471-reconcile-copy header b{color:#244d60;font-size:10.5px}.np1471-reconcile-copy header span{padding:3px 6px;border-radius:999px;background:#fff;color:#637780;font-size:8.5px}.np1471-reconcile-copy p{margin:0;color:#617680;font-size:9px;line-height:1.4}.np1471-reconcile-copy small{color:#7b8a90;font-size:8.2px}.np1471-reconcile-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.np1471-reconcile.status-matched{border-color:#bfe3d5;background:#f1faf6}.np1471-reconcile.status-matched .np1471-reconcile-icon{background:#d8f0e6;color:#087052}.np1471-reconcile.status-short,.np1471-reconcile.status-over{border-color:#efc7c7;background:#fff7f7}.np1471-reconcile.status-short .np1471-reconcile-icon,.np1471-reconcile.status-over .np1471-reconcile-icon{background:#f9dede;color:#b33232}.np1471-reconcile.status-stale{border-color:#ead49f;background:#fffaf0}.np1471-reconcile.status-stale .np1471-reconcile-icon{background:#f8e9bf;color:#94600b}.np1471-negative-stock{border-color:#e4aaaa!important;background:#fff5f5!important}
.np1471-sql-warning{display:flex;align-items:center;gap:9px;margin-bottom:12px;padding:10px 12px;border:1px solid #ebc18e;border-radius:12px;background:#fff8ed}.np1471-sql-warning b{color:#8a5709;font-size:10px}.np1471-sql-warning span{color:#795f38;font-size:9px}
.np1471-check-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:11px}.np1471-check-summary span{display:grid;gap:3px;padding:9px;border:1px solid #dce7eb;border-radius:10px;background:#f8fbfc;text-align:center}.np1471-check-summary span.primary{border-color:#b9dded;background:#eef8fc}.np1471-check-summary small{color:#6e8088;font-size:8.5px}.np1471-check-summary b{color:#17485b;font-size:15px}.np1471-last-check{display:grid;gap:3px;margin-bottom:11px;padding:9px 11px;border-radius:11px;background:#f7fafb}.np1471-last-check b{color:#254f61;font-size:9.5px}.np1471-last-check span{color:#687c85;font-size:9px}.np1471-check-form{gap:10px}.np1471-check-form label>span{font-weight:800;color:#244d60}.np1471-check-form input{min-height:48px;font-size:19px;font-weight:850}.np1471-difference{padding:10px 11px;border:1px solid #dde7eb;border-radius:11px;background:#f8fbfc;color:#60757e;font-size:9.5px;line-height:1.45}.np1471-difference.matched{border-color:#bfe3d5;background:#f1faf6;color:#087052}.np1471-difference.short,.np1471-difference.over{border-color:#efc7c7;background:#fff7f7;color:#9c2f2f}.np1471-modal-actions{display:flex;justify-content:flex-end;margin:9px 0}.np1471-history-wrap{margin-top:10px;border-top:1px solid #e0e8eb;padding-top:9px}.np1471-history-wrap summary{cursor:pointer;color:#244d60;font-size:10px;font-weight:800}.np1471-history{display:grid;gap:7px;margin-top:8px}.np1471-history article{display:grid;gap:7px;padding:10px;border:1px solid #dce6ea;border-radius:11px;background:#fff}.np1471-history article header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.np1471-history article header>div{display:grid;gap:2px}.np1471-history article header b{color:#254f61;font-size:9.5px}.np1471-history article header small{color:#7b8a90;font-size:8px}.np1471-history article header em{font-size:8.5px;font-style:normal;font-weight:800}.np1471-history article.tone-ok header em{color:#087052}.np1471-history article.tone-short header em,.np1471-history article.tone-over header em{color:#b33232}.np1471-history article>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.np1471-history article>div span{padding:7px;border-radius:8px;background:#f7fafb;color:#687c85;font-size:8.5px;text-align:center}.np1471-history article>div b{color:#254f61}.np1471-history article p{margin:0;color:#657982;font-size:8.5px}.np1471-history-error{padding:9px;border-radius:9px;background:#fff5f5;color:#a13838;font-size:9px}
@media(max-width:760px){.np1471-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.np1471-overview p{grid-column:1/-1;text-align:left}.np1471-reconcile{grid-template-columns:auto minmax(0,1fr)}.np1471-reconcile-actions{grid-column:1/-1;justify-content:stretch}.np1471-reconcile-actions button{flex:1}.np1471-check-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.np1471-overview{gap:6px;padding:8px}.np1471-overview>span{display:grid;gap:2px;text-align:center}.np1471-reconcile{padding:9px}.np1471-reconcile-copy header{display:grid}.np1471-check-summary span{padding:8px}}


/* Stable 1.47.2 - Vehicle UI contrast hotfix */
.np1470-vehicle-card{box-shadow:0 8px 22px rgba(15,62,82,.05)}
.np1470-time-line{background:#f6fafc;color:#425b67}
.np1470-time-line b{color:#123f53}
.np1470-kpis span{background:#ffffff!important;border-color:#d6e3e9!important}
.np1470-kpis small{color:#58707b!important;font-size:9px!important;font-weight:800!important}
.np1470-kpis b{color:#123f53!important;font-size:20px!important;font-weight:900!important}
.np1470-kpis em{color:#6f838c!important;font-size:8px!important}
.np1470-kpis span.primary{background:#eef7fb!important;border-color:#bdd8e7!important}
.np1470-kpis span.primary small{color:#386377!important}
.np1470-kpis span.primary b{color:#0d4660!important}
.np1470-kpis span.bad{background:#fff6f6!important;border-color:#e6bcbc!important}
.np1470-kpis span.bad b{color:#a73131!important}
.np1471-overview{background:#f8fbfc!important;border-color:#d9e5ea!important}
.np1471-overview>span{background:#ffffff!important;border-color:#d7e4e9!important}
.np1471-overview b{color:#123f53!important;font-size:16px!important}
.np1471-overview .ok b{color:#0b6d56!important}
.np1471-overview .warn b{color:#8c5d08!important}
.np1471-overview .bad b{color:#a73131!important}
.np1471-overview p,.np1471-overview small{color:#5d737d!important}
.np1471-reconcile{background:#f8fbfc!important;border-color:#d8e4e9!important}
.np1471-reconcile-copy header b{color:#123f53!important;font-size:11px!important}
.np1471-reconcile-copy header span{background:#fff!important;border:1px solid #dce6ea;color:#526975!important}
.np1471-reconcile-copy p{color:#415a66!important;font-size:9.5px!important}
.np1471-reconcile-copy small{color:#667b84!important;font-size:8.5px!important}
.np1471-reconcile.status-matched{background:#f2fbf6!important;border-color:#b9e0cf!important}
.np1471-reconcile.status-matched .np1471-reconcile-copy p,.np1471-reconcile.status-matched .np1471-reconcile-copy header b{color:#0e5d4b!important}
.np1471-reconcile.status-short,.np1471-reconcile.status-over{background:#fff6f6!important;border-color:#e8c1c1!important}
.np1471-reconcile.status-short .np1471-reconcile-copy p,.np1471-reconcile.status-over .np1471-reconcile-copy p,.np1471-reconcile.status-short .np1471-reconcile-copy header b,.np1471-reconcile.status-over .np1471-reconcile-copy header b{color:#8f2f2f!important}
.np1471-reconcile.status-stale{background:#fffaf2!important;border-color:#ead39c!important}
.np1471-reconcile.status-stale .np1471-reconcile-copy p,.np1471-reconcile.status-stale .np1471-reconcile-copy header b{color:#875906!important}
.np1471-reconcile-actions .secondary{background:#fff!important;border-color:#cedde4!important;color:#184a60!important}
.np1471-reconcile-actions .primary{background:#0d84ad!important;color:#fff!important}
.np1471-check-summary span{background:#fff!important;border-color:#d7e4e9!important}
.np1471-check-summary span.primary{background:#eef7fb!important;border-color:#bdd8e7!important}
.np1471-check-summary small{color:#58707b!important}
.np1471-check-summary b{color:#123f53!important;font-size:16px!important}
.np1471-last-check{background:#f7fafb!important;border:1px solid #dce6ea}
.np1471-last-check b{color:#123f53!important}
.np1471-last-check span{color:#506773!important}
@media(max-width:600px){.np1470-kpis b{font-size:18px!important}.np1471-check-summary b{font-size:15px!important}}
/* ===== css/design_1_48_0.css ===== */
/* Nam Phuong ERP Stable 1.48.0 - khong gian ban hang theo tuyen */
.np1480-intro{display:flex;align-items:center;gap:13px;margin:12px 0;padding:14px 16px;border:1px solid #d7e5eb;border-radius:16px;background:#f7fbfc}.np1480-intro>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#e7f4f8;font-size:24px}.np1480-intro b{display:block;color:#123f53;font-size:14px}.np1480-intro p{margin:4px 0 0;color:#526b76;font-size:11px;line-height:1.45}
.np1480-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.np1480-route-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:92px;padding:14px;border:1px solid #d6e4ea;border-radius:16px;background:#fff;color:inherit;text-align:left;box-shadow:0 6px 18px rgba(15,62,82,.045);cursor:pointer}.np1480-route-card:hover,.np1480-route-card.last{border-color:#8fc2d3;background:#f4fbfd}.np1480-route-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#edf7fa;font-size:21px}.np1480-route-card>span:nth-child(2){display:grid;gap:2px;min-width:0}.np1480-route-card small{color:#71838b;font-size:8.5px;font-weight:800}.np1480-route-card b{overflow:hidden;color:#123f53;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.np1480-route-card em{color:#5e747e;font-size:9.5px;font-style:normal}.np1480-route-card i{color:#6e8d99;font-size:22px;font-style:normal}
.np1480-workspace{display:grid;gap:10px}.np1480-sql-warning{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e7c785;border-radius:12px;background:#fff9ed}.np1480-sql-warning b{color:#855709;font-size:10px}.np1480-sql-warning span{color:#715d39;font-size:9px}.np1480-route-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #d7e4e9;border-radius:16px;background:#fff}.np1480-route-title{display:flex;align-items:center;gap:10px}.np1480-back{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #d4e1e6;border-radius:11px;background:#f7fafb;color:#17475b;font-size:24px}.np1480-route-title small{color:#71838b;font-size:8.5px;font-weight:800}.np1480-route-title h3{margin:1px 0;color:#103e52;font-size:18px}.np1480-route-title p{margin:0;color:#5d737d;font-size:9.5px}.np1480-route-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.np1480-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.np1480-search-row input{min-height:44px;border-color:#ccdce3;background:#fff;font-size:12px}.np1480-filter-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:2px}.np1480-filter-tabs button{display:flex;align-items:center;gap:6px;min-height:38px;padding:8px 12px;border:1px solid #d5e2e7;border-radius:11px;background:#fff;color:#4c6671;font-weight:800;white-space:nowrap}.np1480-filter-tabs button b{display:grid;place-items:center;min-width:23px;height:20px;padding:0 5px;border-radius:999px;background:#edf3f5;color:#345966;font-size:9px}.np1480-filter-tabs button.active{border-color:#1684aa;background:#eef8fc;color:#0e526d}.np1480-filter-tabs button.active b{background:#1684aa;color:#fff}
.np1480-customer-list{display:grid;gap:8px}.np1480-customer-card{overflow:hidden;border:1px solid #d8e4e9;border-radius:14px;background:#fff}.np1480-customer-card.done{border-color:#bcdccd;background:#f7fcf9}.np1480-customer-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:12px 13px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.np1480-customer-main:hover{background:rgba(15,117,153,.035)}.np1480-order-number{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#edf5f7;color:#174b60;font-size:12px;font-weight:900}.np1480-customer-card.done .np1480-order-number{background:#dff1e8;color:#0d6a52}.np1480-customer-copy{display:grid;gap:2px;min-width:0}.np1480-customer-copy small{color:#778991;font-size:8.5px}.np1480-customer-copy b{overflow:hidden;color:#123f53;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.np1480-customer-copy em{overflow:hidden;color:#617781;font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.np1480-customer-state{display:grid;gap:2px;text-align:right}.np1480-customer-state strong{color:#875d12;font-size:9.5px}.np1480-customer-card.done .np1480-customer-state strong{color:#0c6b53}.np1480-customer-state small{color:#71838b;font-size:8px}.np1480-customer-meta{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px;padding:8px 13px;border-top:1px solid #e3eaed;background:#fafcfd;color:#506975;font-size:8.7px}.np1480-customer-card.done .np1480-customer-meta{background:#f1f8f4;border-color:#d7e9df}.np1480-customer-meta>span>span{font-weight:800}.np1480-customer-meta .bad{color:#a03434}.np1480-customer-meta .credit{color:#805b12}.np1480-customer-meta .ok{color:#167058}.np1480-customer-meta .last{text-align:right}.np1480-customer-meta .last b{color:#234e60}
.np1480-loading,.np1480-error{padding:28px;border:1px solid #d9e5ea;border-radius:15px;background:#fff;color:#536d78;text-align:center}.np1480-error{border-color:#e8c3c3;background:#fff8f8}.np1480-error b{display:block;color:#923232}.np1480-error p{font-size:10px}
.np1480-sale-context{display:flex;align-items:center;gap:11px;margin:0 0 10px;padding:10px 12px;border:1px solid #bcd8e4;border-radius:13px;background:#f1f9fc}.np1480-sale-context.outside{border-color:#e6cc91;background:#fffaf0}.np1480-sale-context>button{padding:8px 10px;border:1px solid #bdd4de;border-radius:10px;background:#fff;color:#174b60;font-weight:800}.np1480-sale-context>div{display:grid;gap:1px}.np1480-sale-context small{color:#637983;font-size:8px;font-weight:800}.np1480-sale-context b{color:#123f53;font-size:12px}.np1480-sale-context span{color:#59717b;font-size:9px}
.np1480-order-list{display:grid;gap:7px;max-height:60vh;overflow:auto;margin:10px 0}.np1480-order-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #dbe6ea;border-radius:11px;background:#fff}.np1480-order-list article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#edf4f6;color:#17485c;font-size:10px;font-weight:900}.np1480-order-list article>div{display:grid;gap:2px;min-width:0}.np1480-order-list b{overflow:hidden;color:#123f53;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.np1480-order-list small{overflow:hidden;color:#6e8189;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.np1480-order-list p{display:flex;gap:5px;margin:0}
@media(max-width:900px){.np1480-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.np1480-route-toolbar{align-items:flex-start}.np1480-customer-meta{grid-template-columns:1fr 1fr}.np1480-customer-meta .last{grid-column:1/-1;text-align:left}}
@media(max-width:600px){.np1480-route-grid{grid-template-columns:1fr}.np1480-intro{align-items:flex-start}.np1480-route-toolbar{display:grid}.np1480-route-actions{justify-content:stretch}.np1480-route-actions button{flex:1}.np1480-search-row{grid-template-columns:1fr}.np1480-customer-main{grid-template-columns:auto minmax(0,1fr)}.np1480-customer-state{grid-column:2;text-align:left}.np1480-customer-meta{grid-template-columns:1fr}.np1480-customer-meta .last{grid-column:auto}.np1480-order-list article{grid-template-columns:auto minmax(0,1fr)}.np1480-order-list p{grid-column:2}}
/* ===== css/design_1_48_1.css ===== */
/* Nam Phuong ERP Stable 1.48.1 - lively route cards + route return flow */
.np1480-customer-list{gap:10px}
.np1480-customer-card{
  position:relative;overflow:hidden;border:1px solid #d4e2e8;border-radius:16px;background:#fff;
  box-shadow:0 5px 16px rgba(20,67,87,.055);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease
}
.np1480-customer-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#2d91b3}
.np1480-customer-card:nth-child(4n+2):before{background:#2b8a73}
.np1480-customer-card:nth-child(4n+3):before{background:#7768b5}
.np1480-customer-card:nth-child(4n+4):before{background:#c6812b}
.np1480-customer-card:hover{transform:translateY(-1px);border-color:#9fc5d3;box-shadow:0 9px 22px rgba(20,67,87,.09)}
.np1480-customer-card.done{border-color:#b9dccd;background:#f8fdfb}
.np1480-customer-card.done:before{background:#168267}
.np1480-customer-main{min-height:78px;padding:13px 15px 12px 18px;gap:12px}
.np1480-customer-main:hover{background:linear-gradient(90deg,rgba(22,132,170,.045),rgba(255,255,255,0))}
.np1480-order-number{
  width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#e5f4f8,#f4fafc);
  border:1px solid #d1e5ec;color:#0e5570;font-size:13px;box-shadow:inset 0 1px 0 #fff
}
.np1480-customer-card.done .np1480-order-number{background:linear-gradient(145deg,#d9f0e6,#eff9f4);border-color:#c3e3d5;color:#0b6c53}
.np1480-customer-copy{gap:3px}
.np1480-customer-copy small{color:#66808b;font-size:8.5px;font-weight:800;letter-spacing:.02em}
.np1480-customer-copy b{color:#0f3f54;font-size:14px;font-weight:900}
.np1480-customer-copy em{color:#59717c;font-size:9.5px}
.np1480-customer-state{align-self:center;justify-items:end;gap:5px}
.np1480-customer-state strong{
  display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:5px 9px;border-radius:999px;
  background:#fff7e8;border:1px solid #efd7a5;color:#855804;font-size:9px;font-weight:900
}
.np1480-customer-state small{color:#657b85;font-size:8.5px;font-weight:700}
.np1480-customer-card.done .np1480-customer-state strong{background:#eaf8f1;border-color:#bee4d3;color:#087056}
.np1480-customer-meta{
  grid-template-columns:auto auto minmax(220px,1fr);align-items:center;gap:8px;padding:9px 15px 9px 18px;
  background:#f7fafb;border-top:1px solid #dde8ec;color:#435e69;font-size:9px
}
.np1480-customer-meta>span:not(.last){display:inline-flex;align-items:center;min-height:25px;padding:5px 9px;border-radius:9px;background:#fff;border:1px solid #dce7eb;font-weight:800}
.np1480-customer-meta .last{color:#647a84;font-size:8.8px}
.np1480-customer-meta .last b{color:#174b60;font-size:9.5px}
.np1480-customer-card.done .np1480-customer-meta{background:#f1f9f5;border-color:#d5e9df}
.np1480-customer-card.done .np1480-customer-meta>span:not(.last){border-color:#d2e7dc;background:#fff}
.np1480-customer-meta .bad{color:#a22f2f!important;background:#fff5f5!important;border-color:#edcece!important}
.np1480-customer-meta .credit{color:#805806!important;background:#fff9ec!important;border-color:#ead9af!important}
.np1480-customer-meta .ok{color:#0b6c53!important;background:#f1faf6!important;border-color:#cbe5d9!important}
@media(max-width:900px){.np1480-customer-meta{grid-template-columns:auto auto 1fr}}
@media(max-width:600px){
  .np1480-customer-card{border-radius:14px}
  .np1480-customer-main{grid-template-columns:auto minmax(0,1fr);padding:12px 12px 10px 16px}
  .np1480-customer-state{grid-column:2;justify-items:start;display:flex;align-items:center;flex-wrap:wrap;text-align:left}
  .np1480-customer-meta{grid-template-columns:1fr 1fr;padding:8px 12px 10px 16px}
  .np1480-customer-meta .last{grid-column:1/-1;padding-top:1px}
}
/* ===== css/design_1_48_3.css ===== */
/* Nam Phuong ERP Stable 1.48.3 - posted sale vehicle reassignment */
.np1483-filter-field{display:grid;gap:4px}.np1483-filter-field>span{font-size:9px;font-weight:800;color:#526c78}
.np1483-vehicle-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:10px 12px;border:1px solid #d9e5ea;border-radius:12px;background:#f8fbfc}.np1483-vehicle-summary>div{display:grid;gap:2px}.np1483-vehicle-summary b{color:#17485b;font-size:11px}.np1483-vehicle-summary span{color:#647983;font-size:9px}.np1483-vehicle-summary button{white-space:nowrap}
.np1483-row-vehicle{display:inline-flex!important;width:max-content;max-width:100%;margin:5px 0 0!important;padding:3px 7px;border-radius:999px;font-size:8.5px!important;font-weight:850!important;line-height:1.25}.np1483-row-vehicle.assigned{background:#e9f7f2;color:#0b6b55!important}.np1483-row-vehicle.unassigned{background:#fff1dc;color:#8b5707!important}.np1483-row-vehicle.inactive{background:#eef2f4;color:#687a82!important}
.np1483-sale-vehicle{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:11px 0;padding:11px 12px;border:1px solid #cfe4dc;border-radius:13px;background:#f3fbf7}.np1483-sale-vehicle.unassigned{border-color:#ead19a;background:#fff9ef}.np1483-sale-vehicle-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#fff;font-size:20px}.np1483-sale-vehicle>div:nth-child(2){display:grid;gap:2px;min-width:0}.np1483-sale-vehicle small{color:#60757f;font-size:8.5px}.np1483-sale-vehicle b{color:#143f52;font-size:13px}.np1483-sale-vehicle span{color:#5d727c;font-size:9px;white-space:normal}.np1483-sale-vehicle button{white-space:nowrap}
.np1483-unassigned-list{display:grid;gap:8px}.np1483-unassigned-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #dce6ea;border-radius:11px;background:#fff}.np1483-unassigned-list article>div{display:grid;gap:2px}.np1483-unassigned-list b{color:#17485b}.np1483-unassigned-list span{color:#687c85;font-size:9px}
.np1483-current-note{margin-bottom:10px;padding:9px 11px;border-radius:11px;background:#f6fafb;color:#546c77;font-size:9.5px;line-height:1.45}.np1483-current-note b{color:#16475a}
.np1483-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:11px}.np1483-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:70px;padding:10px 11px;border:1px solid #d7e4e9;border-radius:13px;background:#fff;text-align:left;color:inherit}.np1483-choice>span{font-size:22px}.np1483-choice>div{display:grid;gap:3px;min-width:0}.np1483-choice b{color:#173f52;font-size:12px}.np1483-choice small{color:#6a7e87;font-size:8.5px;white-space:normal}.np1483-choice em{padding:4px 7px;border-radius:999px;background:#eef3f5;color:#61747d;font-size:8px;font-style:normal;font-weight:800;white-space:nowrap}.np1483-choice.selected{border:2px solid #1682a8;background:#eff9fc;box-shadow:0 0 0 3px rgba(22,130,168,.08)}.np1483-choice.selected em{background:#1682a8;color:#fff}.np1483-choice.disabled{opacity:.52;cursor:not-allowed;background:#f5f7f8}
.np1483-reason{display:grid;gap:5px}.np1483-reason>span{color:#234d60;font-size:9.5px;font-weight:850}.np1483-reason textarea{width:100%;resize:vertical}.np1483-warning{margin:10px 0;padding:9px 11px;border-left:3px solid #d8ab55;background:#fffaf0;color:#725b33;font-size:9px;line-height:1.45}
.np1483-history{margin-top:12px;border-top:1px solid #e0e8eb;padding-top:9px}.np1483-history summary{cursor:pointer;color:#234d60;font-size:10px;font-weight:850}.np1483-history article{display:grid;gap:3px;margin-top:7px;padding:9px 10px;border:1px solid #dce6ea;border-radius:10px;background:#f9fbfc}.np1483-history article b{color:#17485b;font-size:9.5px}.np1483-history article span{color:#72838a;font-size:8px}.np1483-history article p{margin:0;color:#586f79;font-size:8.7px}
@media(max-width:600px){.np1483-vehicle-summary{align-items:stretch;display:grid}.np1483-vehicle-summary button{width:100%}.np1483-sale-vehicle{grid-template-columns:auto minmax(0,1fr)}.np1483-sale-vehicle button{grid-column:1/-1;width:100%}.np1483-choice-grid{grid-template-columns:1fr}.np1483-unassigned-list article{align-items:stretch;display:grid}.np1483-unassigned-list button{width:100%}}
/* ===== css/design_1_48_4.css ===== */
/* Nam Phuong ERP Stable 1.48.4 - multi-round vehicle workflow */
.np1484-flow-note{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;border:1px solid #d8e5ea;border-radius:13px;background:#f7fbfc;color:#365866;font-size:10px}.np1484-flow-note span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#0c7fa7;color:#fff;font-weight:900}.np1484-flow-note b{font-size:10px}.np1484-round-list{display:grid;gap:10px}.np1484-round-card{display:grid;gap:10px;padding:13px;border:1px solid #d7e3e8;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(16,61,80,.045)}.np1484-round-card.current{border-color:#8fc5d8;background:#f7fcfe}.np1484-round-card.state-locked{border-color:#cbd4d8;background:#f6f8f9}.np1484-round-card.state-matched{border-color:#b7ddcf;background:#f5fcf8}.np1484-round-card.state-short,.np1484-round-card.state-over{border-color:#e7baba;background:#fff8f8}.np1484-round-card.state-stale{border-color:#e7cf96;background:#fffaf1}.np1484-round-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.np1484-round-card>header>div{display:grid;gap:2px}.np1484-round-card>header b{color:#123f53;font-size:14px}.np1484-round-card>header small{color:#667b84;font-size:9px}.np1484-round-card>header em{padding:4px 7px;border-radius:999px;background:#eaf5f9;color:#17637d;font-size:8.5px;font-style:normal;font-weight:850;white-space:nowrap}.np1484-round-card.state-locked>header em{background:#e5eaed;color:#536873}.np1484-round-kpis,.np1484-check-kpis,.np1484-order-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.np1484-round-kpis span,.np1484-check-kpis span,.np1484-order-summary span{display:grid;gap:3px;padding:8px;border:1px solid #dbe6ea;border-radius:10px;background:#fff;text-align:center}.np1484-round-kpis small,.np1484-check-kpis small,.np1484-order-summary small{color:#5d737d;font-size:8.5px;font-weight:750}.np1484-round-kpis b,.np1484-check-kpis b,.np1484-order-summary b{color:#123f53;font-size:17px}.np1484-check-kpis .primary{border-color:#bad8e5;background:#eef7fb}.np1484-round-state{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:9px 10px;border-radius:11px;background:#f4f8fa}.np1484-round-state i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e4edf1;color:#355e70;font-style:normal;font-weight:900}.np1484-round-state>div{display:grid;gap:2px}.np1484-round-state b{color:#163f52;font-size:10.5px}.np1484-round-state span{color:#506974;font-size:9.5px}.np1484-round-state small{color:#75858c;font-size:8.5px}.state-matched .np1484-round-state{background:#eaf8f1}.state-matched .np1484-round-state i{background:#cfeadc;color:#086b53}.state-short .np1484-round-state,.state-over .np1484-round-state{background:#fff0f0}.state-short .np1484-round-state i,.state-over .np1484-round-state i{background:#f4d6d6;color:#a32e2e}.state-stale .np1484-round-state{background:#fff4dc}.state-stale .np1484-round-state i{background:#f3e1b3;color:#875b0b}.state-locked .np1484-round-state{background:#e9eef0}.state-locked .np1484-round-state i{background:#d7dfe3;color:#465c67}.np1484-round-note{margin:0;padding:8px 10px;border-left:3px solid #aabcc4;background:#f7f9fa;color:#526974;font-size:9px}.np1484-round-card>footer{display:flex;gap:7px;flex-wrap:wrap}.np1484-difference{padding:10px 11px;border:1px solid #dae5e9;border-radius:11px;background:#f7fafb;color:#516a75;font-size:10px}.np1484-difference.matched{border-color:#b7ddcf;background:#eff9f4;color:#086b53}.np1484-difference.bad{border-color:#e7baba;background:#fff5f5;color:#982d2d}.np1484-check-history{margin-top:12px;border-top:1px solid #dce6ea;padding-top:9px}.np1484-check-history summary{cursor:pointer;color:#17485b;font-size:10px;font-weight:850}.np1484-check-history article{display:grid;gap:3px;margin-top:7px;padding:9px;border:1px solid #dce6ea;border-radius:10px;background:#fff}.np1484-check-history article b{color:#244d60;font-size:9.5px}.np1484-check-history article span,.np1484-check-history article p{margin:0;color:#617680;font-size:9px}.np1484-locked-banner,.np1484-locked-sale-note{margin-bottom:10px;padding:10px 12px;border:1px solid #d1dce1;border-radius:11px;background:#eef2f4;color:#405966;font-size:10px;font-weight:750}.np1484-order-list{display:grid;gap:9px;margin-top:10px}.np1484-order-list article{display:grid;gap:8px;padding:11px;border:1px solid #dbe5e9;border-radius:12px;background:#fff}.np1484-order-list article header{display:flex;justify-content:space-between;gap:9px}.np1484-order-list article header>div{display:grid;gap:2px}.np1484-order-list article header b{color:#163f52;font-size:11px}.np1484-order-list article header small{color:#70828a;font-size:9px}.np1484-order-list article header strong{color:#0e6d8d;font-size:12px;white-space:nowrap}.np1484-order-list article p{margin:0;color:#566e78;font-size:9.5px}.np1484-order-list article footer{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.np1484-order-list article footer label{display:flex;align-items:center;gap:6px;margin-left:auto;color:#4f6772;font-size:9px}.np1484-order-list article footer input{width:72px;min-height:34px;text-align:center}.np1484-current-assignment{margin-bottom:11px;padding:10px 11px;border-radius:11px;background:#f4f8fa;color:#46606c;font-size:10px}.np1484-choice-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.np1484-choice-groups section{padding:10px;border:1px solid #dbe6ea;border-radius:13px;background:#f9fbfc}.np1484-choice-groups h4{margin:0 0 8px;color:#17485b;font-size:11px}.np1484-choice-groups section>div{display:grid;gap:7px}.np1484-choice{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;padding:9px 10px;border:1px solid #d6e2e7;border-radius:10px;background:#fff;color:inherit;text-align:left;cursor:pointer}.np1484-choice.selected{border:2px solid #0d84ad;background:#eef8fc;box-shadow:0 0 0 2px rgba(13,132,173,.08)}.np1484-choice>span{display:grid;gap:2px}.np1484-choice b{color:#163f52;font-size:10.5px}.np1484-choice small{color:#6d8088;font-size:8.5px}.np1484-choice em{color:#17647d;font-size:8px;font-style:normal;font-weight:850;white-space:nowrap}.np1484-reason{display:grid;gap:5px;margin-top:11px}.np1484-reason span{color:#244d60;font-size:10px;font-weight:800}.np1484-warning{margin-top:10px;padding:9px 10px;border-left:3px solid #d6a84f;background:#fff8e9;color:#74571e;font-size:9px}.np1484-move-history{margin-top:11px;border-top:1px solid #dce6ea;padding-top:9px}.np1484-move-history article{display:grid;gap:2px;padding:8px 0;border-bottom:1px dashed #dce6ea}.np1484-move-history b{color:#244d60;font-size:9.5px}.np1484-move-history span,.np1484-move-history p{margin:0;color:#687c85;font-size:8.5px}.np1484-sale-assignment.locked{border-color:#cdd7dc;background:#f2f5f6}.np1483-row-vehicle.locked{background:#e8edef!important;color:#465e69!important}.np1484-error{padding:10px;border-radius:10px;background:#fff1f1;color:#9b3030;font-size:10px}
@media(max-width:700px){.np1484-flow-note{grid-template-columns:auto 1fr}.np1484-round-kpis,.np1484-check-kpis,.np1484-order-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.np1484-choice-groups{grid-template-columns:1fr}.np1484-order-list article footer label{margin-left:0}.np1484-round-card>footer button{flex:1}}
/* ===== css/design_1_48_8.css ===== */
/* Nam Phuong ERP Stable 1.48.8 - direct vehicle round lock */
.np1488-lock-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
.np1488-lock-summary span{display:grid;gap:4px;padding:11px;border:1px solid #d7e4e9;border-radius:11px;background:#fff;text-align:center}
.np1488-lock-summary span.ok{border-color:#b9dfd0;background:#f1faf6}
.np1488-lock-summary small{color:#5f747e;font-size:9px;font-weight:800}
.np1488-lock-summary b{color:#123f53;font-size:18px}.np1488-lock-summary .ok b{color:#0b6d56}
.np1488-lock-confirm{display:grid;gap:4px;padding:11px 12px;border:1px solid #b9dfd0;border-radius:11px;background:#f1faf6}
.np1488-lock-confirm b{color:#0b6d56;font-size:11px}.np1488-lock-confirm span{color:#45675c;font-size:9.5px;line-height:1.45}
.np1488-lock-form{display:grid;gap:10px;margin-top:12px}.np1488-lock-form label{display:grid;gap:5px}.np1488-lock-form label>span{color:#244d60;font-weight:800}
.np1488-lock-error{padding:10px 11px;border:1px solid #e2aaaa;border-radius:10px;background:#fff5f5;color:#9f3030;font-size:10px;line-height:1.45}
.np1484-lock-current:disabled{opacity:.7;cursor:wait}
@media(max-width:600px){.np1488-lock-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ===== css/design_1_48_9.css ===== */
/* Nam Phuong ERP Stable 1.48.9 - interaction and flow stability */
button[aria-busy="true"]{pointer-events:none;cursor:wait;opacity:.72}
.np1488-lock-form input,.np1488-lock-form textarea{width:100%;border-color:#cadce4;background:#fff}
.np1488-lock-form input{min-height:46px;font-size:16px;font-weight:800}
.np1484-rounds-button,.np1484-lock-current{touch-action:manipulation}
.np1484-lock-current{min-width:104px}
@media(max-width:600px){.np1484-lock-current,.np1484-rounds-button{min-height:42px}}


/* ===== Stable 1.50.0 · Smart navigation and unified UI ===== */
body.np1500-ui{
  --np1500-navy:#0b3449;
  --np1500-navy-2:#0d4058;
  --np1500-blue:#0b85b6;
  --np1500-blue-soft:#eaf6fb;
  --np1500-surface:#ffffff;
  --np1500-canvas:#f4f8fa;
  --np1500-line:#d8e5ea;
  --np1500-text:#133b4d;
  --np1500-muted:#667d87;
  --np1500-radius:16px;
  background:var(--np1500-canvas);
}
body.np1500-ui .sidebar{
  background:linear-gradient(180deg,var(--np1500-navy) 0%,#082d40 100%);
  padding:16px 12px 14px;
  box-shadow:10px 0 30px rgba(7,43,61,.08);
}
body.np1500-ui .sidebar .brand{padding:4px 8px 18px;font-size:18px;letter-spacing:-.2px}
body.np1500-ui .sidebar .np137-brand-copy strong{font-size:17px;color:#fff}
body.np1500-ui .sidebar .np137-brand-copy small{color:#a9cad8}
body.np1500-ui #nav{display:grid;gap:6px;align-content:start}
body.np1500-ui #nav>.np-nav-group-label,
body.np1500-ui #nav>.np1380-nav-group-label{display:none!important}
body.np1500-ui #nav button{font-family:inherit}
body.np1500-ui #nav .np1500-dashboard-link,
body.np1500-ui #nav .np1500-nav-children>button{
  display:flex;align-items:center;gap:10px;width:100%;min-height:42px;margin:0;padding:9px 11px;
  border:0;border-radius:11px;background:transparent;color:#c4d9e2;text-align:left;font-size:13.5px;font-weight:650;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
body.np1500-ui #nav .np1500-dashboard-link{margin-bottom:3px;color:#eef8fc;font-weight:800}
body.np1500-ui #nav .np1500-nav-children>button{padding-left:15px}
body.np1500-ui #nav .np1500-dashboard-link:hover,
body.np1500-ui #nav .np1500-nav-children>button:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(1px)}
body.np1500-ui #nav .np1500-dashboard-link.active,
body.np1500-ui #nav .np1500-nav-children>button.active{
  background:linear-gradient(135deg,#0e91c5,#0878a5)!important;color:#fff!important;
  box-shadow:0 7px 16px rgba(0,111,155,.26),inset 3px 0 0 #8ee2ff;
}
body.np1500-ui #nav .nav-ico{display:grid;place-items:center;width:22px;min-width:22px;font-size:15px;line-height:1}
body.np1500-ui #nav .np1500-nav-text{min-width:0;line-height:1.25}
body.np1500-ui .np1500-nav-group{display:grid;gap:4px}
body.np1500-ui .np1500-nav-toggle{
  display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%;min-height:40px;
  margin:0;padding:8px 10px;border:0;border-radius:11px;background:transparent!important;color:#dbeaf0!important;
  text-align:left;font-size:13.5px;font-weight:850;
}
body.np1500-ui .np1500-nav-toggle:hover{background:rgba(255,255,255,.07)!important}
body.np1500-ui .np1500-nav-toggle i{font-style:normal;text-align:center;color:#9ebfcd;transition:transform .18s ease}
body.np1500-ui .np1500-nav-group.open .np1500-nav-toggle i{transform:rotate(180deg)}
body.np1500-ui .np1500-group-icon{display:grid;place-items:center;font-size:15px}
body.np1500-ui .np1500-nav-children{display:grid;grid-template-rows:0fr;opacity:.55;transition:grid-template-rows .2s ease,opacity .18s ease}
body.np1500-ui .np1500-nav-children::before{content:'';min-height:0}
body.np1500-ui .np1500-nav-children>button{display:none}
body.np1500-ui .np1500-nav-group.open .np1500-nav-children{grid-template-rows:1fr;opacity:1}
body.np1500-ui .np1500-nav-group.open .np1500-nav-children>button{display:flex}
body.np1500-ui .np1500-nav-group.hidden{display:none!important}
body.np1500-ui .sidebar .logout{min-height:42px;border-radius:11px;border:1px solid rgba(255,255,255,.12);color:#c9dce4}
body.np1500-ui .sidebar .logout:hover{background:rgba(255,255,255,.08);color:#fff}
body.np1500-ui .app>main{background:var(--np1500-canvas)}
body.np1500-ui .app>main>header{background:rgba(255,255,255,.94);border-bottom-color:var(--np1500-line);backdrop-filter:blur(10px)}
body.np1500-ui #content{background:var(--np1500-canvas)}
body.np1500-ui .page-head{margin-bottom:18px;padding:2px 2px 0}
body.np1500-ui .page-head h2{color:var(--np1500-text);font-size:22px;letter-spacing:-.35px}
body.np1500-ui .page-head .np-page-description{color:var(--np1500-muted);line-height:1.45}
body.np1500-ui .card,
body.np1500-ui .table-wrap,
body.np1500-ui .quick-grid button{
  border-color:var(--np1500-line);border-radius:var(--np1500-radius);background:var(--np1500-surface);
  box-shadow:0 5px 18px rgba(17,63,82,.045);
}
body.np1500-ui .cards{gap:16px}
body.np1500-ui .card{padding:18px}
body.np1500-ui .metric{min-height:126px;display:flex;flex-direction:column;justify-content:center}
body.np1500-ui .metric span{color:var(--np1500-muted);font-size:12px;font-weight:750}
body.np1500-ui .metric strong{color:#087fb0;font-size:27px;letter-spacing:-.6px}
body.np1500-ui .metric small{color:var(--np1500-muted);line-height:1.4}
body.np1500-ui .dashboard-kpis{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
body.np1500-ui .quick-grid{gap:14px}
body.np1500-ui .quick-grid button{min-height:86px;padding:16px}
body.np1500-ui .table-wrap{overflow:hidden}
body.np1500-ui .table-wrap>table{overflow:auto}
body.np1500-ui th{background:#f7fafb;color:#58717d;font-weight:800}
body.np1500-ui th,body.np1500-ui td{border-bottom-color:#e4edf1}
body.np1500-ui input,body.np1500-ui select,body.np1500-ui textarea{
  border-color:#cadbe3;border-radius:12px;background:#fff;color:var(--np1500-text);
}
body.np1500-ui input:focus,body.np1500-ui select:focus,body.np1500-ui textarea:focus{
  border-color:#56aecd;box-shadow:0 0 0 3px rgba(19,139,183,.10);outline:none;
}
body.np1500-ui button.primary{background:linear-gradient(135deg,#0b8bbd,#0879a7);border-color:#0879a7;box-shadow:0 5px 12px rgba(7,121,167,.16)}
body.np1500-ui button.secondary{border-color:#c9dbe3;background:#fff;color:#184b60}
body.np1500-ui .modal{border-radius:18px;box-shadow:0 24px 70px rgba(5,37,52,.22)}
body.np1500-ui .online-status{border:1px solid #cbe7d7}
@media(min-width:901px){
  body.np1500-ui .app{grid-template-columns:276px minmax(0,1fr)}
  body.np1500-ui #content{padding:26px 28px 32px}
  body.np1500-ui .sidebar{width:auto}
}
@media(max-width:900px){
  body.np1500-ui .sidebar{width:min(320px,88vw);padding:16px 12px 18px}
  body.np1500-ui #nav{gap:7px}
  body.np1500-ui #nav .np1500-dashboard-link,
  body.np1500-ui #nav .np1500-nav-children>button{min-height:46px;font-size:14px;border-radius:12px}
  body.np1500-ui .np1500-nav-toggle{min-height:45px;font-size:14px}
  body.np1500-ui .card{border-radius:14px}
  body.np1500-ui .metric{min-height:106px}
  body.np1500-ui .metric strong{font-size:24px}
}
@media(max-width:520px){
  body.np1500-ui #content{padding-left:10px;padding-right:10px}
  body.np1500-ui .page-head h2{font-size:20px}
}
body.np1500-ui #nav .np1500-nav-children>button.nav-sale-fast{
  width:100%!important;margin:0!important;background:transparent!important;color:#c4d9e2!important;font-weight:650!important;
}
body.np1500-ui #nav .np1500-nav-children>button.nav-sale-fast:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
body.np1500-ui #nav .np1500-nav-children>button.nav-sale-fast.active{background:linear-gradient(135deg,#0e91c5,#0878a5)!important;color:#fff!important}


/* ===== Stable 1.50.2 · Sidebar contrast, sizing and single-scroll hotfix ===== */
body.np1500-ui.np1502-sidebar-stable{
  --np1502-sidebar:#092f43;
  --np1502-sidebar-deep:#061f30;
  --np1502-nav-text:#d6e8ef;
  --np1502-nav-muted:#a9c5d0;
  overflow-x:hidden;
}
body.np1500-ui.np1502-sidebar-stable #appView,
body.np1500-ui.np1502-sidebar-stable #appView>main{min-width:0;max-width:100%;overflow-x:hidden}
body.np1500-ui.np1502-sidebar-stable #sidebar.sidebar{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  min-width:0!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;
  overflow:hidden!important;overscroll-behavior:none!important;
  background:radial-gradient(circle at 12% 3%,rgba(34,174,202,.16),transparent 15rem),linear-gradient(180deg,var(--np1502-sidebar) 0%,var(--np1502-sidebar-deep) 100%)!important;
  color:#fff!important;border-right:1px solid rgba(255,255,255,.07)!important;
}
body.np1500-ui.np1502-sidebar-stable #sidebar .brand{
  flex:0 0 auto!important;min-width:0!important;margin:0!important;padding:5px 8px 15px!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
}
body.np1500-ui.np1502-sidebar-stable #sidebar .np137-brand-logo{
  background:linear-gradient(145deg,#fff,#eaf8fb)!important;border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 8px 22px rgba(0,16,26,.24)!important;
}
body.np1500-ui.np1380-ui.np1502-sidebar-stable #sidebar .np137-brand-copy strong,
body.np1500-ui.np1502-sidebar-stable #sidebar .np137-brand-copy strong{color:#f5fbfd!important}
body.np1500-ui.np1380-ui.np1502-sidebar-stable #sidebar .np137-brand-copy small,
body.np1500-ui.np1502-sidebar-stable #sidebar .np137-brand-copy small{
  color:#9fc5d3!important;text-transform:none!important;letter-spacing:.02em!important
}
body.np1500-ui.np1502-sidebar-stable #sidebar #nav{
  flex:1 1 auto!important;display:grid!important;align-content:start!important;min-width:0!important;min-height:0!important;
  width:100%!important;max-width:100%!important;margin:0!important;padding:8px 3px 10px 0!important;
  overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;scrollbar-gutter:stable;
}
body.np1500-ui.np1502-sidebar-stable #nav>.np1500-dashboard-link,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-group,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-toggle,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-children,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-children>button{
  min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important
}
body.np1500-ui.np1380-ui.np1502-sidebar-stable #nav .np1500-dashboard-link,
body.np1500-ui.np1380-ui.np1502-sidebar-stable #nav .np1500-nav-children>button,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-dashboard-link,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-children>button{
  color:var(--np1502-nav-text)!important;background:transparent!important;border:1px solid transparent!important;
  padding:9px 10px!important;border-radius:11px!important;font-weight:680!important;box-shadow:none!important;
  overflow:hidden!important;white-space:normal!important
}
body.np1500-ui.np1380-ui.np1502-sidebar-stable #nav .np1500-dashboard-link{color:#fff!important;font-weight:850!important}
body.np1500-ui.np1380-ui.np1502-sidebar-stable #nav .nav-ico,
body.np1500-ui.np1502-sidebar-stable #nav .nav-ico{
  display:inline-grid!important;place-items:center!important;width:29px!important;height:29px!important;flex:0 0 29px!important;
  margin:0 7px 0 0!important;border-radius:9px!important;background:rgba(255,255,255,.10)!important;
  color:#f2fbfe!important;font-size:15px!important;filter:none!important
}
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-text{
  display:block!important;min-width:0!important;max-width:100%!important;color:inherit!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.28!important
}
body.np1500-ui.np1380-ui.np1502-sidebar-stable #nav .np1500-nav-toggle,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-toggle{
  color:#e7f3f7!important;background:transparent!important;border:0!important;font-weight:850!important;
  padding:8px 9px!important;overflow:hidden!important
}
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-toggle>span:nth-child(2){min-width:0;overflow-wrap:anywhere;line-height:1.25}
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-toggle i{color:#a9c7d2!important}
body.np1500-ui.np1380-ui.np1502-sidebar-stable #nav .np1500-dashboard-link:hover,
body.np1500-ui.np1380-ui.np1502-sidebar-stable #nav .np1500-nav-children>button:hover,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-dashboard-link:hover,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-children>button:hover{
  color:#fff!important;background:rgba(255,255,255,.085)!important;transform:none!important
}
body.np1500-ui.np1380-ui.np1502-sidebar-stable #nav .np1500-dashboard-link.active,
body.np1500-ui.np1380-ui.np1502-sidebar-stable #nav .np1500-nav-children>button.active,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-dashboard-link.active,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-children>button.active{
  color:#fff!important;background:linear-gradient(135deg,#1197c8,#0878a7)!important;
  border-color:rgba(255,255,255,.13)!important;box-shadow:0 8px 17px rgba(0,27,43,.24),inset 3px 0 0 #a8edff!important
}
body.np1500-ui.np1502-sidebar-stable #nav button.active .nav-ico{
  color:#fff!important;background:rgba(255,255,255,.17)!important
}
body.np1500-ui.np1380-ui.np1502-sidebar-stable #sidebar #logoutBtn.logout,
body.np1500-ui.np1502-sidebar-stable #sidebar #logoutBtn.logout{
  flex:0 0 auto!important;width:100%!important;min-width:0!important;margin:10px 0 0!important;
  padding:10px 12px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:11px!important;
  background:rgba(255,255,255,.045)!important;color:#d7e7ed!important;font-weight:750!important
}
body.np1500-ui.np1502-sidebar-stable #sidebar #logoutBtn.logout:hover{background:rgba(213,70,86,.18)!important;color:#fff!important}
body.np1500-ui.np1502-sidebar-stable #sidebar #nav::-webkit-scrollbar{width:7px;height:0}
body.np1500-ui.np1502-sidebar-stable #sidebar #nav::-webkit-scrollbar-thumb{background:rgba(188,224,235,.48);border:2px solid transparent;background-clip:padding-box;border-radius:999px}
body.np1500-ui.np1502-sidebar-stable #sidebar #nav::-webkit-scrollbar-track{background:transparent}
@media(min-width:901px){
  body.np1500-ui.np1502-sidebar-stable .app{grid-template-columns:286px minmax(0,1fr)!important}
  body.np1500-ui.np1502-sidebar-stable #sidebar.sidebar{position:sticky!important;top:0!important;width:286px!important}
}
@media(max-width:900px){
  body.np1500-ui.np1502-sidebar-stable #sidebar.sidebar{
    position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(322px,90vw)!important;
    padding:14px 11px 12px!important;overflow:hidden!important
  }
  body.np1500-ui.np1502-sidebar-stable #sidebar #nav{padding-top:7px!important;padding-bottom:8px!important}
}
@media(max-width:380px){
  body.np1500-ui.np1502-sidebar-stable #sidebar.sidebar{width:min(310px,92vw)!important}
  body.np1500-ui.np1502-sidebar-stable #nav .np1500-dashboard-link,
  body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-children>button{font-size:13px!important;padding:8px 8px!important}
  body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-toggle{font-size:13px!important;padding-left:7px!important;padding-right:7px!important}
}

/* =====================================================================
   NamPhuong ERP — Stable 1.50.5 Theme Refresh (vetted for 1.50.4)
   CSS-only visual layer. No business logic, no HTML structure changes.
   Notes:
   - Uses existing local/system font stacks: no Google Fonts request.
   - Targets np1500/np1502 selectors actually used by Stable 1.50.4.
   - Preserves 1.50.2 single-scroll sidebar layout; changes appearance only.
   - Water progress accent is static to avoid continuous animation on mobile.
   ===================================================================== */

:root{
  --navy:#0F2E33;
  --blue:#1C8C99;
  --bg:#F5F2EA;
  --card:#FFFFFF;
  --line:#E4DFD2;
  --text:#0F2E33;
  --muted:#6B7573;
  --danger:#A8401F;
  --ok:#146B5C;
  --np-blue:#1C8C99;
  --np-blue-2:#E4F2F1;
  --np-green:#146B5C;
  --np-green-2:#E1F1EA;
  --np-yellow:#8A6A1F;
  --np-yellow-2:#F5E9CF;
  --np-red:#A8401F;
  --np-red-2:#FBE3D9;
  --np-purple:#5B5AA6;
  --np-shadow:0 10px 26px rgba(15,46,51,.08);
  --np-radius:14px;
  --np-aqua:#37D6C4;
  --np-gold:#C99A3E;
}

body{
  font-family:Inter,"Segoe UI",Roboto,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  background:var(--bg);
}
h1,h2,h3,.brand,.login-card h1,.page-head h2,.modal-head h3,.card-title-row,.health-hero strong{
  font-family:Manrope,Inter,"Segoe UI",Roboto,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  font-weight:800;
  letter-spacing:-.01em;
}
.metric strong,.money-input,.cash-split strong,.health-hero strong,.bar-value,.rank-list small,td.right,.invoice-preview .total{
  font-family:"IBM Plex Mono","SFMono-Regular",Consolas,"Liberation Mono",ui-monospace,monospace;
  font-variant-numeric:tabular-nums;
}

/* Match the actual unified UI variables used by Stable 1.50.4. */
body.np1500-ui{
  --np1500-navy:#0F2E33;
  --np1500-navy-2:#123940;
  --np1500-blue:#1C8C99;
  --np1500-blue-soft:#E4F2F1;
  --np1500-surface:#FFFFFF;
  --np1500-canvas:#F5F2EA;
  --np1500-line:#E4DFD2;
  --np1500-text:#0F2E33;
  --np1500-muted:#6B7573;
  --np1500-radius:14px;
  background:var(--np1500-canvas);
}
body.np1500-ui.np1502-sidebar-stable{
  --np1502-sidebar:#0F2E33;
  --np1502-sidebar-deep:#0A2226;
  --np1502-nav-text:#D8E7E5;
  --np1502-nav-muted:#A5C3C0;
}

/* Sidebar: appearance only; width/scroll mechanics remain owned by 1.50.2. */
body.np1500-ui.np1502-sidebar-stable #sidebar.sidebar{
  background:radial-gradient(circle at 12% 3%,rgba(55,214,196,.13),transparent 15rem),linear-gradient(180deg,#0F2E33 0%,#0A2226 100%)!important;
  border-right-color:rgba(255,255,255,.08)!important;
  box-shadow:10px 0 30px rgba(15,46,51,.10)!important;
}
body.np1500-ui.np1502-sidebar-stable #sidebar .brand{
  border-bottom-color:rgba(255,255,255,.10)!important;
}
body.np1500-ui.np1502-sidebar-stable #sidebar .np137-brand-logo{
  background:linear-gradient(145deg,#fff,#E4F2F1)!important;
  border-color:rgba(255,255,255,.72)!important;
  box-shadow:0 8px 22px rgba(0,16,26,.22)!important;
}
body.np1500-ui.np1502-sidebar-stable #sidebar .np137-brand-copy strong{color:#F8FCFB!important}
body.np1500-ui.np1502-sidebar-stable #sidebar .np137-brand-copy small{color:#A8CAC6!important}
body.np1500-ui.np1502-sidebar-stable #nav .np1500-dashboard-link,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-children>button{
  color:#D8E7E5!important;
}
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-toggle{
  color:#EAF4F2!important;
}
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-toggle i{color:#A5C3C0!important}
body.np1500-ui.np1502-sidebar-stable #nav .nav-ico{
  background:rgba(255,255,255,.09)!important;
  color:#F2FBF9!important;
}
body.np1500-ui.np1502-sidebar-stable #nav .np1500-dashboard-link:hover,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-children>button:hover{
  background:rgba(55,214,196,.09)!important;color:#fff!important;
}
body.np1500-ui.np1502-sidebar-stable #nav .np1500-dashboard-link.active,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-children>button.active{
  background:linear-gradient(135deg,#27B8B2,#1C8C99)!important;
  border-color:rgba(255,255,255,.15)!important;
  box-shadow:0 8px 18px rgba(4,56,61,.25),inset 3px 0 0 #A6F0E7!important;
  color:#fff!important;
}
body.np1500-ui.np1502-sidebar-stable #nav button.active .nav-ico{background:rgba(255,255,255,.18)!important}
body.np1500-ui.np1502-sidebar-stable #sidebar #logoutBtn.logout{
  color:#D8E7E5!important;background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.13)!important;
}
body.np1500-ui.np1502-sidebar-stable #sidebar #logoutBtn.logout:hover{background:rgba(168,64,31,.22)!important;color:#fff!important}
body.np1500-ui.np1502-sidebar-stable #sidebar #nav::-webkit-scrollbar-thumb{background:rgba(168,210,204,.44);border:2px solid transparent;background-clip:padding-box}

/* Main surfaces, header, cards, tables. */
body.np1500-ui .app>main,body.np1500-ui #content{background:var(--np1500-canvas)}
body.np1500-ui .app>main>header{background:rgba(255,255,255,.95);border-bottom-color:var(--line)}
body.np1500-ui .online-status{color:var(--muted)}
body.np1500-ui .page-head h2,body.np1500-ui .card-title-row h3{color:var(--navy)}
body.np1500-ui .card,
body.np1500-ui .table-wrap,
body.np1500-ui .quick-grid button,
.login-card{
  background:var(--card);
  border-color:var(--line);
  border-radius:var(--np-radius);
  box-shadow:var(--np-shadow);
}
body.np1500-ui .card{padding:18px}
body.np1500-ui .cards{gap:16px}
body.np1500-ui .metric span{color:var(--muted)}
body.np1500-ui .metric strong{color:var(--blue)}
body.np1500-ui th{background:#FAF8F2;color:var(--muted)}
body.np1500-ui th,body.np1500-ui td{border-bottom-color:#EAE5DA}
body.np1500-ui tr.clickable:hover{background:#F1F6F5}

/* Inputs and controls. */
body.np1500-ui input,body.np1500-ui select,body.np1500-ui textarea{
  border-color:var(--line);border-radius:10px;background:#fff;color:var(--text);
}
body.np1500-ui input:focus,body.np1500-ui select:focus,body.np1500-ui textarea:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(55,214,196,.16);
}
body.np1500-ui button.primary{
  background:linear-gradient(135deg,#27B8B2,#1C8C99);border-color:#1C8C99;color:#fff;font-weight:750;
  box-shadow:0 5px 12px rgba(28,140,153,.18);
}
body.np1500-ui button.primary:hover{background:linear-gradient(135deg,#1FA79F,#146B5C)}
body.np1500-ui button.secondary{background:#F1EEE5;border-color:var(--line);color:var(--text)}
body.np1500-ui button.danger{background:var(--np-red-2);color:var(--np-red)}
body.np1500-ui .pill{background:#EFEAE0;color:var(--text);font-weight:700}
body.np1500-ui .pill.ok{background:var(--np-green-2);color:var(--np-green)}
body.np1500-ui .pill.bad{background:var(--np-red-2);color:var(--np-red)}
body.np1500-ui .modal{border-radius:18px;box-shadow:0 24px 70px rgba(15,46,51,.20)}
.modal-backdrop{background:rgba(15,46,51,.66)}

/* Dashboard and report accents. */
body.np1500-ui .health-hero{background:linear-gradient(135deg,#0F2E33,#1C8C99);border-radius:18px}
body.np1500-ui .health-notes p{background:rgba(255,255,255,.10)}
body.np1500-ui .insight{background:#F1EEE3}
body.np1500-ui .insight.good{background:var(--np-green-2)}
body.np1500-ui .insight.good>span{background:#CFE7DD;color:var(--np-green)}
body.np1500-ui .insight.bad{background:var(--np-red-2)}
body.np1500-ui .insight.bad>span{background:#F3D2C4;color:var(--np-red)}
body.np1500-ui .rank-list .rank{background:#EFEAE0;color:var(--navy)}
body.np1500-ui .attention-card{border-left-color:var(--np-gold)}
body.np1500-ui .inactive-grid>div{background:var(--np-yellow-2)}
body.np1500-ui .inactive-grid span{color:#8A6A1F}
body.np1500-ui .bar-fill{
  background:linear-gradient(180deg,var(--np-aqua),var(--blue));
  border-radius:7px 7px 2px 2px;position:relative;overflow:hidden;
}
body.np1500-ui .bar-fill::after{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:rgba(255,255,255,.42);border-radius:999px;
}
body.np1500-ui .health-scale i{background:linear-gradient(90deg,var(--np-aqua),#fff)}

/* Debt/bottle status tones. */
body.np1500-ui .debt-alert.danger{background:var(--np-red-2);border-color:#E3B39D;color:var(--np-red)}
body.np1500-ui .debt-alert.info{background:var(--np-blue-2);border-color:#BFE0DC;color:var(--navy)}

/* Mobile bottom navigation: recolor without changing the stable flat layout. */
body.np1380-ui .mobile-bottom-nav{background:var(--card)!important;border-top-color:var(--line)!important}
body.np1380-ui .mobile-bottom-nav button,
body.np1380-ui .mobile-bottom-nav .mnav-sale,
body.np1380-ui .mobile-bottom-nav .mnav-sale.active{color:#6B7573!important}
body.np1380-ui .mobile-bottom-nav button.active,
body.np1380-ui .mobile-bottom-nav .mnav-sale.active{background:#E4F2F1!important;color:#146B5C!important}
body.np1380-ui .mobile-bottom-nav .mnav-sale *{color:inherit!important}

/* Login / splash: keep existing structure and motion, only harmonize colors. */
.water-drop,.transition-drop{background:var(--np-aqua)}
.login-submit{background:linear-gradient(135deg,#27B8B2,#1C8C99)!important;color:#fff!important;font-weight:800!important}

@media(max-width:600px){
  body.np1500-ui .card{padding:14px}
  body.np1500-ui .cards{gap:10px}
  body.np1500-ui .metric strong{font-size:22px}
}


/* =====================================================================
   NamPhuong ERP — Stable 1.51.0 Unified UX · Stage 1
   Visual-only layer inspired by the approved operational dashboard mockup.
   No business logic, RPC, permissions or HTML structure changes.
   ===================================================================== */

:root{
  --navy:#0D3438;
  --blue:#178E98;
  --bg:#F6F2E8;
  --card:#FFFFFF;
  --line:#DDD6C8;
  --text:#102E32;
  --muted:#687774;
  --danger:#B34B2F;
  --ok:#14705F;
  --np-aqua:#2CCDC2;
  --np-gold:#C89A3D;
  --np-shadow:0 3px 11px rgba(36,55,49,.075);
  --np-shadow-hover:0 10px 24px rgba(36,55,49,.12);
  --np-radius:14px;
}

body.np1500-ui{
  --np1500-navy:#0D3438;
  --np1500-navy-2:#102F33;
  --np1500-blue:#178E98;
  --np1500-blue-soft:#E3F3F1;
  --np1500-surface:#FFFFFF;
  --np1500-canvas:#F6F2E8;
  --np1500-line:#DDD6C8;
  --np1500-text:#102E32;
  --np1500-muted:#687774;
  --np1500-radius:14px;
  background:var(--np1500-canvas);
  color:var(--np1500-text);
}
body.np1500-ui.np1502-sidebar-stable{
  --np1502-sidebar:#0D3438;
  --np1502-sidebar-deep:#08262A;
  --np1502-nav-text:#DDEBE9;
  --np1502-nav-muted:#85B5B0;
}

/* ---- Main shell / rhythm ---- */
body.np1500-ui .app>main,
body.np1500-ui #content{background:var(--np1500-canvas)}
body.np1500-ui #content{padding:24px 28px 42px}
body.np1500-ui .app>main>header{
  min-height:68px;height:68px;padding:0 28px;background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(15,46,51,.02);
}
body.np1500-ui .page-head{margin-bottom:18px;gap:14px}
body.np1500-ui .page-head h2{font-size:24px;line-height:1.18;color:var(--navy);letter-spacing:-.025em}
body.np1500-ui .page-head .np-page-description{font-size:12.5px;color:var(--muted)}
body.np1500-ui .actions{gap:9px}

/* ---- Sidebar approved direction ---- */
body.np1500-ui.np1502-sidebar-stable #sidebar.sidebar{
  background:linear-gradient(180deg,#0D3438 0%,#0A2D31 58%,#08262A 100%)!important;
  border-right:1px solid rgba(255,255,255,.07)!important;
  box-shadow:9px 0 28px rgba(13,52,56,.11)!important;
}
body.np1500-ui.np1502-sidebar-stable #sidebar .brand{
  padding-top:4px!important;padding-bottom:16px!important;border-bottom:1px solid rgba(255,255,255,.09)!important;
}
body.np1500-ui.np1502-sidebar-stable #sidebar .np137-brand-copy strong{font-size:15px!important;letter-spacing:-.01em}
body.np1500-ui.np1502-sidebar-stable #sidebar .np137-brand-copy small{color:#9BC6C2!important;font-size:9.5px!important}
body.np1500-ui.np1502-sidebar-stable #nav{gap:4px!important}
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-toggle{
  color:#7FB4B0!important;text-transform:uppercase;letter-spacing:.055em;font-size:10.5px!important;font-weight:850!important;
  margin-top:5px!important;padding-top:8px!important;padding-bottom:7px!important;
}
body.np1500-ui.np1502-sidebar-stable #nav .np1500-dashboard-link,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-children>button{
  min-height:40px!important;border-radius:10px!important;color:#DDEBE9!important;font-size:12.7px!important;font-weight:650!important;
  transition:background .14s ease,color .14s ease,transform .14s ease;
}
body.np1500-ui.np1502-sidebar-stable #nav .nav-ico{
  width:27px!important;height:27px!important;border-radius:8px!important;background:rgba(255,255,255,.07)!important;color:#ECF8F6!important;
}
body.np1500-ui.np1502-sidebar-stable #nav .np1500-dashboard-link:hover,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-children>button:hover{
  background:rgba(44,205,194,.10)!important;color:#fff!important;transform:translateX(1px);
}
body.np1500-ui.np1502-sidebar-stable #nav .np1500-dashboard-link.active,
body.np1500-ui.np1502-sidebar-stable #nav .np1500-nav-children>button.active{
  background:#148EA0!important;color:#fff!important;border-color:rgba(255,255,255,.08)!important;
  box-shadow:inset 3px 0 0 #66E0D7,0 5px 14px rgba(0,22,25,.18)!important;
}
body.np1500-ui.np1502-sidebar-stable #sidebar #logoutBtn.logout{
  border-radius:10px!important;background:rgba(255,255,255,.035)!important;color:#BDD6D3!important;
}

/* ---- Shared surfaces ---- */
body.np1500-ui .card,
body.np1500-ui .table-wrap,
body.np1500-ui .quick-grid button,
body.np1500-ui .customer-info>div,
body.np1500-ui .cash-split>div{
  background:#fff;border-color:var(--line);border-radius:var(--np-radius);box-shadow:var(--np-shadow);
}
body.np1500-ui .card{padding:18px}
body.np1500-ui .cards{gap:14px}
body.np1500-ui .card-title-row h3,
body.np1500-ui .card>h3{color:#12383C;letter-spacing:-.015em}
body.np1500-ui .card:hover{border-color:#D5CDBD}

/* ---- Dashboard: compact operational feel ---- */
body.np1500-ui .health-hero{
  margin-bottom:14px;padding:17px 19px;border-radius:16px;
  background:linear-gradient(125deg,#0D3438 0%,#12535A 52%,#178E98 100%);
  box-shadow:0 8px 22px rgba(13,52,56,.15);
}
body.np1500-ui .health-hero strong{font-size:35px!important;line-height:1;margin:5px 0 7px}
body.np1500-ui .health-notes{gap:6px}
body.np1500-ui .health-notes p{padding:8px 10px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.08)}

body.np1500-ui .workflow-strip{gap:10px;margin:12px 0 14px}
body.np1500-ui .workflow-strip button{
  border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(36,55,49,.05);
}
body.np1500-ui .workflow-strip button:hover{border-color:#BBD9D5;background:#F7FBFA}
body.np1500-ui .workflow-strip button b{color:#147E87}

/* KPI cards use a decorative water-level gauge without changing HTML. */
body.np1500-ui .dashboard-kpis{grid-template-columns:repeat(4,minmax(190px,1fr));gap:14px;margin-bottom:16px}
body.np1500-ui .dashboard-kpis>.metric{
  position:relative;min-height:112px;padding:17px 17px 15px 92px!important;justify-content:center;overflow:hidden;
  border:1px solid #DDD6C8;background:#fff;box-shadow:0 3px 10px rgba(36,55,49,.07);
}
body.np1500-ui .dashboard-kpis>.metric::before{
  content:'';position:absolute;left:17px;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;
  border:2px solid #D9D2C2;box-shadow:inset 0 0 0 3px rgba(255,255,255,.62),0 2px 6px rgba(31,62,58,.08);
  background:linear-gradient(to top,#25C5BB 0 50%,#F0ECE2 50% 100%);
}
body.np1500-ui .dashboard-kpis>.metric:nth-child(1)::before{background:linear-gradient(to top,#25C5BB 0 58%,#F0ECE2 58% 100%)}
body.np1500-ui .dashboard-kpis>.metric:nth-child(2)::before{background:linear-gradient(to top,#24BDB5 0 66%,#F0ECE2 66% 100%)}
body.np1500-ui .dashboard-kpis>.metric:nth-child(3)::before{background:linear-gradient(to top,#43CFC5 0 44%,#F0ECE2 44% 100%)}
body.np1500-ui .dashboard-kpis>.metric:nth-child(4)::before{background:linear-gradient(to top,#32B9B1 0 31%,#F0ECE2 31% 100%)}
body.np1500-ui .dashboard-kpis>.metric span{
  font-size:10.5px!important;text-transform:uppercase;letter-spacing:.035em;color:#6A7773!important;font-weight:800!important;
}
body.np1500-ui .dashboard-kpis>.metric strong{
  margin:4px 0 1px!important;color:#0E3337!important;font-family:ui-monospace,"SFMono-Regular",Consolas,monospace!important;
  font-size:24px!important;line-height:1.1;letter-spacing:-.045em;
}
body.np1500-ui .dashboard-kpis>.metric small{font-size:10.5px;color:#6D7976!important;line-height:1.35}
body.np1500-ui .dashboard-kpis>.metric .metric-delta,
body.np1500-ui .dashboard-kpis>.metric [class*="delta"]{font-size:10px!important}
body.np1500-ui .dashboard-kpis>.metric.metric-alert{background:#FFFDF9;border-color:#E5D3B7}
body.np1500-ui .dashboard-kpis>.metric.metric-alert::before{background:linear-gradient(to top,#E0AA55 0 36%,#F3EEE4 36% 100%)}

body.np1500-ui .dashboard-grid{gap:14px;margin:14px 0}
body.np1500-ui .dashboard-grid>.card{min-width:0}
body.np1500-ui .cash-split{gap:8px}
body.np1500-ui .cash-split>div{background:#FAF8F2;box-shadow:none}
body.np1500-ui .rank-list>div{border-bottom-color:#ECE6DA}
body.np1500-ui .rank-list .rank{background:#EEE9DE;color:#16474B}
body.np1500-ui .insight{border:1px solid transparent;border-radius:10px}
body.np1500-ui .quick-grid{gap:10px}
body.np1500-ui .quick-grid button{padding:14px 15px;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
body.np1500-ui .quick-grid button:hover{transform:translateY(-1px);box-shadow:var(--np-shadow-hover);border-color:#B9D8D4}

/* ---- Tables: easier scan on desktop and mobile ---- */
body.np1500-ui .table-wrap{overflow:auto;box-shadow:0 2px 9px rgba(36,55,49,.055)}
body.np1500-ui table{background:#fff}
body.np1500-ui th{
  background:#FAF8F2!important;color:#63716E!important;font-size:10.5px!important;font-weight:850!important;
  letter-spacing:.035em;border-bottom:1px solid #DFD8CA!important;
}
body.np1500-ui td{color:#15373A;border-bottom-color:#ECE6DA!important}
body.np1500-ui tbody tr:last-child td{border-bottom:0}
body.np1500-ui tr.clickable:hover{background:#F2F8F6!important}
body.np1500-ui .pill{border:1px solid transparent;padding:4px 8px;font-size:10px;font-weight:800}
body.np1500-ui .pill.ok{background:#E1F2EC;color:#136653;border-color:#C7E7DB}
body.np1500-ui .pill.bad{background:#FBE7DE;color:#A54127;border-color:#F2CDBE}

/* ---- Buttons / fields ---- */
body.np1500-ui button{transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .1s ease}
body.np1500-ui button:active{transform:translateY(1px)}
body.np1500-ui button.primary{background:#178E98!important;border-color:#178E98!important;box-shadow:0 4px 11px rgba(23,142,152,.18)}
body.np1500-ui button.primary:hover{background:#117982!important}
body.np1500-ui button.secondary{background:#F2EEE5!important;border:1px solid #DDD6C8!important;color:#16383B!important}
body.np1500-ui input,body.np1500-ui select,body.np1500-ui textarea{
  background:#fff;border-color:#D9D2C5;border-radius:9px;color:#15373A;
}
body.np1500-ui input:focus,body.np1500-ui select:focus,body.np1500-ui textarea:focus{
  border-color:#31AAA7;box-shadow:0 0 0 3px rgba(44,205,194,.13);
}
body.np1500-ui .toolbar{gap:8px}

/* ---- Route workspace ---- */
body.np1500-ui .np1480-route-card,
body.np1500-ui .np1480-customer-card{
  border-color:#DED7CA!important;background:#fff!important;box-shadow:0 2px 8px rgba(36,55,49,.05)!important;
}
body.np1500-ui .np1480-route-card:hover,
body.np1500-ui .np1480-customer-card:hover{border-color:#AFCFCB!important;box-shadow:0 7px 18px rgba(36,55,49,.10)!important}
body.np1500-ui .np1480-order-number{background:#E5F3F1!important;color:#146C68!important}
body.np1500-ui .np1480-customer-state{border-radius:999px!important}
body.np1500-ui .np1480-filter-tabs button.active{background:#178E98!important;color:#fff!important}

/* ---- Vehicle / reconciliation workspace ---- */
body.np1500-ui .np1470-vehicle-card,
body.np1500-ui .np1484-round-card{
  border-color:#DDD6C8!important;background:#fff!important;box-shadow:0 3px 10px rgba(36,55,49,.06)!important;
}
body.np1500-ui .np1470-time-line,
body.np1500-ui .np1470-block-summary,
body.np1500-ui .np1471-reconcile,
body.np1500-ui .np1484-flow-note{background:#F8F6F0!important;border-color:#E3DCCE!important}
body.np1500-ui .np1470-kpis span,
body.np1500-ui .np1484-round-kpis span{background:#FBFAF6!important;border-color:#E1DACD!important}
body.np1500-ui .np1470-kpis span.primary{background:#EAF5F3!important;border-color:#C3E0DC!important}
body.np1500-ui .np1470-kpis span.primary b{color:#126C68!important}
body.np1500-ui .np1484-locked-banner{background:#EEF5F1!important;border-color:#C9DFD5!important;color:#285D50!important}

/* ---- Modal ---- */
body.np1500-ui .modal{border:1px solid #E1DACD;border-radius:16px;box-shadow:0 24px 72px rgba(13,52,56,.22)}
body.np1500-ui .modal-head{padding-bottom:10px;border-bottom:1px solid #EEE8DD}

/* ---- Mobile ---- */
body.np1380-ui .mobile-bottom-nav{
  background:rgba(255,255,255,.98)!important;border-top:1px solid #DDD6C8!important;box-shadow:0 -5px 18px rgba(36,55,49,.08)!important;
}
body.np1380-ui .mobile-bottom-nav button.active,
body.np1380-ui .mobile-bottom-nav .mnav-sale.active{background:#E2F3F0!important;color:#146A67!important}

@media(max-width:1000px){
  body.np1500-ui .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  body.np1500-ui #content{padding:14px 12px 88px}
  body.np1500-ui .page-head{margin-bottom:12px}
  body.np1500-ui .page-head h2{font-size:20px}
  body.np1500-ui .health-hero{grid-template-columns:1fr;padding:15px}
  body.np1500-ui .health-hero strong{font-size:30px!important}
  body.np1500-ui .dashboard-kpis{gap:9px}
  body.np1500-ui .dashboard-kpis>.metric{min-height:100px;padding:13px 12px 12px 70px!important}
  body.np1500-ui .dashboard-kpis>.metric::before{left:12px;width:45px;height:45px}
  body.np1500-ui .dashboard-kpis>.metric strong{font-size:19px!important}
  body.np1500-ui .dashboard-kpis>.metric span{font-size:9px!important}
  body.np1500-ui .dashboard-kpis>.metric small{font-size:9px!important}
  body.np1500-ui .card{padding:14px}
}
@media(max-width:430px){
  body.np1500-ui .dashboard-kpis{grid-template-columns:1fr}
  body.np1500-ui .dashboard-kpis>.metric{min-height:94px;padding-left:72px!important}
  body.np1500-ui .workflow-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  body.np1500-ui .workflow-strip button{padding:9px 5px}
  body.np1500-ui .workflow-strip button small{font-size:8px}
}

