/* Lugoda Sentinel — Sales Documents module */
.doc-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.doc-toolbar h2{margin:0;font-size:18px}
.doc-newbtns{display:flex;gap:6px;flex-wrap:wrap}
.doc-hint{font-size:12px;margin:2px 0 10px}
.doc-list tr[data-open]{cursor:pointer}
.doc-list tr[data-open]:hover{background:var(--panel2)}
th.num,td.num{text-align:right}

/* create */
.doc-grid{display:grid;grid-template-columns:2fr 2fr 1fr;gap:12px;padding:12px}
.doc-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.doc-grid select,.doc-grid input,.doc-in,.doc-search,.doc-custom input{
  background:var(--panel2);border:1px solid var(--ink2);border-radius:8px;color:var(--txt);padding:7px 9px;font-size:13px}
.doc-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-top:12px;align-items:start}
@media(max-width:1000px){.doc-cols{grid-template-columns:1fr}.doc-grid{grid-template-columns:1fr}}
.doc-lines .ch,.doc-catbox .ch{padding:10px 14px}
.doc-in{width:100%}
.doc-qty{width:74px}
.doc-price{width:110px}
.doc-custom{display:flex;gap:6px;padding:10px 14px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--ink2)}
.doc-custom input:first-child{flex:1;min-width:180px}
.doc-search{width:calc(100% - 28px);margin:0 14px 10px}
.doc-cat-results{max-height:520px;overflow:auto;border-top:1px solid var(--ink2)}
.doc-picker th,.doc-picker td{font-size:12px}
.doc-addcell{white-space:nowrap;text-align:right}

