/* ==========================================================================
   ARROW FACTORY SYSTEM — styles for the factory modules
   Builds on the quotation app's tokens (--arrow-red, --steel-*, .panel, .btn…)
   ========================================================================== */

/* ---------- module bar (under the header) ---------- */
header.app-header .erp-modbar{flex-basis:100%;margin:2px -20px -10px;background:rgba(0,0,0,.18);border-top:1px solid rgba(255,255,255,.08);}
.erp-modbar-inner{max-width:1240px;margin:0 auto;padding:0 18px;display:flex;gap:2px;align-items:stretch;overflow-x:auto;scrollbar-width:none;}
.erp-modbar-inner::-webkit-scrollbar{display:none;}
.erp-modbar button{
  background:transparent;border:none;border-bottom:3px solid transparent;color:#c8d2e4;font-family:inherit;
  font-weight:700;font-size:13px;padding:10px 14px 8px;cursor:pointer;white-space:nowrap;display:flex;gap:6px;align-items:center;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease;
}
.erp-modbar button:hover{background:var(--steel-700);color:#fff;}
.erp-modbar button.active{color:#fff;border-bottom-color:var(--arrow-red-light);background:var(--steel-900);}
.erp-modbar .ic{font-size:14px;}
.erp-role{margin-left:auto;align-self:center;font-size:11px;color:#c8d2e4;white-space:nowrap;padding-left:12px;}
.erp-role b{color:#fff;background:var(--arrow-red);padding:1px 8px;border-radius:9px;margin-left:2px;}
nav.tabs button.erp-hide{display:none!important;}

/* ---------- KPI tiles / actions ---------- */
.erp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px;}
.erp-kpi{background:var(--paper);border:1px solid var(--steel-200);border-top:3px solid var(--steel-800);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px;}
.erp-kpi .k{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--text-mute);}
.erp-kpi .v{font-size:20px;font-weight:800;color:var(--steel-900);font-family:Consolas,"SF Mono",monospace;line-height:1.35;}
.erp-kpi .v small{font-size:12px;color:var(--text-mute);}
.erp-kpi.warn{border-top-color:#d97706;background:#fffaf0;}
.erp-kpi.warn .v{color:#b45309;}
.erp-kpi.good{border-top-color:#1c7c3f;}
.erp-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.erp-count{font-size:12px;font-weight:700;color:var(--text-mute);}
.erp-two{display:grid;grid-template-columns:3fr 2fr;gap:18px;align-items:start;}
@media(max-width:960px){.erp-two{grid-template-columns:1fr;}}

/* ---------- tables ---------- */
table.erp-table th.num{text-align:right;}
table.erp-table td.num{white-space:nowrap;}
table.erp-table.compact td{padding:6px 10px;}
table.erp-table tbody tr.linkrow{cursor:pointer;}
table.erp-table tbody tr.erp-low td{background:#fff7ed;}
table.erp-table tbody tr.erp-void td{opacity:.55;text-decoration:line-through;}
table.erp-table tfoot td{font-weight:800;border-top:2px solid var(--steel-900);background:var(--steel-100);padding:9px 10px;}
.erp-strong{font-weight:700;white-space:nowrap;}
.erp-hint{font-size:11px;color:var(--text-mute);margin-top:2px;}
.erp-mute{color:var(--text-mute);}
.erp-neg{color:var(--arrow-red);font-weight:700;}
.erp-pos{color:#1c7c3f;font-weight:700;}
.erp-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text-mute);white-space:nowrap;}
.erp-check input[type=date]{padding:6px 8px;border:1.5px solid var(--steel-200);border-radius:6px;font-family:inherit;}
.lib-toolbar select{padding:8px 10px;font-size:13px;border:1.5px solid var(--steel-200);border-radius:6px;background:var(--steel-100);font-family:inherit;}

/* reports */
table.erp-rep tr.sec td{background:var(--steel-100);color:var(--steel-900);font-weight:800;text-transform:uppercase;font-size:11.5px;letter-spacing:.4px;}
table.erp-rep tr.tot td{font-weight:800;border-top:1.5px solid var(--steel-800);}
table.erp-rep tr.tot.erp-neg td{color:var(--arrow-red);}
.erp-report .erp-sub{margin-bottom:10px;}

/* ---------- badges ---------- */
.erp-badge{display:inline-block;font-size:10.5px;font-weight:800;padding:2px 9px;border-radius:10px;white-space:nowrap;background:var(--steel-200);color:var(--steel-800);text-transform:capitalize;}
.erp-badge.ok{background:#e0f0e5;color:#1c7c3f;}
.erp-badge.bad{background:#fdecec;color:var(--arrow-red);}
.erp-badge.warn{background:#fef3c7;color:#b45309;}
.erp-badge.info{background:#dbeafe;color:#1d4ed8;}
.erp-badge.mute{background:var(--steel-100);color:var(--text-mute);}

/* ---------- misc blocks ---------- */
.erp-sub{font-size:12.5px;color:var(--text-mute);margin:4px 0 8px;line-height:1.5;}
.erp-h4{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--arrow-red);margin:16px 0 6px;}
.erp-code{font-family:Consolas,monospace;font-size:12px;background:var(--steel-100);border:1px solid var(--steel-200);border-radius:6px;padding:8px 10px;}
.erp-warnbox{background:#fffaf0;border:1.5px solid #fcd34d;border-left:5px solid #d97706;border-radius:6px;padding:10px 12px;font-size:13px;margin:8px 0 12px;line-height:1.5;}
.erp-costbox{background:var(--steel-100);border-left:5px solid var(--steel-800);border-radius:6px;padding:10px 12px;font-size:13px;margin-top:12px;line-height:1.7;}
.erp-roles{display:grid;gap:4px;font-size:13px;margin-bottom:10px;}
.erp-claim{max-width:1240px;margin:12px auto 0;background:#fffaf0;border:1.5px solid #fcd34d;border-left:5px solid #d97706;border-radius:8px;padding:12px 16px;font-size:13.5px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.erp-claim button{margin-left:auto;}
.erp-disabled{position:fixed;inset:0;z-index:600;background:linear-gradient(160deg,var(--steel-900),var(--steel-700));display:flex;align-items:center;justify-content:center;padding:20px;}
.btn.erp-danger{background:#fff;color:var(--arrow-red);border:1.5px solid #eecdd0;}
.btn.erp-danger:hover{background:#fdecec;}
.btn.btn-primary.erp-danger{background:var(--arrow-red);color:#fff;border:none;}

/* ---------- line-item grids ---------- */
table.erp-lines{min-width:640px;}
table.erp-lines th.num{text-align:right;}
table.erp-lines input.erp-unset{border-color:#d99a00;background:#fffbea;}
table.erp-lines .erp-calc{font-family:Consolas,monospace;}
.erp-lines-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap;}
.erp-lines-total{font-size:13px;}

/* ---------- modal ---------- */
.erp-modal-wrap{position:fixed;inset:0;background:rgba(15,25,45,.55);z-index:700;display:flex;align-items:flex-start;justify-content:center;padding:4vh 14px;overflow-y:auto;}
.erp-modal{background:#fff;border-radius:10px;border-top:4px solid var(--arrow-red);width:560px;max-width:100%;box-shadow:0 20px 60px rgba(0,0,0,.35);display:flex;flex-direction:column;animation:erpIn .15s ease;}
.erp-modal.wide{width:820px;}
.erp-modal.xwide{width:1080px;}
@keyframes erpIn{from{transform:translateY(8px);opacity:0;}to{transform:none;opacity:1;}}
.erp-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--steel-200);}
.erp-modal-head h3{margin:0;font-size:15px;color:var(--steel-900);}
.erp-x{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-mute);padding:4px 8px;border-radius:5px;}
.erp-x:hover{background:var(--steel-100);}
.erp-modal-body{padding:16px 18px;}
.erp-modal-foot{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding:12px 18px;border-top:1px solid var(--steel-200);background:#fafbfc;border-radius:0 0 10px 10px;flex-wrap:wrap;}
.erp-modal-err{margin-right:auto;color:var(--arrow-red);font-size:12.5px;font-weight:700;white-space:pre-line;max-width:60%;}
.erp-alert-text{font-size:14px;line-height:1.55;}
.erp-modal .field label input[type=checkbox]{margin-right:4px;accent-color:var(--arrow-red);}

/* printable documents shown inside a modal */
.erp-doc{font-size:13px;}
.erp-doc .grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;margin-bottom:12px;}
.erp-doc table{width:100%;border-collapse:collapse;font-size:13px;}
.erp-doc th{background:var(--steel-900);color:#fff;text-align:left;padding:6px 8px;font-size:11px;text-transform:uppercase;}
.erp-doc th.num,.erp-doc td.num{text-align:right;font-family:Consolas,monospace;}
.erp-doc td{border-bottom:1px solid var(--steel-200);padding:6px 8px;}
.erp-doc tfoot td{font-weight:800;border-top:2px solid var(--steel-900);}
.erp-doc h3{font-size:12px;text-transform:uppercase;color:var(--arrow-red);margin:14px 0 4px;}
.erp-doc .sig{display:none;}

/* ---------- toasts ---------- */
.erp-toasts{position:fixed;right:16px;bottom:16px;z-index:800;display:flex;flex-direction:column;gap:8px;align-items:flex-end;}
.erp-toast{background:var(--steel-900);color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:700;box-shadow:0 6px 20px rgba(0,0,0,.25);border-left:4px solid #22c55e;max-width:420px;transition:opacity .4s,transform .4s;}
.erp-toast.error{border-left-color:var(--arrow-red-light);background:#4a1219;}
.erp-toast.out{opacity:0;transform:translateY(6px);}

/* ---------- phone ---------- */
@media(max-width:720px){
  header.app-header .erp-modbar{margin:2px -12px -10px;order:3;}
  header.app-header nav.tabs{order:4;}
  .erp-modbar-inner{padding:0 8px;}
  .erp-modbar button{padding:10px 10px 8px;font-size:12.5px;}
  .erp-role{display:none;}
  .erp-kpis{grid-template-columns:repeat(2,1fr);gap:8px;}
  .erp-kpi .v{font-size:16px;}
  .erp-modal-wrap{padding:0;}
  .erp-modal,.erp-modal.wide,.erp-modal.xwide{width:100%;min-height:100%;border-radius:0;}
  .erp-doc .grid{grid-template-columns:1fr;}
  .erp-actions .btn{flex:1 1 45%;}
}

@media print{
  .erp-modbar,.erp-claim,.erp-toasts,.erp-modal-wrap{display:none!important;}
}
