:root{--bg:#eef3fb;--bg2:#f9fbff;--nav:#07182d;--nav2:#123d6b;--text:#111827;--muted:#667085;--card:rgba(255,255,255,.86);--line:#d9e2ef;--accent:#2563eb;--accent2:#06b6d4;--danger:#b42318;--ok:#087443;--warn:#b54708;--shadow:0 18px 48px rgba(16,36,63,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 10% 0%,#dbeafe 0,#eef3fb 28%,#f8fafc 70%);color:var(--text)}a{color:var(--accent);text-decoration:none}.layout{display:flex;min-height:100vh}.sidebar{width:280px;background:linear-gradient(180deg,var(--nav),var(--nav2));color:#fff;position:fixed;top:0;bottom:0;left:0;padding:20px;overflow:auto;box-shadow:12px 0 40px rgba(7,24,45,.18)}.brand{display:flex;gap:13px;align-items:center;margin-bottom:26px}.brand-mark{background:linear-gradient(135deg,#fff,#c7e2ff);color:var(--nav);font-weight:900;border-radius:18px;padding:13px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}.brand span{display:block;color:#b9d4f5;font-size:12px;margin-top:3px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{color:#eaf2ff;padding:11px 13px;border-radius:13px;transition:.18s ease;position:relative}.sidebar nav a:hover{background:rgba(255,255,255,.14);transform:translateX(3px)}.sidebar nav a:active,.btn:active,button:active{transform:scale(.98)}.userbox{border-top:1px solid rgba(255,255,255,.18);margin-top:22px;padding-top:16px;color:#dce9f8;display:flex;gap:10px;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-weight:800}.userbox a{color:#fff;text-decoration:underline}.content{margin-left:280px;padding:30px;width:calc(100% - 280px)}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:800;margin:0 0 4px}h1{margin:0 0 20px;font-size:30px;letter-spacing:-.02em}h2{margin:0 0 14px;font-size:18px}.panel,.card{background:var(--card);border:1px solid rgba(217,226,239,.85);border-radius:22px;padding:20px;margin-bottom:18px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.cards-wide{grid-template-columns:repeat(6,minmax(0,1fr))}.card{margin:0;position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent2));opacity:.75}.card.accent{background:linear-gradient(135deg,#173b75,#2563eb);color:#fff}.card.accent span{color:#dbeafe}.card span{display:block;color:var(--muted);font-size:13px}.card strong{font-size:25px;margin-top:6px;display:block}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.info-grid>div{padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.actions{display:flex;gap:10px;flex-wrap:wrap}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:13px;padding:11px 12px;background:white;color:var(--text);outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(37,99,235,.12)}label{font-size:12px;color:var(--muted);font-weight:650}label input,label select{margin-top:4px}button,.btn{border:0;background:linear-gradient(135deg,var(--accent),#1d4ed8);color:white;border-radius:13px;padding:11px 15px;cursor:pointer;display:inline-block;font-size:14px;font-weight:700;box-shadow:0 10px 24px rgba(37,99,235,.22);transition:.16s ease}.btn-secondary,.btn-ghost{background:#e8eef7;color:#10243f;box-shadow:none}button:hover,.btn:hover{filter:brightness(.98);transform:translateY(-1px)}table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;background:white;border-radius:16px;overflow:hidden}th,td{border-bottom:1px solid var(--line);padding:11px;text-align:left;vertical-align:top}th{background:#edf5ff;color:#21334d;font-weight:800}tr:hover td{background:#fafcff}.badge{background:#e0efff;color:#124c9c;border-radius:999px;padding:5px 10px;font-size:12px;display:inline-block;font-weight:800}.badge.warn{background:#fff4db;color:#92400e}.badge.ok{background:#dcfce7;color:#166534}.inline{display:inline-flex;gap:4px;align-items:center;margin:2px}.inline select{width:auto;min-width:120px}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.report-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:block;color:var(--text);box-shadow:0 10px 28px rgba(16,36,63,.05);transition:.18s}.report-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow)}.report-card span{display:block;color:var(--muted);margin-top:8px}.upload-card{border:1px dashed #9db2ce;border-radius:16px;padding:16px;background:#fbfdff}.check{display:flex;gap:8px;align-items:center;color:var(--text);font-size:14px}.check input{width:auto}.mobile-menu{display:none;margin-bottom:15px}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#2e6cb5,#07182d);padding:20px}.login-card{width:100%;max-width:430px;background:rgba(255,255,255,.92);border-radius:24px;padding:30px;box-shadow:0 25px 80px rgba(0,0,0,.28);backdrop-filter:blur(16px)}.login-card h1{margin-bottom:8px}.login-card p{color:var(--muted)}.login-card label{display:block;margin-top:14px}.login-card button{width:100%;margin-top:18px}.alert{background:#fff0f0;color:var(--danger);border:1px solid #ffc9c9;border-radius:12px;padding:10px;margin:12px 0}.toast{position:fixed;right:22px;bottom:22px;background:#111827;color:#fff;padding:12px 16px;border-radius:999px;box-shadow:var(--shadow);opacity:0;transform:translateY(14px);transition:.22s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.table-wrap{overflow:auto}.print-page{max-width:900px;margin:30px auto;background:#fff;padding:40px;box-shadow:0 10px 40px rgba(0,0,0,.08)}.invoice-head{display:flex;justify-content:space-between;gap:30px}.totals{text-align:right;margin-top:20px}@media(max-width:1200px){.cards,.cards-wide{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s;z-index:10}.show-menu .sidebar{transform:translateX(0)}.content{margin-left:0;width:100%;padding:16px}.mobile-menu{display:inline-block}.cards,.cards-wide,.form-grid,.report-grid,.grid-3{grid-template-columns:1fr}table{white-space:nowrap}.page-head{display:block}.invoice-head{display:block}}

/* Global in-page action modal: replaces browser prompt/confirm across modules */
.msb-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}.msb-modal-box{width:460px;max-width:94vw;background:white;color:#111827;border-radius:20px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.30);border:1px solid rgba(255,255,255,.55)}.msb-modal-box h3{margin:0 0 8px;font-size:20px}.msb-modal-note{color:#667085;margin:0 0 14px}.msb-modal-box label{display:block;margin-top:10px;margin-bottom:6px;color:#344054}.msb-modal-box input,.msb-modal-box textarea,.msb-modal-box select{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px}.msb-pass-row{display:flex;gap:8px}.msb-pass-row input{flex:1}.msb-pass-row button{width:54px;box-shadow:none}.msb-modal-message{font-weight:800;margin-top:10px;min-height:20px}.msb-modal-message.error{color:#b42318}.msb-modal-message.ok{color:#087443}.msb-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.danger-btn{background:linear-gradient(135deg,#b42318,#7f1d1d)!important}.mini-btn{padding:8px 12px;min-width:70px;font-size:13px;margin:2px}.soft-note{background:#f8fafc;border:1px solid #d9e2ef;border-radius:16px;padding:12px;margin:10px 0;color:#475467}.hideable-panel{display:none}.print-only{display:none}@media print{.sidebar,.mobile-menu,.toolbar,.actions,button,.btn{display:none!important}.content{margin:0;width:100%;padding:0}.panel,.card{box-shadow:none;border:1px solid #ddd}.print-only{display:block}}

/* Global smart type-ahead dropdowns */
.panel.msb-smart-open{position:relative;z-index:5000;overflow:visible}.msb-smart-wrap{position:relative;width:100%;margin-top:4px}.msb-smart-input{width:100%;border:1px solid #cbd5e1;border-radius:13px;padding:11px 36px 11px 12px;background:#fff;color:#111827;outline:none;transition:.15s}.msb-smart-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(37,99,235,.12)}.msb-smart-wrap:after{content:'⌄';position:absolute;right:12px;top:10px;color:#667085;pointer-events:none;font-weight:900}.msb-smart-list{display:none;position:fixed;left:0;top:0;right:auto;width:300px;max-height:360px;overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:14px;box-shadow:0 18px 42px rgba(16,36,63,.28);z-index:2147483000;padding:6px}.msb-smart-list.show{display:block}.msb-smart-option{padding:10px 11px;border-radius:10px;cursor:pointer;font-size:13px;color:#111827;white-space:normal}.msb-smart-option:hover,.msb-smart-option.active{background:#edf5ff;color:#124c9c}.msb-smart-empty{padding:10px 11px;color:#667085;font-size:13px}.smart-ledger-label{min-width:380px;flex:1}.smart-toolbar{align-items:flex-end}


/* Batch 7.1: clean professional invoice worklist */
.compact-panel{padding:16px 18px}.muted-text{color:#667085;font-size:13px}.compact-table th,.compact-table td{padding:9px 10px}.invoice-filter-bar input,.invoice-filter-bar select{min-width:150px}.compact-recalc{gap:12px;align-items:center}.invoice-table-wrap{max-width:100%;overflow:auto}.invoice-table{min-width:1040px}.invoice-table th,.invoice-table td{vertical-align:middle}.invoice-table td small{color:#667085}.pink-cell{min-width:120px}.invoice-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-width:260px}.inline-upload{display:inline-flex;margin:0}.inline-upload input[type=file]{display:none}.amount-table th{width:310px}.labeled-info div span{display:block;color:#667085;font-size:12px;font-weight:700;margin-bottom:5px}.labeled-info div strong{font-size:15px}.warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412}


/* Global attached-document preview modal. Does not affect Excel export downloads. */
.msb-doc-modal-overlay{position:fixed;inset:0;background:rgba(7,24,45,.72);z-index:120000;display:flex;align-items:center;justify-content:center;padding:18px}.msb-doc-modal{width:min(1120px,96vw);height:min(760px,92vh);background:#f8fafc;border-radius:22px;box-shadow:0 26px 90px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.65);display:flex;flex-direction:column;overflow:hidden}.msb-doc-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#ffffff,#eaf3ff);border-bottom:1px solid #d9e2ef}.msb-doc-modal-head strong{display:block;font-size:18px;color:#111827}.msb-doc-modal-head span{display:block;color:#667085;font-size:12px;margin-top:2px}.msb-doc-modal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.msb-doc-modal-actions button{min-width:44px;font-size:22px;line-height:1;padding:8px 12px}.msb-doc-modal-body{flex:1;background:#fff;min-height:0}.msb-doc-modal-body iframe{width:100%;height:100%;border:0;background:#fff}@media(max-width:720px){.msb-doc-modal{height:94vh;width:98vw;border-radius:16px}.msb-doc-modal-head{align-items:flex-start;flex-direction:column}.msb-doc-modal-actions{width:100%}}

/* Batch 7.2: bill register/detail polish and receipt shortcut */
.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.bill-filter-toolbar input,.bill-filter-toolbar select{min-width:180px}.bill-register-table td,.bill-register-table th{vertical-align:middle}.bill-detail-card{overflow:visible}.bill-action-toolbar{align-items:center;margin-bottom:18px}.bill-title-block{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.bill-title-block h2{font-size:24px;margin:2px 0 4px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0}.bill-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 8px 22px rgba(16,36,63,.05);border-top:4px solid #0ea5e9}.kpi span{display:block;color:#667085;font-size:12px;font-weight:800;margin-bottom:6px}.kpi strong{display:block;font-size:20px;letter-spacing:-.01em}.kpi.primary{background:linear-gradient(135deg,#173b75,#2563eb);color:#fff;border-top-color:#60a5fa}.kpi.primary span{color:#dbeafe}.kpi.ok{border-top-color:#16a34a}.status-toolbar{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:12px;margin-top:12px}.status-toolbar label{min-width:180px}.status-toolbar .status-reason{flex:1;min-width:280px}.bill-receipt-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#ecfdf3;border:1px solid #bbf7d0;color:#14532d;border-radius:16px;padding:12px;margin:10px 0 14px}.bill-receipt-banner strong{font-weight:900}@media(max-width:1100px){.kpi-grid,.bill-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.kpi-grid,.bill-kpi-grid{grid-template-columns:1fr}.bill-title-block{display:block}.status-toolbar label,.status-toolbar .status-reason{min-width:100%;width:100%}}

.bill-receipt-summary{font-size:13px;opacity:.95;line-height:1.5}.bill-receipt-banner .mini-btn{margin-left:auto}

/* Ledger automation + futuristic UI polish */
:root{--neon:#38bdf8;--violet:#7c3aed;--glass:rgba(255,255,255,.72)}
body:before{content:"";position:fixed;inset:-20% -10% auto auto;width:520px;height:520px;background:radial-gradient(circle,rgba(56,189,248,.22),transparent 62%);pointer-events:none;z-index:-1}body:after{content:"";position:fixed;left:260px;bottom:-240px;width:600px;height:600px;background:radial-gradient(circle,rgba(124,58,237,.14),transparent 66%);pointer-events:none;z-index:-1}.sidebar{background:linear-gradient(180deg,#020617,#0f2748 55%,#0b3b63);border-right:1px solid rgba(255,255,255,.12)}.brand-mark{background:linear-gradient(135deg,#e0f2fe,#ffffff 42%,#bae6fd);box-shadow:0 0 30px rgba(56,189,248,.35),inset 0 0 0 1px rgba(255,255,255,.8)}.sidebar nav a{border:1px solid transparent}.sidebar nav a:hover{background:rgba(255,255,255,.12);border-color:rgba(148,221,255,.22);box-shadow:0 10px 28px rgba(14,165,233,.14)}.content{position:relative}.panel,.card,.kpi{background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,255,255,.68));border:1px solid rgba(148,163,184,.28);box-shadow:0 20px 55px rgba(15,23,42,.10),inset 0 1px 0 rgba(255,255,255,.58)}.panel{position:relative;overflow:hidden}.panel:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.75),rgba(124,58,237,.55),transparent)}.hero-panel{background:linear-gradient(135deg,rgba(239,246,255,.9),rgba(255,255,255,.74));border-color:rgba(56,189,248,.30)}h1{background:linear-gradient(90deg,#0f172a,#1d4ed8,#0891b2);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:900}.eyebrow{color:#0284c7}.card.accent{background:linear-gradient(135deg,#06172d,#1d4ed8 55%,#0891b2);box-shadow:0 20px 60px rgba(37,99,235,.28)}button,.btn{background:linear-gradient(135deg,#2563eb,#0891b2);box-shadow:0 12px 28px rgba(14,116,144,.22)}.danger,.danger-btn{background:linear-gradient(135deg,#dc2626,#7f1d1d)!important}.btn-secondary,.btn-ghost{background:rgba(226,232,240,.78);color:#10243f;border:1px solid rgba(148,163,184,.35)}input,select,textarea{background:rgba(255,255,255,.92);border-color:rgba(148,163,184,.55)}th{background:linear-gradient(135deg,#e0f2fe,#eff6ff);color:#0f2748}.soft-note{background:rgba(248,250,252,.82);border-color:rgba(148,163,184,.35)}.ok-note{background:#ecfdf5;color:#166534;border-color:#bbf7d0}.kpi{background:rgba(255,255,255,.82)}

/* General voucher builder controls */
.voucher-builder{display:block}.voucher-builder table select,.voucher-builder table input{min-width:140px}.voucher-builder table td:nth-child(2) select{min-width:260px}.muted-row{opacity:.58;background:#f8fafc}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.actions form{display:inline}.tiny{font-size:12px;padding:6px 8px;min-width:auto}.compact-table td,.compact-table th{vertical-align:middle}.ok-note{background:#ecfdf5;color:#166534;border-color:#bbf7d0}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:1000px){.grid-3{grid-template-columns:1fr}}

/* Smooth global destructive actions - static only */
.msb-row-busy{opacity:.58;filter:saturate(.75);pointer-events:none;transition:opacity .18s ease,filter .18s ease,transform .18s ease}.msb-row-removed{opacity:0!important;transform:translateX(22px)!important;filter:blur(2px)!important;transition:opacity .32s ease,transform .32s ease,filter .32s ease}.msb-row-voided{opacity:.72;background:#f8fafc!important}.msb-row-voided td{background:#f8fafc!important;color:#667085}.toast{background:linear-gradient(135deg,#020617,#0f172a);border:1px solid rgba(125,211,252,.30);box-shadow:0 18px 48px rgba(2,6,23,.30);z-index:2147483500}.toast.ok{background:linear-gradient(135deg,#052e16,#16a34a)}.toast.error{background:linear-gradient(135deg,#450a0a,#dc2626)}.toast.warn{background:linear-gradient(135deg,#78350f,#f59e0b)}body.msb-navigating:before{content:"";position:fixed;left:280px;right:0;top:0;height:3px;background:linear-gradient(90deg,#00a6ff,#7c3aed,#22c55e);z-index:200000;animation:msbLoadBar .9s infinite ease-in-out}@keyframes msbLoadBar{0%{transform:translateX(-70%) scaleX(.35)}50%{transform:translateX(0) scaleX(.85)}100%{transform:translateX(70%) scaleX(.35)}}@media(max-width:760px){body.msb-navigating:before{left:0}}

/* =========================================================
   MSB ERP Theme: Midnight Emerald
   Static UI-only patch. No backend, no database, no routes.
   ========================================================= */
:root{
  --bg:#050807;
  --bg2:#0b0f14;
  --nav:#050807;
  --nav2:#0d1f1b;
  --text:#e8fff7;
  --muted:#9bb8ad;
  --card:rgba(13,24,22,.76);
  --line:rgba(0,200,150,.18);
  --accent:#00c896;
  --accent2:#00b4a6;
  --danger:#ef4444;
  --ok:#10b981;
  --warn:#d4af37;
  --shadow:0 24px 70px rgba(0,0,0,.42);
  --emerald:#00c896;
  --teal:#00b4a6;
  --gold:#d4af37;
  --midnight:#050807;
  --charcoal:#12161c;
  --slate:#1c222b;
  --surface:rgba(18,22,28,.80);
  --surface2:rgba(13,18,23,.92);
}
html{background:#050807;}
body{
  color:var(--text);
  background:
    radial-gradient(circle at 18% -8%,rgba(0,200,150,.22),transparent 34%),
    radial-gradient(circle at 84% 8%,rgba(212,175,55,.13),transparent 28%),
    radial-gradient(circle at 70% 92%,rgba(0,180,166,.11),transparent 34%),
    linear-gradient(135deg,#050807 0%,#0b0f14 48%,#10151b 100%);
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  width:auto;height:auto;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 78%);
  pointer-events:none;
  z-index:-2;
}
body:after{
  content:"";
  position:fixed;
  right:-220px;bottom:-260px;left:auto;
  width:700px;height:700px;
  background:radial-gradient(circle,rgba(0,200,150,.18),transparent 62%);
  pointer-events:none;
  z-index:-1;
}
a{color:#48f5cf}.sidebar{
  background:linear-gradient(180deg,#040706 0%,#09100f 42%,#0d211c 100%);
  border-right:1px solid rgba(0,200,150,.22);
  box-shadow:18px 0 70px rgba(0,0,0,.42),inset -1px 0 0 rgba(255,255,255,.04);
}
.brand-mark{
  color:#001b16;
  background:linear-gradient(135deg,#00c896,#00b4a6 55%,#d4af37);
  box-shadow:0 0 34px rgba(0,200,150,.34),0 0 70px rgba(212,175,55,.10),inset 0 0 0 1px rgba(255,255,255,.38);
}
.brand strong{color:#ffffff}.brand span{color:#9eeeda}.sidebar nav a{
  color:#c7ded7;
  border:1px solid transparent;
  background:transparent;
}
.sidebar nav a:hover,.sidebar nav a.active,.sidebar nav a[aria-current="page"]{
  color:#ffffff;
  background:linear-gradient(135deg,rgba(0,200,150,.18),rgba(0,180,166,.10));
  border-color:rgba(0,200,150,.28);
  box-shadow:0 14px 34px rgba(0,200,150,.10),inset 0 0 0 1px rgba(255,255,255,.04);
}
.userbox{border-top-color:rgba(0,200,150,.18);color:#b8d9ce}.avatar{background:linear-gradient(135deg,#00c896,#005f52);color:#fff;box-shadow:0 0 22px rgba(0,200,150,.25)}
.content{background:transparent}.eyebrow{color:#d4af37}.page-head{color:#e8fff7}
h1{
  color:#f3fff9;
  background:linear-gradient(90deg,#f3fff9,#00c896 45%,#d4af37);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-.035em;
}
h2{color:#f4fffb}.muted-text,label,.card span,.report-card span{color:#9bb8ad}.panel,.card,.kpi,.report-card,.info-grid>div,.upload-card,.login-card,.print-page{
  background:linear-gradient(145deg,rgba(18,22,28,.90),rgba(8,15,14,.76));
  border:1px solid rgba(0,200,150,.17);
  box-shadow:0 26px 80px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.055);
  color:var(--text);
  backdrop-filter:blur(18px);
}
.panel:before,.card:before{
  background:linear-gradient(90deg,transparent,rgba(0,200,150,.78),rgba(212,175,55,.50),transparent);
}
.hero-panel,.card.accent{
  background:
    radial-gradient(circle at 18% 8%,rgba(0,200,150,.22),transparent 34%),
    linear-gradient(135deg,rgba(0,30,24,.96),rgba(11,15,20,.88));
  border-color:rgba(0,200,150,.28);
}
.card.accent strong,.card.accent span{color:#ffffff}.card strong,.kpi strong{color:#ffffff}.kpi.primary{
  background:linear-gradient(135deg,#00382f,#00a67f 58%,#111827);
  border-color:rgba(0,200,150,.34);
}.kpi.primary span{color:#d4fff3}
input,select,textarea,.msb-smart-input{
  color:#e8fff7;
  background:rgba(6,11,10,.70);
  border-color:rgba(0,200,150,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
input::placeholder,textarea::placeholder{color:#78958c}input:focus,select:focus,textarea:focus,.msb-smart-input:focus{
  border-color:#00c896;
  box-shadow:0 0 0 4px rgba(0,200,150,.13),0 0 30px rgba(0,200,150,.08);
}
button,.btn{
  background:linear-gradient(135deg,#00c896,#008f7b);
  color:#031411;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 34px rgba(0,200,150,.21);
  font-weight:850;
}
button:hover,.btn:hover{filter:brightness(1.06);box-shadow:0 18px 42px rgba(0,200,150,.26)}.btn-secondary,.btn-ghost{
  color:#dffdf4;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(0,200,150,.18);
}.danger,.danger-btn,.btn-danger,button[style*="red"],.actions .danger-btn{
  background:linear-gradient(135deg,#ef4444,#7f1d1d)!important;color:#fff!important;
}.badge{
  background:rgba(0,200,150,.13);
  color:#71ffe0;
  border:1px solid rgba(0,200,150,.24);
}.badge.ok{background:rgba(16,185,129,.16);color:#72f9c9;border-color:rgba(16,185,129,.28)}.badge.warn{background:rgba(212,175,55,.15);color:#ffd66e;border-color:rgba(212,175,55,.28)}
table{
  color:#dffdf4;
  background:rgba(7,12,12,.78);
  border:1px solid rgba(0,200,150,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
th{
  background:linear-gradient(135deg,rgba(0,200,150,.18),rgba(18,22,28,.95));
  color:#caffef;
  border-bottom-color:rgba(0,200,150,.21);
}
td{border-bottom-color:rgba(0,200,150,.10)}tr:hover td{background:rgba(0,200,150,.055)}.compact-table td,.compact-table th{border-color:rgba(0,200,150,.10)}
.soft-note,.warning,.alert,.bill-receipt-banner,.status-toolbar{
  background:rgba(18,22,28,.76);
  border-color:rgba(0,200,150,.18);
  color:#c7ded7;
}.warning{border-color:rgba(212,175,55,.32);color:#ffe6a3}.alert{border-color:rgba(239,68,68,.32);color:#fecaca}.ok-note,.bill-receipt-banner{background:rgba(0,200,150,.09);border-color:rgba(0,200,150,.26);color:#baffec}
.msb-modal-box,.msb-doc-modal,.msb-doc-modal-head{
  background:linear-gradient(145deg,rgba(18,22,28,.98),rgba(7,12,12,.96));
  color:#e8fff7;
  border-color:rgba(0,200,150,.22);
}.msb-modal-note,.msb-doc-modal-head span{color:#9bb8ad}.msb-modal-box input,.msb-modal-box textarea,.msb-modal-box select{background:rgba(5,8,7,.8);color:#e8fff7;border-color:rgba(0,200,150,.24)}
.msb-smart-list{background:#0a0f0f;border-color:rgba(0,200,150,.25);box-shadow:0 22px 60px rgba(0,0,0,.52)}.msb-smart-option{color:#dffdf4}.msb-smart-option:hover,.msb-smart-option.active{background:rgba(0,200,150,.13);color:#7dffe4}.msb-smart-empty{color:#9bb8ad}
.toast{background:linear-gradient(135deg,#07100f,#0d211c);border:1px solid rgba(0,200,150,.28);color:#e8fff7}.toast.ok{background:linear-gradient(135deg,#003b31,#00a67f)}.toast.warn{background:linear-gradient(135deg,#4a3510,#d4af37);color:#111827}.toast.error{background:linear-gradient(135deg,#450a0a,#dc2626);color:#fff}
.msb-row-voided,.msb-row-voided td{background:rgba(212,175,55,.065)!important;color:#a9bdb6}.mobile-menu{background:linear-gradient(135deg,#00c896,#00b4a6)}body.msb-navigating:before{background:linear-gradient(90deg,#00c896,#00b4a6,#d4af37)}
/* nicer data density for registers */
.table-wrap{border-radius:18px}.actions button,.actions .btn,.mini-btn{border-radius:11px}.inline select{background:rgba(6,11,10,.72)}
/* selection */
::selection{background:rgba(0,200,150,.32);color:#fff}
@media(max-width:760px){.sidebar{background:#050807}.content{background:transparent}}

/* =========================================================
   MSB ERP Midnight Emerald Performance Rescue
   UI-only. Keeps theme, removes expensive paint effects that
   slow CEO Control Room / Reports on older PCs/browsers.
   ========================================================= */
:root{
  --shadow:0 10px 26px rgba(0,0,0,.24)!important;
}
html,body{
  text-rendering:optimizeSpeed;
}
/* Fixed full-screen overlays + large radial glows are expensive on scroll. */
body:before,
body:after{
  display:none!important;
  content:none!important;
}
/* Backdrop blur is the main browser/GPU killer on table-heavy pages. */
.panel,.card,.kpi,.report-card,.info-grid>div,.upload-card,.login-card,.print-page,
.msb-modal-box,.msb-doc-modal,.msb-doc-modal-head,.soft-note,.warning,.alert,
.bill-receipt-banner,.status-toolbar{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 10px 26px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.panel,.card,.kpi,.report-card,.info-grid>div,.upload-card{
  background:rgba(13,22,20,.94)!important;
}
.sidebar{
  box-shadow:8px 0 24px rgba(0,0,0,.30)!important;
}
.brand-mark,.avatar,button,.btn,.toast{
  box-shadow:0 8px 20px rgba(0,200,150,.16)!important;
}
table{
  box-shadow:none!important;
  background:rgba(7,12,12,.96)!important;
}
tr:hover td{
  background:rgba(0,200,150,.045)!important;
}
/* Avoid layout/repaint-heavy movement on ordinary hover. */
.sidebar nav a:hover,
button:hover,.btn:hover,.report-card:hover{
  transform:none!important;
}
.sidebar nav a,button,.btn,.report-card,.card,.panel,tr td{
  transition:background-color .12s ease,border-color .12s ease,color .12s ease,opacity .12s ease!important;
}
/* Keep destructive row animation, but make it lighter. */
.msb-row-removed{
  transform:none!important;
  filter:none!important;
  opacity:0!important;
}
/* Dashboard/report pages usually have dense tables; keep them crisp, not blurry. */
.table-wrap,.compact-table,.report-grid,.cards,.cards-wide{
  contain:layout paint;
}

/* =========================================================
   MSB ERP Smart Layout Polish Patch
   UI-only: cleaner payment workspace, readable voided rows,
   intelligent table/action styling across modules.
   ========================================================= */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.muted-text{color:var(--muted);font-size:12px}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.section-title-row h2{margin-bottom:4px}.compact-panel{padding:16px 18px}.payments-head{margin-bottom:14px}.payment-command-panel{padding:16px}.payment-workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.workflow-card{display:flex;flex-direction:column;gap:7px;padding:15px;border-radius:18px;background:rgba(0,200,150,.06);border:1px solid rgba(0,200,150,.16);color:var(--text);min-height:126px}.workflow-card:hover{background:rgba(0,200,150,.10);border-color:rgba(0,200,150,.30)}.workflow-card strong{color:#f4fffb;font-size:15px}.workflow-card small{color:var(--muted);line-height:1.45}.workflow-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-weight:900;color:#031411;background:linear-gradient(135deg,#00c896,#00b4a6);box-shadow:0 8px 20px rgba(0,200,150,.14)}.workflow-card.is-customer .workflow-icon{background:linear-gradient(135deg,#00c896,#d4af37)}.workflow-card.is-payment .workflow-icon{background:linear-gradient(135deg,#00c896,#008f7b)}.workflow-card.is-receipt .workflow-icon{background:linear-gradient(135deg,#00b4a6,#48f5cf)}.payment-card{position:relative}.customer-receipt-panel .form-grid,.voucher-builder-panel .form-grid{grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px}.customer-receipt-panel label,.voucher-builder-panel label{color:#b8d9ce}.customer-receipt-panel input,.customer-receipt-panel select,.voucher-builder-panel input,.voucher-builder-panel select,.voucher-builder-panel textarea{min-height:42px}.voucher-builder-panel .table-wrap{margin-top:10px;border:1px solid rgba(0,200,150,.12);border-radius:16px}.voucher-builder-panel table{min-width:1100px}.voucher-builder-panel .toolbar{justify-content:space-between;padding-top:10px}.posted-records-panel{padding:18px}.voucher-list-head{align-items:center}.voucher-status-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.voucher-status-tabs .active{background:linear-gradient(135deg,#00c896,#008f7b)!important;color:#031411!important}.smart-register-table{table-layout:auto}.smart-register-table th{position:sticky;top:0;z-index:1}.smart-register-table td,.smart-register-table th{padding:10px 11px}.voucher-register-table td:nth-child(8){min-width:260px}.voucher-lines-cell div{line-height:1.35;margin-bottom:3px}.voucher-lines-cell span{color:#96b9ad}.mono-pill{display:inline-block;padding:5px 9px;border-radius:10px;background:rgba(0,200,150,.10);border:1px solid rgba(0,200,150,.22);color:#7dffe4}.muted-row,.muted-row td,.msb-row-voided,.msb-row-voided td{opacity:1!important;background:rgba(212,175,55,.065)!important;color:#b8c9c2!important}.muted-row td *,.msb-row-voided td *{color:inherit}.muted-row .badge,.msb-row-voided .badge{color:#ffd66e!important;background:rgba(212,175,55,.14)!important;border-color:rgba(212,175,55,.32)!important}.icon-actions{gap:5px;justify-content:flex-start}.icon-btn{width:34px;height:32px;min-width:34px;padding:0!important;display:inline-grid!important;place-items:center!important;border-radius:10px!important;font-size:0!important;line-height:1!important}.icon-btn:before{font-size:15px;line-height:1}.icon-btn span{font-size:0!important}.icon-view:before{content:"◉"}.icon-edit:before{content:"✎"}.icon-delete:before{content:"⌫"}.icon-void:before{content:"⊘"}.icon-print:before{content:"⎙"}.icon-pdf:before{content:"PDF";font-size:10px;font-weight:900;letter-spacing:.02em}.icon-export:before{content:"⇩"}.icon-attach:before{content:"⌁"}.actions .icon-btn.danger,.actions button.icon-void,.actions button.icon-delete{background:linear-gradient(135deg,#ef4444,#7f1d1d)!important;color:#fff!important}.actions .icon-btn.icon-pdf{background:rgba(0,200,150,.10)!important;color:#7dffe4!important;border-color:rgba(0,200,150,.22)!important}.actions .icon-btn.icon-print{background:rgba(212,175,55,.12)!important;color:#ffd66e!important;border-color:rgba(212,175,55,.24)!important}.actions form{display:inline-flex;margin:0}.panel > .table-wrap{margin-top:8px}.search-row{display:flex;gap:10px;align-items:center}.search-row input{flex:1}.payment-command-panel,.search-panel,.customer-receipt-panel,.voucher-builder-panel,.posted-records-panel{max-width:100%}@media(max-width:1200px){.payment-workflow-grid{grid-template-columns:1fr}.customer-receipt-panel .form-grid,.voucher-builder-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.customer-receipt-panel .form-grid,.voucher-builder-panel .form-grid{grid-template-columns:1fr}.section-title-row{display:block}.search-row{display:block}.search-row button,.search-row .btn{margin-top:8px}.voucher-status-tabs{margin-top:10px}}

/* =========================================================
   MSB ERP Global Intelligent Layout + Icon Actions
   UI-only. Makes action columns consistent across all modules
   without changing any workflow or backend posting logic.
   ========================================================= */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.msb-smart-layout .content{padding-top:24px}
body.msb-smart-layout .content>h1:first-child{margin-bottom:18px;font-size:28px;letter-spacing:-.03em}
body.msb-smart-layout .content>h1:first-child+section.panel,
body.msb-smart-layout .content>section.panel:first-of-type{border-radius:22px}
.msb-entry-panel,.msb-form-panel{position:relative;overflow:visible}
.msb-entry-panel>h2:first-child,.msb-form-panel>h2:first-child,.msb-table-panel>h2:first-child{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.msb-entry-panel>h2:first-child:before,.msb-form-panel>h2:first-child:before,.msb-table-panel>h2:first-child:before{content:"";width:9px;height:26px;border-radius:999px;background:linear-gradient(180deg,#00c896,#00b4a6);box-shadow:0 0 18px rgba(0,200,150,.26)}
.msb-form-panel form:not(.inline):not([style*="inline"]),.msb-entry-panel form:not(.inline):not([style*="inline"]){gap:14px}
.msb-form-panel label,.msb-entry-panel label{letter-spacing:.01em}.msb-form-panel input,.msb-form-panel select,.msb-form-panel textarea,.msb-entry-panel input,.msb-entry-panel select,.msb-entry-panel textarea{min-height:40px}
.msb-table-panel{padding:18px!important}.msb-table-panel table,.msb-smart-table{border-radius:16px;overflow:hidden;background:rgba(7,12,12,.78)}
.msb-smart-table th{position:sticky;top:0;z-index:2;white-space:nowrap}.msb-smart-table td{vertical-align:middle}.msb-smart-table td:last-child{white-space:nowrap}
.msb-table-panel .table-wrap{border:1px solid rgba(0,200,150,.10);background:rgba(7,12,12,.42);border-radius:18px;overflow:auto}.msb-table-panel>table{display:table}
/* Global action cells */
td.msb-action-cell,td.actions,td.invoice-actions,.veh-action-row,.driver-action-row,.icon-actions{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;min-width:92px}.veh-action-row,.driver-action-row{padding:0;margin:0}
td.msb-action-cell form,td.actions form,td.invoice-actions form,.veh-action-row form,.driver-action-row form{display:inline-flex!important;margin:0!important}.msb-action-cell .btn,.msb-action-cell button,.msb-action-cell a,.msb-action-cell label,.veh-action-row button,.driver-action-row button,td.invoice-actions .btn,td.invoice-actions button,td.invoice-actions label{margin:0!important}
.icon-btn{position:relative;width:34px!important;height:32px!important;min-width:34px!important;max-width:34px!important;padding:0!important;display:inline-grid!important;place-items:center!important;border-radius:11px!important;font-size:0!important;line-height:1!important;overflow:hidden;vertical-align:middle}.icon-btn:before{font-size:15px!important;line-height:1!important;font-weight:900!important;font-family:Arial,system-ui,sans-serif!important}.icon-btn span:not(.sr-only){font-size:0!important}.icon-btn input[type="file"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.icon-view:before{content:"◉"}.icon-open:before{content:"↗"}.icon-edit:before{content:"✎"}.icon-save:before{content:"✓"}.icon-delete:before{content:"⌫"}.icon-void:before{content:"⊘"}.icon-print:before{content:"⎙"}.icon-pdf:before{content:"PDF";font-size:10px!important;letter-spacing:.02em}.icon-export:before{content:"⇩"}.icon-attach:before{content:"⌁"}.icon-rollback:before{content:"↶"}.icon-history:before{content:"◷"}.icon-back:before{content:"‹"}
.icon-view,.icon-open{background:rgba(0,200,150,.12)!important;color:#7dffe4!important;border:1px solid rgba(0,200,150,.25)!important;box-shadow:none!important}.icon-edit,.icon-save{background:rgba(0,180,166,.16)!important;color:#a7fff0!important;border:1px solid rgba(0,180,166,.26)!important;box-shadow:none!important}.icon-print{background:rgba(212,175,55,.14)!important;color:#ffe38a!important;border:1px solid rgba(212,175,55,.26)!important;box-shadow:none!important}.icon-pdf,.icon-export,.icon-attach{background:rgba(0,200,150,.10)!important;color:#7dffe4!important;border:1px solid rgba(0,200,150,.22)!important;box-shadow:none!important}.icon-delete,.icon-void,.icon-rollback{background:linear-gradient(135deg,#ef4444,#7f1d1d)!important;color:#fff!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:none!important}.icon-btn:hover{transform:translateY(-1px)!important;filter:brightness(1.12)!important;box-shadow:0 10px 22px rgba(0,200,150,.13)!important}
/* Keep primary workflow buttons readable; only compact row actions become icons. */
button:not(.icon-btn),.btn:not(.icon-btn){white-space:nowrap}.toolbar .btn:not(.icon-btn),.toolbar button:not(.icon-btn){min-height:38px}.mini-btn:not(.icon-btn){min-width:auto}
/* Better dense module layout without changing templates */
body.msb-smart-layout .panel{margin-bottom:18px}body.msb-smart-layout .panel .toolbar,body.msb-smart-layout .toolbar{align-items:center;gap:8px}.search-row{gap:8px}.search-row input{min-height:40px}.content table input,.content table select{min-height:34px;padding:8px 10px;border-radius:10px}.content table button:not(.icon-btn),.content table .btn:not(.icon-btn){padding:8px 10px;border-radius:10px}.content table .badge{font-size:11px;padding:4px 8px}
/* Inline edit grids like customers: make the cells cleaner and less forced */
table input,table select{background:rgba(6,11,10,.48);border-color:rgba(0,200,150,.17)}table input:focus,table select:focus{box-shadow:0 0 0 2px rgba(0,200,150,.10)}
/* File inputs were visually ugly in old modules; make them compact. */
input[type="file"]{font-size:12px;color:#bdeee0}input[type="file"]::file-selector-button{border:0;border-radius:10px;background:rgba(0,200,150,.16);color:#dffdf4;padding:7px 10px;margin-right:8px;cursor:pointer}
@media(max-width:1100px){td.msb-action-cell,td.actions,td.invoice-actions,.veh-action-row,.driver-action-row{min-width:80px}.icon-btn{width:32px!important;height:30px!important;min-width:32px!important;max-width:32px!important}}


/* =========================================================
   MSB ERP Theme: ARCTIC GLASS (Performance-Safe)
   Switches the ERP from dark Midnight Emerald to a bright,
   frosted executive theme. UI-only, no workflow changes.
   ========================================================= */
:root{
  --bg:#edf5fb!important;
  --bg2:#f8fbff!important;
  --nav:#ffffff!important;
  --nav2:#f6faff!important;
  --text:#0f172a!important;
  --muted:#5f6f84!important;
  --card:rgba(255,255,255,.92)!important;
  --line:#d9e5f2!important;
  --accent:#2563eb!important;
  --accent2:#06b6d4!important;
  --danger:#dc2626!important;
  --ok:#059669!important;
  --warn:#d97706!important;
  --shadow:0 12px 30px rgba(15,23,42,.08)!important;
  --emerald:#06b6d4!important;
  --teal:#0ea5e9!important;
  --gold:#f59e0b!important;
  --midnight:#f8fbff!important;
  --charcoal:#eef5fb!important;
  --slate:#e5eef8!important;
  --surface:rgba(255,255,255,.94)!important;
  --surface2:#ffffff!important;
}
html{background:#edf5fb!important}body{
  color:var(--text)!important;
  background:
    radial-gradient(circle at 12% -8%,rgba(37,99,235,.13),transparent 34%),
    radial-gradient(circle at 100% 12%,rgba(6,182,212,.14),transparent 30%),
    linear-gradient(135deg,#f8fbff 0%,#eef6fc 46%,#e8f2fb 100%)!important;
  -webkit-font-smoothing:antialiased;
}
body:before,body:after{display:none!important;content:none!important}.layout{background:transparent!important}.content{background:transparent!important}.sidebar{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)!important;
  color:#0f172a!important;
  border-right:1px solid #dbe7f4!important;
  box-shadow:8px 0 24px rgba(15,23,42,.06)!important;
}
.brand strong{color:#0f172a!important}.brand span{color:#64748b!important}.brand-mark{
  background:linear-gradient(135deg,#2563eb,#06b6d4)!important;
  color:white!important;
  box-shadow:0 10px 24px rgba(37,99,235,.18)!important;
}
.sidebar nav a{color:#334155!important;background:transparent!important;border:1px solid transparent!important}.sidebar nav a:hover,.sidebar nav a.active,.sidebar nav a[aria-current="page"]{
  color:#1d4ed8!important;
  background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(6,182,212,.08))!important;
  border-color:#d8e7ff!important;
  box-shadow:none!important;
}
.userbox{border-top-color:#e2e8f0!important;color:#475569!important}.avatar{background:linear-gradient(135deg,#2563eb,#06b6d4)!important;color:white!important;box-shadow:none!important}
.eyebrow{color:#2563eb!important}h1{background:none!important;color:#0f172a!important;letter-spacing:-.035em!important}h2{color:#172033!important}.muted-text,label,.card span,.report-card span{color:#5f6f84!important}
.panel,.card,.kpi,.report-card,.info-grid>div,.upload-card,.login-card,.print-page,.soft-note,.warning,.alert,.bill-receipt-banner,.status-toolbar{
  background:rgba(255,255,255,.94)!important;
  color:#0f172a!important;
  border:1px solid #d9e5f2!important;
  box-shadow:0 12px 30px rgba(15,23,42,.07)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.panel:before,.card:before{background:linear-gradient(90deg,transparent,#2563eb,#06b6d4,transparent)!important;opacity:.42!important}.card.accent,.kpi.primary,.hero-panel{
  background:linear-gradient(135deg,#2563eb,#06b6d4)!important;color:white!important;border-color:transparent!important;
}.card.accent span,.kpi.primary span,.hero-panel span{color:#eaf6ff!important}.card strong,.kpi strong{color:#0f172a!important}.card.accent strong,.kpi.primary strong,.hero-panel strong{color:white!important}
input,select,textarea,.msb-smart-input{
  color:#0f172a!important;
  background:#ffffff!important;
  border:1px solid #cbdced!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
input::placeholder,textarea::placeholder{color:#94a3b8!important}input:focus,select:focus,textarea:focus,.msb-smart-input:focus{
  border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.12)!important;
}
/* Global date picker visibility fix: old dark theme made the calendar icon disappear. */
input[type="date"],input[type="month"],input[type="datetime-local"]{color-scheme:light!important;background:#ffffff!important;color:#0f172a!important}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator{
  filter:none!important;opacity:.85!important;cursor:pointer!important;background-color:transparent!important;
}
input[type="file"]{color:#334155!important}input[type="file"]::file-selector-button{background:#e8f2ff!important;color:#1d4ed8!important;border:1px solid #cbdced!important}
button,.btn{
  background:linear-gradient(135deg,#2563eb,#06b6d4)!important;
  color:#ffffff!important;
  border:1px solid rgba(37,99,235,.16)!important;
  box-shadow:0 10px 22px rgba(37,99,235,.16)!important;
}.btn-secondary,.btn-ghost{background:#eef5fb!important;color:#0f172a!important;border:1px solid #d9e5f2!important;box-shadow:none!important}.danger,.danger-btn,.btn-danger,button[style*="red"],.actions .danger-btn{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:#fff!important}
.badge{background:#e8f2ff!important;color:#1d4ed8!important;border:1px solid #cbdced!important}.badge.ok{background:#dcfce7!important;color:#047857!important;border-color:#bbf7d0!important}.badge.warn{background:#fff7ed!important;color:#b45309!important;border-color:#fed7aa!important}
table,.msb-smart-table{
  color:#0f172a!important;background:#ffffff!important;border:1px solid #d9e5f2!important;box-shadow:none!important;
}th{background:#eef6ff!important;color:#203047!important;border-bottom:1px solid #d9e5f2!important}td{border-bottom:1px solid #e5edf6!important;color:#142033!important}tr:hover td{background:#f8fbff!important}.compact-table td,.compact-table th{border-color:#e5edf6!important}.table-wrap,.msb-table-panel .table-wrap{background:#ffffff!important;border:1px solid #d9e5f2!important;border-radius:18px!important}.content table input,.content table select,table input,table select{background:#ffffff!important;border-color:#cbdced!important;color:#0f172a!important}
.ok-note,.bill-receipt-banner{background:#ecfeff!important;border-color:#bae6fd!important;color:#075985!important}.warning{background:#fffbeb!important;border-color:#fde68a!important;color:#92400e!important}.alert{background:#fef2f2!important;border-color:#fecaca!important;color:#b42318!important}.soft-note{background:#f8fbff!important;color:#475569!important}
.msb-modal-box,.msb-doc-modal,.msb-doc-modal-head{background:#ffffff!important;color:#0f172a!important;border-color:#d9e5f2!important}.msb-modal-note,.msb-doc-modal-head span{color:#64748b!important}.msb-modal-box input,.msb-modal-box textarea,.msb-modal-box select{background:#fff!important;color:#0f172a!important;border-color:#cbdced!important}
.msb-smart-list{background:#ffffff!important;border-color:#cbdced!important;box-shadow:0 18px 42px rgba(15,23,42,.16)!important}.msb-smart-option{color:#0f172a!important}.msb-smart-option:hover,.msb-smart-option.active{background:#e8f2ff!important;color:#1d4ed8!important}.msb-smart-empty{color:#64748b!important}
.toast{background:#0f172a!important;color:white!important;border-color:rgba(37,99,235,.18)!important}.toast.ok{background:#047857!important;color:#fff!important}.toast.warn{background:#b45309!important;color:#fff!important}.toast.error{background:#b91c1c!important;color:#fff!important}
.msb-row-voided,.msb-row-voided td,.muted-row,.muted-row td{background:#fff7ed!important;color:#7c2d12!important;opacity:1!important}.muted-row td *,.msb-row-voided td *{color:inherit!important}.muted-row .badge,.msb-row-voided .badge{background:#ffedd5!important;border-color:#fed7aa!important;color:#b45309!important}.mono-pill{background:#e8f2ff!important;color:#1d4ed8!important;border-color:#cbdced!important}
.icon-view,.icon-open{background:#eff6ff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important}.icon-edit,.icon-save{background:#ecfeff!important;color:#0e7490!important;border:1px solid #a5f3fc!important}.icon-print{background:#fffbeb!important;color:#92400e!important;border:1px solid #fde68a!important}.icon-pdf,.icon-export,.icon-attach{background:#f0f9ff!important;color:#0369a1!important;border:1px solid #bae6fd!important}.icon-delete,.icon-void,.icon-rollback{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:white!important;border:1px solid rgba(239,68,68,.16)!important}.icon-btn:hover{box-shadow:0 10px 20px rgba(37,99,235,.12)!important;filter:brightness(1.02)!important}
.workflow-card{background:#ffffff!important;border-color:#d9e5f2!important;color:#0f172a!important}.workflow-card strong{color:#0f172a!important}.workflow-card small{color:#64748b!important}.workflow-icon{background:linear-gradient(135deg,#2563eb,#06b6d4)!important;color:#fff!important;box-shadow:none!important}.payment-card,.payment-command-panel,.search-panel,.customer-receipt-panel,.voucher-builder-panel,.posted-records-panel{background:#ffffff!important;color:#0f172a!important}
body.msb-navigating:before{background:linear-gradient(90deg,#2563eb,#06b6d4,#60a5fa)!important}.mobile-menu{background:linear-gradient(135deg,#2563eb,#06b6d4)!important;color:white!important}
/* Print/export pages must be plain, readable, and audit-safe. */
.print-sheet,.print-page{background:#ffffff!important;color:#111827!important;border-color:#d0d7e2!important;box-shadow:0 8px 24px rgba(15,23,42,.08)!important}.print-sheet table,.print-page table{background:#ffffff!important;color:#111827!important;border-collapse:collapse!important}.print-sheet th,.print-page th{background:#eef4fb!important;color:#111827!important;border:1px solid #cbd5e1!important}.print-sheet td,.print-page td{background:#ffffff!important;color:#111827!important;border:1px solid #d9e2ec!important}.print-sheet h1,.print-page h1{background:none!important;color:#0f172a!important}.print-sheet .btn,.print-page .btn,.print-sheet button,.print-page button{box-shadow:none!important}
@media print{html,body{background:#fff!important;color:#111827!important}.print-sheet,.print-page{border:0!important;box-shadow:none!important;margin:0!important;max-width:100%!important}.print-sheet *,.print-page *{color:#111827!important}.print-sheet th,.print-page th{background:#f1f5f9!important}}

/* =========================================================
   MSB ERP Arctic Glass Containment + Overflow Fix
   UI-only. Fixes clipped buttons/fields on older Chrome/Win7
   and keeps forms inside their panels without horizontal bleed.
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden!important}
.content{max-width:calc(100vw - 280px)!important;overflow-x:hidden!important}
.panel,.card,.payment-card,.payment-command-panel,.search-panel,.customer-receipt-panel,.voucher-builder-panel,.posted-records-panel,.msb-entry-panel,.msb-form-panel,.msb-table-panel{max-width:100%!important;min-width:0!important;overflow:visible!important}
/* Forms must adapt to the available screen instead of forcing 4 cramped columns. */
.form-grid,.customer-receipt-panel .form-grid,.voucher-builder-panel .form-grid,.grid-3,.info-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;min-width:0!important}
.form-grid>* ,.customer-receipt-panel .form-grid>* ,.voucher-builder-panel .form-grid>* ,.grid-3>* ,.info-grid>*{min-width:0!important;max-width:100%!important}
label,input,select,textarea,.msb-smart-wrap,.msb-smart-input{min-width:0!important;max-width:100%!important}
/* Long ERP action buttons must wrap instead of being chopped at the card edge. */
button,.btn{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.18!important;text-align:center!important}
.form-grid button,.form-grid .btn,.customer-receipt-panel button,.customer-receipt-panel .btn,.voucher-builder-panel button,.voucher-builder-panel .btn{width:100%!important;justify-content:center!important}
/* Keep icon-only table actions compact. */
.icon-btn,.actions .icon-btn,td.actions .icon-btn{width:34px!important;height:32px!important;min-width:34px!important;white-space:nowrap!important;overflow:hidden!important;padding:0!important}
/* Tables may scroll horizontally, but panels/forms must not bleed outside the screen. */
.table-wrap{max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch!important}
table{max-width:100%!important}td,th{overflow-wrap:anywhere!important;word-break:normal!important}
/* Keep the action column usable and prevent right-edge clipping. */
th:last-child,td:last-child{min-width:92px}.actions,.icon-actions{display:flex!important;gap:6px!important;align-items:center!important;flex-wrap:wrap!important;min-width:0!important}.actions form{display:inline-flex!important;margin:0!important}
/* Date/month controls: visible icon + consistent spacing globally. */
input[type="date"],input[type="month"],input[type="datetime-local"]{padding-right:38px!important;min-height:42px!important;color-scheme:light!important}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator{opacity:1!important;filter:none!important;width:18px!important;height:18px!important;margin-right:2px!important;cursor:pointer!important}
/* Older Chrome sometimes cuts text inside select/button controls; give them breathing room. */
select{padding-right:34px!important;text-overflow:ellipsis!important}.toolbar,.search-row,.section-title-row{max-width:100%!important;min-width:0!important}.toolbar>* ,.search-row>* ,.section-title-row>*{min-width:0!important}
/* Small screens / old monitors */
@media(max-width:1200px){.content{max-width:calc(100vw - 280px)!important}.form-grid,.customer-receipt-panel .form-grid,.voucher-builder-panel .form-grid,.grid-3,.info-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}}
@media(max-width:760px){.content{max-width:100vw!important;overflow-x:hidden!important}.form-grid,.customer-receipt-panel .form-grid,.voucher-builder-panel .form-grid,.grid-3,.info-grid{grid-template-columns:1fr!important}}

/* =========================================================
   MSB ERP Dashboard Intelligence Patch
   UI-only charts + clean executive layout. No heavy library.
   ========================================================= */
.dashboard-intel-page{display:flex;flex-direction:column;gap:18px}.intel-head{align-items:flex-start}.intel-head .toolbar{margin-top:0}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.intelligent-kpis .kpi-card{min-height:134px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px;border-radius:22px;background:#ffffff;border:1px solid #d9e5f2;box-shadow:0 14px 38px rgba(15,23,42,.07);overflow:hidden;position:relative}.intelligent-kpis .kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#2563eb,#06b6d4)}.intelligent-kpis .kpi-card.kpi-primary:before{background:linear-gradient(180deg,#2563eb,#06b6d4)}.intelligent-kpis .kpi-card.kpi-ok:before{background:linear-gradient(180deg,#10b981,#06b6d4)}.intelligent-kpis .kpi-card.kpi-warn:before{background:linear-gradient(180deg,#f59e0b,#f97316)}.intelligent-kpis .kpi-card.kpi-danger:before{background:linear-gradient(180deg,#ef4444,#f97316)}.kpi-card span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.kpi-card strong{display:block;color:#0f172a;font-size:24px;line-height:1.05;margin-top:8px;letter-spacing:-.03em}.kpi-card small{display:block;color:#64748b;margin-top:8px}.spark{width:120px;min-width:96px;height:42px;margin-top:8px}.spark polyline{fill:none;stroke:#2563eb;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.kpi-ok .spark polyline{stroke:#10b981}.kpi-warn .spark polyline{stroke:#f59e0b}.kpi-danger .spark polyline{stroke:#ef4444}.mini-ring{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#2563eb 0 70%,#e7eef7 70% 100%);box-shadow:inset 0 0 0 9px #fff;border:1px solid #d9e5f2}.mini-ring.warn{background:conic-gradient(#f59e0b 0 70%,#e7eef7 70% 100%)}.mini-ring b{font-size:14px;color:#0f172a}.intel-grid-main,.ceo-analytics-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:16px}.ceo-analytics-grid{grid-template-columns:1.3fr .85fr .85fr}.chart-panel{min-height:260px}.wide-chart{grid-column:auto}.bar-chart{height:150px;display:flex;gap:18px;align-items:flex-end;justify-content:space-around;padding:18px 10px 6px;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#eef6ff);border:1px solid #d9e5f2}.bar-month{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:38px}.bar-month small{font-size:11px;color:#64748b}.bar-stack{height:94px;display:flex;align-items:flex-end;gap:4px}.bar{display:block;width:8px;border-radius:999px 999px 4px 4px;min-height:4px}.bar.revenue{background:linear-gradient(180deg,#2563eb,#60a5fa)}.bar.expenses{background:linear-gradient(180deg,#ef4444,#f97316)}.bar.payments{background:linear-gradient(180deg,#10b981,#06b6d4)}.chart-legend{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:10px;color:#64748b;font-size:12px;font-weight:800}.chart-legend span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.rev-dot:before{background:#2563eb}.exp-dot:before{background:#ef4444}.pay-dot:before{background:#10b981}.status-breakdown{display:flex;flex-direction:column;gap:12px;margin-top:8px}.status-line{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:10px;align-items:center;padding:12px;border:1px solid #d9e5f2;border-radius:16px;background:#f8fbff}.status-line strong{display:block;color:#0f172a}.status-line small{display:block;color:#64748b;margin-top:3px}.status-line span{font-weight:900;color:#2563eb;text-align:right}.status-line i{grid-column:1 / -1;height:8px;background:#e7eef7;border-radius:999px;overflow:hidden}.status-line i b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#06b6d4)}.movement-breakdown .status-line i b{background:linear-gradient(90deg,#f59e0b,#06b6d4)}.dashboard-intel-page .panel{overflow:visible!important}.dashboard-intel-page .table-wrap{margin-top:10px}.dashboard-intel-page table td strong{color:#0f172a}.dashboard-intel-page .badge{white-space:nowrap}.ceo-kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media(max-width:1250px){.intel-grid-main,.ceo-analytics-grid{grid-template-columns:1fr}.chart-panel{min-height:auto}.bar-chart{gap:10px}.content{max-width:calc(100vw - 250px)!important}}@media(max-width:760px){.kpi-grid{grid-template-columns:1fr}.intelligent-kpis .kpi-card{min-height:110px}.spark{width:96px}.bar-chart{overflow-x:auto;justify-content:flex-start}.bar-month{min-width:46px}}

/* =========================================================
   Global Intelligent Account Search + Voucher Display Cleanup
   UI-only/account-display safe patch.
   ========================================================= */
.msb-smart-wrap{position:relative!important;display:block!important}
.msb-smart-input{padding-right:62px!important}
.msb-smart-clear{
  display:none!important;
  position:absolute!important;
  right:34px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:22px!important;height:22px!important;min-width:22px!important;
  padding:0!important;border-radius:999px!important;
  background:#e8f2ff!important;color:#1d4ed8!important;
  border:1px solid #cbdced!important;box-shadow:none!important;
  font-size:16px!important;line-height:18px!important;font-weight:900!important;
  text-align:center!important;cursor:pointer!important;z-index:3!important;
}
.msb-smart-clear.show{display:grid!important;place-items:center!important}
.msb-smart-clear:hover{background:#dbeafe!important;color:#0f3f9c!important}
.msb-smart-wrap:after{right:12px!important;z-index:2!important}
select.msb-smart-select + .msb-smart-wrap .msb-smart-input{font-weight:700!important}
.voucher-lines-cell{min-width:320px!important;max-width:520px!important}
.voucher-line-pill{
  display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;
  padding:5px 7px!important;margin:3px 0!important;border-radius:12px!important;
  background:#f8fbff!important;border:1px solid #dbe7f4!important;color:#0f172a!important;
}
.voucher-line-pill b{color:#0f172a!important;font-weight:900!important}
.voucher-line-pill span{display:inline-flex!important;align-items:center!important;border-radius:999px!important;padding:2px 7px!important;background:#e8f2ff!important;color:#1d4ed8!important;font-size:11px!important;font-weight:900!important}
.voucher-line-pill small{color:#64748b!important;font-weight:700!important}
.account-chip{display:inline-flex!important;align-items:center!important;max-width:190px!important;padding:5px 9px!important;border-radius:999px!important;background:#eff6ff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important;font-weight:900!important;white-space:normal!important;line-height:1.15!important}
.more-lines{display:inline-block!important;margin-top:4px!important;color:#64748b!important;font-weight:800!important}
/* Make account dropdowns useful for long chart-of-account names. */
.msb-smart-list{font-size:13px!important}
.msb-smart-option{line-height:1.28!important}

/* =========================================================
   MSB ERP Smart Select Rescue Fix
   Fixes the broken cyan full-width X bars caused by generic
   form button rules. Keeps search ONLY for account/ledger fields.
   ========================================================= */
.msb-smart-wrap{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
}
.msb-smart-wrap .msb-smart-input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:42px!important;
  padding:10px 62px 10px 12px!important;
  border-radius:13px!important;
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #cbdced!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:20px!important;
  text-align:left!important;
}
.msb-smart-wrap .msb-smart-input::placeholder{color:#94a3b8!important;font-weight:600!important}
.form-grid .msb-smart-wrap .msb-smart-clear,
.customer-receipt-panel .msb-smart-wrap .msb-smart-clear,
.voucher-builder-panel .msb-smart-wrap .msb-smart-clear,
.panel .msb-smart-wrap .msb-smart-clear,
.msb-smart-wrap .msb-smart-clear{
  position:absolute!important;
  right:34px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:none!important;
  width:22px!important;
  max-width:22px!important;
  min-width:22px!important;
  height:22px!important;
  max-height:22px!important;
  min-height:22px!important;
  padding:0!important;
  margin:0!important;
  border-radius:999px!important;
  background:#e8f2ff!important;
  color:#1d4ed8!important;
  border:1px solid #cbdced!important;
  box-shadow:none!important;
  font-size:15px!important;
  line-height:18px!important;
  font-weight:900!important;
  text-align:center!important;
  cursor:pointer!important;
  z-index:5!important;
  flex:0 0 22px!important;
  justify-content:center!important;
  align-items:center!important;
}
.form-grid .msb-smart-wrap .msb-smart-clear.show,
.customer-receipt-panel .msb-smart-wrap .msb-smart-clear.show,
.voucher-builder-panel .msb-smart-wrap .msb-smart-clear.show,
.panel .msb-smart-wrap .msb-smart-clear.show,
.msb-smart-wrap .msb-smart-clear.show{
  display:grid!important;
}
.msb-smart-wrap:after{
  content:'⌄'!important;
  position:absolute!important;
  right:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:#64748b!important;
  pointer-events:none!important;
  font-size:14px!important;
  font-weight:900!important;
  z-index:4!important;
}
.msb-smart-list{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #cbdced!important;
  border-radius:14px!important;
  box-shadow:0 18px 42px rgba(15,23,42,.18)!important;
  padding:6px!important;
  z-index:2147483000!important;
}
.msb-smart-option{
  padding:9px 11px!important;
  border-radius:10px!important;
  color:#0f172a!important;
  background:#ffffff!important;
  line-height:1.25!important;
  font-weight:700!important;
}
.msb-smart-option:hover,.msb-smart-option.active{
  background:#e8f2ff!important;
  color:#1d4ed8!important;
}
.msb-smart-empty{color:#64748b!important;padding:10px!important}
/* Native non-account dropdowns must stay normal. */
select:not(.msb-smart-select){display:block!important;visibility:visible!important;opacity:1!important}
/* Prevent smart dropdowns inside tables from breaking row height. */
td .msb-smart-wrap{min-width:260px!important}


/* Vehicles + Trips Smart Layout Polish - UI only */
.module-shell{display:flex;flex-direction:column;gap:18px;max-width:100%;}
.module-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border:1px solid #cfe7f4;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(231,248,255,.82));box-shadow:0 18px 45px rgba(15,23,42,.08);}
.module-hero h1{margin:2px 0 6px 0;font-size:30px;letter-spacing:-.03em;color:#0f172a;}
.module-hero p{margin:0;color:#475569;font-weight:650;line-height:1.45;}
.eyebrow{margin:0!important;text-transform:uppercase;letter-spacing:.11em;color:#1d4ed8!important;font-weight:900!important;font-size:12px!important;}
.hero-actions,.panel-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.metric-strip{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;}
.metric-card{border:1px solid #cfe7f4;border-radius:22px;background:rgba(255,255,255,.9);padding:14px 15px;box-shadow:0 10px 26px rgba(15,23,42,.07);position:relative;overflow:hidden;}
.metric-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#2563eb;}
.metric-card.success:before{background:#10b981}.metric-card.warn:before{background:#f59e0b}.metric-card.danger:before{background:#ef4444}
.metric-card span{display:block;color:#64748b;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.metric-card strong{display:block;font-size:26px;line-height:1.1;color:#0f172a;margin-top:5px;}
.metric-card small{display:block;color:#64748b;font-weight:700;margin-top:4px;}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;}
.section-head h2{margin:2px 0 3px;font-size:22px;color:#0f172a;}
.subtle{color:#64748b;margin:0!important;font-size:13px;font-weight:650;}
.muted-chip{display:inline-flex;align-items:center;border:1px solid #cfe7f4;border-radius:999px;padding:8px 11px;background:#eef9ff;color:#0369a1;font-weight:800;font-size:12px;}
.smart-note{border-radius:18px!important;}
.smart-create-card,.smart-register-panel,.detail-panel{border-radius:26px!important;}
.smart-form-grid{grid-template-columns:repeat(3,minmax(190px,1fr))!important;gap:14px 16px!important;align-items:end;}
.smart-form-grid label{min-width:0;}
.smart-check{align-self:center;background:#f8fafc;border:1px solid #dbeafe;border-radius:16px;padding:12px!important;}
.doc-upload-note{grid-column:1/-1;background:#fff8e6!important;border:1px solid #facc15!important;border-radius:18px!important;color:#7c4a03!important;font-weight:700;}
.smart-toolbar{display:grid!important;grid-template-columns:minmax(280px,1fr) auto auto auto!important;gap:10px!important;align-items:center!important;margin-bottom:14px!important;}
.smart-toolbar input,.smart-toolbar select{width:100%!important;min-width:0!important;}
.smart-data-table{width:100%;border-collapse:separate!important;border-spacing:0!important;overflow:hidden;}
.smart-data-table thead th{position:sticky;top:0;z-index:2;background:#e8f7fb!important;color:#0f172a!important;font-weight:900!important;white-space:nowrap;}
.smart-data-table td{vertical-align:middle!important;}
.smart-data-table td small{color:#64748b;font-weight:700;}
.ledger-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#e0f2fe;color:#075985!important;font-weight:900;text-decoration:none;border:1px solid #bae6fd;}
.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;background:#e0efff;color:#124c9c;border:1px solid rgba(37,99,235,.15);white-space:nowrap;}
.status-pill.active,.status-pill.completed,.status-pill.received{background:#dcfce7;color:#166534;border-color:#bbf7d0;}
.status-pill.pending,.status-pill.idle,.status-pill.pending-review{background:#fff7ed;color:#9a3412;border-color:#fed7aa;}
.status-pill.inactive,.status-pill.cancelled,.status-pill.canceled{background:#fee2e2;color:#991b1b;border-color:#fecaca;}
.status-pill.under-maintenance,.status-pill.danger{background:#ffe4e6;color:#9f1239;border-color:#fecdd3;}
.status-pill.neutral{background:#f1f5f9;color:#475569;border-color:#e2e8f0;}
.veh-action-row,.actions{display:flex!important;gap:7px!important;align-items:center!important;flex-wrap:nowrap!important;}
.detail-actions{margin-top:16px!important;}
.vehicle-table .msb-action-cell,.trip-table .msb-action-cell{min-width:118px;}
.trip-table td:nth-child(6){min-width:190px;}
.driver-auto-note{font-size:12px;color:#64748b;margin-top:5px;font-weight:700;}
.trip-warning-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:99999;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
.trip-warning-box{background:#fff;border-radius:22px;padding:24px;width:430px;max-width:92vw;box-shadow:0 20px 60px rgba(15,23,42,.25);border:1px solid #dbeafe}.trip-warning-box h2{margin-top:0;color:#0f172a}.trip-warning-box button{margin-top:12px}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-top:14px}.detail-card{background:rgba(255,255,255,.75);border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:12px}.detail-card small{display:block;color:#64748b;font-weight:800;margin-bottom:4px}.modal-input,.modal-select,.modal-textarea{width:100%;margin-top:6px;margin-bottom:10px}.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px}.danger-btn{background:#ef4444!important}.doc-eye{padding:5px 8px;min-width:auto;margin-left:6px;box-shadow:none}.doc-pending{display:inline-block;margin-top:5px;color:#b54708;font-weight:900}.doc-ok{display:inline-block;margin-top:5px;color:#087443;font-weight:900}.file-label{font-size:12px;color:#667085}.file-label input{margin-top:5px}
@media(max-width:1100px){.metric-strip{grid-template-columns:repeat(3,1fr)}.smart-form-grid{grid-template-columns:repeat(2,minmax(180px,1fr))!important}.module-hero,.section-head{align-items:flex-start;flex-direction:column}.smart-toolbar{grid-template-columns:1fr 1fr!important}}
@media(max-width:720px){.metric-strip{grid-template-columns:1fr}.smart-form-grid,.smart-toolbar{grid-template-columns:1fr!important}.module-hero{padding:18px}.detail-grid{grid-template-columns:1fr}}


/* MSB Register-First Layout Optimization - UI only */
.entry-collapsed:not(.entry-open):not(:target){display:none!important;}
.entry-collapsed:target,.entry-collapsed.entry-open{display:block!important;}
.compact-hero{padding:18px 22px!important;border-radius:24px!important;}
.compact-hero h1{font-size:28px!important;}
.entry-collapsed{animation:msbEntryOpen .18s ease-out;}
@keyframes msbEntryOpen{from{opacity:.35;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.form-grid .btn.secondary,.smart-form-grid .btn.secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.section-head .mini-btn{white-space:nowrap;}
.customers-shell,.drivers-shell,.expenses-shell{gap:16px;}
.customers-shell .smart-register-panel,.drivers-shell .smart-register-panel,.expenses-shell .smart-register-panel{border-radius:26px!important;}
.entry-collapsed .section-head{border-bottom:1px solid #e2e8f0;padding-bottom:10px;}
.entry-collapsed .form-grid{margin-top:12px;}
@media(max-width:720px){.compact-hero .hero-actions{width:100%}.compact-hero .hero-actions .btn{width:100%;}}


/* Expense smart-layout rescue: hidden option-source selects must never render as visible smart inputs. */
select.hidden-select-options,
select.hidden-select-options + .msb-smart-wrap,
select[id$="Options"],
select[id$="Options"] + .msb-smart-wrap,
select[id$="Template"],
select[id$="Template"] + .msb-smart-wrap{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Invoices / Bills / Imports smart billing workspace polish */
.module-hero{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  padding:22px 24px;margin:0 0 18px;border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(236,248,255,.86));
  border:1px solid rgba(148,196,213,.46);box-shadow:0 18px 42px rgba(15,23,42,.08);
}
.module-hero h1{margin:2px 0 6px;font-size:30px;letter-spacing:-.02em;color:#0f172a}
.page-subtitle{margin:0;max-width:760px;color:#475569;font-size:14px;line-height:1.5}
.module-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center;min-width:260px}
.module-actions .btn,.module-actions button{white-space:nowrap}
.smart-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:14px;margin:0 0 18px}
.compact-kpi-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.smart-kpi-card{padding:16px 18px;border-radius:22px;background:rgba(255,255,255,.92);border:1px solid #dbeaf2;box-shadow:0 12px 28px rgba(15,23,42,.06);position:relative;overflow:hidden}
.smart-kpi-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#2563eb,#06b6d4);border-radius:inherit}
.smart-kpi-card span{display:block;font-size:11px;text-transform:uppercase;font-weight:900;color:#2563eb;letter-spacing:.08em;margin-bottom:7px}
.smart-kpi-card strong{display:block;font-size:24px;line-height:1.1;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smart-kpi-card small{display:block;margin-top:6px;color:#64748b;font-weight:700}
.smart-kpi-card.warn-card:before{background:linear-gradient(180deg,#f59e0b,#06b6d4)}
.smart-kpi-card.danger-card:before{background:linear-gradient(180deg,#ef4444,#f59e0b)}
.command-panel{border:1px solid #cfe8f4;background:linear-gradient(180deg,#ffffff,#f5fbff)}
.command-panel .section-title-row{align-items:flex-start}
.smart-form-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:end}
.smart-form-grid .span-2{grid-column:span 2;min-width:0}
.form-actions{display:flex;justify-content:flex-start;align-items:center;gap:10px}
.smart-filter-bar{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;align-items:end}
.smart-filter-bar .checkline{display:flex;align-items:center;gap:8px;min-height:42px;border:1px solid #cfe4ee;border-radius:14px;padding:8px 11px;background:#fff;color:#334155;font-weight:700}
.smart-recalc-bar{display:flex!important;gap:12px;align-items:center;justify-content:flex-start;flex-wrap:wrap;margin-top:10px}
.smart-register-panel{background:rgba(255,255,255,.9);border:1px solid #d6e8f0;box-shadow:0 16px 35px rgba(15,23,42,.055)}
.smart-data-table{border-collapse:separate!important;border-spacing:0;width:100%;overflow:hidden;border-radius:18px;border:1px solid #dbeaf2;background:#fff}
.smart-data-table th{background:linear-gradient(180deg,#eaf8ff,#dff4fb)!important;color:#0f172a!important;font-weight:900;text-transform:none;letter-spacing:0;border-bottom:1px solid #cfe4ee!important;white-space:nowrap}
.smart-data-table td{background:rgba(255,255,255,.96);border-bottom:1px solid #e5eef4;color:#1f2937;vertical-align:middle}
.smart-data-table tr:hover td{background:#f7fcff}
.smart-data-table tr:last-child td{border-bottom:none}
.smart-data-table small{color:#64748b;font-weight:700}
.smart-data-table .actions,.smart-data-table .invoice-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-width:96px}
.smart-upload-card{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:16px;border-radius:22px;background:#f8fcff;border:1px dashed #9ed8e9}
.template-actions{display:flex;gap:10px;flex-wrap:wrap}
.info-grid>div{background:#f8fcff;border:1px solid #dbeaf2;border-radius:18px;padding:14px;color:#334155}
.info-grid strong{color:#0f172a}
@media(max-width:900px){
  .module-hero{display:block}.module-actions{justify-content:flex-start;margin-top:14px}.smart-form-grid .span-2{grid-column:span 1}.smart-upload-card{grid-template-columns:1fr}.smart-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){.smart-kpi-strip{grid-template-columns:1fr}.smart-filter-bar{grid-template-columns:1fr}}

/* Reports + Ledger Smart Layout Polish - UI only */
.reports-shell,.report-view-shell,.ledger-shell{gap:18px;}
.reports-toolbar{grid-template-columns:minmax(260px,1fr) auto!important;max-width:760px;}
.smart-report-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;
  gap:14px!important;
}
.smart-report-card{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  min-height:135px!important;
  padding:18px 18px!important;
  border-radius:22px!important;
  border:1px solid #d6e8f0!important;
  background:linear-gradient(180deg,#ffffff,#f6fbff)!important;
  color:#0f172a!important;
  text-decoration:none!important;
  box-shadow:0 12px 28px rgba(15,23,42,.055)!important;
  transition:box-shadow .15s ease,border-color .15s ease,transform .12s ease!important;
}
.smart-report-card:hover{border-color:#93c5fd!important;box-shadow:0 18px 36px rgba(37,99,235,.12)!important;transform:translateY(-1px)!important;}
.smart-report-card .report-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#e8f2ff;border:1px solid #bfdbfe;font-size:18px;}
.smart-report-card strong{font-size:16px;line-height:1.25;color:#0f172a!important;}
.smart-report-card small{color:#64748b;font-weight:800;}
.smart-report-card em{margin-top:auto;color:#1d4ed8;font-style:normal;font-weight:900;}
.table-scroll{width:100%;overflow:auto;border-radius:18px;}
.report-result-table th,.ledger-lines-table th{white-space:nowrap;}
.report-result-table td,.ledger-lines-table td{white-space:nowrap;}
.report-result-table td:nth-child(1),.ledger-lines-table td:nth-child(4){white-space:normal;min-width:220px;}
.ledger-filter-bar{grid-template-columns:minmax(280px,1.4fr) repeat(3,minmax(130px,.7fr)) auto auto auto!important;}
.ledger-kpi-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;}
.ledger-lines-table td:nth-child(4){max-width:440px;}
#chartOfAccountsPanel{margin-top:18px;}
#chartOfAccountsPanel .table-scroll{max-height:520px;}
#coaTable td:nth-child(2){min-width:240px;}
@media(max-width:980px){
  .ledger-filter-bar,.reports-toolbar{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:640px){
  .ledger-filter-bar,.reports-toolbar{grid-template-columns:1fr!important;}
  .smart-report-card{min-height:auto!important;}
}
@media print{
  .module-actions,.reports-toolbar,.report-filter-panel,.sidebar,.app-sidebar,nav{display:none!important;}
  .module-hero,.panel,.smart-register-panel{box-shadow:none!important;border:1px solid #d0d7de!important;background:#fff!important;}
  body{background:#fff!important;}
}


/* Billing + Trip guardrail polish */
.status-pill.billing-await-movement { background:#fff7db; color:#8a5a00; border:1px solid #f0c75a; }
.status-pill.billing-unbilled { background:#eef6ff; color:#1454a8; border:1px solid #9fc5ff; }
.status-pill.billing-linked-invoice { background:#e7fbf0; color:#0f7a42; border:1px solid #8be0b0; }
.trip-status-panel .info-grid div { gap: 4px; }
.invoice-filter-bar select[name="customer_id"] { min-width: 190px; }

/* Vehicle customer eligibility + filtered trip vehicle selector */
.eligibility-card{
  grid-column:1/-1;
  border:1px solid #cfe4ee;
  background:linear-gradient(180deg,#f8fcff,#eef8fc);
  border-radius:18px;
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.eligibility-card strong{color:#0f172a;font-size:14px;font-weight:900;}
.eligibility-card small{color:#64748b;font-weight:700;}
.eligibility-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px 14px;margin-top:4px;}
.eligibility-card .check,.cross-company-box .check{display:flex;align-items:center;gap:8px;font-weight:800;color:#334155;}
.eligibility-pill{display:inline-flex;align-items:center;max-width:220px;padding:6px 10px;border-radius:999px;background:#e8f2ff;border:1px solid #bfdbfe;color:#1e3a8a;font-weight:900;font-size:12px;line-height:1.2;white-space:normal;}
.cross-company-box{grid-column:1/-1;border:1px dashed #f59e0b;background:#fffaf0;border-radius:18px;padding:12px 14px;display:grid;gap:8px;}
.cross-company-box small{color:#92400e;font-weight:800;}
.cross-company-box input[type="text"],.cross-company-box input:not([type]){width:100%;}
.vehicle-table th:nth-child(4),.vehicle-table td:nth-child(4){min-width:190px;}
@media(max-width:700px){.eligibility-grid{grid-template-columns:1fr}.eligibility-pill{max-width:none}}

/* Users + custom permission overrides */
.users-table-wrap{overflow:auto;}
.users-access-table th:nth-child(1),.users-access-table td:nth-child(1){min-width:190px;}
.users-access-table th:nth-child(4),.users-access-table td:nth-child(4){min-width:260px;}
.users-access-table th:nth-child(5),.users-access-table td:nth-child(5){min-width:480px;}
.user-form .permission-editor{grid-column:1/-1;}
.permission-editor,.permission-row-editor{
  border:1px solid #d6e8f0;
  background:linear-gradient(180deg,#ffffff,#f7fbff);
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.permission-row-editor{margin-top:10px;padding:10px 12px;}
.permission-row-editor summary{cursor:pointer;font-weight:900;color:#0f4f63;}
.permission-editor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.permission-editor-head strong,.permission-box h4{color:#0f172a;font-size:14px;font-weight:900;margin:0;}
.permission-editor-head small,.permission-box p{display:block;color:#64748b;font-size:12px;font-weight:750;margin:3px 0 0;}
.permission-dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.permission-dual-grid.compact{margin-top:10px;}
.permission-box{border:1px solid #e2e8f0;border-radius:16px;padding:12px;background:#fff;}
.permission-box.allow-box{border-color:#b7e4c7;background:#f6fff9;}
.permission-box.deny-box{border-color:#fecaca;background:#fff7f7;}
.permission-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 10px;margin-top:10px;}
.permission-check-grid.compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
.perm-check{display:flex!important;align-items:center!important;gap:7px!important;font-size:12px!important;font-weight:800!important;color:#334155!important;padding:5px 6px;border-radius:10px;}
.perm-check:hover{background:rgba(14,165,233,.07);}
.perm-check input{width:auto!important;min-width:auto!important;margin:0!important;accent-color:#0ea5e9;}
.user-update-form{display:flex;flex-direction:column;gap:8px;min-width:470px;}
.user-update-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:8px;}
.permission-summary-cell{vertical-align:top;}
.mini-pill-wrap{display:flex;flex-wrap:wrap;gap:5px;max-width:310px;}
.mini-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;font-size:11px;font-weight:900;line-height:1.1;}
.mini-pill.more{background:#fef3c7;border-color:#fde68a;color:#92400e;}
.permission-note{display:block;margin-top:6px;color:#64748b;font-weight:800;line-height:1.35;}
@media(max-width:900px){
  .permission-dual-grid{grid-template-columns:1fr;}
  .user-update-form{min-width:0;}
  .user-update-grid{grid-template-columns:1fr;}
}

/* Smart role access preview on Users page */
.role-default-preview{
  grid-column:1/-1;
  border:1px solid rgba(37,99,235,.18);
  border-radius:18px;
  padding:14px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 28px rgba(15,23,42,.06);
  margin:6px 0 4px;
}
.role-default-preview.compact{
  margin:10px 0 12px;
  padding:12px;
}
.role-preview-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
.role-preview-head strong{color:#0f172a;}
.role-preview-head small{color:#64748b;max-width:520px;line-height:1.35;}
.role-preview-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.role-preview-box{
  border:1px solid rgba(148,163,184,.35);
  border-radius:14px;
  background:rgba(248,250,252,.78);
  padding:11px;
}
.role-preview-box h4{
  margin:0 0 8px;
  font-size:13px;
  color:#0f172a;
}
.role-preview-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.role-preview-check{
  display:flex;
  align-items:center;
  gap:7px;
  padding:6px 8px;
  border-radius:999px;
  font-size:12px;
  line-height:1.1;
  white-space:normal;
}
.role-preview-check input{width:14px;height:14px;margin:0;}
.role-preview-check.checked{
  background:rgba(16,185,129,.12);
  color:#065f46;
  border:1px solid rgba(16,185,129,.25);
}
.role-preview-check.missing{
  background:rgba(148,163,184,.13);
  color:#475569;
  border:1px solid rgba(148,163,184,.25);
}
.role-default-preview[data-current-role="admin"] .role-preview-box.blocked{
  opacity:.55;
}
@media (max-width:900px){
  .role-preview-grid{grid-template-columns:1fr;}
  .role-preview-checks{grid-template-columns:1fr;}
  .role-preview-head{display:block;}
}