/* totals */
.doc-totals{margin:10px 14px;display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.doc-totals>div{display:flex;gap:14px;justify-content:space-between;min-width:240px}
.doc-totals .grand{font-weight:800;font-size:15px;border-top:1px solid var(--ink2);padding-top:6px;margin-top:2px}

/* buttons (reuse app btn if present; fallback) */
.btn{display:inline-block;border:1px solid var(--ink2);background:var(--panel2);color:var(--txt);
  border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer;text-decoration:none}
.btn:hover{border-color:#3a4a6b}
.btn.primary{background:#e11b22;border-color:#e11b22;color:#fff}
.btn.ghost{background:transparent}
.btn.sm{padding:4px 9px;font-size:12px}

/* detail actions */
.doc-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.doc-statuslbl{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center}
.doc-statuslbl select{background:var(--panel2);border:1px solid var(--ink2);border-radius:8px;color:var(--txt);padding:5px 8px}
.doc-paperwrap{margin-top:12px;display:flex;justify-content:center}

/* on-screen preview of the printable paper (light "paper" look in both themes) */
.dp-paper{background:#fff;color:#111;width:820px;max-width:100%;padding:36px;border-radius:8px;
  box-shadow:0 6px 24px rgba(0,0,0,.35);font:13px/1.5 Arial,Helvetica,sans-serif}
.dp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.dp-brand{display:flex;align-items:center;gap:12px;min-width:0}
.dp-shield{width:52px;height:62px;flex:none}
.dp-co-name{font-size:15px;font-weight:800;line-height:1.12;color:#1a1a1a;letter-spacing:.2px}
.dp-tag{font-size:13px;color:#e11b22;font-style:italic;margin-top:2px}
.dp-contacts{font-size:10.5px;color:#333;line-height:1.5;text-align:left;max-width:340px}
.dp-cline{white-space:nowrap}
.dp-ic{display:inline-block;width:15px;height:15px;line-height:15px;text-align:center;background:#e11b22;color:#fff;border-radius:3px;font-size:10px;margin-right:5px;vertical-align:middle}
.dp-dealing{font-size:11px;color:#222;border-top:1.5px solid #444;border-bottom:1.5px solid #444;padding:4px 0;margin-top:8px}
.dp-idsrow{display:flex;justify-content:space-between;font-size:12.5px;margin-top:6px;padding-bottom:6px;border-bottom:3px solid #e11b22}
.dp-title{text-align:center;font-size:20px;font-weight:800;letter-spacing:3px;margin:14px 0 8px;background:#8f8f8f;color:#fff;padding:6px}
.dp-meta{display:flex;justify-content:space-between;font-size:13px}
.dp-to{margin:10px 0;font-size:14px}
.dp-legal{background:#fff4e5;border:1px solid #f0b37e;color:#8a5a1e;padding:6px 10px;font-size:11px;margin:8px 0;border-radius:4px}
.dp-tbl{width:100%;border-collapse:collapse;margin:10px 0}
.dp-tbl th,.dp-tbl td{border:1px solid #ccc;padding:6px 8px;font-size:12px;text-align:left}
.dp-tbl .num{text-align:right}
.dp-totals{display:flex;justify-content:flex-end;margin-top:6px}
.dp-totals table{border-collapse:collapse;min-width:300px}
.dp-totals td{padding:4px 8px;border:1px solid #ccc}
.dp-totals .grand{font-weight:800;background:#f7f7f7}
.dp-terms,.dp-bank,.dp-receipt{font-size:12px;margin-top:12px;color:#222}
.dp-signoff{margin-top:22px;font-weight:700;font-size:12px}
.dp-ref{margin:4px 0 8px;font-size:12px;color:#444}
/* requisition */
.dp-md{margin:8px 0;font-size:13px;color:#111}
.dp-purpose{margin:6px 0 10px;font-size:13px;font-weight:700;text-transform:uppercase}
.dp-tbl .dp-secrow td{background:#f3f3f3;font-size:12px}
.dp-tbl .dp-subrow td{background:#fafafa;font-weight:700;font-size:12px}
.dp-tbl tr.grand td{font-weight:800;background:#f7f7f7}
.dp-contact{margin-top:10px;font-size:12px}
.dp-reqsign{margin-top:22px;font-size:12px;display:flex;flex-direction:column;gap:14px}

/* petty cash */
.pc-kpis{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 12px}
.pc-kpi{background:var(--panel2);border:1px solid var(--ink2);border-radius:10px;padding:10px 16px;min-width:120px}
.pc-kpi span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.pc-kpi b{font-size:18px;font-variant-numeric:tabular-nums}
.pc-kpi.bal{border-color:#e11b22}
.pc-form{display:flex;gap:8px;padding:10px 14px;flex-wrap:wrap;align-items:center}
.pc-form #pc-desc{flex:1;min-width:220px}
.pc-form input,.pc-form select{background:var(--panel2);border:1px solid var(--ink2);border-radius:8px;color:var(--txt);padding:7px 9px;font-size:13px}
.pc-table td,.pc-table th{font-size:12px}

/* phase 2 — commission to asset register */
.doc-commission{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:12px 16px;border-left:3px solid #2ecc71}
.doc-commission button{white-space:nowrap}
.doc-commissioned{padding:10px 16px;border-left:3px solid #2ecc71;font-size:13px}

/* inspection → quotation hand-off */
.doc-fromctx{padding:10px 14px;border-left:3px solid #e11b22;margin-bottom:10px;font-size:13px}
.doc-fromsummary{margin-top:6px;font-style:italic;color:var(--muted);font-size:12px;max-height:120px;overflow:auto}

/* ---- Corrective Action report (reuses .dp-* paper styles) ---- */
.ca-meta{display:grid;grid-template-columns:1fr 1fr;gap:2px 20px;font-size:12px;margin:8px 0}
.dp-tbl td.ca-status{text-align:center;font-weight:800}

/* Corrective report — Final Verification checklist + two-party sign-off */
.ca-verify{margin-top:16px}
.ca-verify-h{font-weight:800;font-size:13px;letter-spacing:.5px;border-bottom:2px solid var(--red);padding-bottom:3px;margin-bottom:8px}
.ca-vgroup{margin:6px 0}
.ca-vgroup b{display:block;font-size:12px;margin-bottom:2px}
.ca-vitem{font-size:11.5px;margin:1px 0 1px 8px;color:var(--muted)}
.ca-signtbl{margin-top:20px}
.ca-signtbl td{height:26px}

/* ---- EFD receipt on the printable paper (on-screen preview) ---- */
.dp-efd{font-size:12px;margin:8px 0;padding:6px 10px;background:#eef7ee;border:1px solid #bcd9bc;border-radius:4px;color:#1c5b1c}

/* ---- finance bar on the document detail ---- */
.doc-finance{padding:12px 14px;margin:10px 0}
.df-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}
.doc-payments{list-style:none;margin:10px 0 0;padding:0;font-size:12.5px;display:flex;flex-direction:column;gap:4px}
.doc-payments li{display:flex;align-items:center;gap:6px;color:var(--txt)}
.df-efd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:13px}
.df-efd input{background:var(--panel2);border:1px solid var(--ink2);border-radius:8px;color:var(--txt);padding:6px 9px;font-size:13px}
.df-efd input#doc-efd-num{min-width:220px}
.btn.xs{padding:2px 7px;font-size:11px;border-radius:6px}

/* ---- receivables screen ---- */
.rc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:4px 0 12px}
.rc-kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.rc-kpi .rc-k{font-size:22px;font-weight:800;color:var(--txt)}
.rc-kpi .rc-l{font-size:12px;color:var(--muted);margin-top:2px}
.rc-kpi.warn .rc-k{color:var(--amber)}
.rc-kpi.ok .rc-k{color:var(--green)}
.rc-aging{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.rc-ab{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;font-size:13px}
.rc-ab b{font-size:14px}
.rc-ab.danger{border-color:var(--red);color:var(--red)}
.rc-tbl td.warn{color:var(--amber);font-weight:700}
.rc-tbl td.danger{color:var(--red);font-weight:700}
.rc-act{text-align:right;white-space:nowrap}
.rc-foot{font-size:12px;margin-top:10px}
.rc-balline{font-size:13px;margin-bottom:12px;color:var(--muted)}
.rc-balline .rc-bal{color:var(--txt)}
@media(max-width:900px){.rc-kpis{grid-template-columns:repeat(2,1fr)}.rc-aging{grid-template-columns:repeat(2,1fr)}}

.cc-tabs{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}

/* ---- purchase orders ---- */
.po-addline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}
.po-addline select,.po-addline input{background:var(--panel2);border:1px solid var(--ink2);border-radius:8px;color:var(--txt);padding:7px 9px;font-size:13px}
.po-addline select{min-width:200px}
.po-addline input#po-desc{flex:1;min-width:180px}
.po-total{text-align:right;padding:8px 14px;font-size:14px}
.po-head{display:flex;flex-direction:column;gap:4px;font-size:13px}

/* ---- client portal ---- */
.pt-status{padding:10px 16px;border-radius:10px;font-weight:700;font-size:14px;margin-bottom:14px}
.pt-status.ok{background:rgba(22,130,79,.12);border:1px solid rgba(22,130,79,.4);color:var(--green)}
.pt-status.warn{background:rgba(138,94,12,.12);border:1px solid rgba(138,94,12,.4);color:var(--amber)}
.pt-pick{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center;white-space:nowrap}
.pt-pick select{background:var(--panel2);border:1px solid var(--ink2);border-radius:8px;color:var(--txt);padding:6px 9px;font-size:12px}
.pt-remind{margin-top:12px}
.pt-remind ul{margin:0;padding:6px 16px 6px 34px;font-size:13px;color:var(--txt)}
.pt-remind ul li{margin:3px 0}
.pt-remind-note{padding:0 16px 10px;font-size:11px}
.pt-preview-tag{font-size:10px;text-transform:uppercase;letter-spacing:.5px;background:var(--amber);color:#1a1a1a;border-radius:6px;padding:2px 6px;font-weight:700}
