/* BlacTec documents + payments kit. Used by resources/views/bt/*.blade.php, the client invoice/quote pages and the Relworx pay card. */
:root{--bt-btn:#0e0f13;--bt-btn-fg:#fff;--bt-text:#1d1e20;--bt-muted:#6d7081;--bt-line:#d9e2e0;--bt-soft:#f8faf9;--bt-card:#fff;--bt-radius:14px;
--bt-head-a:#0e0f13;--bt-head-b:#2d3037;--bt-airtel:#e40000;--bt-mtn:#ffcb05;--bt-focus:#0b57d0}
html[data-theme="dark"]{--bt-btn:#f8fafc;--bt-btn-fg:#0e0f13;--bt-text:#e2e8f0;--bt-muted:#94a3b8;--bt-line:#334155;--bt-soft:#0f172a;--bt-card:#1e293b;--bt-head-a:#0b1220;--bt-head-b:#243044;--bt-focus:#8db4f3}

/* status banner */
.bt-status{--c:#6d7081;--c-text:#4b4e5c;--c-bg:#f1f2f4;--c-line:#d7d9de;display:flex;align-items:center;gap:16px;padding:18px 22px;margin:0 0 24px;border:1.5px solid var(--c-line);border-radius:var(--bt-radius);background:var(--c-bg)}
.bt-status__icon{flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center}
.bt-status__icon svg{width:24px;height:24px}
.bt-status__body{flex:1;min-width:0}
.bt-status__label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--c-text)}
.bt-status__title{font-size:20px;font-weight:800;color:var(--bt-text);line-height:1.25;margin-top:1px}
.bt-status__meta{font-size:13.5px;color:var(--bt-muted);margin-top:3px;line-height:1.45}
.bt-status__amount{flex:0 0 auto;text-align:right}
.bt-status__amount b{display:block;font-size:24px;font-weight:800;color:var(--bt-text);line-height:1.15}
.bt-status__amount span{font-size:11.5px;color:var(--bt-muted);text-transform:uppercase;letter-spacing:.1em}
.bt-status--paid,.bt-status--accepted{--c:#157a46;--c-text:#157a46;--c-bg:#e7f6ee;--c-line:#a9dfc2}
.bt-status--unpaid,.bt-status--sent{--c:#d9730d;--c-text:#b4560b;--c-bg:#fff4e5;--c-line:#f9c98f}
.bt-status--overdue,.bt-status--declined{--c:#cf2e63;--c-text:#b0234f;--c-bg:#fdebf1;--c-line:#f5b5ca}
.bt-status--partial,.bt-status--pending{--c:#0b57d0;--c-text:#0b57d0;--c-bg:#eaf1fd;--c-line:#b9d1f7}
html[data-theme="dark"] .bt-status{--c-bg:#1b2434;--c-line:#334155;--c-text:#cbd5e1}
html[data-theme="dark"] .bt-status--paid,html[data-theme="dark"] .bt-status--accepted{--c:#22a55e;--c-text:#86efac;--c-bg:#0f2f22;--c-line:#1f6b45}
html[data-theme="dark"] .bt-status--unpaid,html[data-theme="dark"] .bt-status--sent{--c:#e0812a;--c-text:#fdba74;--c-bg:#34200c;--c-line:#7c4a14}
html[data-theme="dark"] .bt-status--overdue,html[data-theme="dark"] .bt-status--declined{--c:#e5497c;--c-text:#fda4c0;--c-bg:#3a1424;--c-line:#7a2a47}
html[data-theme="dark"] .bt-status--partial,html[data-theme="dark"] .bt-status--pending{--c:#3373e0;--c-text:#93b9f5;--c-bg:#122443;--c-line:#25498a}

/* list + header pills: a dot in front of the word, and the two statuses the stock theme never styled */
.badge-paid,.badge-unpaid,.badge-overdue,.badge-partially_paid,.badge-partially-paid,.badge-payment_pending,.badge-cancelled{display:inline-flex;align-items:center;gap:6px;font-weight:700;letter-spacing:.02em}
.badge-paid::before,.badge-unpaid::before,.badge-overdue::before,.badge-partially_paid::before,.badge-partially-paid::before,.badge-payment_pending::before,.badge-cancelled::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.badge-partially_paid,.badge-partially-paid,.badge-payment_pending{background:#eaf1fd;color:#0b57d0}
html[data-theme="dark"] .badge-partially_paid,html[data-theme="dark"] .badge-partially-paid,html[data-theme="dark"] .badge-payment_pending{background:#122443 !important;color:#93b9f5 !important}

/* the pay card on the invoice and its method tabs */
.gw-tabs{gap:10px}
.gw-tab{border-radius:999px;padding:9px 20px;font-weight:700}
.gw-tab:hover{border-color:var(--bt-btn);color:var(--bt-text)}
.gw-tab.active{background:var(--bt-btn);border-color:var(--bt-btn);color:var(--bt-btn-fg)}

/* payment panels (Airtel Money details, Mobile Money pay form) */
.bt-pay{margin:0 0 16px;border:1.5px solid var(--bt-line);border-radius:var(--bt-radius);background:var(--bt-card);overflow:hidden;color:var(--bt-text)}
.bt-pay__head{display:flex;align-items:center;gap:14px;padding:16px 20px;background:linear-gradient(135deg,var(--bt-head-a),var(--bt-head-b));color:#fff}
.bt-pay__badge{height:40px;width:auto;display:block;border-radius:9px;flex:0 0 auto}
.bt-pay__title{font-size:16px;font-weight:800;line-height:1.25}
.bt-pay__sub{font-size:12.5px;opacity:.78;margin-top:1px}
.bt-pay__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.bt-pay__facts{margin:0;padding:8px 20px 12px;background:var(--bt-soft);border-right:1px solid var(--bt-line)}
.bt-fact{padding:11px 0;border-bottom:1px dashed var(--bt-line)}
.bt-fact:last-child{border-bottom:0}
.bt-fact dt{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--bt-muted)}
.bt-fact dd{margin:3px 0 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:16px;font-weight:800;color:var(--bt-text);word-break:break-word}
.bt-fact code{font:inherit;letter-spacing:.04em}
.bt-copy{border:1.5px solid var(--bt-line);background:var(--bt-card);color:var(--bt-muted);border-radius:7px;padding:2px 9px;font-size:11.5px;font-weight:700;cursor:pointer}
.bt-copy:hover{border-color:var(--bt-btn);color:var(--bt-text)}
.bt-pay__steps{margin:0;padding:14px 20px 14px 20px;list-style:none;counter-reset:bt}
.bt-pay__steps li{position:relative;padding:9px 0 9px 38px;font-size:14px;line-height:1.55;counter-increment:bt}
.bt-pay__steps li::before{content:counter(bt);position:absolute;left:0;top:9px;width:26px;height:26px;border-radius:50%;background:var(--bt-btn);color:var(--bt-btn-fg);font-size:13px;font-weight:800;display:grid;place-items:center}
.bt-pay__foot{padding:12px 20px;border-top:1px solid var(--bt-line);background:var(--bt-soft);font-size:13px;color:var(--bt-muted)}
.bt-pay__form{padding:18px 20px 20px}

/* "always share your proof of payment" strip */
.bt-proof{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:13px 16px;border:1.5px solid #f9c98f;border-left-width:5px;border-radius:12px;background:#fff4e5;color:#6b3a0a;font-size:13.5px;line-height:1.5}
.bt-proof svg{flex:0 0 20px;width:20px;height:20px;margin-top:2px;color:#b4560b}
.bt-proof a{color:inherit;font-weight:800;text-decoration:underline}
.bt-pay .bt-proof{margin:0;border-width:1.5px 0 0;border-radius:0}
html[data-theme="dark"] .bt-proof{background:#34200c;border-color:#7c4a14;color:#fde0b5}
html[data-theme="dark"] .bt-proof svg{color:#fdba74}

/* form pieces (the Mobile Money pay form, the proof-of-payment form) */
.bt-label{display:block;margin:0 0 6px;font-size:13px;font-weight:700;color:var(--bt-text)}
.bt-input{width:100%;box-sizing:border-box;padding:12px 14px;font:inherit;font-size:15px;color:var(--bt-text);background:var(--bt-card);border:1.5px solid var(--bt-line);border-radius:10px}
.bt-input:focus{outline:0;border-color:var(--bt-focus);box-shadow:0 0 0 3px rgba(11,87,208,.18)}
.bt-hint{margin:8px 0 14px;font-size:12.5px;color:var(--bt-muted);line-height:1.5}
.bt-actions{display:flex;flex-wrap:wrap;gap:10px}
.bt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:1.5px solid var(--bt-btn);background:var(--bt-btn);color:var(--bt-btn-fg);font:inherit;font-size:14.5px;font-weight:800;cursor:pointer;text-decoration:none}
.bt-btn:hover{opacity:.9}
.bt-btn--ghost{background:transparent;color:var(--bt-text)}
.bt-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.bt-dot--mtn{background:var(--bt-mtn)}.bt-dot--airtel{background:var(--bt-airtel)}
.bt-nets{display:flex;gap:14px;font-size:12.5px;font-weight:700;opacity:.9}

/* the "I have paid" card */
.bt-notify{margin-top:16px;border:1.5px solid var(--bt-line);border-radius:var(--bt-radius);background:var(--bt-card);overflow:hidden}
.bt-notify__head{padding:14px 20px;border-bottom:1px solid var(--bt-line);background:var(--bt-soft);font-size:15px;font-weight:800;color:var(--bt-text)}
.bt-notify__body{padding:18px 20px 20px}
.bt-notify__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bt-notify__grid .full{grid-column:1/-1}

@media (max-width:720px){
 .bt-status{flex-wrap:wrap}.bt-status__amount{flex:1 0 100%;text-align:left;padding-top:10px;border-top:1px dashed var(--c-line)}
 .bt-pay__body{grid-template-columns:1fr}.bt-pay__facts{border-right:0;border-bottom:1px solid var(--bt-line)}
 .bt-notify__grid{grid-template-columns:1fr}
 .gw-tab{flex:1 1 auto;text-align:center}
}
.bt-pay a,.bt-notify a,.bt-hint a{color:inherit;font-weight:700;text-decoration:underline}
.bt-pay__head .bt-nets{margin-left:auto}

/* bt-docs-v2: stamp status, short pay panel */
.bt-status{gap:24px;padding:20px 26px;background:var(--c-bg)}
.bt-status__icon,.bt-status__label{display:none}
.bt-stamp{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:152px;padding:10px 20px 9px;border:3px solid var(--c);border-radius:12px;box-shadow:inset 0 0 0 2px var(--c-bg),inset 0 0 0 3.5px var(--c);color:var(--c-text);text-transform:uppercase;transform:rotate(-5deg)}
.bt-stamp b{font-size:26px;line-height:1.05;font-weight:900;letter-spacing:.14em;margin-right:-.14em}
.bt-stamp small{margin-top:4px;font-size:10.5px;font-weight:800;letter-spacing:.14em;opacity:.85}
.bt-status__title{font-size:18px}
.bt-pay__sub b{font-weight:800}
.bt-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-bottom:1px solid var(--bt-line)}
.bt-tile{padding:16px 20px;background:var(--bt-soft);border-right:1px solid var(--bt-line)}
.bt-tile:last-child{border-right:0}
.bt-tile span{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--bt-muted)}
.bt-tile b{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;font-size:19px;font-weight:800;color:var(--bt-text);word-break:break-word}
.bt-tile code{font:inherit;letter-spacing:.04em}
.bt-pay__how{margin:0;padding:14px 20px;font-size:14px;line-height:1.6}
@media (max-width:720px){.bt-stamp{transform:rotate(-3deg)}.bt-tile{border-right:0;border-bottom:1px solid var(--bt-line)}.bt-tile:last-child{border-bottom:0}}

/* bt-docs-v4: invoice + quote pages in the BlacTec blue / near-black palette */
.bt-doc{--primary:#143a73;--primary-light:#f1f6ff;--primary-dark:#0e2a55}
html[data-theme="dark"] .bt-doc{--primary:#8db4f3;--primary-light:#122443;--primary-dark:#b9d1f7}
.bt-doc .pn-page-header{margin-bottom:22px}
.bt-doc .pn-page-title{font-size:28px;font-weight:800;letter-spacing:-.01em}
.bt-doc .pn-card{border:1.5px solid var(--bt-line);border-radius:18px;box-shadow:0 1px 2px rgba(14,15,19,.04),0 8px 28px rgba(14,15,19,.06);overflow:hidden}
.bt-doc .pn-card:has(.pn-table){border-top:4px solid #3373e0}
.bt-doc .pn-card-header{background:#f1f6ff;border-bottom:1px solid #dbe7fb}
.bt-doc .pn-card-title{color:#143a73;font-weight:800;letter-spacing:.01em}
.bt-doc .pn-table thead th{background:#f1f6ff;color:#143a73;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;border-bottom:2px solid #dbe7fb}
.bt-doc .pn-table tbody td{padding-top:14px;padding-bottom:14px}
.bt-doc .pn-table tbody tr:nth-child(even) td{background:rgba(241,246,255,.55)}
.bt-doc a[href*="/pdf"]{background:var(--bt-btn) !important;color:var(--bt-btn-fg) !important;border-radius:999px !important;padding:8px 18px !important;font-weight:800;text-decoration:none}
.bt-doc .btn-primary{background:var(--bt-btn);color:var(--bt-btn-fg)}
html[data-theme="dark"] .bt-doc .pn-card-header,html[data-theme="dark"] .bt-doc .pn-table thead th{background:#162338;border-color:#25344d;color:#b9d1f7}
html[data-theme="dark"] .bt-doc .pn-card-title{color:#b9d1f7}
html[data-theme="dark"] .bt-doc .pn-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.03)}
.bt-doc .pn-page-header>.badge{display:none}

/* bt-docs-v5: BlacTec typeface (DM Sans) on the invoice/quote pages and the payment panels */
.bt-doc,.bt-doc input,.bt-doc textarea,.bt-doc button,.bt-pay,.bt-notify,.bt-status,.bt-proof,.bt-tile{font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
