:root{--bg:#f4f7fb;--card:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--primary:#2563eb;--green:#16a34a;--red:#dc2626;--amber:#f59e0b;--purple:#7c3aed;--shadow:0 12px 30px rgba(15,23,42,.08)}
body{font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);margin:0}.dark{--bg:#0b1120;--card:#111827;--text:#e5e7eb;--muted:#9ca3af;--border:#374151;--shadow:0 12px 30px rgba(0,0,0,.25)}
.wrap{max-width:1280px;margin:24px auto;padding:0 20px}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:24px;margin-bottom:18px}a{color:inherit}.nav{position:relative;z-index:9;display:flex;justify-content:space-between;align-items:center;background:#0f172a;color:#fff;padding:14px 20px;box-shadow:0 8px 20px rgba(0,0,0,.16)}.brand{display:flex;align-items:center;gap:10px}.brand img{width:36px;height:36px;object-fit:contain;border-radius:8px;background:#fff}.menu{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.menu a,.nav button{color:#fff;text-decoration:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:8px 10px;border-radius:9px;cursor:pointer}.menu a:hover,.nav button:hover{background:rgba(255,255,255,.18)}.mobile-menu-toggle{display:none}.report-print-area{margin-top:22px;border:1px solid var(--border);border-radius:18px;padding:20px;background:var(--card)}.report-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:2px solid var(--border);padding-bottom:14px;margin-bottom:16px}.report-title h2{margin:0 0 4px}.report-actions{display:flex;gap:8px;flex-wrap:wrap}.report-total-box{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.report-total-box div{border:1px solid var(--border);border-radius:12px;padding:12px;background:rgba(148,163,184,.08)}.manager-signature{margin-top:46px;text-align:right;font-weight:700}.manager-signature span{display:inline-block;min-width:220px;border-top:1px solid var(--text);padding-top:8px;text-align:center}.print-only{display:none}
input,select,textarea{width:100%;padding:11px 12px;margin:7px 0 12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);box-sizing:border-box}label{font-weight:700;font-size:13px;color:var(--muted)}button,.btn{display:inline-block;padding:10px 14px;border:0;background:var(--primary);color:#fff;border-radius:10px;cursor:pointer;text-decoration:none;font-weight:700}.btn-danger{background:var(--red)}.btn-secondary{background:#64748b}.btn-success{background:var(--green)}.btn-warning{background:var(--amber)}.btn-purple{background:var(--purple)}.btn-light{background:#e2e8f0;color:#0f172a}.btn-sm{padding:7px 9px;font-size:12px}.inline-form{display:inline}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat{padding:20px;border-radius:18px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(124,58,237,.08));border:1px solid var(--border)}.stat h3{margin:0 0 8px;font-size:15px;color:var(--muted)}.stat .num{font-size:30px;font-weight:800}.small{color:var(--muted);font-size:13px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.table th{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#e0e7ff;color:#3730a3;font-size:12px;font-weight:800}.badge-success{background:#dcfce7;color:#166534}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.alert{padding:12px 14px;border-radius:12px;margin:12px 0;font-weight:700}.alert-success{background:#dcfce7;color:#166534}.alert-danger{background:#fee2e2;color:#991b1b}.thumb{width:56px;height:56px;object-fit:cover;border-radius:12px;border:1px solid var(--border)}.sale-item{border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:12px;background:rgba(148,163,184,.08)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}.tabs a{padding:9px 12px;border-radius:999px;text-decoration:none;background:rgba(37,99,235,.10);color:var(--text);font-weight:700}.chart{display:flex;align-items:end;gap:10px;height:180px;padding:14px;border:1px solid var(--border);border-radius:16px}.bar{flex:1;background:linear-gradient(180deg,#60a5fa,#2563eb);border-radius:10px 10px 4px 4px;min-height:8px;position:relative}.bar span{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--muted)}.invoice{background:#fff;color:#111827;padding:26px;border-radius:16px}.invoice-head{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:2px solid #111827;padding-bottom:14px}.company-logo{max-width:90px;max-height:70px;object-fit:contain}.qr{width:120px;height:120px}.invoice-title{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.signature{text-align:right;margin-top:45px}.pos-invoice{width:300px;margin:auto;padding:12px;font-size:12px}.pos-invoice h1{font-size:18px}.pos-invoice .table th,.pos-invoice .table td{padding:5px}.pos-invoice .invoice-head,.pos-invoice .invoice-title{display:block;text-align:center}.login-card{max-width:430px;margin:70px auto}.notice-dot{background:#ef4444;color:#fff;border-radius:999px;padding:1px 6px;font-size:11px}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}.grid3,.row,.row3{grid-template-columns:1fr}.nav{align-items:stretch;flex-direction:column}.nav-top{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px}.mobile-menu-toggle{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}.menu{display:none;width:100%;font-size:13px;margin-top:12px}.nav.mobile-open .menu{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.invoice-title{grid-template-columns:1fr}.report-total-box{grid-template-columns:repeat(2,1fr)}.report-head{display:block}.report-actions{margin-top:12px}}

/* Sabbir Telecom professional UI upgrade */
:root{--brand:#0f766e;--brand2:#2563eb;--brand3:#7c3aed;--soft:#eef6ff;--ring:0 0 0 4px rgba(37,99,235,.12)}
body{background:radial-gradient(circle at top left,rgba(37,99,235,.13),transparent 32%),linear-gradient(180deg,#f8fafc,#eef2f7);min-height:100vh}.dark{background:radial-gradient(circle at top left,rgba(59,130,246,.14),transparent 30%),#070b16}
.nav{background:linear-gradient(135deg,#071225,#0f766e 55%,#2563eb);padding:16px 24px}.brand strong{font-size:18px;letter-spacing:.2px}.brand .brand-mark,.login-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#fff,#dbeafe);color:#0f766e;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75)}
.card{backdrop-filter:blur(10px)}.stat{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(15,118,110,.10));transition:.2s transform,.2s box-shadow}.stat:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(15,23,42,.11)}.stat:after{content:"";position:absolute;right:-28px;top:-28px;width:90px;height:90px;border-radius:999px;background:rgba(255,255,255,.25)}
button,.btn{box-shadow:0 8px 18px rgba(37,99,235,.18);transition:.18s transform,.18s box-shadow}button:hover,.btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(37,99,235,.22)}input:focus,select:focus,textarea:focus{outline:none;border-color:#60a5fa;box-shadow:var(--ring)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;margin:-24px -20px}.login-hero{position:relative;overflow:hidden;padding:56px;color:#fff;background:linear-gradient(145deg,#071225,#0f766e 52%,#2563eb);display:flex;flex-direction:column;justify-content:space-between}.login-hero:before{content:"";position:absolute;inset:auto -20% -30% auto;width:430px;height:430px;border-radius:999px;background:rgba(255,255,255,.12)}.login-hero h1{font-size:46px;line-height:1.05;margin:22px 0 14px}.login-hero p{color:#dbeafe;font-size:16px;max-width:560px}.login-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.login-pills span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:9px 12px;border-radius:999px;font-weight:800;font-size:12px}.login-panel{display:flex;align-items:center;justify-content:center;padding:42px}.login-card{width:100%;max-width:460px;margin:0;border:0;box-shadow:0 24px 70px rgba(15,23,42,.14);padding:34px}.login-card h2{font-size:28px;margin:12px 0 6px}.portal-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.portal-tabs a{text-align:center;text-decoration:none;border:1px solid var(--border);padding:10px 8px;border-radius:12px;font-size:13px;font-weight:900}.portal-tabs a.active{background:linear-gradient(135deg,#0f766e,#2563eb);color:#fff;border-color:transparent}.login-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.login-meta div{background:rgba(37,99,235,.08);border:1px solid var(--border);border-radius:14px;padding:12px;text-align:center}.dashboard-hero{margin-bottom:18px;padding:24px;border-radius:24px;background:linear-gradient(135deg,#071225,#0f766e 58%,#2563eb);color:#fff;box-shadow:0 22px 60px rgba(15,23,42,.18);display:flex;justify-content:space-between;gap:18px;align-items:center}.dashboard-hero h2{font-size:30px;margin:0 0 8px}.dashboard-hero .small{color:#dbeafe}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions a{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;padding:10px 12px;border-radius:12px;font-weight:900}.pro-table{border-radius:16px;overflow:hidden;border:1px solid var(--border)}

.product-search{background:#f8fafc}.dark .product-search{background:#0f172a}.table-wrap{width:100%;overflow:auto;border-radius:16px}.salary-row{display:grid;grid-template-columns:1.2fr 1fr 1fr .9fr;gap:12px;align-items:end}.footer-credit{text-align:center;color:var(--muted);font-size:13px;margin:28px 0 20px}.invoice-ribbon{text-align:center;background:linear-gradient(135deg,#0f766e,#2563eb);color:#fff;font-weight:900;letter-spacing:.12em;padding:9px;border-radius:12px;margin-bottom:18px}.invoice-brand{display:flex;gap:14px;align-items:center}.invoice-brand h1{margin:0 0 6px;font-size:30px;letter-spacing:-.03em}.invoice-brand p{margin:0;color:#334155}.invoice-monogram{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#0f766e,#2563eb);color:#fff;font-weight:900;font-size:24px}.invoice-qr{text-align:center;font-size:11px;color:#475569}.invoice-box{border:1px solid #dbe2ea;border-radius:16px;padding:14px;background:#f8fafc}.invoice-box span{display:inline-block;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.08em;min-width:82px}.invoice-address{background:#f8fafc;border:1px solid #e2e8f0;padding:12px;border-radius:14px}.invoice-table thead th{background:#0f172a;color:#fff}.invoice-table tfoot th{background:#f8fafc}.invoice-bottom{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-top:24px}.pos-invoice .invoice-ribbon{font-size:11px;padding:6px}.pos-invoice .invoice-monogram{width:44px;height:44px;border-radius:12px;font-size:16px}.pos-invoice .invoice-brand{display:block;text-align:center}.pos-invoice .invoice-box{padding:8px;margin-bottom:8px}.pos-invoice .invoice-bottom{display:block}.due-strong{color:#dc2626;font-weight:900}.paid-strong{color:#16a34a;font-weight:900}
@media(max-width:640px){.wrap{margin:14px auto;padding:0 12px}.card{padding:16px;border-radius:16px}.grid{grid-template-columns:1fr}.stat .num{font-size:24px}.nav.mobile-open .menu{grid-template-columns:1fr}.menu a,.nav button{width:100%;box-sizing:border-box;text-align:center}.toolbar{align-items:stretch}.toolbar>*{width:100%}.btn,button{width:auto}.table th,.table td{white-space:nowrap;font-size:13px}.salary-row{grid-template-columns:1fr}.invoice-head,.invoice-title,.invoice-bottom{display:block}.invoice-brand{align-items:flex-start}.invoice-brand h1{font-size:24px}.a4-invoice{padding:16px}.report-total-box{grid-template-columns:1fr}.login-hero{display:none}.login-shell{min-height:auto}.login-panel{padding:12px}.login-card{padding:22px}.portal-tabs{grid-template-columns:1fr}}

@media(max-width:900px){.login-shell{grid-template-columns:1fr;margin:0}.login-hero{padding:34px}.login-hero h1{font-size:34px}.login-panel{padding:22px}.dashboard-hero{align-items:flex-start;flex-direction:column}.login-meta{grid-template-columns:1fr}.portal-tabs{grid-template-columns:1fr}}

@media print{.no-print,.nav{display:none!important}body{background:#fff}.wrap{max-width:none;margin:0;padding:0}.card{box-shadow:none;border:0;padding:0}.invoice{border-radius:0}.pos-invoice{width:80mm}.a4-invoice{width:190mm;min-height:auto;margin:0 auto;page-break-inside:avoid}.invoice:not(.repair-invoice){max-height:96mm;overflow:hidden;font-size:12px;padding:12px}.invoice:not(.repair-invoice) .invoice-ribbon{padding:5px;margin-bottom:8px}.invoice:not(.repair-invoice) .invoice-brand h1{font-size:20px}.invoice:not(.repair-invoice) .invoice-head{padding-bottom:7px}.invoice:not(.repair-invoice) .invoice-title{margin:7px 0;gap:8px}.invoice:not(.repair-invoice) .company-logo{max-height:42px}.invoice:not(.repair-invoice) .invoice-monogram{width:45px;height:45px;border-radius:12px}.invoice:not(.repair-invoice) .qr{width:54px;height:54px}.invoice:not(.repair-invoice) .table th,.invoice:not(.repair-invoice) .table td{padding:4px 5px;font-size:11px}.invoice:not(.repair-invoice) .signature{margin-top:16px}.table th,.table td{border-bottom:1px solid #ddd}.print-only{display:block}body.print-report-only .wrap>.card>*:not(#sales-report-print){display:none!important}body.print-report-only #sales-report-print{display:block!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}.report-total-box{grid-template-columns:repeat(4,1fr)}.report-head{display:flex}.report-actions{display:none!important}}

/* v2.1 Mobile Shop Receivable + Sales UI */
:root{--primary:#0284c7;--brand:#0369a1;--brand2:#06b6d4;--brand3:#2563eb;--phone-glow:0 18px 50px rgba(2,132,199,.16)}
body{background:radial-gradient(circle at 8% 0,rgba(6,182,212,.14),transparent 28%),radial-gradient(circle at 92% 12%,rgba(37,99,235,.11),transparent 24%),linear-gradient(180deg,#f8fbff,#eef5fb)}
.nav{background:linear-gradient(118deg,#071426 0%,#075985 48%,#0284c7 78%,#06b6d4 120%);border-bottom:1px solid rgba(255,255,255,.18)}
.brand .brand-mark{position:relative;background:#fff;color:#0369a1;box-shadow:0 10px 24px rgba(3,105,161,.3)}
.brand .brand-mark:after{content:"•";position:absolute;bottom:1px;font-size:10px;color:#06b6d4}
.dashboard-hero{background:linear-gradient(125deg,#071426,#075985 50%,#0284c7 82%,#06b6d4);box-shadow:var(--phone-glow)}
.card{border-color:rgba(148,163,184,.27)}
.dashboard-metrics{grid-template-columns:repeat(5,1fr)}
.dashboard-metrics .stat{min-height:112px}.dashboard-metrics .metric-sales{background:linear-gradient(145deg,rgba(2,132,199,.17),rgba(6,182,212,.10))}.dashboard-metrics .metric-qty{background:linear-gradient(145deg,rgba(37,99,235,.16),rgba(14,165,233,.09))}.stat .num small{font-size:13px;color:var(--muted);font-weight:800}
.btn-delete{background:#7f1d1d}.btn-delete:hover{background:#991b1b}

.sale-workspace{max-width:1180px}.sale-step-card{position:relative;overflow:hidden}.sale-step-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#06b6d4,#2563eb)}
.step-title{display:flex;align-items:center;gap:14px;margin-bottom:16px}.step-title>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#075985,#06b6d4);color:#fff;font-weight:900;box-shadow:0 10px 20px rgba(2,132,199,.2)}.step-title h3{margin:0 0 3px}.step-title p{margin:0}
.previous-due-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;border:1px solid #bae6fd;background:#f0f9ff;border-radius:14px}.dark .previous-due-strip{background:rgba(7,89,133,.22);border-color:#075985}.previous-due-strip>div{display:flex;gap:14px;align-items:baseline}.previous-due-strip span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#0369a1}.previous-due-strip strong{font-size:24px}.previous-due-strip.has-due{border-color:#fecaca;background:#fff7f7}.dark .previous-due-strip.has-due{background:rgba(127,29,29,.22);border-color:#7f1d1d}.previous-due-strip.has-due strong{color:#dc2626}
.sale-calculation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:10px 0 16px}.sale-calculation-grid>div{border:1px solid var(--border);border-radius:16px;padding:14px;background:rgba(248,250,252,.72)}.dark .sale-calculation-grid>div{background:rgba(15,23,42,.62)}.sale-calculation-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900;margin-bottom:7px}.sale-calculation-grid strong{font-size:20px}.sale-calculation-grid .highlight-due{background:linear-gradient(135deg,#075985,#0284c7);color:#fff;border-color:transparent}.sale-calculation-grid .highlight-due span{color:#dff6ff}.sale-calculation-grid .highlight-due strong{font-size:24px}.approve-toggle{display:flex;gap:10px;align-items:center;margin:12px 0 16px;padding:12px;border:1px dashed #7dd3fc;border-radius:12px}

.due-page{max-width:1240px}.due-summary{margin:18px 0}.compact-search{max-width:320px;margin:0}.due-total-button{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;box-shadow:none;padding:8px 12px}.dark .due-total-button{background:rgba(190,24,93,.14);border-color:#9f1239;color:#fda4af}.empty-due{text-align:center;padding:28px;color:#15803d;font-weight:800}.due-table td{vertical-align:middle}
.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(2,6,23,.66);backdrop-filter:blur(5px);padding:24px;overflow:auto;display:grid;place-items:start center}.modal-backdrop[hidden]{display:none}.modal-card{position:relative;width:min(980px,100%);margin:4vh auto;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:24px;box-shadow:0 30px 90px rgba(2,6,23,.35);padding:24px}.modal-close{position:absolute;right:18px;top:16px;width:38px;height:38px;padding:0;border-radius:50%;background:#e2e8f0;color:#0f172a;box-shadow:none;font-size:24px}.due-modal-head{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-right:48px;margin-bottom:18px}.due-modal-head h2{margin:3px 0}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#0284c7;font-weight:900}.due-balance-box{min-width:180px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#881337,#e11d48);color:#fff;text-align:right}.due-balance-box span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.due-balance-box strong{font-size:24px}.compact-table th,.compact-table td{padding:9px}.payment-panel{margin-top:18px;padding:18px;border:1px solid #bae6fd;border-radius:18px;background:linear-gradient(135deg,rgba(224,242,254,.65),rgba(236,254,255,.7))}.dark .payment-panel{background:rgba(7,89,133,.16);border-color:#075985}.payment-panel h3,.payment-history h3{margin:0 0 5px}.payment-history{margin-top:20px}.timeline{display:grid;gap:10px}.timeline-item{display:grid;gap:3px;border-left:3px solid #0ea5e9;padding:9px 12px;background:rgba(148,163,184,.08);border-radius:0 12px 12px 0}.timeline-item span,.timeline-item small{color:var(--muted);font-size:12px}

/* Invoice patterned after a compact mobile-parts sales invoice */
.sales-slip-invoice{max-width:980px;margin:auto;border:1px solid #cbd5e1;border-radius:4px;padding:20px 22px;font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff}.slip-company-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-bottom:10px}.slip-brand-left{display:flex;align-items:center;gap:12px}.slip-brand-left h1{margin:0;font-size:30px;letter-spacing:-.03em}.slip-brand-left p{margin:3px 0 0;font-size:12px;color:#475569;letter-spacing:.05em}.slip-brand-left .invoice-monogram{width:58px;height:58px;border-radius:50%;background:#111;color:#fff;box-shadow:none}.slip-contact{text-align:right;font-size:12px;line-height:1.55;color:#111}.sales-invoice-label{text-align:center;background:#e5e7eb;color:#111;font-weight:900;padding:7px;margin:4px 0 10px;text-transform:none}.slip-info-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:22px;border:1px solid #9ca3af;padding:10px 12px;margin-bottom:0}.slip-info-block p{display:flex;margin:4px 0;font-size:13px}.slip-info-block span{width:92px;font-weight:800}.slip-info-block strong{font-weight:800}.slip-info-right{justify-self:stretch}.slip-info-right span{width:70px}.slip-product-table{border:1px solid #6b7280;border-top:0;margin:0}.slip-product-table th,.slip-product-table td{border-right:1px solid #9ca3af;border-bottom:1px solid #9ca3af;padding:7px 6px;font-size:12px}.slip-product-table th:last-child,.slip-product-table td:last-child{border-right:0}.slip-product-table thead th{background:#f3f4f6;color:#111;text-transform:none;letter-spacing:0;font-size:12px}.slip-bottom-grid{display:grid;grid-template-columns:1fr 330px;gap:18px;margin-top:12px}.slip-notes{min-height:170px;position:relative}.slip-signature{position:absolute;left:0;bottom:3px;width:180px;border-top:1px solid #111;padding-top:6px;text-align:center;font-size:11px}.slip-totals{width:100%;border-collapse:collapse}.slip-totals th,.slip-totals td{padding:7px 8px;border:1px solid #cbd5e1;font-size:12px}.slip-totals th{text-align:right;background:#f8fafc}.slip-totals td{text-align:right;font-weight:800}.slip-totals .grand-row th,.slip-totals .grand-row td{background:#e5e7eb;font-size:13px}.slip-totals .customer-due-row th,.slip-totals .customer-due-row td{background:#111;color:#fff;font-size:13px}.sales-slip-invoice.pos-invoice{width:80mm;padding:8px}.sales-slip-invoice.pos-invoice .slip-company-head,.sales-slip-invoice.pos-invoice .slip-info-grid,.sales-slip-invoice.pos-invoice .slip-bottom-grid{display:block}.sales-slip-invoice.pos-invoice .slip-contact{text-align:center}.sales-slip-invoice.pos-invoice .slip-brand-left{justify-content:center}.sales-slip-invoice.pos-invoice .slip-bottom-grid .slip-notes{min-height:80px}.sales-slip-invoice.pos-invoice .slip-totals{margin-top:8px}.sales-slip-invoice.pos-invoice .slip-product-table th,.sales-slip-invoice.pos-invoice .slip-product-table td{font-size:8px;padding:3px 2px}

@media(max-width:1100px){.dashboard-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.dashboard-metrics,.sale-calculation-grid{grid-template-columns:1fr 1fr}.due-modal-head{align-items:flex-start;flex-direction:column}.due-balance-box{width:100%;box-sizing:border-box;text-align:left}.modal-backdrop{padding:10px}.modal-card{margin:1vh auto;padding:16px}.slip-company-head,.slip-info-grid,.slip-bottom-grid{display:block}.slip-contact{text-align:left;margin-top:10px}.slip-info-grid{padding:8px}.slip-bottom-grid .slip-totals{margin-top:12px}.slip-notes{min-height:100px}.slip-product-table th,.slip-product-table td{font-size:10px;padding:5px 3px}.previous-due-strip{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.dashboard-metrics,.sale-calculation-grid{grid-template-columns:1fr}.step-title>span{width:36px;height:36px}.sales-slip-invoice{padding:8px}.slip-brand-left h1{font-size:22px}}

@media print{
  .sales-slip-invoice{width:190mm!important;max-width:190mm!important;min-height:auto!important;max-height:none!important;overflow:visible!important;padding:8mm!important;border:0!important;margin:0 auto!important;font-size:11px!important;page-break-inside:auto!important}
  .sales-slip-invoice .slip-brand-left h1{font-size:26px!important}.sales-slip-invoice .company-logo{max-height:55px!important}.sales-slip-invoice .slip-product-table th,.sales-slip-invoice .slip-product-table td{padding:5px!important;font-size:10px!important}.sales-slip-invoice .slip-bottom-grid{display:grid!important;grid-template-columns:1fr 300px!important}.sales-slip-invoice.pos-invoice{width:80mm!important;max-width:80mm!important;padding:3mm!important}.footer-credit{display:none!important}
}

/* v2.3 Dedicated role login portals, centered */
.login-only-wrap{max-width:none;margin:0;padding:0}
.login-single-panel{min-height:calc(100vh - 52px);display:flex;align-items:center;justify-content:center;padding:32px 20px;box-sizing:border-box}
.login-card-role-only{width:min(100%,460px);margin:0;box-sizing:border-box}
.login-card-role-only .login-logo{margin-bottom:10px}
.login-card-role-only h2{margin-top:10px}
.login-security-note{text-align:center;margin:14px 0 0}
@media(max-width:640px){.login-single-panel{min-height:calc(100vh - 44px);padding:18px 12px}.login-card-role-only{padding:22px}}


/* v2.4 Exact-style dedicated login refinements */
.login-only-wrap{max-width:none;margin:0;padding:0}
.login-single-panel{min-height:calc(100vh - 68px);display:flex;align-items:center;justify-content:center;padding:40px 20px 28px;box-sizing:border-box}
.login-card-role-only{width:min(100%,458px);margin:0;box-sizing:border-box;border:0;border-radius:22px;background:#ffffff;box-shadow:0 20px 60px rgba(15,23,42,.09);padding:26px 32px 26px}
.login-brand-banner{display:flex;justify-content:center;align-items:center;margin:0 0 22px}
.login-brand-banner span{display:inline-flex;align-items:center;justify-content:center;min-width:266px;padding:4px 14px 5px;border-radius:2px;background:linear-gradient(180deg,#0a2d77 0%,#0d347d 40%,#0d5eaf 100%);border:1px solid rgba(7,35,95,.65);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);font-family:Georgia,"Times New Roman",serif;font-size:31px;line-height:1.05;font-weight:700;letter-spacing:.4px;color:#eef2ff;text-transform:uppercase;text-shadow:-1px 0 rgba(4,15,57,.3),0 1px rgba(255,255,255,.18)}
.login-card-role-only h2{margin:0 0 10px;text-align:center;font-size:29px;line-height:1.15;color:#0f172a;font-weight:800}
.login-card-role-only .login-subtitle,.login-card-role-only .small{margin:0 auto 24px;max-width:340px;text-align:center;color:#718096;font-size:14px;line-height:1.45}
.login-card-role-only label{display:block;margin:0 0 8px;color:#64748b;font-size:14px;font-weight:800}
.login-card-role-only input{margin:0 0 16px;padding:12px 14px;height:36px;border:1px solid #dbe3ef;border-radius:11px;background:#edf3fd;color:#111827;font-size:14px;box-shadow:none}
.login-card-role-only input:focus{border-color:#60a5fa;background:#f8fbff;box-shadow:0 0 0 4px rgba(59,130,246,.12)}
.login-card-role-only button{display:block;width:100%;margin-top:4px;padding:12px 16px;border-radius:11px;background:linear-gradient(180deg,#1393da,#0f85cb);color:#fff;font-size:15px;font-weight:800;box-shadow:none}
.login-card-role-only button:hover{transform:none;box-shadow:none;filter:brightness(1.02)}
.login-security-note{text-align:center;margin:14px 0 0!important;color:#73839a!important;font-size:13px!important}
.footer-credit{padding:0 12px 14px;text-align:center;color:#64748b;font-size:12px}
@media(max-width:640px){.login-single-panel{min-height:calc(100vh - 52px);padding:20px 12px 16px}.login-card-role-only{padding:22px 18px}.login-brand-banner span{min-width:auto;width:100%;font-size:24px;padding:6px 10px}.login-card-role-only h2{font-size:26px}}

/* Enhanced Sale Entry UI */
.sale-workspace{max-width:1200px;margin:auto;padding:20px}
.sale-hero{border-radius:18px;padding:24px;background:linear-gradient(135deg,#063b5b,#0aa3d5);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.sale-step-card{border-radius:18px;margin-bottom:18px;padding:24px;box-shadow:0 8px 25px rgba(0,0,0,.08);background:#fff}
.step-title{display:flex;align-items:center;gap:15px;margin-bottom:20px}
.step-title span{width:42px;height:42px;border-radius:50%;background:#087fbe;color:white;display:flex;align-items:center;justify-content:center;font-weight:700}
.sale-item{background:#f5f9fc;border:1px solid #dceaf3;border-radius:14px;padding:18px;margin-bottom:12px}
.sale-calculation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}
.sale-calculation-grid div{background:#f7fbff;border-radius:12px;padding:15px;border:1px solid #e0edf5}
.sale-calculation-grid span{display:block;font-size:13px;color:#667}
.sale-calculation-grid strong{font-size:20px;display:block;margin-top:5px}
.highlight-due{background:#fff3f3!important;border-color:#ffcccc!important}
.previous-due-strip{margin-top:15px;padding:15px;border-radius:12px;background:#fff8e7;display:flex;justify-content:space-between}
.hero-actions{display:flex;gap:10px}
.hero-actions a{background:#ffffff22;color:#fff;padding:10px 15px;border-radius:10px;text-decoration:none}
@media(max-width:800px){
.sale-calculation-grid{grid-template-columns:1fr 1fr}
.sale-hero{display:block}
}

/* Exact invoice paper sizes */
@media print{
body.print-a1 *{visibility:hidden}
body.print-a1 .a1-invoice, body.print-a1 .a1-invoice *{visibility:visible}
body.print-a1 .a1-invoice{position:absolute;left:0;top:0;width:8.3in;min-height:11.7in;margin:0;padding:10mm;box-sizing:border-box}

body.print-a2 *{visibility:hidden}
body.print-a2 .a2-invoice, body.print-a2 .a2-invoice *{visibility:visible}
body.print-a2 .a2-invoice{position:absolute;left:0;top:0;width:4.1in;min-height:5.8in;margin:0;padding:5mm;box-sizing:border-box}

.no-print,.toolbar{display:none!important}
}

.a1-invoice{font-size:12px}
.a2-invoice{font-size:9px}
