/* NamPhuongERP 1.66.4 C6A — Preflight Check sheet / dialog
   Same overlay pattern as C4R1 (#np169Sheet): host portaled to <body>, scrim,
   visible-viewport vars (--np1664-vvt / --np1664-vvh, only while open),
   safe-area padding, html/body.np1664-locked, only .np1664-body scrolls.
   Mobile (≤900px): bottom sheet. Desktop: centered dialog.
   Colours: the Fast Sale semantic tokens (--np166-*, --np167-*), so Light/Dark
   follow the existing theme. Red = blocking only, orange = needs confirmation. */

html.np1664-locked,html.np1664-locked body{overflow:hidden!important;overscroll-behavior:none!important}
html.np1664-locked{scrollbar-gutter:stable}
body.np1664-locked>:not(#np1664Preflight):not(#toastRoot){pointer-events:none!important}
body.np1664-locked #mobileSaleBar{visibility:hidden!important;pointer-events:none!important}

.np1664-host{position:fixed;left:0;right:0;top:var(--np1664-vvt,0px);height:var(--np1664-vvh,100dvh);z-index:10060;
  pointer-events:auto;color:var(--np166-text,#19384d);font-size:15px;line-height:1.4;
  --np1664-warn:var(--np166-owe,#a75b0a);--np1664-warn-soft:var(--np166-owe-soft,#fff7e8);
  --np1664-bad:var(--np166-block,#c12d3c);--np1664-bad-soft:var(--np166-block-soft,#fff0f2);
  --np1664-info:var(--np166-credit,#375fb5);--np1664-info-soft:var(--np166-credit-soft,#eef3ff);
  --np1664-surface:var(--np166-surface,#fff);--np1664-page:var(--np166-page,#f3f7fa);
  --np1664-line:var(--np166-line,#d9e6ee);--np1664-muted:var(--np166-muted,#637b8d);
  --np1664-accent:var(--np167-accent,#0f766e);--np1664-on-accent:#fff}
html[data-theme="dark"] .np1664-host{--np1664-on-accent:#0d1013;--np1664-warn-ink:#1b1206}
.np1664-host[hidden]{display:none!important}
.np1664-scrim{position:absolute;inset:0;background:rgba(13,17,22,.45);touch-action:none}
html[data-theme="dark"] .np1664-scrim{background:rgba(0,0,0,.6)}

.np1664-sheet{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;box-sizing:border-box;
  max-height:calc(100% - env(safe-area-inset-top,0px) - 12px);
  background:var(--np1664-surface);color:var(--np166-text,#19384d);border-radius:20px 20px 0 0;
  box-shadow:var(--np167-overlay-shadow,0 -8px 30px rgba(0,0,0,.18));
  padding:4px 0 0;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.np1664-grab{width:40px;height:5px;border-radius:3px;background:var(--np1664-line);margin:6px auto 2px;flex:none;touch-action:none}
.np1664-head{display:flex;align-items:center;gap:10px;min-height:60px;padding:4px 6px 8px 16px;flex:none;border-bottom:1px solid var(--np1664-line);touch-action:none}
.np1664-ico{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-size:18px;font-weight:900;font-style:normal}
.np1664-ico.warn{background:var(--np1664-warn-soft);color:var(--np1664-warn)}
.np1664-ico.bad{background:var(--np1664-bad-soft);color:var(--np1664-bad)}
.np1664-ico.info{background:var(--np1664-info-soft);color:var(--np1664-info)}
.np1664-htext{flex:1;min-width:0}
.np1664-htext h3{margin:0;font-size:18px;font-weight:800;line-height:1.25;color:var(--np166-text,#19384d)}
.np1664-host[data-state="blocking"] .np1664-htext h3,.np1664-host[data-state="unresolved"] .np1664-htext h3{color:var(--np1664-bad)}
.np1664-htext p{margin:2px 0 0;font-size:14px;color:var(--np1664-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.np1664-htext p:empty{display:none}
.np1664-x{flex:none;width:48px;height:48px;border:0;border-radius:12px;background:transparent;color:var(--np1664-muted);font-size:18px;cursor:pointer}

.np1664-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;
  padding:12px 16px 14px;display:flex;flex-direction:column;gap:10px}
.np1664-body>*{flex-shrink:0}
.np1664-foot{flex:none;display:flex;flex-wrap:wrap;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
  border-top:1px solid var(--np1664-line);background:var(--np1664-surface)}
.np1664-foot:empty{display:none}
.np1664-sure{flex:1 1 100%;margin:0;font-size:13px;color:var(--np1664-muted);text-align:center}

/* rows: red blocking / orange confirm / dashed info */
.np1664-item{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 8px 10px 12px;border-radius:14px;box-sizing:border-box;
  border:1px solid var(--np1664-line);background:var(--np1664-surface)}
.np1664-item.bad{border:1.5px solid var(--np1664-bad);background:var(--np1664-bad-soft)}
.np1664-item.warn{border:1.5px solid var(--np1664-warn);background:var(--np1664-warn-soft)}
.np1664-item.info{border:1px dashed var(--np1664-line);background:transparent}
.np1664-sev{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:14px;font-weight:900;
  background:var(--np1664-page);color:var(--np1664-muted)}
.np1664-item.bad .np1664-sev{background:var(--np1664-bad);color:#fff}
.np1664-item.warn .np1664-sev{background:var(--np1664-warn);color:#fff}
html[data-theme="dark"] .np1664-item.bad .np1664-sev,html[data-theme="dark"] .np1664-item.warn .np1664-sev{color:#11151a}
.np1664-itext{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.np1664-itext>b{font-size:15px;font-weight:800}
.np1664-item.bad .np1664-itext>b{color:var(--np1664-bad)}
.np1664-item.warn .np1664-itext>b{color:var(--np1664-warn)}
.np1664-itext>span{font-size:14px;color:var(--np166-text,#19384d);overflow-wrap:anywhere}
.np1664-item.info .np1664-itext>span{color:var(--np1664-muted)}
.np1664-fix{flex:none;min-width:56px;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--np1664-line);
  background:var(--np1664-surface);color:var(--np1664-accent);font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.np1664-group{margin:4px 0 -2px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--np1664-muted)}
.np1664-lead{margin:0;font-size:14px;color:var(--np1664-muted)}

/* debt-only screen */
.np1664-big{font-size:22px;font-weight:800;line-height:1.3}
.np1664-owe{color:var(--np1664-warn);font-weight:900;white-space:nowrap}
.np1664-kv{display:grid;grid-template-columns:1fr auto;gap:8px 0;margin:0;padding:12px 14px;border-radius:14px;background:var(--np1664-page)}
.np1664-kv dt{margin:0;color:var(--np1664-muted);font-weight:600}
.np1664-kv dd{margin:0;padding-left:12px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.np1664-kv dt.np1664-owe-l{color:var(--np1664-warn);font-weight:800;border-top:1px solid var(--np1664-line);padding-top:8px}
.np1664-kv dd.np1664-owe{border-top:1px solid var(--np1664-line);padding-top:8px}

.np1664-note{padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.45}
.np1664-note.warn{background:var(--np1664-warn-soft);color:var(--np166-text,#19384d);border:1px solid var(--np1664-warn)}
.np1664-note.bad{background:var(--np1664-bad-soft);color:var(--np166-text,#19384d);border:1.5px solid var(--np1664-bad)}
.np1664-note.info{background:var(--np1664-info-soft);color:var(--np166-text,#19384d)}
.np1664-note small{color:var(--np1664-muted)}

/* unresolved: mandatory tick */
.np1664-ack{display:flex;align-items:flex-start;gap:12px;min-height:56px;padding:12px 14px;border-radius:14px;border:1.5px solid var(--np1664-line);
  background:var(--np1664-surface);cursor:pointer;font-size:15px;font-weight:600}
.np1664-ack input{flex:none;width:24px;height:24px;margin:1px 0 0;accent-color:var(--np1664-bad)}
.np1664-ack:has(input:checked){border-color:var(--np1664-bad);background:var(--np1664-bad-soft)}

/* resubmit note */
.np1664-field{display:flex;flex-direction:column;gap:6px}
.np1664-field label{font-size:15px;font-weight:800}
.np1664-field label span{font-weight:500;color:var(--np1664-muted)}
.np1664-field textarea{box-sizing:border-box;width:100%;min-height:96px;padding:10px 12px;border:1px solid var(--np1664-line);border-radius:12px;
  background:var(--np1664-page);color:var(--np166-text,#19384d);font:inherit;font-size:16px;line-height:1.4;resize:vertical;scroll-margin-bottom:24px}
.np1664-field textarea:focus{outline:2px solid var(--np1664-accent);border-color:var(--np1664-accent)}

/* loading */
.np1664-loading{display:flex;align-items:center;gap:12px;min-height:72px;font-weight:700;color:var(--np1664-muted)}
.np1664-spin{width:22px;height:22px;border-radius:50%;border:3px solid var(--np1664-line);border-top-color:var(--np1664-accent);animation:np1664spin .8s linear infinite}
@keyframes np1664spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.np1664-spin{animation:none}}

/* footer buttons */
.np1664-btn{flex:1 1 0;min-width:0;min-height:52px;padding:0 12px;border-radius:14px;border:1px solid var(--np1664-line);background:var(--np1664-surface);
  color:var(--np166-text,#19384d);font:inherit;font-size:15px;font-weight:800;line-height:1.2;cursor:pointer}
.np1664-btn.primary{flex:1.4 1 0;border:0;background:var(--np1664-accent);color:var(--np1664-on-accent)}
.np1664-btn.primary.warn{background:var(--np1664-warn);color:#fff}
html[data-theme="dark"] .np1664-btn.primary.warn{color:#1b1206}
.np1664-btn:disabled{opacity:.45;cursor:not-allowed}
.np1664-host[data-state="blocking"] .np1664-btn.primary{background:var(--np1664-surface);border:1.5px solid var(--np1664-bad);color:var(--np1664-bad)}

/* app-wide button skins (html.np-ui-reference) restated for this body-level overlay */
html.np-ui-reference body #np1664Preflight#np1664Preflight button{box-shadow:none!important;letter-spacing:normal!important;text-transform:none!important}
html.np-ui-reference body #np1664Preflight#np1664Preflight button.np1664-x{background:transparent!important;border:0!important;color:var(--np1664-muted)!important;
  width:48px!important;height:48px!important;min-height:0!important;padding:0!important;border-radius:12px!important}
html.np-ui-reference body #np1664Preflight#np1664Preflight button.np1664-fix{background:var(--np1664-surface)!important;border:1px solid var(--np1664-line)!important;
  color:var(--np1664-accent)!important;min-height:44px!important;height:auto!important;padding:0 12px!important;border-radius:12px!important;font-size:14px!important;font-weight:800!important;width:auto!important}
html.np-ui-reference body #np1664Preflight#np1664Preflight button.np1664-btn{background:var(--np1664-surface)!important;border:1px solid var(--np1664-line)!important;
  color:var(--np166-text,#19384d)!important;min-height:52px!important;height:auto!important;padding:6px 12px!important;border-radius:14px!important;font-size:15px!important;font-weight:800!important}
html.np-ui-reference body #np1664Preflight#np1664Preflight button.np1664-btn.primary{background:var(--np1664-accent)!important;border:0!important;color:var(--np1664-on-accent)!important}
html.np-ui-reference body #np1664Preflight#np1664Preflight button.np1664-btn.primary.warn{background:var(--np1664-warn)!important;color:#fff!important}
html.np-ui-reference[data-theme="dark"] body #np1664Preflight#np1664Preflight button.np1664-btn.primary.warn{color:#1b1206!important}
html.np-ui-reference body #np1664Preflight#np1664Preflight[data-state="blocking"] button.np1664-btn.primary{background:var(--np1664-surface)!important;border:1.5px solid var(--np1664-bad)!important;color:var(--np1664-bad)!important}

/* "Sửa" target highlight (2 s, class removed by the module) */
.np1664-focus{outline:3px solid var(--np167-accent,#0f766e)!important;outline-offset:3px;border-radius:12px;animation:np1664pulse 1s ease-in-out 2}
@keyframes np1664pulse{50%{outline-color:transparent}}
@media (prefers-reduced-motion:reduce){.np1664-focus{animation:none}}

/* desktop: centered dialog */
@media (min-width:901px){
  .np1664-host{top:0;height:100dvh}
  .np1664-sheet{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 48px));
    max-height:min(720px,calc(100dvh - 48px));border-radius:18px;padding:0;box-shadow:0 20px 60px rgba(0,0,0,.28)}
  .np1664-grab{display:none}
  .np1664-head{padding-top:12px}
  .np1664-foot{padding-bottom:14px}
  .np1664-btn{flex:0 1 auto;min-width:140px}
  .np1664-foot{justify-content:flex-end}
  .np1664-sure{text-align:right}
}
@media (max-width:360px){
  .np1664-foot{flex-direction:column-reverse}
  .np1664-btn,.np1664-btn.primary{flex:1 1 auto;width:100%}
  .np1664-sure{order:3}
}

/* headings: beat the app-wide h3 skins (light + dark) */
#np1664Preflight#np1664Preflight .np1664-htext h3{color:var(--np166-text,#19384d)!important;font-size:18px!important;font-weight:800!important;margin:0!important;letter-spacing:normal!important}
#np1664Preflight#np1664Preflight[data-state="blocking"] .np1664-htext h3,#np1664Preflight#np1664Preflight[data-state="unresolved"] .np1664-htext h3{color:var(--np1664-bad)!important}
