
:root{
  --bg:#060b16;
  --bg2:#0b1220;
  --panel:#0e1526;
  --panel2:#101b31;
  --panel3:#0b1426;
  --card:#101829;
  --ink:#f2f6ff;
  --muted:#b8c3d9;
  --line:#24304a;
  --line-soft:#1c2740;
  --gold:#d6ab36;
  --gold2:#f0d67c;
  --gold3:#9b771b;
  --blue:#173c7c;
  --blue2:#29579c;
  --blue3:#6e8fc9;
  --accent:var(--gold);
  --accent2:var(--blue);
  --ok:#86efac;
  --ok-ink:#14532d;
  --ok-bg:#0f2c1c;
  --warn:#fcd34d;
  --warn-ink:#7c4a03;
  --warn-bg:#32240b;
  --bad:#fda4af;
  --bad-ink:#7f1d1d;
  --bad-bg:#34121a;
  --info:#93c5fd;
  --info-ink:#1d4ed8;
  --info-bg:#11243d;
  --shadow:0 18px 48px rgba(0,0,0,.32);
  --shadow-soft:0 8px 24px rgba(0,0,0,.18);
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif;
  background:radial-gradient(circle at top left, rgba(214,171,54,.12), transparent 30rem), linear-gradient(180deg,#0a1020 0%, #070d18 36%, #060b16 100%);
  color:var(--ink);
}
a{color:var(--gold2);text-decoration:none} a:hover{text-decoration:underline}
.topbar{
  position:sticky;top:0;z-index:40;
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;
  padding:14px 22px;
  background:linear-gradient(180deg, rgba(6,11,22,.96), rgba(8,14,26,.94));
  border-bottom:1px solid rgba(214,171,54,.22);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.brand-wrap{flex:1 1 auto;min-width:300px}
.brand-home{display:flex;align-items:center;gap:16px;color:#fff;text-decoration:none}
.brand-logo{width:150px;height:150px;min-width:150px;min-height:150px;object-fit:contain;border-radius:18px;background:rgba(255,255,255,.05);padding:6px;border:1px solid rgba(214,171,54,.28);box-shadow:0 0 0 2px rgba(23,60,124,.18)}
.brand-text strong{display:block;font-size:24px;letter-spacing:.02em;color:#fff;line-height:1.06}
.brand-text small{display:block;color:var(--gold2);opacity:.95;font-size:14px;line-height:1.18}
.topbar nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:flex-end;flex:1 1 420px;padding-top:8px}
.topbar nav a{color:#dbe7ff;padding:10px 12px;border-radius:12px;font-weight:700}
.topbar nav a:hover{text-decoration:none;background:rgba(255,255,255,.05);color:#fff}
.container{max-width:1260px;margin:24px auto;padding:0 18px}
.card{
  background:linear-gradient(180deg, rgba(16,24,41,.95), rgba(11,20,38,.97));
  border:1px solid var(--line);
  border-radius:22px;
  padding:24px;
  margin-bottom:20px;
  box-shadow:var(--shadow-soft);
}
.toolbar-card{padding:14px 18px;background:linear-gradient(180deg, rgba(14,21,38,.98), rgba(9,16,31,.98))}
.toolbar-row{display:flex;justify-content:space-between;gap:18px;align-items:center}
.toolbar-actions{display:flex;gap:12px;align-items:center;min-width:320px}
.toolbar-actions input{min-width:260px}
h1,h2,h3{margin-top:0;color:#fff;letter-spacing:-.02em} h1{font-size:34px} h2{font-size:22px} h3{font-size:18px}
.muted,.smalltext{color:var(--muted)}
.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.field{margin-bottom:14px}.field label{display:block;font-weight:800;margin-bottom:7px;color:#eef4ff}
input,select,textarea{
  width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:14px;
  background:#08111f;color:#f2f6ff;outline:none;transition:border-color .15s, box-shadow .15s, background .15s;
}
input::placeholder,textarea::placeholder{color:#8fa0c5}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(214,171,54,.14);background:#0a1528}
.btn,button{
  display:inline-block;background:linear-gradient(180deg,var(--gold2),var(--gold));color:#101827;border:0;
  padding:11px 16px;border-radius:12px;cursor:pointer;font-weight:900;letter-spacing:.01em;
  box-shadow:0 8px 18px rgba(214,171,54,.16);
}
.btn:hover,button:hover{text-decoration:none;filter:brightness(1.04)}
.btn.secondary{background:linear-gradient(180deg,#244e98,#163c7c);color:#fff;box-shadow:0 8px 18px rgba(22,60,124,.22)}
.btn.ghost{background:transparent;color:var(--gold2);border:1px solid rgba(214,171,54,.34);box-shadow:none}
.btn.small{padding:8px 11px;font-size:13px}
.flash{background:#0f2c1c;border:1px solid #1c5a32;color:#b8ffce;padding:13px 16px;border-radius:14px;margin-bottom:18px}
.notice{border-left:4px solid var(--gold);background:linear-gradient(180deg, rgba(48,34,10,.88), rgba(31,22,8,.88));padding:15px;border-radius:14px;color:#fce7b0}
.table{width:100%;border-collapse:separate;border-spacing:0;background:#0b1426;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.table th,.table td{border-bottom:1px solid var(--line-soft);padding:11px 12px;text-align:left;vertical-align:top}
.table th{background:linear-gradient(180deg, rgba(23,60,124,.66), rgba(16,24,41,.95));color:var(--gold2);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.table tr:last-child th,.table tr:last-child td{border-bottom:0}
.table tr:hover td{background:rgba(255,255,255,.02)}
.scroll{overflow-x:auto}
.status{display:inline-block;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:900;text-transform:capitalize;border:1px solid transparent}
.status.paid,.status.confirmed,.status.closed,.status.released,.status.verified,.status.approved,.status.locked,.status.payment_confirmed,.status.ready,.status.ready_for_release,.status.authorised,.status.auto_confirmed,.status.passed,.status.generated,.status.active{background:var(--ok-bg);color:#b6f8c9;border-color:#1d5b33}
.status.pending,.status.awaiting_payment,.status.quoted,.status.payment_needs_review,.status.imported,.status.validated,.status.matched,.status.parsed,.status.restricted,.status.open,.status.review,.status.requested{background:var(--warn-bg);color:#f6d77a;border-color:#72521a}
.status.submitted,.status.payment_detected,.status.loaded,.status.paid_pending_supplier,.status.paid_pending_release{background:var(--info-bg);color:#b9d8ff;border-color:#22466d}
.status.draft{background:#1d2637;color:#ced7ea;border-color:#35445d}
.status.cancelled,.status.rejected,.status.blocked,.status.payment_reversed,.status.expired,.status.superseded,.status.critical,.status.high,.status.failed{background:var(--bad-bg);color:#ffd0d6;border-color:#5e2431}
.kpi{padding:19px;border-radius:18px;background:linear-gradient(180deg, rgba(15,24,42,.95), rgba(11,19,34,.95));border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.kpi .label{color:#aebbd8;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.kpi .value{font-size:27px;font-weight:950;margin-top:7px;color:#fff}
.pill{display:inline-block;padding:4px 9px;border-radius:999px;background:rgba(214,171,54,.14);color:var(--gold2);border:1px solid rgba(214,171,54,.34);font-weight:900;font-size:12px}
.progress{height:17px;background:#192438;border-radius:999px;overflow:hidden;border:1px solid var(--line)}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.inline{display:inline}.inline button{margin:2px}details summary{cursor:pointer;font-weight:900;color:var(--gold2)}
pre{white-space:pre-wrap;background:#08111f;color:#e5efff;padding:14px;border-radius:12px;overflow:auto;border:1px solid var(--line)}
.right{text-align:right}
.footer{padding:30px 18px 40px;color:#8ea1c6;text-align:center}
.footer-brand{display:inline-flex;gap:14px;align-items:center;text-align:left}
.footer-brand img{width:150px;height:150px;min-width:150px;min-height:150px;object-fit:contain;border-radius:18px;background:rgba(255,255,255,.04);padding:6px;border:1px solid rgba(214,171,54,.22)}
.invoice-document,.release-pack,.payment-document,.kyc-document,.formula-document{max-width:1080px;margin-left:auto;margin-right:auto}
.doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-bottom:1px solid rgba(214,171,54,.28);padding-bottom:18px;margin-bottom:18px}
.doc-brand{display:flex;gap:16px;align-items:flex-start}
.doc-brand img{width:150px;height:150px;min-width:150px;min-height:150px;object-fit:contain;border-radius:18px;background:rgba(255,255,255,.04);padding:6px;border:1px solid rgba(214,171,54,.25)}
.doc-brand-text strong{font-size:22px;color:#fff;display:block;margin-bottom:4px}
.doc-brand-text .meta{color:var(--muted);line-height:1.5;font-size:14px}
.doc-title{text-align:right}.doc-title h1{margin-bottom:8px}.doc-ref{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(214,171,54,.12);border:1px solid rgba(214,171,54,.22);color:var(--gold2);font-weight:800}
.invoice-box,.invoice-total-box{border:1px solid var(--line);border-radius:16px;padding:16px;background:rgba(8,17,31,.55)}
.table.compact th,.table.compact td{padding:8px 10px}.invoice-lines th.right,.invoice-lines td.right,.right{text-align:right}
.invoice-grand th,.invoice-grand td{font-size:18px;font-weight:950;background:rgba(214,171,54,.10)!important;color:#fff}.signature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:26px}.signature-grid>div{border:1px solid var(--line);border-radius:16px;padding:18px;background:rgba(8,17,31,.55);min-height:120px}
.document-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:12px}
.document-actions .btn,.document-actions button{margin-left:8px}
.dl-inline{display:flex;gap:18px;flex-wrap:wrap}
.dl-inline .kpi-mini{padding:12px 14px;background:rgba(8,17,31,.55);border:1px solid var(--line);border-radius:12px;min-width:170px}
.kpi-mini strong{display:block;color:#fff;font-size:16px}
.kpi-mini span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase}
@media(max-width:900px){.grid.two,.grid.three,.signature-grid{grid-template-columns:1fr}.toolbar-row,.doc-head{display:block}.toolbar-actions{min-width:0;margin-top:12px}.brand-text small{display:none}.topbar{display:block}.topbar nav{margin-top:12px}.container{padding:0 14px}.card{padding:18px}}
@media print{
  body{background:#fff !important;color:#111 !important}
  .topbar,.footer,.no-print,.page-tools{display:none !important}
  .container{max-width:none;margin:0;padding:0}
  .card{box-shadow:none !important;border:0 !important;background:#fff !important;color:#111 !important}
  h1,h2,h3,.doc-brand-text strong{color:#111 !important}
  .notice,.invoice-box,.invoice-total-box,.signature-grid>div,.kpi-mini{background:#fff !important;color:#111 !important;border:1px solid #bbb !important}
  input,select,textarea,.table,.table td,.table th{color:#111 !important;background:#fff !important;border-color:#bbb !important}
  a{color:#111 !important;text-decoration:none !important}
  .status{border-color:#999 !important;background:#fff !important;color:#111 !important}
  .doc-ref{background:#fff !important;color:#111 !important;border-color:#bbb !important}
}


/* v4.6 spacing and administration refinements */
.container{max-width:1320px;margin:32px auto;padding:0 24px;}
.card{margin-bottom:28px;}
.card + .card{margin-top:8px;}
.grid{gap:24px;}
.grid.two,.grid.three{margin-top:18px;margin-bottom:18px;}
.home-hero{padding:34px;}
.home-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px;}
.home-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:26px 0;}
.home-feature-grid .card{height:100%;margin:0;}
.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0;}
.admin-grid .card{margin:0;}
.form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:14px 0;}
.form-row.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.workflow-actions form{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(8,17,31,.38);}
.workflow-actions h3{margin-bottom:14px;}
.table-wrap{overflow-x:auto;border-radius:14px;}
.table{min-width:780px;}
.document-actions{margin-bottom:22px;}
@media(max-width:900px){.container{padding:0 14px;margin:20px auto}.home-feature-grid,.admin-grid,.form-row,.form-row.two{grid-template-columns:1fr}.card{margin-bottom:20px}.table{min-width:680px}}
@media print{.home-feature-grid,.admin-grid,.form-row,.form-row.two{display:block}.card{margin-bottom:14px}.table{min-width:0}}


/* v4.7 permanent width, table-fit and print-safe layout corrections */
html,body{width:100%;max-width:100%;overflow-x:hidden;}
.container{max-width:none;width:100%;margin:28px auto;padding:0 clamp(18px,3vw,48px);}
.card{width:100%;max-width:100%;overflow:visible;}
.card .card{overflow:visible;}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid > *{min-width:0;}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;border-radius:14px;}
.table{width:100%;min-width:0;max-width:100%;table-layout:auto;}
.table th,.table td{max-width:none;overflow-wrap:normal;word-break:normal;white-space:normal;line-height:1.35;}
.table th{white-space:normal;}
.table.compact{min-width:0;width:100%;table-layout:auto;}
.table.compact th,.table.compact td{white-space:normal;}
.invoice-box .table,.invoice-total-box .table,.statement-document .table,.payment-document .table,.release-pack .table,.formula-document .table,.kyc-document .table{min-width:0;width:100%;}
.invoice-document,.release-pack,.payment-document,.kyc-document,.formula-document,.statement-document{max-width:none;width:100%;}
.invoice-head,.doc-head{width:100%;}
.invoice-lines td,.invoice-lines th{white-space:normal;}
.admin-grid,.home-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;}
.toolbar-card{max-width:100%;}
.toolbar-row{width:100%;}
.toolbar-actions{min-width:min(420px,42vw);}
.toolbar-actions input{min-width:0;width:100%;}
.kpi{min-width:0;}
.status{white-space:nowrap;}
.btn,button{white-space:nowrap;}
.workflow-actions form{max-width:100%;}
.statement-document .table th:nth-child(4),.statement-document .table td:nth-child(4){min-width:260px;}
@media(min-width:1500px){.container{padding-left:52px;padding-right:52px}.table th,.table td{padding:12px 14px}}
@media(max-width:1100px){.grid.two,.grid.three,.admin-grid,.home-feature-grid{grid-template-columns:1fr}.toolbar-row{display:block}.toolbar-actions{width:100%;min-width:0;margin-top:12px}.table-wrap{overflow-x:auto}.table{min-width:760px}.invoice-box .table,.invoice-total-box .table{min-width:0}.doc-head{display:block}.doc-title{text-align:left;margin-top:16px}}
@media print{
  @page{size:A4 portrait;margin:10mm;}
  html,body{overflow:visible!important;width:auto!important;max-width:none!important;font-size:10px!important;}
  .container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;}
  .card{width:100%!important;max-width:none!important;overflow:visible!important;padding:8px!important;margin:0 0 8px 0!important;page-break-inside:avoid;}
  .grid.two,.grid.three{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .table-wrap{overflow:visible!important;width:100%!important;}
  .table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:auto!important;border-collapse:collapse!important;font-size:9px!important;}
  .table th,.table td{padding:4px 5px!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.25!important;}
  .status{white-space:normal!important;padding:2px 4px!important;font-size:8px!important;}
  .doc-head{display:flex!important;gap:8px!important;align-items:flex-start!important;}
  .doc-brand img{width:48px!important;height:48px!important;}
  .doc-brand-text strong{font-size:14px!important;}
  .doc-brand-text .meta,.muted{font-size:9px!important;}
  h1{font-size:18px!important} h2{font-size:14px!important} h3{font-size:12px!important}
  .signature-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
}

/* v4.8 cinematic interactive truck hero — isolated to public homepage only */
.truck-hero{
  --mx:0;
  --my:0;
  position:relative;
  min-height:clamp(620px,72vh,860px);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:28px;
  background:#050a12;
  box-shadow:var(--shadow);
  margin-bottom:34px;
  isolation:isolate;
}
.truck-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 34%, rgba(214,171,54,.20), transparent 22rem),
    radial-gradient(circle at 82% 66%, rgba(145,34,28,.18), transparent 28rem),
    linear-gradient(90deg, rgba(4,8,15,.96) 0%, rgba(6,11,22,.86) 34%, rgba(6,11,22,.34) 66%, rgba(6,11,22,.78) 100%);
  z-index:2;
  pointer-events:none;
}
.truck-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.020) 1px, transparent 1px);
  background-size:72px 72px;
  opacity:.30;
  mix-blend-mode:screen;
  z-index:3;
  pointer-events:none;
}
.truck-hero-visual{position:absolute;inset:-3%;z-index:1;pointer-events:none;transform:translate3d(calc(var(--mx)*-10px),calc(var(--my)*-7px),0) scale(1.02);transition:transform .12s linear;}
.truck-hero-image{position:absolute;inset:0;background-image:none;background-repeat:no-repeat;background-size:cover;background-position:center right;filter:contrast(1.06) saturate(.94) brightness(.98);transform:translate3d(calc(var(--mx)*18px),calc(var(--my)*10px),0) scale(1.04);will-change:transform;}
.truck-hero-shade{position:absolute;inset:0;z-index:4;background:linear-gradient(180deg, rgba(6,11,22,.10), rgba(6,11,22,.28));pointer-events:none;}
.truck-hero-content{position:relative;z-index:5;width:min(760px,58vw);padding:clamp(42px,6vw,86px);min-height:inherit;display:flex;flex-direction:column;justify-content:center;}
.eyebrow{display:inline-block;color:var(--gold2);font-weight:950;text-transform:uppercase;letter-spacing:.16em;font-size:12px;margin-bottom:18px;}
.truck-hero h1{font-size:clamp(42px,5.7vw,88px);line-height:.94;letter-spacing:-.065em;margin-bottom:22px;text-wrap:balance;}
.truck-hero p{font-size:clamp(16px,1.35vw,21px);line-height:1.7;color:#d7e1f7;max-width:700px;margin:0 0 28px;}
.truck-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px;}
.truck-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:680px;}
.truck-hero-metrics div{border:1px solid rgba(214,171,54,.22);border-radius:16px;padding:14px 16px;background:rgba(8,17,31,.62);backdrop-filter:blur(8px);}
.truck-hero-metrics strong{display:block;color:#fff;font-size:15px;margin-bottom:4px;}
.truck-hero-metrics span{display:block;color:#aebbd8;font-size:12px;text-transform:uppercase;letter-spacing:.06em;}
.truck-hero-light{position:absolute;width:130px;height:40px;border-radius:999px;background:rgba(255,81,54,.42);filter:blur(18px);opacity:.52;z-index:2;transform:translate3d(calc(var(--mx)*20px),calc(var(--my)*10px),0);will-change:transform;}
.truck-hero-light-a{right:26%;bottom:29%;}
.truck-hero-light-b{right:13%;bottom:22%;width:90px;height:36px;background:rgba(255,217,139,.34);}
.truck-hero-hud{position:absolute;border:1px solid rgba(214,171,54,.22);border-radius:999px;opacity:.34;z-index:2;mix-blend-mode:screen;transform:translate3d(calc(var(--mx)*-24px),calc(var(--my)*-14px),0);will-change:transform;}
.truck-hero-hud-a{right:19%;top:13%;width:250px;height:250px;box-shadow:0 0 0 42px rgba(214,171,54,.025),0 0 0 84px rgba(214,171,54,.018);}
.truck-hero-hud-b{left:38%;bottom:18%;width:170px;height:170px;border-color:rgba(146,34,28,.36);box-shadow:0 0 0 36px rgba(146,34,28,.03);}
@media(max-width:1100px){.truck-hero{min-height:720px}.truck-hero-content{width:100%;padding:42px}.truck-hero::before{background:linear-gradient(180deg, rgba(4,8,15,.86) 0%, rgba(4,8,15,.72) 48%, rgba(4,8,15,.86) 100%)}.truck-hero-image{background-position:center right;opacity:.78}.truck-hero-metrics{grid-template-columns:1fr}}
@media(max-width:640px){.truck-hero{border-radius:20px;min-height:650px}.truck-hero-content{padding:30px 24px}.truck-hero h1{font-size:38px}.truck-hero-actions .btn{width:100%;text-align:center}.truck-hero-image{background-position:68% center;opacity:.62}.truck-hero-hud,.truck-hero-light{display:none}}
@media(prefers-reduced-motion:reduce){.truck-hero-visual,.truck-hero-image,.truck-hero-hud,.truck-hero-light{transform:none!important;transition:none!important}}
@media print{.truck-hero{display:none!important}}

/* v4.9 advanced truck-follow animation layer — homepage only, no DB/app logic changes */
.truck-hero-advanced{
  --px:72%;
  --py:42%;
  --truck-rx:0deg;
  --truck-ry:0deg;
  isolation:isolate;
}
.truck-hero-advanced .truck-hero-visual{perspective:1200px;transform-style:preserve-3d;}
.truck-hero-advanced .truck-hero-image{
  transform-origin:78% 54%;
  transform:translate3d(calc(var(--mx)*20px),calc(var(--my)*11px),0) scale(1.045) rotateX(var(--truck-rx)) rotateY(var(--truck-ry));
  transition:filter .2s linear;
  backface-visibility:hidden;
}
.truck-hero-advanced .truck-cab-follow{
  position:absolute;
  right:5%;
  top:22%;
  width:34%;
  height:49%;
  z-index:3;
  pointer-events:none;
  border-radius:32% 24% 18% 22%;
  background:
    radial-gradient(ellipse at calc(52% + var(--mx)*10%) calc(37% + var(--my)*10%), rgba(255,255,255,.12), transparent 18%),
    radial-gradient(ellipse at 62% 46%, rgba(214,171,54,.10), transparent 30%);
  mix-blend-mode:screen;
  filter:blur(.1px);
  transform-origin:62% 50%;
  transform:translate3d(calc(var(--mx)*30px),calc(var(--my)*13px),80px) rotateX(calc(var(--my)*-3deg)) rotateY(calc(var(--mx)*8deg));
  opacity:.58;
  will-change:transform,opacity;
}
.truck-windscreen-reflection{
  position:absolute;
  right:10%;
  top:31%;
  width:22%;
  height:15%;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.0) 28%, rgba(255,255,255,.15) 44%, transparent 60%);
  transform:translate3d(calc(var(--mx)*26px),calc(var(--my)*12px),90px) skewX(-12deg);
  filter:blur(1px);
  mix-blend-mode:screen;
  opacity:.38;
}
.truck-headlight{
  position:absolute;
  z-index:6;
  pointer-events:none;
  width:110px;
  height:34px;
  border-radius:999px;
  background:radial-gradient(ellipse at center, rgba(255,242,194,.96) 0%, rgba(255,193,83,.46) 34%, rgba(255,76,44,.12) 70%, transparent 100%);
  filter:blur(7px);
  opacity:.86;
  mix-blend-mode:screen;
  animation:truckHeadlightPulse 2.4s ease-in-out infinite;
  transform:translate3d(calc(var(--mx)*32px),calc(var(--my)*14px),120px);
}
.truck-headlight-left{right:17.2%;bottom:29.7%;}
.truck-headlight-right{right:8.4%;bottom:25.3%;width:92px;height:30px;animation-delay:.55s;}
.truck-headlight-beam{
  position:absolute;
  z-index:5;
  pointer-events:none;
  width:32vw;
  max-width:560px;
  height:150px;
  background:linear-gradient(90deg, rgba(255,230,160,.28), rgba(255,84,50,.10) 42%, transparent 80%);
  clip-path:polygon(0 43%, 100% 0, 100% 100%, 0 57%);
  filter:blur(18px);
  mix-blend-mode:screen;
  opacity:.36;
  transform-origin:left center;
  transform:translate3d(calc(var(--mx)*20px),calc(var(--my)*8px),80px) rotate(calc(var(--my)*6deg));
  animation:truckBeamSweep 4.8s ease-in-out infinite;
}
.truck-headlight-beam-left{right:8%;bottom:23%;}
.truck-headlight-beam-right{right:2%;bottom:18%;height:120px;opacity:.28;animation-delay:.8s;}
.truck-cursor-orb{
  position:absolute;
  left:var(--px);
  top:var(--py);
  width:18px;height:18px;border-radius:50%;
  z-index:7;pointer-events:none;
  background:radial-gradient(circle, rgba(255,236,164,.95), rgba(255,91,56,.62) 42%, transparent 72%);
  box-shadow:0 0 18px rgba(255,69,44,.55),0 0 48px rgba(214,171,54,.25);
  opacity:.55;
  transform:translate(-50%,-50%);
  mix-blend-mode:screen;
}
.truck-cursor-orb::after{
  content:"";position:absolute;inset:-15px;border:1px solid rgba(214,171,54,.36);border-radius:50%;animation:truckOrbPing 1.8s ease-out infinite;
}
.truck-route-map{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.55;transform:translate3d(calc(var(--mx)*-16px),calc(var(--my)*-9px),0);}
.truck-route-map svg{width:100%;height:100%;overflow:visible;}
.truck-route-map .route{fill:none;stroke:rgba(255,66,46,.40);stroke-width:1.8;stroke-dasharray:10 12;filter:drop-shadow(0 0 6px rgba(255,45,34,.25));animation:routeDash 8s linear infinite;}
.truck-route-map .route-b{stroke:rgba(214,171,54,.32);animation-duration:10s;animation-direction:reverse;}
.truck-route-map .route-c{stroke:rgba(95,141,220,.32);animation-duration:12s;}
.truck-route-map .route-node{fill:rgba(255,64,44,.75);stroke:rgba(255,231,160,.7);stroke-width:1;animation:nodePulse 2.2s ease-in-out infinite;}
.truck-route-map .route-node-b{animation-delay:.4s}.truck-route-map .route-node-c{animation-delay:.8s}.truck-route-map .route-node-d{animation-delay:1.2s}
.truck-gantry-lines{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;mix-blend-mode:screen;opacity:.58;}
.truck-gantry-lines span{
  position:absolute;display:block;height:2px;width:34vw;max-width:620px;
  background:linear-gradient(90deg, transparent, rgba(255,64,44,.18), rgba(255,64,44,.74), rgba(214,171,54,.42), transparent);
  filter:drop-shadow(0 0 8px rgba(255,49,34,.38));
  transform:translateX(-120%) rotate(0deg);
  animation:gantryCascade 5.2s linear infinite;
}
.truck-gantry-lines span:nth-child(1){left:7%;top:20%;animation-delay:0s;width:38vw;}
.truck-gantry-lines span:nth-child(2){left:17%;top:37%;animation-delay:.85s;width:30vw;}
.truck-gantry-lines span:nth-child(3){left:38%;top:54%;animation-delay:1.6s;width:42vw;}
.truck-gantry-lines span:nth-child(4){left:4%;top:73%;animation-delay:2.2s;width:36vw;}
.truck-gantry-lines span:nth-child(5){left:52%;top:27%;animation-delay:3.05s;width:26vw;}
.truck-gantry-lines span:nth-child(6){left:56%;top:68%;animation-delay:3.8s;width:31vw;}
.truck-radar-sweep{
  position:absolute;right:12%;top:7%;width:280px;height:280px;border-radius:50%;z-index:4;pointer-events:none;opacity:.45;
  background:conic-gradient(from 0deg, rgba(214,171,54,.0) 0deg, rgba(214,171,54,.0) 285deg, rgba(214,171,54,.28) 330deg, rgba(255,65,44,.46) 355deg, transparent 360deg);
  border:1px solid rgba(214,171,54,.18);
  box-shadow:0 0 0 42px rgba(214,171,54,.025),0 0 0 84px rgba(214,171,54,.018),inset 0 0 32px rgba(214,171,54,.08);
  transform:translate3d(calc(var(--mx)*-20px),calc(var(--my)*-10px),0);
  animation:radarSweep 6s linear infinite;
  mix-blend-mode:screen;
}
.truck-hero-sky-pulse{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at calc(72% + var(--mx)*5%) calc(42% + var(--my)*4%), rgba(255,66,46,.18), transparent 24rem);animation:skyPulse 5.5s ease-in-out infinite;}
.truck-data-chip{position:absolute;z-index:8;pointer-events:none;padding:9px 12px;border-radius:12px;border:1px solid rgba(214,171,54,.28);background:rgba(8,17,31,.56);backdrop-filter:blur(7px);box-shadow:0 10px 26px rgba(0,0,0,.22);transform:translate3d(calc(var(--mx)*-18px),calc(var(--my)*-10px),60px);animation:chipFloat 4.2s ease-in-out infinite;}
.truck-data-chip strong{display:block;color:var(--gold2);font-size:11px;letter-spacing:.08em}.truck-data-chip span{display:block;color:#dbe7ff;font-size:12px;font-weight:800}.truck-data-chip-a{right:23%;top:18%;}.truck-data-chip-b{right:6%;bottom:34%;animation-delay:1.3s;}
@keyframes truckHeadlightPulse{0%,100%{opacity:.58;filter:blur(8px) brightness(1)}45%{opacity:1;filter:blur(5px) brightness(1.32)}65%{opacity:.72;filter:blur(7px) brightness(1.08)}}
@keyframes truckBeamSweep{0%,100%{opacity:.22;transform:translate3d(calc(var(--mx)*20px),calc(var(--my)*8px),80px) rotate(calc(var(--my)*6deg)) scaleX(.86)}50%{opacity:.42;transform:translate3d(calc(var(--mx)*26px),calc(var(--my)*12px),80px) rotate(calc(var(--my)*8deg)) scaleX(1.08)}}
@keyframes routeDash{to{stroke-dashoffset:-180}}
@keyframes nodePulse{0%,100%{r:5;opacity:.55}50%{r:8;opacity:1}}
@keyframes gantryCascade{0%{transform:translateX(-130%);opacity:0}12%{opacity:.85}68%{opacity:.65}100%{transform:translateX(220%);opacity:0}}
@keyframes radarSweep{to{rotate:360deg}}
@keyframes skyPulse{0%,100%{opacity:.58}50%{opacity:.98}}
@keyframes chipFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes truckOrbPing{0%{transform:scale(.55);opacity:.8}100%{transform:scale(1.8);opacity:0}}
@media(max-width:1100px){.truck-radar-sweep{right:5%;top:12%;width:200px;height:200px}.truck-data-chip{display:none}.truck-headlight-beam{opacity:.18}.truck-gantry-lines span{width:52vw}}
@media(max-width:640px){.truck-cab-follow,.truck-windscreen-reflection,.truck-headlight,.truck-headlight-beam,.truck-cursor-orb,.truck-radar-sweep,.truck-route-map,.truck-gantry-lines,.truck-data-chip{display:none!important}}
@media(prefers-reduced-motion:reduce){.truck-cab-follow,.truck-windscreen-reflection,.truck-headlight,.truck-headlight-beam,.truck-cursor-orb,.truck-radar-sweep,.truck-route-map,.truck-gantry-lines,.truck-data-chip,.truck-hero-sky-pulse{animation:none!important;transform:none!important}}
@media print{.truck-cab-follow,.truck-windscreen-reflection,.truck-headlight,.truck-headlight-beam,.truck-cursor-orb,.truck-radar-sweep,.truck-route-map,.truck-gantry-lines,.truck-data-chip,.truck-hero-sky-pulse{display:none!important}}


/* v4.10 extra cinematic logistics animation layer — homepage only */
.truck-hero-advanced::before{animation:heroAmbientBreath 7s ease-in-out infinite;}
.truck-gantry-pillars{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.36;mix-blend-mode:screen;}
.truck-gantry-pillars i{position:absolute;bottom:0;width:2px;height:46%;background:linear-gradient(180deg,transparent,rgba(255,70,48,.58),rgba(214,171,54,.22),transparent);filter:drop-shadow(0 0 10px rgba(255,54,35,.38));animation:gantryPillarScan 4.8s ease-in-out infinite;}
.truck-gantry-pillars i:nth-child(1){left:53%;height:42%;animation-delay:0s}.truck-gantry-pillars i:nth-child(2){left:62%;height:58%;animation-delay:.7s}.truck-gantry-pillars i:nth-child(3){left:72%;height:50%;animation-delay:1.4s}.truck-gantry-pillars i:nth-child(4){left:84%;height:64%;animation-delay:2.1s}
.truck-lane-streaks{position:absolute;left:34%;right:0;bottom:0;height:34%;z-index:5;pointer-events:none;overflow:hidden;mix-blend-mode:screen;opacity:.56;transform:translate3d(calc(var(--mx)*10px),calc(var(--my)*4px),0);}
.truck-lane-streaks span{position:absolute;left:0;bottom:0;width:40vw;height:2px;background:linear-gradient(90deg,transparent,rgba(255,71,46,.72),rgba(214,171,54,.34),transparent);filter:drop-shadow(0 0 8px rgba(255,50,32,.42));transform-origin:left center;animation:laneStreak 3.8s linear infinite;}
.truck-lane-streaks span:nth-child(1){bottom:8%;rotate:-10deg;animation-delay:0s}.truck-lane-streaks span:nth-child(2){bottom:15%;rotate:-8deg;animation-delay:.45s;width:34vw}.truck-lane-streaks span:nth-child(3){bottom:23%;rotate:-6deg;animation-delay:.9s;width:38vw}.truck-lane-streaks span:nth-child(4){bottom:30%;rotate:-4deg;animation-delay:1.35s;width:28vw}.truck-lane-streaks span:nth-child(5){bottom:38%;rotate:-2deg;animation-delay:1.8s;width:30vw}.truck-lane-streaks span:nth-child(6){bottom:46%;rotate:1deg;animation-delay:2.25s;width:25vw}.truck-lane-streaks span:nth-child(7){bottom:53%;rotate:2deg;animation-delay:2.7s;width:36vw}.truck-lane-streaks span:nth-child(8){bottom:61%;rotate:3deg;animation-delay:3.15s;width:22vw}
.truck-data-rain{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden;opacity:.42;mix-blend-mode:screen;}
.truck-data-rain i{position:absolute;top:-8%;width:1px;height:78px;background:linear-gradient(180deg,transparent,rgba(214,171,54,.48),rgba(255,69,46,.72),transparent);filter:drop-shadow(0 0 7px rgba(214,171,54,.35));animation:dataRain 6.2s linear infinite;}
.truck-data-rain i:nth-child(1){left:10%;animation-delay:0s;height:54px}.truck-data-rain i:nth-child(2){left:16%;animation-delay:.7s;height:92px}.truck-data-rain i:nth-child(3){left:24%;animation-delay:1.5s}.truck-data-rain i:nth-child(4){left:31%;animation-delay:2.1s;height:63px}.truck-data-rain i:nth-child(5){left:39%;animation-delay:.25s}.truck-data-rain i:nth-child(6){left:47%;animation-delay:2.9s;height:84px}.truck-data-rain i:nth-child(7){left:55%;animation-delay:1.2s}.truck-data-rain i:nth-child(8){left:63%;animation-delay:3.4s;height:65px}.truck-data-rain i:nth-child(9){left:70%;animation-delay:.9s}.truck-data-rain i:nth-child(10){left:76%;animation-delay:4.1s;height:90px}.truck-data-rain i:nth-child(11){left:82%;animation-delay:2.65s}.truck-data-rain i:nth-child(12){left:88%;animation-delay:1.9s;height:72px}.truck-data-rain i:nth-child(13){left:94%;animation-delay:5.1s}.truck-data-rain i:nth-child(14){left:6%;animation-delay:4.4s}.truck-data-rain i:nth-child(15){left:34%;animation-delay:5.6s}.truck-data-rain i:nth-child(16){left:58%;animation-delay:4.9s}.truck-data-rain i:nth-child(17){left:68%;animation-delay:5.8s}.truck-data-rain i:nth-child(18){left:98%;animation-delay:3.8s}
.truck-spark-field{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden;opacity:.62;mix-blend-mode:screen;}
.truck-spark-field i{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(255,214,128,.85);box-shadow:0 0 10px rgba(255,80,45,.75);animation:sparkFloat 5.5s ease-in-out infinite;}
.truck-spark-field i:nth-child(1){left:58%;top:64%;animation-delay:0s}.truck-spark-field i:nth-child(2){left:64%;top:58%;animation-delay:.3s}.truck-spark-field i:nth-child(3){left:70%;top:72%;animation-delay:.6s}.truck-spark-field i:nth-child(4){left:77%;top:54%;animation-delay:.9s}.truck-spark-field i:nth-child(5){left:84%;top:69%;animation-delay:1.2s}.truck-spark-field i:nth-child(6){left:90%;top:48%;animation-delay:1.5s}.truck-spark-field i:nth-child(7){left:52%;top:74%;animation-delay:1.8s}.truck-spark-field i:nth-child(8){left:46%;top:63%;animation-delay:2.1s}.truck-spark-field i:nth-child(9){left:36%;top:70%;animation-delay:2.4s}.truck-spark-field i:nth-child(10){left:42%;top:52%;animation-delay:2.7s}.truck-spark-field i:nth-child(11){left:74%;top:35%;animation-delay:3s}.truck-spark-field i:nth-child(12){left:82%;top:31%;animation-delay:3.3s}.truck-spark-field i:nth-child(13){left:88%;top:38%;animation-delay:3.6s}.truck-spark-field i:nth-child(14){left:60%;top:40%;animation-delay:3.9s}.truck-spark-field i:nth-child(15){left:66%;top:28%;animation-delay:4.2s}.truck-spark-field i:nth-child(16){left:55%;top:24%;animation-delay:4.5s}.truck-spark-field i:nth-child(17){left:30%;top:45%;animation-delay:4.8s}.truck-spark-field i:nth-child(18){left:22%;top:55%;animation-delay:5.1s}.truck-spark-field i:nth-child(19){left:16%;top:66%;animation-delay:5.4s}.truck-spark-field i:nth-child(20){left:12%;top:38%;animation-delay:5.7s}.truck-spark-field i:nth-child(21){left:49%;top:33%;animation-delay:6s}.truck-spark-field i:nth-child(22){left:94%;top:62%;animation-delay:6.3s}.truck-spark-field i:nth-child(23){left:72%;top:82%;animation-delay:6.6s}.truck-spark-field i:nth-child(24){left:58%;top:84%;animation-delay:6.9s}
.truck-scanner{position:absolute;inset:0;z-index:7;pointer-events:none;background:linear-gradient(90deg,transparent 0%, rgba(214,171,54,.0) 42%, rgba(214,171,54,.18) 50%, rgba(255,64,44,.12) 52%, transparent 62%);mix-blend-mode:screen;opacity:.26;transform:translateX(-100%);animation:heroScanner 7.5s ease-in-out infinite;}
.truck-fuel-wave{position:absolute;right:4%;bottom:22%;width:44%;height:16%;z-index:7;pointer-events:none;border-radius:999px;background:repeating-linear-gradient(90deg,rgba(255,60,40,.0) 0 18px,rgba(255,60,40,.35) 19px 21px,rgba(214,171,54,.18) 22px 28px);filter:blur(10px);mix-blend-mode:screen;opacity:.26;animation:fuelWave 3.2s linear infinite;transform:translate3d(calc(var(--mx)*18px),calc(var(--my)*8px),0) skewX(-18deg);}
.truck-orbit-rings{position:absolute;right:10%;top:12%;width:320px;height:320px;z-index:4;pointer-events:none;opacity:.38;mix-blend-mode:screen;transform:translate3d(calc(var(--mx)*-26px),calc(var(--my)*-14px),0);}
.truck-orbit-rings span{position:absolute;inset:0;border:1px dashed rgba(214,171,54,.34);border-radius:50%;animation:orbitSpin 15s linear infinite;}.truck-orbit-rings span:nth-child(2){inset:42px;border-color:rgba(255,72,48,.30);animation-duration:10s;animation-direction:reverse}.truck-orbit-rings span:nth-child(3){inset:86px;border-color:rgba(111,143,201,.28);animation-duration:7.5s}
.truck-convoy-shadow{position:absolute;right:18%;bottom:18%;width:28%;height:16%;z-index:2;pointer-events:none;border-radius:55% 40% 30% 50%;background:linear-gradient(90deg,transparent,rgba(90,120,170,.12),rgba(255,75,48,.10),transparent);filter:blur(18px);mix-blend-mode:screen;animation:convoyGhost 9s ease-in-out infinite;}
.truck-convoy-shadow-b{right:35%;bottom:24%;width:20%;height:10%;animation-delay:3.4s;opacity:.55}
.truck-data-chip-c{left:34%;top:23%;animation-delay:.65s}.truck-data-chip-d{left:44%;bottom:20%;animation-delay:2.05s}.truck-gauge{position:absolute;right:33%;bottom:15%;width:94px;height:94px;border-radius:50%;border:1px solid rgba(214,171,54,.28);z-index:8;pointer-events:none;background:conic-gradient(from 225deg,rgba(255,64,44,.8) 0 78deg,rgba(214,171,54,.7) 78deg 206deg,rgba(255,255,255,.08) 206deg 360deg);box-shadow:inset 0 0 0 12px rgba(8,17,31,.65),0 0 28px rgba(214,171,54,.12);animation:gaugePulse 4s ease-in-out infinite;opacity:.72;transform:translate3d(calc(var(--mx)*-22px),calc(var(--my)*-12px),40px)}.truck-gauge span{position:absolute;left:50%;bottom:50%;width:34px;height:2px;background:var(--gold2);transform-origin:left center;animation:gaugeNeedle 3.6s ease-in-out infinite}.truck-gauge strong{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-size:10px;color:var(--gold2);letter-spacing:.09em}
.hero-click-burst{position:absolute;z-index:20;left:var(--burst-x);top:var(--burst-y);width:8px;height:8px;border-radius:50%;pointer-events:none;background:rgba(255,231,160,.85);box-shadow:0 0 14px rgba(255,70,48,.8);animation:heroBurst 850ms ease-out forwards;mix-blend-mode:screen;}
@keyframes heroAmbientBreath{0%,100%{opacity:1}50%{opacity:.78}}
@keyframes gantryPillarScan{0%,100%{opacity:.18;scale:1 .82}50%{opacity:.78;scale:1 1.08}}
@keyframes laneStreak{0%{transform:translateX(115%) scaleX(.35);opacity:0}14%{opacity:.7}62%{opacity:.38}100%{transform:translateX(-135%) scaleX(1.18);opacity:0}}
@keyframes dataRain{0%{transform:translateY(-18vh);opacity:0}14%{opacity:.75}75%{opacity:.42}100%{transform:translateY(110vh);opacity:0}}
@keyframes sparkFloat{0%,100%{transform:translate3d(0,0,0) scale(.7);opacity:.15}35%{opacity:.95}50%{transform:translate3d(calc(var(--mx)*20px),-22px,0) scale(1.3);opacity:.72}75%{opacity:.28}}
@keyframes heroScanner{0%,72%,100%{transform:translateX(-120%);opacity:0}10%{opacity:.38}45%{transform:translateX(120%);opacity:.20}}
@keyframes fuelWave{to{background-position:120px 0}}
@keyframes orbitSpin{to{rotate:360deg}}
@keyframes convoyGhost{0%,100%{transform:translateX(0) scale(.86);opacity:.08}45%{transform:translateX(-70px) scale(1.05);opacity:.34}72%{opacity:.1}}
@keyframes gaugePulse{0%,100%{opacity:.55;filter:brightness(1)}50%{opacity:.85;filter:brightness(1.18)}}
@keyframes gaugeNeedle{0%,100%{rotate:25deg}50%{rotate:118deg}}
@keyframes heroBurst{0%{transform:translate(-50%,-50%) scale(.8);opacity:1}100%{transform:translate(-50%,-50%) scale(12);opacity:0}}
@media(max-width:1100px){.truck-orbit-rings{width:220px;height:220px}.truck-gauge,.truck-data-chip-c,.truck-data-chip-d{display:none}.truck-data-rain{opacity:.28}.truck-lane-streaks{opacity:.32}}
@media(max-width:640px){.truck-gantry-pillars,.truck-lane-streaks,.truck-data-rain,.truck-spark-field,.truck-scanner,.truck-fuel-wave,.truck-orbit-rings,.truck-convoy-shadow,.truck-gauge,.hero-click-burst{display:none!important}}
@media(prefers-reduced-motion:reduce){.truck-gantry-pillars,.truck-lane-streaks,.truck-data-rain,.truck-spark-field,.truck-scanner,.truck-fuel-wave,.truck-orbit-rings,.truck-convoy-shadow,.truck-gauge,.hero-click-burst{animation:none!important;transform:none!important}}
@media print{.truck-gantry-pillars,.truck-lane-streaks,.truck-data-rain,.truck-spark-field,.truck-scanner,.truck-fuel-wave,.truck-orbit-rings,.truck-convoy-shadow,.truck-gauge,.hero-click-burst{display:none!important}}


/* v4.11 truck light-show enhancement — homepage only */
.truck-windscreen-sheen{
  position:absolute;
  z-index:5;
  pointer-events:none;
  width:16%;
  height:18%;
  right:11.2%;
  top:28.5%;
  background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,0) 18%, rgba(255,255,255,.26) 42%, rgba(214,171,54,.14) 54%, transparent 72%);
  mix-blend-mode:screen;
  filter:blur(1.2px);
  opacity:.36;
  transform:translate3d(calc(var(--mx)*24px),calc(var(--my)*10px),100px) skewX(-16deg);
}
.truck-windscreen-sheen-a{animation:windscreenSweepA 6.2s ease-in-out infinite;}
.truck-windscreen-sheen-b{right:13.2%;top:31%;width:12%;height:13%;opacity:.22;animation:windscreenSweepB 7.4s ease-in-out infinite 1.2s;}
.truck-top-lights{position:absolute;right:8.4%;top:27.6%;width:16.5%;height:4.2%;z-index:7;pointer-events:none;display:flex;justify-content:space-evenly;align-items:center;transform:translate3d(calc(var(--mx)*20px),calc(var(--my)*8px),120px);mix-blend-mode:screen;}
.truck-top-lights i{display:block;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle, rgba(255,247,211,.98) 0%, rgba(214,171,54,.9) 42%, rgba(255,86,48,.28) 72%, transparent 100%);box-shadow:0 0 10px rgba(255,208,110,.65),0 0 22px rgba(255,88,45,.22);animation:roofLampBlink 2.1s ease-in-out infinite;opacity:.9;}
.truck-top-lights i:nth-child(2){animation-delay:.18s}.truck-top-lights i:nth-child(3){animation-delay:.36s}.truck-top-lights i:nth-child(4){animation-delay:.54s}.truck-top-lights i:nth-child(5){animation-delay:.72s}
.truck-foglamp{position:absolute;z-index:6;pointer-events:none;width:70px;height:22px;border-radius:999px;background:radial-gradient(ellipse at center, rgba(255,247,213,.98) 0%, rgba(255,203,97,.54) 36%, rgba(255,84,47,.14) 76%, transparent 100%);filter:blur(6px);opacity:.8;mix-blend-mode:screen;animation:fogLampPulse 1.9s ease-in-out infinite;transform:translate3d(calc(var(--mx)*30px),calc(var(--my)*12px),120px);}
.truck-foglamp-left{right:14.8%;bottom:24.8%;}
.truck-foglamp-right{right:8.2%;bottom:21.6%;width:58px;height:20px;animation-delay:.42s;}
.truck-foglamp-beam{position:absolute;z-index:5;pointer-events:none;width:24vw;max-width:420px;height:90px;background:linear-gradient(90deg, rgba(255,231,167,.25), rgba(255,96,52,.08) 48%, transparent 82%);clip-path:polygon(0 46%, 100% 10%, 100% 90%, 0 54%);filter:blur(16px);mix-blend-mode:screen;opacity:.28;transform-origin:left center;transform:translate3d(calc(var(--mx)*18px),calc(var(--my)*7px),80px) rotate(calc(var(--my)*5deg));animation:fogBeamSweep 4.2s ease-in-out infinite;}
.truck-foglamp-beam-left{right:7.2%;bottom:18.8%;}
.truck-foglamp-beam-right{right:2.6%;bottom:16%;height:80px;opacity:.22;animation-delay:.7s;}
.truck-tank-redline-reflection{position:absolute;right:14.5%;bottom:25.8%;width:38%;height:11%;z-index:6;pointer-events:none;border-radius:999px;background:linear-gradient(90deg, transparent 0%, rgba(255,56,38,.0) 10%, rgba(255,63,43,.14) 22%, rgba(255,72,48,.75) 36%, rgba(214,171,54,.45) 42%, rgba(255,70,48,.10) 58%, transparent 72%);filter:blur(8px);mix-blend-mode:screen;opacity:.55;transform:translate3d(calc(var(--mx)*14px),calc(var(--my)*5px),80px) skewX(-14deg) rotate(-2deg);animation:tankRedlineFlow 3.6s linear infinite;}
.truck-tank-gloss{position:absolute;right:12.8%;bottom:27.5%;width:41%;height:17%;z-index:5;pointer-events:none;border-radius:999px;background:linear-gradient(105deg, transparent 8%, rgba(255,255,255,.0) 28%, rgba(255,255,255,.12) 40%, rgba(214,171,54,.08) 48%, transparent 60%);filter:blur(3px);mix-blend-mode:screen;opacity:.28;transform:translate3d(calc(var(--mx)*12px),calc(var(--my)*6px),50px) skewX(-18deg) rotate(-2deg);animation:tankGlossSweep 7s ease-in-out infinite;}
.truck-side-markers{position:absolute;right:17.5%;bottom:23.2%;width:34%;height:4%;z-index:7;pointer-events:none;display:flex;justify-content:space-evenly;align-items:center;transform:translate3d(calc(var(--mx)*16px),calc(var(--my)*6px),60px);mix-blend-mode:screen;opacity:.72;}
.truck-side-markers i{display:block;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle, rgba(255,245,205,.95) 0%, rgba(214,171,54,.92) 38%, rgba(255,77,46,.34) 72%, transparent 100%);box-shadow:0 0 8px rgba(255,200,100,.45),0 0 16px rgba(255,80,45,.18);animation:sideMarkerRun 2.6s ease-in-out infinite;}
.truck-side-markers i:nth-child(2){animation-delay:.14s}.truck-side-markers i:nth-child(3){animation-delay:.28s}.truck-side-markers i:nth-child(4){animation-delay:.42s}.truck-side-markers i:nth-child(5){animation-delay:.56s}.truck-side-markers i:nth-child(6){animation-delay:.7s}
@keyframes roofLampBlink{0%,100%{opacity:.46;transform:scale(.88);filter:brightness(1)}18%{opacity:1;transform:scale(1.15);filter:brightness(1.45)}28%{opacity:.66;transform:scale(.96)}46%{opacity:.98;transform:scale(1.08);filter:brightness(1.28)}}
@keyframes fogLampPulse{0%,100%{opacity:.44;filter:blur(7px) brightness(1)}40%{opacity:.98;filter:blur(4px) brightness(1.35)}62%{opacity:.66;filter:blur(6px) brightness(1.1)}}
@keyframes fogBeamSweep{0%,100%{opacity:.12;transform:translate3d(calc(var(--mx)*16px),calc(var(--my)*6px),80px) rotate(calc(var(--my)*5deg)) scaleX(.84)}50%{opacity:.34;transform:translate3d(calc(var(--mx)*22px),calc(var(--my)*9px),80px) rotate(calc(var(--my)*7deg)) scaleX(1.06)}}
@keyframes windscreenSweepA{0%,100%{opacity:.16;transform:translate3d(calc(var(--mx)*20px),calc(var(--my)*10px),100px) skewX(-16deg) translateX(-16px)}32%{opacity:.42}50%{opacity:.06;transform:translate3d(calc(var(--mx)*30px),calc(var(--my)*12px),100px) skewX(-16deg) translateX(42px)}58%{opacity:.34}72%{opacity:.14}}
@keyframes windscreenSweepB{0%,100%{opacity:.08;transform:translate3d(calc(var(--mx)*18px),calc(var(--my)*8px),100px) skewX(-14deg) translateX(22px)}46%{opacity:.28}60%{opacity:.02;transform:translate3d(calc(var(--mx)*8px),calc(var(--my)*6px),100px) skewX(-14deg) translateX(-24px)}76%{opacity:.22}}
@keyframes tankRedlineFlow{0%{background-position:-260px 0;opacity:.3}20%{opacity:.62}50%{opacity:.9}100%{background-position:320px 0;opacity:.34}}
@keyframes tankGlossSweep{0%,100%{opacity:.12;transform:translate3d(calc(var(--mx)*8px),calc(var(--my)*5px),50px) skewX(-18deg) rotate(-2deg) translateX(-18px)}48%{opacity:.32}52%{transform:translate3d(calc(var(--mx)*18px),calc(var(--my)*8px),50px) skewX(-18deg) rotate(-2deg) translateX(36px);opacity:.08}76%{opacity:.24}}
@keyframes sideMarkerRun{0%,100%{opacity:.26;transform:scale(.82)}18%{opacity:1;transform:scale(1.12)}36%{opacity:.42;transform:scale(.9)}}
@media(max-width:1100px){.truck-top-lights{width:18%}.truck-tank-redline-reflection{width:42%}.truck-side-markers{width:38%}}
@media(max-width:640px){.truck-windscreen-sheen,.truck-top-lights,.truck-foglamp,.truck-foglamp-beam,.truck-tank-redline-reflection,.truck-tank-gloss,.truck-side-markers{display:none!important}}
@media(prefers-reduced-motion:reduce){.truck-windscreen-sheen,.truck-top-lights,.truck-foglamp,.truck-foglamp-beam,.truck-tank-redline-reflection,.truck-tank-gloss,.truck-side-markers{animation:none!important;transform:none!important}}
@media print{.truck-windscreen-sheen,.truck-top-lights,.truck-foglamp,.truck-foglamp-beam,.truck-tank-redline-reflection,.truck-tank-gloss,.truck-side-markers{display:none!important}}


/* v4.12 attached-visual integration + refined click bursts — homepage only */
.truck-alert-wash{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 84% 18%, rgba(255,58,40,.18), transparent 22%),
    radial-gradient(circle at 72% 42%, rgba(255,72,48,.10), transparent 28%),
    linear-gradient(90deg, rgba(255,56,38,.0) 0%, rgba(255,56,38,.0) 56%, rgba(255,56,38,.06) 78%, rgba(255,56,38,.0) 100%);
  mix-blend-mode:screen;
  opacity:.52;
  animation:alertWashPulse 6.4s ease-in-out infinite;
}
.truck-route-hotspots{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:screen;opacity:.82;transform:translate3d(calc(var(--mx)*-12px),calc(var(--my)*-6px),0);}
.truck-route-hotspots i{position:absolute;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle, rgba(255,242,195,.98) 0%, rgba(255,76,44,.86) 42%, rgba(255,76,44,.14) 72%, transparent 100%);box-shadow:0 0 10px rgba(255,72,44,.75),0 0 24px rgba(255,72,44,.22);animation:hotspotPulse 2.8s ease-in-out infinite;}
.truck-route-hotspots i:nth-child(1){left:33%;top:44%;animation-delay:0s}.truck-route-hotspots i:nth-child(2){left:45%;top:37%;animation-delay:.35s}.truck-route-hotspots i:nth-child(3){left:53%;top:32%;animation-delay:.7s}.truck-route-hotspots i:nth-child(4){left:58%;top:25%;animation-delay:1.05s}.truck-route-hotspots i:nth-child(5){left:63%;top:20%;animation-delay:1.4s}.truck-route-hotspots i:nth-child(6){left:70%;top:33%;animation-delay:1.75s}.truck-route-hotspots i:nth-child(7){left:49%;top:58%;animation-delay:2.1s}.truck-route-hotspots i:nth-child(8){left:76%;top:18%;animation-delay:2.45s}
.truck-radar-cone{
  position:absolute;
  right:5.8%;
  top:2.2%;
  width:34%;
  height:38%;
  z-index:4;
  pointer-events:none;
  background:conic-gradient(from 300deg at 66% 40%, rgba(255,78,46,.0) 0deg, rgba(255,78,46,.0) 302deg, rgba(255,78,46,.44) 324deg, rgba(255,98,58,.18) 342deg, rgba(255,78,46,.0) 360deg);
  clip-path:ellipse(42% 48% at 72% 38%);
  mix-blend-mode:screen;
  opacity:.42;
  transform:translate3d(calc(var(--mx)*-14px),calc(var(--my)*-8px),0);
  animation:radarConeSweep 4.8s linear infinite;
}
.truck-background-beacons{position:absolute;inset:0;z-index:4;pointer-events:none;mix-blend-mode:screen;opacity:.84;}
.truck-background-beacons i{position:absolute;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle, rgba(255,240,190,1) 0%, rgba(255,73,44,.92) 42%, rgba(255,73,44,.18) 78%, transparent 100%);box-shadow:0 0 10px rgba(255,73,44,.85),0 0 22px rgba(255,73,44,.24);animation:beaconFlash 3.4s ease-in-out infinite;}
.truck-background-beacons i:nth-child(1){left:56%;top:66%;animation-delay:0s}.truck-background-beacons i:nth-child(2){left:66%;top:54%;animation-delay:.4s}.truck-background-beacons i:nth-child(3){left:74%;top:63%;animation-delay:.8s}.truck-background-beacons i:nth-child(4){left:82%;top:58%;animation-delay:1.2s}.truck-background-beacons i:nth-child(5){left:90%;top:47%;animation-delay:1.6s}.truck-background-beacons i:nth-child(6){left:94%;top:34%;animation-delay:2.0s}.truck-background-beacons i:nth-child(7){left:88%;top:28%;animation-delay:2.4s}.truck-background-beacons i:nth-child(8){left:62%;top:74%;animation-delay:2.8s}
.truck-route-map .route{stroke-width:2.2;filter:drop-shadow(0 0 9px rgba(255,45,34,.36));}
.truck-route-map .route-a{stroke:rgba(255,82,48,.68)}
.truck-route-map .route-b{stroke:rgba(255,152,88,.34)}
.truck-route-map .route-c{stroke:rgba(255,88,58,.24)}
.truck-radar-sweep{opacity:.54;box-shadow:0 0 0 42px rgba(214,171,54,.025),0 0 0 84px rgba(214,171,54,.018),0 0 70px rgba(255,64,44,.12),inset 0 0 32px rgba(214,171,54,.08)}
.hero-click-burst{animation-duration:700ms!important;opacity:.82;}
@keyframes alertWashPulse{0%,100%{opacity:.34;filter:brightness(1)}42%{opacity:.62;filter:brightness(1.16)}60%{opacity:.72;filter:brightness(1.24)}}
@keyframes hotspotPulse{0%,100%{opacity:.3;transform:scale(.76)}28%{opacity:1;transform:scale(1.18)}52%{opacity:.64;transform:scale(.92)}}
@keyframes radarConeSweep{0%{transform:translate3d(calc(var(--mx)*-14px),calc(var(--my)*-8px),0) rotate(0deg);opacity:.18}14%{opacity:.46}50%{opacity:.32}100%{transform:translate3d(calc(var(--mx)*-14px),calc(var(--my)*-8px),0) rotate(360deg);opacity:.18}}
@keyframes beaconFlash{0%,100%{opacity:.18;transform:scale(.72)}18%{opacity:1;transform:scale(1.22)}34%{opacity:.42;transform:scale(.9)}}
@media(max-width:1100px){.truck-radar-cone{width:42%;height:34%;right:3%}.truck-route-hotspots i:nth-child(8){display:none}}
@media(max-width:640px){.truck-alert-wash,.truck-route-hotspots,.truck-radar-cone,.truck-background-beacons{display:none!important}}
@media(prefers-reduced-motion:reduce){.truck-alert-wash,.truck-route-hotspots,.truck-radar-cone,.truck-background-beacons{animation:none!important;transform:none!important}}
@media print{.truck-alert-wash,.truck-route-hotspots,.truck-radar-cone,.truck-background-beacons{display:none!important}}


/* v4.53.3 WebP-only truck hero lock + platform-wide button motion */
.toolbar-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0 16px}
.btn,button{
  position:relative;
  overflow:hidden;
  transition:transform .16s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease, background .22s ease;
}
.btn::after,button::after{
  content:"";
  position:absolute;
  top:-140%;
  left:-36%;
  width:28%;
  height:320%;
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.26), rgba(255,255,255,0));
  transform:rotate(22deg) translateX(-180%);
  opacity:.0;
  pointer-events:none;
}
.btn:hover,button:hover{text-decoration:none;filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 14px 28px rgba(214,171,54,.2)}
.btn:hover::after,button:hover::after{opacity:1;animation:btnSheen .72s ease forwards}
.btn:active,button:active{transform:translateY(1px) scale(.985);box-shadow:0 6px 14px rgba(214,171,54,.14)}
.btn.secondary:hover{box-shadow:0 14px 28px rgba(22,60,124,.32)}
.btn.ghost:hover{box-shadow:0 8px 18px rgba(214,171,54,.08);border-color:rgba(214,171,54,.62)}
.pulse-sync{animation:syncButtonPulse 2.6s ease-in-out infinite}
@keyframes btnSheen{0%{transform:rotate(22deg) translateX(-220%)}100%{transform:rotate(22deg) translateX(560%)}}
@keyframes syncButtonPulse{0%,100%{box-shadow:0 0 0 0 rgba(45,105,220,.0),0 8px 18px rgba(22,60,124,.22)}42%{box-shadow:0 0 0 7px rgba(45,105,220,.10),0 12px 24px rgba(22,60,124,.3)}}
.truck-hero-image{background-repeat:no-repeat;background-size:cover;background-position:center right;will-change:transform,opacity,filter}
.truck-hero-image-primary{background-image:url('/assets/lionsgate-truck-hero-volvo-orange.webp');filter:contrast(1.08) saturate(1.0) brightness(.98);opacity:.96;animation:truckHeroPrimaryPulse 7.5s ease-in-out infinite}
.truck-hero-image-alt{z-index:4;mix-blend-mode:screen;pointer-events:none}
.truck-hero-image-orange{background-image:url('/assets/lionsgate-truck-hero-volvo-orange.webp');opacity:.18;filter:contrast(1.08) saturate(1.06) brightness(1.01);animation:truckHeroOrangeCross 8.2s ease-in-out infinite}
.truck-hero-image-red{display:none!important;background-image:none!important;opacity:0!important;animation:none!important}
.truck-hero-image-radar{background-image:url('/assets/lionsgate-truck-hero-radar.webp');opacity:.16;filter:contrast(1.06) saturate(1.02) brightness(.98);animation:truckHeroRadarCross 9.2s ease-in-out infinite}
@keyframes truckHeroPrimaryPulse{0%,100%{opacity:.92;filter:contrast(1.06) saturate(.98) brightness(.96);transform:translate3d(calc(var(--mx)*18px),calc(var(--my)*10px),0) scale(1.035)}50%{opacity:1;filter:contrast(1.12) saturate(1.04) brightness(1.03);transform:translate3d(calc(var(--mx)*20px),calc(var(--my)*11px),0) scale(1.055)}}
@keyframes truckHeroOrangeCross{0%,100%{opacity:.06;transform:translate3d(calc(var(--mx)*16px),calc(var(--my)*9px),0) scale(1.03)}22%{opacity:.20}50%{opacity:.34;transform:translate3d(calc(var(--mx)*18px),calc(var(--my)*11px),0) scale(1.06)}74%{opacity:.12}}
@keyframes truckHeroRedCross{0%,100%{opacity:.04;transform:translate3d(calc(var(--mx)*14px),calc(var(--my)*8px),0) scale(1.025)}18%{opacity:.10}50%{opacity:.46;transform:translate3d(calc(var(--mx)*19px),calc(var(--my)*12px),0) scale(1.055)}82%{opacity:.12}}
@keyframes truckHeroRadarCross{0%,100%{opacity:.04;transform:translate3d(calc(var(--mx)*13px),calc(var(--my)*7px),0) scale(1.02)}24%{opacity:.10}50%{opacity:.28;transform:translate3d(calc(var(--mx)*17px),calc(var(--my)*10px),0) scale(1.045)}76%{opacity:.08}}
@media(max-width:640px){.toolbar-row{gap:8px}.toolbar-row .btn,.toolbar-row button{width:100%;text-align:center}.btn::after,button::after{display:none}.truck-hero-image-orange,.truck-hero-image-red,.truck-hero-image-radar{opacity:.08}}
@media(prefers-reduced-motion:reduce){.btn,button,.btn::after,button::after,.pulse-sync,.truck-hero-image-primary,.truck-hero-image-orange,.truck-hero-image-red,.truck-hero-image-radar{animation:none!important;transition:none!important;transform:none!important}}
@media print{.pulse-sync{animation:none!important}.btn::after,button::after{display:none!important}}


/* v4.14 permanent portrait print + analytics/table controls */
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr));}
.analytics-grid{width:100%;}
.analytics-document{break-inside:avoid;}
@media(max-width:1200px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.grid.four{grid-template-columns:1fr;}}
@media print{
  @page{size:A4 portrait;margin:10mm!important;}
  html,body{width:190mm!important;max-width:190mm!important;min-width:0!important;overflow:visible!important;font-size:9px!important;background:#fff!important;color:#111!important;}
  .container{width:190mm!important;max-width:190mm!important;margin:0!important;padding:0!important;overflow:visible!important;}
  .card,.invoice-document,.statement-document,.payment-document,.release-pack,.formula-document,.kyc-document,.analytics-document{width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important;box-sizing:border-box!important;page-break-inside:auto!important;break-inside:auto!important;}
  .grid.two,.grid.three,.grid.four,.analytics-grid{display:block!important;}
  .grid.two>.card,.grid.three>.card,.grid.four>.card,.analytics-grid>.kpi{display:block!important;width:100%!important;margin-bottom:6px!important;}
  .table,.table.compact{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:8px!important;}
  .table th,.table td{padding:3px 4px!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;line-height:1.18!important;max-width:0!important;}
  .table th{font-size:7px!important;letter-spacing:0!important;}
  .table td small,.table th small{font-size:7px!important;}
  .status{font-size:7px!important;line-height:1.1!important;display:inline-block!important;max-width:100%!important;}
  .doc-head,.invoice-head{display:block!important;border-bottom:1px solid #999!important;}
  .doc-title,.invoice-company{text-align:left!important;margin-top:6px!important;}
  .doc-brand img,.footer-brand img{width:38px!important;height:38px!important;}
  .kpi{padding:5px!important;margin:0 0 5px!important;page-break-inside:avoid!important;}
  .kpi .label{font-size:7px!important}.kpi .value{font-size:11px!important;}
  h1{font-size:15px!important;margin-bottom:6px!important} h2{font-size:12px!important;margin-bottom:5px!important} h3{font-size:10px!important;}
  .notice{padding:5px!important;font-size:8px!important;}
  .signature-grid{display:block!important;}.signature-grid>div{min-height:55px!important;margin-bottom:6px!important;}
  .document-actions,.page-tools,.topbar,.footer,.no-print{display:none!important;}
}


/* v4.16 payment workflow helpers */
.btn.success,button.success{background:linear-gradient(180deg,#58d68d,#15803d)!important;color:#05130a!important;box-shadow:0 10px 22px rgba(34,197,94,.18)}
.workflow-actions form{margin:0 0 16px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(8,17,31,.38)}
.workflow-actions h3{margin-bottom:10px}


/* v4.17 final portrait print-fit and larger document logo overrides */
.doc-brand img{width:112px;height:112px;object-fit:contain;}
@media print{
  @page{size:A4 portrait;margin:7mm!important;}
  html,body{width:196mm!important;max-width:196mm!important;font-size:8.7px!important;line-height:1.12!important;overflow:visible!important;background:#fff!important;color:#111!important;}
  .container{width:196mm!important;max-width:196mm!important;margin:0!important;padding:0!important;}
  .topbar,.footer,.page-tools,.no-print,.document-actions{display:none!important;}
  .card,.invoice-document,.statement-document,.payment-document,.release-pack,.formula-document,.kyc-document,.analytics-document{
    width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 4px 0!important;padding:4px!important;
    box-shadow:none!important;border:0!important;background:#fff!important;color:#111!important;overflow:visible!important;box-sizing:border-box!important;
  }
  .doc-head,.invoice-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:7px!important;border-bottom:1px solid #777!important;padding-bottom:4px!important;margin-bottom:5px!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  .doc-brand{display:flex!important;align-items:flex-start!important;gap:8px!important;min-width:0!important;}
  .doc-brand img,.footer-brand img{width:110px!important;height:110px!important;max-width:110px!important;max-height:110px!important;object-fit:contain!important;padding:2px!important;border:1px solid #aaa!important;background:#fff!important;}
  .doc-brand-text{min-width:0!important;}
  .doc-brand-text strong{font-size:13px!important;line-height:1.1!important;margin-bottom:2px!important;color:#111!important;}
  .doc-brand-text .meta,.invoice-company,.muted,.smalltext{font-size:7.7px!important;line-height:1.15!important;color:#222!important;}
  .doc-title,.invoice-company{text-align:right!important;margin:0!important;min-width:38mm!important;}
  .doc-title h1,h1{font-size:14px!important;line-height:1.08!important;margin:0 0 3px 0!important;color:#111!important;}
  h2{font-size:10.5px!important;line-height:1.1!important;margin:5px 0 3px 0!important;color:#111!important;}
  h3{font-size:9.5px!important;line-height:1.1!important;margin:3px 0!important;color:#111!important;}
  p{margin:2px 0 4px 0!important;}
  .grid.two,.grid.three,.grid.four{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;margin:3px 0!important;}
  .invoice-box,.invoice-total-box,.notice,.kpi-mini{padding:4px!important;margin:0 0 4px 0!important;background:#fff!important;color:#111!important;border:1px solid #bbb!important;border-radius:4px!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  .table,.table.compact{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:7.7px!important;margin:0 0 4px 0!important;}
  .table th,.table td{padding:2px 3px!important;line-height:1.08!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;max-width:0!important;border:1px solid #bbb!important;color:#111!important;background:#fff!important;}
  .table th{font-size:6.8px!important;letter-spacing:0!important;font-weight:800!important;background:#f1f1f1!important;color:#111!important;}
  .invoice-grand th,.invoice-grand td{font-size:9px!important;background:#eaeaea!important;color:#111!important;}
  .status{font-size:6.6px!important;line-height:1!important;padding:1px 2px!important;max-width:100%!important;white-space:normal!important;background:#fff!important;color:#111!important;border:1px solid #999!important;}
  .signature-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;margin-top:5px!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  .signature-grid>div{min-height:38px!important;padding:5px!important;margin:0!important;background:#fff!important;color:#111!important;border:1px solid #aaa!important;border-radius:4px!important;font-size:7.6px!important;line-height:1.12!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  .notice{font-size:7.4px!important;line-height:1.12!important;}
  .kpi{padding:4px!important;margin:0 0 4px!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  .kpi .label{font-size:6.8px!important}.kpi .value{font-size:10px!important;}
  .print-fit-one-page .invoice-document,.print-fit-one-page .payment-document,.print-fit-one-page .release-pack,.print-fit-one-page .formula-document,.print-fit-one-page .kyc-document,.print-fit-one-page .statement-document{zoom:var(--print-fit-zoom, .92)!important;}
  .print-compact-force .invoice-document,.print-compact-force .payment-document,.print-compact-force .release-pack{zoom:.88!important;}
}


/* v4.18 larger replacement logo on site and print */
.footer-brand{display:flex;align-items:center;gap:16px}
.footer-brand strong{font-size:20px;line-height:1.08}
.footer-brand span{line-height:1.2}
@media (max-width:1100px){
  .topbar nav{justify-content:flex-start;padding-top:0}
}
@media (max-width:780px){
  .topbar{padding:12px 16px}
  .brand-wrap,.topbar nav{flex-basis:100%}
  .brand-home{align-items:flex-start}
  .brand-logo{width:150px;height:150px;min-width:150px;min-height:150px}
  .footer-brand{align-items:flex-start}
}
.doc-brand img{width:150px!important;height:150px!important;min-width:150px!important;min-height:150px!important;max-width:150px!important;max-height:150px!important}
@media print{
  .doc-brand img,.footer-brand img{width:150px!important;height:150px!important;min-width:150px!important;min-height:150px!important;max-width:150px!important;max-height:150px!important;object-fit:contain!important;padding:2px!important;border:1px solid #aaa!important;background:#fff!important}
}


/* v4.19 print alignment, clean logo and finance pack centering */
.trade-finance-document .finance-table th,
.trade-finance-document .finance-table td{text-align:center;vertical-align:middle;}
.trade-finance-document .finance-table .description-cell{text-align:left;}
.doc-ref-unique{margin-top:5px;background:rgba(23,60,124,.14);border-color:rgba(23,60,124,.35);color:#dbe7ff;}
@media print{
  .doc-brand img,.footer-brand img{border:none!important;background:transparent!important;padding:0!important;box-shadow:none!important;}
  .table th,.table td{text-align:center!important;vertical-align:middle!important;}
  .table td.description-cell,
  .table th.description-cell,
  .table td:nth-child(4),
  .invoice-lines td:first-child,
  .statement-document .table td:nth-child(4),
  .release-pack .table td:nth-child(2),
  .kyc-document .table td:nth-child(2),
  .formula-document .table td:nth-child(2){text-align:left!important;}
  .invoice-box .table th,.invoice-box .table td,.invoice-total-box .table th,.invoice-total-box .table td{text-align:center!important;vertical-align:middle!important;}
  .doc-ref-unique{background:#fff!important;color:#111!important;border:1px solid #999!important;}
}


/* v4.21 print alignment, larger text, label-column formatting and hero refresh */
@media print{
  html,body{font-size:10.6px!important;line-height:1.22!important;}
  .doc-brand-text .meta,.invoice-company,.muted,.smalltext{font-size:9.4px!important;line-height:1.22!important;}
  h1,.doc-title h1{font-size:16.3px!important;line-height:1.1!important;}
  h2{font-size:12.4px!important;line-height:1.14!important;}
  h3{font-size:11.2px!important;line-height:1.14!important;}
  .table,.table.compact{font-size:9.5px!important;}
  .table td{text-align:center!important;vertical-align:middle!important;}
  .table th{font-size:8.4px!important;vertical-align:middle!important;font-weight:800!important;}
  .table.compact th,
  .payment-document .table.compact th,
  .release-pack .table.compact th,
  .invoice-document .table.compact th,
  .statement-document .table.compact th,
  .formula-document .table.compact th,
  .kyc-document .table.compact th{ text-align:left!important; padding-left:9px!important; }
  .table.compact td,
  .payment-document .table.compact td,
  .release-pack .table.compact td,
  .invoice-document .table.compact td,
  .statement-document .table.compact td,
  .formula-document .table.compact td,
  .kyc-document .table.compact td{ text-align:center!important; }
  .trade-finance-document .kpi,
  .trade-finance-document .kpi .label,
  .trade-finance-document .kpi .value,
  .analytics-grid .kpi,
  .analytics-grid .kpi .label,
  .analytics-grid .kpi .value{ text-align:center!important; }
  .trade-finance-document .finance-table th:first-child,
  .trade-finance-document .finance-table td:first-child,
  .trade-finance-document .finance-table tr > *:first-child,
  .payment-document .table.compact th:first-child,
  .invoice-document .table.compact th:first-child,
  .release-pack .table.compact th:first-child,
  .statement-document .table.compact th:first-child,
  .formula-document .table.compact th:first-child,
  .kyc-document .table.compact th:first-child{ text-align:left!important; padding-left:9px!important; }
  .trade-finance-document .finance-table th:first-child,
  .trade-finance-document .finance-table td:first-child{ font-weight:800!important; }
  .trade-finance-document .finance-table th:not(:first-child),
  .trade-finance-document .finance-table td:not(:first-child){ text-align:center!important; }
  .table td.description-cell,
  .table th.description-cell,
  .description-cell,
  .invoice-lines td:first-child,
  .invoice-lines th:first-child,
  .statement-document .table:not(.compact) td:nth-child(4),
  .statement-document .table:not(.compact) th:nth-child(4),
  .audit-document .table td:nth-child(6),
  .formula-document table tr:last-child td,
  .price-document .description-cell,
  td[data-align="description"],
  th[data-align="description"],
  .price-document .table tr > *:first-child,
  .formula-document .table tr > *:first-child,
  .kyc-document .table tr > *:first-child,
  .release-pack .table tr > *:first-child,
  .payment-document .table tr > *:first-child{ text-align:left!important; padding-left:9px!important; }
  .right{text-align:center!important;}
  .notice{font-size:9.1px!important;}
  .signature-grid>div{font-size:9.2px!important;}
  .status{font-size:8px!important;}
  .kpi .label{font-size:8.2px!important}.kpi .value{font-size:11.9px!important;}
  .doc-brand img,.footer-brand img{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;}
}
.price-records-table td,.price-records-table th{text-align:center;vertical-align:middle;}
.price-document .table td,.price-document .table th{text-align:center;vertical-align:middle;}
.price-document .table tr > *:first-child,.price-document .description-cell{text-align:left;}
.trade-finance-document .kpi,.trade-finance-document .kpi .label,.trade-finance-document .kpi .value{text-align:center;}


/* v4.23 final KYC/status metric centering and print field alignment */
.kyc-document .dl-inline{justify-content:center;align-items:stretch;gap:14px;width:100%;}
.kyc-document .kpi-mini{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:74px;}
.kyc-document .kpi-mini span,.kyc-document .kpi-mini strong{text-align:center;width:100%;}
.kyc-document .table th,.kyc-document .table td{text-align:center;vertical-align:middle;}
.kyc-document .table td:first-child,.kyc-document .table th:first-child{text-align:center;}
@media print{
  .kyc-document .dl-inline{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:5px!important;align-items:stretch!important;}
  .kyc-document .kpi-mini{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;min-height:30px!important;padding:4px!important;}
  .kyc-document .kpi-mini span,.kyc-document .kpi-mini strong{text-align:center!important;width:100%!important;}
  .kyc-document .table th,.kyc-document .table td{text-align:center!important;vertical-align:middle!important;}
  .kyc-document .table tr > *:first-child{text-align:center!important;padding-left:3px!important;}
  .kyc-document .table.compact th:first-child,
  .kyc-document .table.compact td:first-child{text-align:center!important;padding-left:3px!important;}
  .payment-document .table.compact th,
  .release-pack .table.compact th,
  .invoice-document .table.compact th,
  .statement-document .table.compact th,
  .formula-document .table.compact th,
  .price-document .table.compact th{font-weight:800!important;text-align:left!important;padding-left:9px!important;}
  .payment-document .table.compact td,
  .release-pack .table.compact td,
  .invoice-document .table.compact td,
  .statement-document .table.compact td,
  .formula-document .table.compact td,
  .price-document .table.compact td{text-align:center!important;}
  .trade-finance-document .kpi,.trade-finance-document .kpi .label,.trade-finance-document .kpi .value,
  .analytics-document .kpi,.analytics-document .kpi .label,.analytics-document .kpi .value{text-align:center!important;}
  .table td.description-cell,
  .table th.description-cell,
  .description-cell,
  td[data-align="description"],
  th[data-align="description"],
  .invoice-lines td:first-child,
  .invoice-lines th:first-child,
  .statement-document .table:not(.compact) td:nth-child(4),
  .statement-document .table:not(.compact) th:nth-child(4){text-align:left!important;padding-left:9px!important;}
  .doc-brand img,.footer-brand img{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;}
}

/* v4.24 hard print containment: KYC and KPI blocks must never overrun their parent boxes */
.kyc-document .invoice-box,
.kyc-document .dl-inline,
.kyc-document .kpi-mini{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.kyc-document .dl-inline{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  width:100%;
  overflow:hidden;
}
.kyc-document .kpi-mini{
  min-width:0!important;
  width:100%;
  max-width:100%;
  overflow:hidden;
  text-align:center;
}
.kyc-document .kpi-mini span,
.kyc-document .kpi-mini strong{
  display:block;
  width:100%;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
}
@media print{
  .kyc-document,
  .kyc-document .card,
  .kyc-document .invoice-box,
  .kyc-document .grid,
  .kyc-document .grid.two,
  .kyc-document .dl-inline{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .kyc-document .grid.two{
    display:block!important;
    grid-template-columns:none!important;
    gap:0!important;
    margin:2px 0!important;
  }
  .kyc-document .grid.two > *{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 4px 0!important;
    box-sizing:border-box!important;
  }
  .kyc-document .dl-inline{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:3px!important;
    padding:0!important;
    margin:0!important;
  }
  .kyc-document .kpi-mini,
  .kyc-document .dl-inline .kpi-mini{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    padding:3px 2px!important;
    margin:0!important;
    border:1px solid #bbb!important;
    border-radius:3px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .kyc-document .kpi-mini span,
  .kyc-document .kpi-mini strong{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    padding:0!important;
    margin:0!important;
    line-height:1.05!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .kyc-document .kpi-mini span{font-size:7.3px!important;font-weight:800!important;text-transform:uppercase!important;}
  .kyc-document .kpi-mini strong{font-size:9.6px!important;font-weight:900!important;}
  .kyc-document h2{clear:both!important;}
  .kyc-document .table{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    overflow:hidden!important;
  }
  .kyc-document .table th,
  .kyc-document .table td{
    text-align:center!important;
    vertical-align:middle!important;
  }
  .kyc-document .table td.description-cell,
  .kyc-document .table th.description-cell,
  .kyc-document td[data-align="description"],
  .kyc-document th[data-align="description"]{
    text-align:left!important;
    padding-left:8px!important;
  }
}

/* v4.26 Operations Control Centre + Data Integrity UI */
.stage-awaiting-payment,.stage-supplier-payment-pending,.stage-gantry-upliftment-pending,.stage-exception-blocked{border-color:rgba(255,184,77,.38)!important;background:linear-gradient(180deg,rgba(255,184,77,.08),rgba(8,17,31,.68))!important}
.stage-release-ready,.stage-released{border-color:rgba(68,210,117,.45)!important;background:linear-gradient(180deg,rgba(68,210,117,.10),rgba(8,17,31,.68))!important}
.stage-matrix .kpi,.ops-card .kpi{min-height:92px}
.timeline-list{display:grid;gap:12px;margin:16px 0}
.timeline-item{border:1px solid rgba(214,171,54,.18);border-radius:16px;padding:12px 14px;background:rgba(8,17,31,.72)}
.timeline-item strong{display:block;color:#fff}.timeline-item small{color:#aebbd8}
.table-wrap{overflow:auto;max-width:100%}
@media print{.stage-awaiting-payment,.stage-supplier-payment-pending,.stage-gantry-upliftment-pending,.stage-exception-blocked,.stage-release-ready,.stage-released{background:#fff!important;border-color:#bbb!important}.table-wrap{overflow:visible!important}.operations-document .kpi{break-inside:avoid}}

/* v4.27 Commercial Trading Engine + standardized v4.26/v4.27 print controls */
.commercial-document .kpi .label,.commercial-document .kpi .value,.operations-document .kpi .label,.operations-document .kpi .value,.timeline-document .kpi .label,.timeline-document .kpi .value{ text-align:center; }
.commercial-document .table th,.commercial-document .table td{vertical-align:middle;}
.commercial-document .table td:first-child,.commercial-document .table th:first-child{font-weight:800;text-align:left;padding-left:10px;}
.commercial-document .table td:not(:first-child),.commercial-document .table th:not(:first-child){text-align:center;}
@media print{
  .commercial-document,.operations-document,.timeline-document,.document-register-document,.bank-reconciliation-document,.master-data-document,.exception-document,.approval-document,.backup-document,.notification-document{width:100%!important;max-width:100%!important;overflow:visible!important;background:#fff!important;color:#111!important;box-shadow:none!important;border:0!important;}
  .commercial-document .grid,.operations-document .grid,.timeline-document .grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;}
  .commercial-document .kpi,.operations-document .kpi,.timeline-document .kpi{min-width:0!important;width:auto!important;break-inside:avoid!important;text-align:center!important;padding:7px!important;border:1px solid #bbb!important;background:#fff!important;color:#111!important;}
  .commercial-document .kpi .label,.commercial-document .kpi .value,.operations-document .kpi .label,.operations-document .kpi .value,.timeline-document .kpi .label,.timeline-document .kpi .value{text-align:center!important;color:#111!important;}
  .commercial-document .table,.operations-document .table,.timeline-document .table,.document-register-document .table,.bank-reconciliation-document .table,.master-data-document .table,.exception-document .table,.approval-document .table,.backup-document .table,.notification-document .table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9.5px!important;}
  .commercial-document .table th,.commercial-document .table td,.operations-document .table th,.operations-document .table td,.timeline-document .table th,.timeline-document .table td,.document-register-document .table th,.document-register-document .table td,.bank-reconciliation-document .table th,.bank-reconciliation-document .table td,.master-data-document .table th,.master-data-document .table td,.exception-document .table th,.exception-document .table td,.approval-document .table th,.approval-document .table td,.backup-document .table th,.backup-document .table td,.notification-document .table th,.notification-document .table td{overflow-wrap:anywhere!important;word-break:break-word!important;text-align:center!important;vertical-align:middle!important;padding:5px!important;}
  .commercial-document .table th:first-child,.commercial-document .table td:first-child,.operations-document .table th:first-child,.operations-document .table td:first-child,.timeline-document .table th:nth-child(3),.timeline-document .table td:nth-child(3),.document-register-document .table th:nth-child(2),.document-register-document .table td:nth-child(2),.bank-reconciliation-document .table th:nth-child(3),.bank-reconciliation-document .table td:nth-child(3){text-align:left!important;padding-left:8px!important;font-weight:800!important;}
  .commercial-document .description-cell,.operations-document .description-cell,.timeline-document .description-cell,.document-register-document .description-cell,.bank-reconciliation-document .description-cell{text-align:left!important;padding-left:8px!important;font-weight:800!important;}
}

/* v4.28 Customer & Credit Intelligence + page helper/tooltips */
.lgft-tip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;margin-left:5px;background:rgba(214,171,54,.16);border:1px solid rgba(214,171,54,.55);color:#f5d26e;font-size:11px;font-weight:900;line-height:1;cursor:help;position:relative;vertical-align:middle;z-index:30}.lgft-tip::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);width:min(340px,72vw);padding:10px 12px;border-radius:12px;background:#08111f;color:#f5f7fb;border:1px solid rgba(214,171,54,.42);box-shadow:0 16px 40px rgba(0,0,0,.38);font-size:12px;line-height:1.45;font-weight:500;white-space:normal;text-align:left;opacity:0;pointer-events:none;transition:opacity .15s ease, transform .15s ease}.lgft-tip::before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);border:6px solid transparent;border-top-color:rgba(214,171,54,.42);opacity:0;transition:opacity .15s ease}.lgft-tip:hover::after,.lgft-tip:focus::after,.lgft-tip:hover::before,.lgft-tip:focus::before{opacity:1}.helper-card,.helper-document{border-color:rgba(214,171,54,.22)}.helper-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.helper-item{border:1px solid rgba(214,171,54,.18);border-radius:14px;padding:13px;background:rgba(8,17,31,.50)}.helper-item strong{display:block;color:#fff;margin-bottom:6px}.helper-item p{margin:0;color:#b7c4de;line-height:1.55}.credit-document .kpi .value{font-size:clamp(20px,2.1vw,32px)}.credit-document .table .field-label{font-weight:800;color:#fff}.rating-excellent,.stage-excellent{background:rgba(22,163,74,.12)!important;border-color:rgba(22,163,74,.35)!important}.rating-good{background:rgba(59,130,246,.12)!important;border-color:rgba(59,130,246,.35)!important}.rating-watch{background:rgba(214,171,54,.12)!important;border-color:rgba(214,171,54,.35)!important}.rating-restricted-review,.rating-high-risk{background:rgba(220,38,38,.12)!important;border-color:rgba(220,38,38,.35)!important}@media(max-width:800px){.helper-grid{grid-template-columns:1fr}.lgft-tip::after{left:auto;right:0;transform:none}}
@media print{.helper-card,.no-print,.lgft-tip{display:none!important}.credit-document,.helper-document,.timeline-document,.document-register-document,.commercial-document,.system-health-document,.vat-document,.profit-share-document,.month-close-document{width:100%!important;max-width:100%!important;overflow:visible!important}.credit-document .grid,.commercial-document .grid,.timeline-document .grid,.document-register-document .grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}.credit-document .kpi,.commercial-document .kpi,.timeline-document .kpi,.document-register-document .kpi{text-align:center!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}.credit-document .kpi .label,.credit-document .kpi .value,.commercial-document .kpi .label,.commercial-document .kpi .value{text-align:center!important}.credit-document table,.commercial-document table,.timeline-document table,.document-register-document table,.system-health-document table{table-layout:fixed!important;width:100%!important}.credit-document th,.credit-document td,.commercial-document th,.commercial-document td,.timeline-document th,.timeline-document td,.document-register-document th,.document-register-document td{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;text-align:center!important;vertical-align:middle!important}.credit-document th:first-child,.credit-document td:first-child,.commercial-document th:first-child,.commercial-document td:first-child,.timeline-document th:first-child,.timeline-document td:first-child,.document-register-document th:first-child,.document-register-document td:first-child{text-align:left!important;padding-left:9px!important}.credit-document .field-label,.commercial-document .field-label{font-weight:800!important;text-align:left!important}}

/* v4.29 tooltip containment fix + Supplier/Gantry print standardisation */
.lgft-tip::after,.lgft-tip::before{display:none!important;content:none!important;}
.lgft-tooltip-portal{position:fixed;z-index:999999;left:0;top:0;max-width:min(380px,76vw);padding:10px 12px;border-radius:12px;background:#08111f;color:#f5f7fb;border:1px solid rgba(214,171,54,.5);box-shadow:0 18px 48px rgba(0,0,0,.55);font-size:12px;line-height:1.45;font-weight:500;text-align:left;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease;white-space:normal;}
.lgft-tooltip-portal.show{opacity:1;transform:translateY(0);}
.table .lgft-tip,.table th .lgft-tip,.table td .lgft-tip{z-index:2;}
.supplier-gantry-document .table th,.supplier-gantry-document .table td,.supplier-profile-document .table th,.supplier-profile-document .table td,.gantry-register-document .table th,.gantry-register-document .table td,.upliftment-register-document .table th,.upliftment-register-document .table td{vertical-align:middle;}
.supplier-gantry-document .table td:first-child,.supplier-gantry-document .table th:first-child,.supplier-profile-document .table td:first-child,.supplier-profile-document .table th:first-child,.gantry-register-document .table td:first-child,.gantry-register-document .table th:first-child,.upliftment-register-document .table td:first-child,.upliftment-register-document .table th:first-child{font-weight:800;text-align:left;padding-left:10px;}
@media print{
  .lgft-tooltip-portal,.helper-card,.lgft-tip{display:none!important;}
  .supplier-gantry-document,.supplier-profile-document,.gantry-register-document,.upliftment-register-document{width:100%!important;max-width:100%!important;overflow:visible!important;}
  .supplier-gantry-document .grid,.supplier-profile-document .grid,.gantry-register-document .grid,.upliftment-register-document .grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;}
  .supplier-gantry-document .kpi,.supplier-profile-document .kpi,.gantry-register-document .kpi,.upliftment-register-document .kpi{text-align:center!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;}
  .supplier-gantry-document .kpi .label,.supplier-gantry-document .kpi .value,.supplier-profile-document .kpi .label,.supplier-profile-document .kpi .value,.gantry-register-document .kpi .label,.gantry-register-document .kpi .value,.upliftment-register-document .kpi .label,.upliftment-register-document .kpi .value{text-align:center!important;}
  .supplier-gantry-document .table,.supplier-profile-document .table,.gantry-register-document .table,.upliftment-register-document .table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9.5px!important;}
  .supplier-gantry-document .table th,.supplier-gantry-document .table td,.supplier-profile-document .table th,.supplier-profile-document .table td,.gantry-register-document .table th,.gantry-register-document .table td,.upliftment-register-document .table th,.upliftment-register-document .table td{overflow-wrap:anywhere!important;word-break:break-word!important;text-align:center!important;vertical-align:middle!important;padding:5px!important;}
  .supplier-gantry-document .table th:first-child,.supplier-gantry-document .table td:first-child,.supplier-profile-document .table th:first-child,.supplier-profile-document .table td:first-child,.gantry-register-document .table th:first-child,.gantry-register-document .table td:first-child,.upliftment-register-document .table th:first-child,.upliftment-register-document .table td:first-child,.supplier-gantry-document .description-cell,.supplier-profile-document .description-cell,.gantry-register-document .description-cell,.upliftment-register-document .description-cell{text-align:left!important;padding-left:9px!important;font-weight:800!important;}
}

/* v4.30 Document Vault & Evidence System + print standardisation */
.document-vault-document .kpi,.evidence-bundle-document .kpi,.vault-register-document .kpi{min-height:88px;text-align:center;}
.document-vault-document .kpi .label,.document-vault-document .kpi .value,.evidence-bundle-document .kpi .label,.evidence-bundle-document .kpi .value,.vault-register-document .kpi .label,.vault-register-document .kpi .value{text-align:center;}
.document-vault-document .table th,.document-vault-document .table td,.evidence-bundle-document .table th,.evidence-bundle-document .table td,.vault-register-document .table th,.vault-register-document .table td{vertical-align:middle;}
.document-vault-document .table td:first-child,.document-vault-document .table th:first-child,.evidence-bundle-document .table td:first-child,.evidence-bundle-document .table th:first-child,.vault-register-document .table td:first-child,.vault-register-document .table th:first-child{font-weight:800;text-align:left;padding-left:10px;}
.vault-register-document .field-label,.evidence-bundle-document .field-label,.document-vault-document .field-label{font-weight:800;}
@media print{
  .document-vault-document,.evidence-bundle-document,.vault-register-document{width:100%!important;max-width:100%!important;overflow:visible!important;background:#fff!important;color:#111!important;box-shadow:none!important;border:0!important;}
  .document-vault-document .grid,.evidence-bundle-document .grid,.vault-register-document .grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;}
  .document-vault-document .kpi,.evidence-bundle-document .kpi,.vault-register-document .kpi{min-width:0!important;max-width:100%!important;text-align:center!important;break-inside:avoid!important;border:1px solid #bbb!important;background:#fff!important;color:#111!important;padding:7px!important;}
  .document-vault-document .kpi .label,.document-vault-document .kpi .value,.evidence-bundle-document .kpi .label,.evidence-bundle-document .kpi .value,.vault-register-document .kpi .label,.vault-register-document .kpi .value{text-align:center!important;color:#111!important;}
  .document-vault-document .table,.evidence-bundle-document .table,.vault-register-document .table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9.5px!important;}
  .document-vault-document .table th,.document-vault-document .table td,.evidence-bundle-document .table th,.evidence-bundle-document .table td,.vault-register-document .table th,.vault-register-document .table td{overflow-wrap:anywhere!important;word-break:break-word!important;text-align:center!important;vertical-align:middle!important;padding:5px!important;}
  .document-vault-document .table th:first-child,.document-vault-document .table td:first-child,.evidence-bundle-document .table th:first-child,.evidence-bundle-document .table td:first-child,.vault-register-document .table th:first-child,.vault-register-document .table td:first-child,.document-vault-document .description-cell,.evidence-bundle-document .description-cell,.vault-register-document .description-cell{text-align:left!important;padding-left:9px!important;font-weight:800!important;}
  .document-vault-document .notice,.evidence-bundle-document .notice,.vault-register-document .notice{text-align:left!important;overflow-wrap:anywhere!important;}
}

/* v4.31 Production Security & User Control + print standardisation */
.security-document .kpi{min-height:88px;text-align:center;}
.security-document .kpi .label,.security-document .kpi .value{text-align:center;}
.security-document .table th,.security-document .table td{vertical-align:middle;}
.security-document .table td:first-child,.security-document .table th:first-child{font-weight:800;text-align:left;padding-left:10px;}
.security-document .description-cell{font-weight:800;text-align:left;padding-left:10px;}
.security-lock-warning{border-color:rgba(220,38,38,.35)!important;background:rgba(220,38,38,.10)!important;}
@media print{
  .security-document{width:100%!important;max-width:100%!important;overflow:visible!important;background:#fff!important;color:#111!important;box-shadow:none!important;border:0!important;}
  .security-document .grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;}
  .security-document .kpi{min-width:0!important;max-width:100%!important;text-align:center!important;break-inside:avoid!important;border:1px solid #bbb!important;background:#fff!important;color:#111!important;padding:7px!important;}
  .security-document .kpi .label,.security-document .kpi .value{text-align:center!important;color:#111!important;}
  .security-document .table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9.5px!important;}
  .security-document .table th,.security-document .table td{overflow-wrap:anywhere!important;word-break:break-word!important;text-align:center!important;vertical-align:middle!important;padding:5px!important;}
  .security-document .table th:first-child,.security-document .table td:first-child,.security-document .description-cell{text-align:left!important;padding-left:9px!important;font-weight:800!important;}
  .security-document .notice{overflow-wrap:anywhere!important;text-align:left!important;}
}

/* v4.32 notification centre print standardisation */
.notification-document .kpi{min-height:88px;text-align:center;}
.notification-document .kpi .label,.notification-document .kpi .value{text-align:center;}
.notification-document .table th,.notification-document .table td{vertical-align:middle;}
.notification-document .table td:first-child,.notification-document .table th:first-child{font-weight:800;text-align:left;padding-left:10px;}
.notification-document .description-cell{font-weight:800;text-align:left;padding-left:10px;}
@media print{
  .notification-document{width:100%!important;max-width:100%!important;overflow:visible!important;background:#fff!important;color:#111!important;box-shadow:none!important;border:0!important;}
  .notification-document .grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;}
  .notification-document .kpi{min-width:0!important;max-width:100%!important;text-align:center!important;break-inside:avoid!important;border:1px solid #bbb!important;background:#fff!important;color:#111!important;padding:7px!important;}
  .notification-document .kpi .label,.notification-document .kpi .value{text-align:center!important;color:#111!important;}
  .notification-document .table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9.5px!important;}
  .notification-document .table th,.notification-document .table td{overflow-wrap:anywhere!important;word-break:break-word!important;text-align:center!important;vertical-align:middle!important;padding:5px!important;}
  .notification-document .table th:first-child,.notification-document .table td:first-child,.notification-document .description-cell{text-align:left!important;padding-left:9px!important;font-weight:800!important;}
  .notification-document .notice{overflow-wrap:anywhere!important;text-align:left!important;}
}

/* v4.33 Accounting Export Pack + print standardisation */
.accounting-document .kpi{min-height:86px;text-align:center;}
.accounting-document .kpi .label,.accounting-document .kpi .value{text-align:center;}
.accounting-document .table th,.accounting-document .table td{vertical-align:middle;}
.accounting-document .table td:first-child,.accounting-document .table th:first-child{font-weight:800;text-align:left;padding-left:10px;}
.accounting-document .description-cell{text-align:left!important;padding-left:10px;font-weight:700;}
@media print{
  .accounting-document{width:100%!important;max-width:100%!important;overflow:visible!important;background:#fff!important;color:#111!important;box-shadow:none!important;border:0!important;}
  .accounting-document .grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;}
  .accounting-document .kpi{min-width:0!important;width:auto!important;break-inside:avoid!important;text-align:center!important;padding:7px!important;border:1px solid #bbb!important;background:#fff!important;color:#111!important;}
  .accounting-document .kpi .label,.accounting-document .kpi .value{text-align:center!important;color:#111!important;}
  .accounting-document .table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9.5px!important;}
  .accounting-document .table th,.accounting-document .table td{overflow-wrap:anywhere!important;word-break:break-word!important;text-align:center!important;vertical-align:middle!important;padding:5px!important;}
  .accounting-document .table th:first-child,.accounting-document .table td:first-child,.accounting-document .description-cell{text-align:left!important;padding-left:9px!important;font-weight:800!important;}
}

/* v4.34 Mobile / QR Release Verification + print standardisation */
.mobile-release-document .kpi,.release-verification-document .kpi{min-height:86px;text-align:center;}
.mobile-release-document .kpi .label,.mobile-release-document .kpi .value,.release-verification-document .kpi .label,.release-verification-document .kpi .value{text-align:center;}
.mobile-release-document .table th,.mobile-release-document .table td,.release-verification-document .table th,.release-verification-document .table td{vertical-align:middle;}
.mobile-release-document .table td:first-child,.mobile-release-document .table th:first-child,.release-verification-document .table td:first-child,.release-verification-document .table th:first-child{font-weight:800;text-align:left;padding-left:10px;}
.mobile-release-document .description-cell,.release-verification-document .description-cell{text-align:left!important;padding-left:10px;font-weight:700;}
.qr-box{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(214,171,54,.28);border-radius:18px;padding:16px;background:rgba(8,17,31,.62);max-width:280px;margin:8px auto 16px;}
.qr-img{width:220px;height:220px;background:#fff;border-radius:10px;padding:8px;object-fit:contain;}
.qr-link{margin-top:10px;font-size:10px;line-height:1.35;color:#aebbd8;text-align:center;overflow-wrap:anywhere;max-width:250px;}
.inline-form{display:inline-block;margin:0 0 0 4px;}
.notice.success{border-color:rgba(68,210,117,.45)!important;background:rgba(68,210,117,.12)!important;}
.notice.danger{border-color:rgba(220,38,38,.45)!important;background:rgba(220,38,38,.12)!important;}
@media(max-width:800px){.qr-img{width:180px;height:180px}.qr-box{max-width:100%}.mobile-release-document .grid.two,.release-verification-document .grid.two{grid-template-columns:1fr!important}}
@media print{
  .mobile-release-document,.release-verification-document{width:100%!important;max-width:100%!important;overflow:visible!important;background:#fff!important;color:#111!important;box-shadow:none!important;border:0!important;}
  .mobile-release-document .grid,.release-verification-document .grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;}
  .mobile-release-document .kpi,.release-verification-document .kpi{min-width:0!important;width:auto!important;break-inside:avoid!important;text-align:center!important;padding:7px!important;border:1px solid #bbb!important;background:#fff!important;color:#111!important;}
  .mobile-release-document .kpi .label,.mobile-release-document .kpi .value,.release-verification-document .kpi .label,.release-verification-document .kpi .value{text-align:center!important;color:#111!important;}
  .mobile-release-document .table,.release-verification-document .table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9.5px!important;}
  .mobile-release-document .table th,.mobile-release-document .table td,.release-verification-document .table th,.release-verification-document .table td{overflow-wrap:anywhere!important;word-break:break-word!important;text-align:center!important;vertical-align:middle!important;padding:5px!important;}
  .mobile-release-document .table th:first-child,.mobile-release-document .table td:first-child,.release-verification-document .table th:first-child,.release-verification-document .table td:first-child,.mobile-release-document .description-cell,.release-verification-document .description-cell{text-align:left!important;padding-left:9px!important;font-weight:800!important;}
  .qr-box{border:1px solid #bbb!important;background:#fff!important;color:#111!important;break-inside:avoid!important;max-width:245px!important;padding:8px!important;}
  .qr-img{width:190px!important;height:190px!important;padding:4px!important;border:1px solid #ccc!important;}
  .qr-link{color:#111!important;font-size:8.5px!important;}
  .mobile-release-document .notice,.release-verification-document .notice{overflow-wrap:anywhere!important;text-align:left!important;}
}

/* v4.35 Management Command Centre + executive print standardisation */
.management-document .kpi{min-height:86px;text-align:center;}
.management-document .kpi .label,.management-document .kpi .value{text-align:center;}
.management-document .table th,.management-document .table td{vertical-align:middle;}
.management-document .table td:first-child,.management-document .table th:first-child{font-weight:800;text-align:left;padding-left:10px;}
.management-document .description-cell{text-align:left!important;padding-left:10px;font-weight:700;}
.management-document .progress{min-width:130px;}
.management-document ul{margin:8px 0 0 18px;color:#c7d3e8;line-height:1.65;}
@media print{
  .management-document{width:100%!important;max-width:100%!important;overflow:visible!important;background:#fff!important;color:#111!important;box-shadow:none!important;border:0!important;}
  .management-document .grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;}
  .management-document .grid.two{grid-template-columns:1fr 1fr!important;}
  .management-document .kpi{min-width:0!important;width:auto!important;break-inside:avoid!important;text-align:center!important;padding:7px!important;border:1px solid #bbb!important;background:#fff!important;color:#111!important;}
  .management-document .kpi .label,.management-document .kpi .value{text-align:center!important;color:#111!important;}
  .management-document .table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9.5px!important;}
  .management-document .table th,.management-document .table td{overflow-wrap:anywhere!important;word-break:break-word!important;text-align:center!important;vertical-align:middle!important;padding:5px!important;}
  .management-document .table th:first-child,.management-document .table td:first-child,.management-document .description-cell{text-align:left!important;padding-left:9px!important;font-weight:800!important;}
  .management-document .notice,.management-document li{overflow-wrap:anywhere!important;text-align:left!important;color:#111!important;}
  .management-document .progress{border:1px solid #bbb!important;background:#f5f5f5!important;height:8px!important;}
}

/* v4.36 Production Go-Live & Domain Deployment Pack + print standardisation */
.production-document .kpi,.legal-document .kpi{min-height:86px;text-align:center;}
.production-document .kpi .label,.production-document .kpi .value,.legal-document .kpi .label,.legal-document .kpi .value{text-align:center;}
.production-document .table th,.production-document .table td,.legal-document .table th,.legal-document .table td{vertical-align:middle;}
.production-document .table td:first-child,.production-document .table th:first-child,.legal-document .table td:first-child,.legal-document .table th:first-child{font-weight:800;text-align:left;padding-left:10px;}
.production-document .description-cell,.legal-document .description-cell{text-align:left!important;padding-left:10px;font-weight:700;}
.production-document .legal-body,.legal-document .legal-body{line-height:1.75;white-space:normal;overflow-wrap:anywhere;}
.production-document .progress{min-width:130px;}
.production-mode-banner{border:1px solid rgba(214,171,54,.4);background:rgba(214,171,54,.10);border-radius:16px;padding:12px;margin:12px 0;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-align:center;}
.production-mode-banner.live{border-color:rgba(68,210,117,.55);background:rgba(68,210,117,.12);}
.production-mode-banner.test,.production-mode-banner.demo{border-color:rgba(245,158,11,.55);background:rgba(245,158,11,.12);}
.production-mode-banner.maintenance{border-color:rgba(220,38,38,.55);background:rgba(220,38,38,.12);}
@media print{
  .production-document,.legal-document{width:100%!important;max-width:100%!important;overflow:visible!important;background:#fff!important;color:#111!important;box-shadow:none!important;border:0!important;}
  .production-document .grid,.legal-document .grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;}
  .production-document .grid.two,.legal-document .grid.two{grid-template-columns:1fr 1fr!important;}
  .production-document .kpi,.legal-document .kpi{min-width:0!important;width:auto!important;break-inside:avoid!important;text-align:center!important;padding:7px!important;border:1px solid #bbb!important;background:#fff!important;color:#111!important;}
  .production-document .kpi .label,.production-document .kpi .value,.legal-document .kpi .label,.legal-document .kpi .value{text-align:center!important;color:#111!important;}
  .production-document .table,.legal-document .table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9.5px!important;}
  .production-document .table th,.production-document .table td,.legal-document .table th,.legal-document .table td{overflow-wrap:anywhere!important;word-break:break-word!important;text-align:center!important;vertical-align:middle!important;padding:5px!important;}
  .production-document .table th:first-child,.production-document .table td:first-child,.legal-document .table th:first-child,.legal-document .table td:first-child,.production-document .description-cell,.legal-document .description-cell{text-align:left!important;padding-left:9px!important;font-weight:800!important;}
  .production-document .notice,.production-document li,.legal-document .notice,.legal-document .legal-body{overflow-wrap:anywhere!important;text-align:left!important;color:#111!important;}
  .production-mode-banner{border:1px solid #bbb!important;background:#fff!important;color:#111!important;}
}


/* v4.37 email delivery and customer communication print standardisation */
.email-preview-card{border:1px solid rgba(214,171,54,.22);border-radius:14px;background:rgba(8,17,31,.48);padding:18px;line-height:1.65;white-space:normal;overflow-wrap:anywhere;}
@media print{
  .email-delivery-document .kpi,.email-delivery-document .kpi .label,.email-delivery-document .kpi .value{text-align:center!important;}
  .email-delivery-document .table{table-layout:fixed!important;width:100%!important;max-width:100%!important;}
  .email-delivery-document th,.email-delivery-document td{overflow-wrap:anywhere!important;word-break:normal!important;vertical-align:middle!important;}
  .email-delivery-document .description-cell,.email-delivery-document .table th:first-child{text-align:left!important;padding-left:9px!important;font-weight:800!important;}
  .email-delivery-document .tooltip,.email-delivery-document .help-panel,.email-preview-card{display:none!important;}
}

/* v4.38 Customer Portal Upgrade */
.portal-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 4px}.portal-document .progress-wrap{display:inline-flex;align-items:center;gap:8px;min-width:140px;justify-content:center}.portal-document .progress-track{display:inline-block;width:92px;height:9px;background:rgba(255,255,255,.08);border:1px solid rgba(214,171,54,.18);border-radius:999px;overflow:hidden;vertical-align:middle}.portal-document .progress-track span{display:block;height:100%;background:linear-gradient(90deg,rgba(214,171,54,.75),rgba(255,103,59,.9));border-radius:999px}.portal-document .helper-card,.portal-document .notice{break-inside:avoid}.portal-document .description-cell{font-weight:600}
@media print{.portal-document{font-size:10.5px!important;line-height:1.22!important}.portal-document .kpi,.portal-document .kpi .label,.portal-document .kpi .value,.portal-document .progress-wrap{text-align:center!important;justify-content:center!important}.portal-document .table{table-layout:fixed!important;width:100%!important}.portal-document .table th,.portal-document .table td{text-align:center!important;vertical-align:middle!important;overflow-wrap:anywhere!important;word-break:break-word!important}.portal-document .table td:first-child,.portal-document .table th:first-child,.portal-document .description-cell{text-align:left!important;padding-left:9px!important;font-weight:800!important}.portal-actions,.portal-document .no-print,.portal-document .helper-card{display:none!important}.portal-document .progress-track{width:72px!important;height:7px!important}}


/* v4.39 Live Bank Reconciliation Upgrade */
.bank-reconciliation-document .kpi { text-align:center; }
.bank-reconciliation-document .kpi .label { text-align:center; }
.bank-reconciliation-document .table { table-layout:fixed; width:100%; }
.bank-reconciliation-document .table th,
.bank-reconciliation-document .table td { overflow-wrap:anywhere; word-break:normal; vertical-align:top; }
.bank-reconciliation-document .table th:first-child,
.bank-reconciliation-document .table td:first-child,
.bank-reconciliation-document .description-cell { text-align:left; padding-left:.65rem; }
.bank-reconciliation-document .progress-wrap { min-width:120px; }
@media print {
  .bank-reconciliation-document .no-print,
  .bank-reconciliation-document .lgft-tooltip,
  .bank-reconciliation-document .tooltip,
  .bank-reconciliation-document .help-panel { display:none !important; }
  .bank-reconciliation-document { page-break-inside:auto; }
  .bank-reconciliation-document .table { width:100% !important; max-width:100% !important; table-layout:fixed !important; }
  .bank-reconciliation-document .table th,
  .bank-reconciliation-document .table td { font-size:8.5pt; padding:4px 5px; overflow-wrap:anywhere; }
  .bank-reconciliation-document .kpi { break-inside:avoid; page-break-inside:avoid; }
}


/* v4.40 Operational Simulation / UAT Mode */
.uat-document .kpi, .uat-document .metric-card { text-align:center; }
.uat-document table.table { table-layout:fixed; width:100%; }
.uat-document table.table th, .uat-document table.table td { overflow-wrap:anywhere; word-break:normal; }
.uat-document .description-cell { display:block; text-align:left; padding-left:.35rem; white-space:normal; overflow-wrap:anywhere; }
.uat-document .notice { border-left:4px solid rgba(255,123,0,.6); }
@media print {
  .uat-document { page-break-inside:auto; }
  .uat-document .kpi, .uat-document .metric-card { text-align:center !important; }
  .uat-document table.table { width:100% !important; max-width:100% !important; table-layout:fixed !important; }
  .uat-document table.table th, .uat-document table.table td { overflow-wrap:anywhere !important; white-space:normal !important; }
  .uat-document .description-cell { text-align:left !important; padding-left:.35rem !important; }
  .uat-document .lgft-tip, .uat-document .help-panel, .uat-document .no-print { display:none !important; }
}


/* v4.41 Support Ticket Workflow & Functional QA */
.support-ticket-document .kpi,
.feature-verification-document .kpi{ text-align:center; }
.support-ticket-document .description-cell,
.feature-verification-document .description-cell{ display:block; text-align:left; padding-left:.35rem; max-width:100%; overflow-wrap:anywhere; white-space:normal; }
.support-action-stack{ border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:12px; margin:0 0 12px; background:rgba(255,255,255,.025); }
.support-action-stack textarea{ min-height:74px; }
.support-ticket-document code,
.feature-verification-document code{ white-space:normal; overflow-wrap:anywhere; }
@media print{
  .support-ticket-document .kpi,
  .feature-verification-document .kpi{ text-align:center !important; }
  .support-ticket-document table,
  .feature-verification-document table{ width:100% !important; table-layout:fixed !important; }
  .support-ticket-document th,
  .support-ticket-document td,
  .feature-verification-document th,
  .feature-verification-document td{ overflow-wrap:anywhere !important; white-space:normal !important; }
  .support-ticket-document .description-cell,
  .feature-verification-document .description-cell{ text-align:left !important; padding-left:.35rem !important; }
  .support-action-stack,
  .lgft-help-panel,
  .tooltip,
  .no-print{ display:none !important; }
}

/* v4.42 Internal Messaging & Operational Notification Engine */
.messaging-document .kpi,
.alert-document .kpi,
.action-inbox-document .kpi { text-align:center; }
.messaging-document .description-cell,
.alert-document .description-cell,
.action-inbox-document .description-cell { display:block; text-align:left; padding-left:.35rem; max-width:100%; overflow-wrap:anywhere; white-space:normal; }
.message-action-stack { border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:12px; margin:0 0 12px; background:rgba(255,255,255,.025); }
.message-action-stack textarea { min-height:74px; }
.messaging-document table.table,
.alert-document table.table,
.action-inbox-document table.table { table-layout:fixed; width:100%; }
.messaging-document code,
.alert-document code,
.action-inbox-document code { white-space:normal; overflow-wrap:anywhere; }
@media print{
  .messaging-document .kpi,
  .alert-document .kpi,
  .action-inbox-document .kpi { text-align:center !important; }
  .messaging-document table,
  .alert-document table,
  .action-inbox-document table { width:100% !important; table-layout:fixed !important; }
  .messaging-document th,
  .messaging-document td,
  .alert-document th,
  .alert-document td,
  .action-inbox-document th,
  .action-inbox-document td { overflow-wrap:anywhere !important; white-space:normal !important; }
  .messaging-document .description-cell,
  .alert-document .description-cell,
  .action-inbox-document .description-cell { text-align:left !important; padding-left:.35rem !important; }
  .message-action-stack,
  .lgft-help-panel,
  .tooltip,
  .no-print { display:none !important; }
}

/* v4.43 notification bell and operational action wiring */
.notification-bell{position:relative;display:inline-block;margin-left:.35rem}
.bell-trigger{display:inline-flex;align-items:center;gap:.25rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.3rem .55rem;background:rgba(255,255,255,.07);text-decoration:none}
.bell-trigger span{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;border-radius:999px;background:#b91c1c;color:#fff;font-size:.78rem;font-weight:800}
.bell-panel{display:none;position:absolute;right:0;top:calc(100% + .55rem);z-index:50;width:min(360px,92vw);padding:.85rem;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:#101010;box-shadow:0 18px 40px rgba(0,0,0,.42);color:#f5f5f5}
.notification-bell:hover .bell-panel,.notification-bell:focus-within .bell-panel{display:block}
.bell-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin:.6rem 0}
.bell-metrics span{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.35rem;font-size:.8rem}
.bell-item{display:block;padding:.55rem 0;border-top:1px solid rgba(255,255,255,.1);text-decoration:none;color:inherit}
.bell-item span,.bell-item em{display:block;color:#b7b7b7;font-size:.75rem;font-style:normal}.bell-item strong{display:block;margin:.1rem 0}
.alert-action-form{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.35rem}.alert-action-form button{padding:.35rem .55rem;font-size:.78rem}
.inline-form{display:inline-flex;gap:.4rem;align-items:center;flex-wrap:wrap}.admin-internal-message{border-left:4px solid #b91c1c}

/* v4.45 UI structure, compact density and centred footer
   Purpose: make the application usable at normal browser zoom without needing 75% zoom. */
:root{
  --lgft-compact-font:14px;
  --lgft-comfortable-font:16px;
  --lgft-header-logo:150px;
  --lgft-footer-logo:82px;
  --lgft-card-pad:18px;
  --lgft-radius:16px;
}
body.lgft-density-compact{font-size:var(--lgft-compact-font);}
body.lgft-density-comfortable{font-size:var(--lgft-comfortable-font);}
body.lgft-density-compact .container{margin:18px auto;padding:0 clamp(14px,2vw,34px);}
body.lgft-density-compact .card{padding:var(--lgft-card-pad);border-radius:var(--lgft-radius);margin-bottom:18px;}
body.lgft-density-compact .grid{gap:14px;}
body.lgft-density-compact h1{font-size:clamp(24px,2.2vw,30px);}
body.lgft-density-compact h2{font-size:clamp(18px,1.6vw,21px);}
body.lgft-density-compact h3{font-size:16px;}
body.lgft-density-compact input,
body.lgft-density-compact select,
body.lgft-density-compact textarea{padding:9px 11px;border-radius:11px;}
body.lgft-density-compact .btn,
body.lgft-density-compact button{padding:8px 12px;border-radius:10px;font-size:.93em;}
body.lgft-density-compact .btn.small{padding:6px 9px;font-size:.86em;}
body.lgft-density-compact .table th,
body.lgft-density-compact .table td{padding:8px 9px;line-height:1.28;}
body.lgft-density-compact .kpi{padding:14px;border-radius:14px;}
body.lgft-density-compact .kpi .value{font-size:22px;margin-top:4px;}
body.lgft-density-compact .kpi .label{font-size:11px;}
body.lgft-density-compact .notice{padding:11px 12px;border-radius:12px;}

.app-shell-header.topbar{
  align-items:center;
  gap:16px;
  padding:10px clamp(14px,2vw,28px);
}
.app-shell-header .brand-wrap{flex:0 0 auto;min-width:240px;}
.app-shell-header .brand-home{gap:12px;}
.app-shell-header .brand-logo{
  width:var(--lgft-header-logo)!important;
  height:var(--lgft-header-logo)!important;
  min-width:var(--lgft-header-logo)!important;
  min-height:var(--lgft-header-logo)!important;
  border-radius:14px;
  padding:4px;
}
.app-shell-header .brand-text strong{font-size:clamp(18px,1.5vw,22px);}
.app-shell-header .brand-text small{font-size:12px;max-width:300px;}
.topnav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex:1 1 auto!important;
  padding-top:0!important;
  min-width:0;
}
.nav-group{position:relative;display:inline-block;}
.nav-group > summary{
  list-style:none;
  cursor:pointer;
  color:#e8f0ff;
  padding:8px 11px;
  border:1px solid rgba(214,171,54,.20);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  font-weight:850;
  user-select:none;
  outline:none;
}
.nav-group > summary::-webkit-details-marker{display:none;}
.nav-group > summary::after{content:'▾';font-size:.72em;margin-left:7px;color:var(--gold2);}
.nav-group.active > summary,
.nav-group[open] > summary,
.nav-group > summary:hover,
.nav-group > summary:focus{background:rgba(214,171,54,.14);border-color:rgba(214,171,54,.45);color:#fff;}
.nav-menu{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  z-index:80;
  display:grid;
  grid-template-columns:repeat(2,minmax(190px,1fr));
  gap:6px;
  width:min(460px,92vw);
  max-height:min(78vh,680px);
  overflow:auto;
  padding:10px;
  border:1px solid rgba(214,171,54,.26);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(9,16,31,.99), rgba(6,11,22,.99));
  box-shadow:0 22px 48px rgba(0,0,0,.45);
}
.nav-group:not([open]) .nav-menu{display:none;}
.nav-link{
  display:block;
  padding:9px 10px!important;
  border-radius:12px!important;
  color:#dbe7ff!important;
  line-height:1.16;
  text-decoration:none!important;
}
.nav-link:hover,
.nav-link.active{background:rgba(255,255,255,.065)!important;color:#fff!important;}
.nav-link.active{box-shadow:inset 3px 0 0 var(--gold);}
.nav-link span{display:block;font-weight:850;}
.nav-link small{display:block;margin-top:3px;color:#9fb0d1;font-weight:600;font-size:11px;}
.nav-utilities{display:flex;align-items:center;gap:7px;margin-left:4px;}
.nav-logout,
.density-toggle{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 10px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.04)!important;
  color:#dbe7ff!important;
  box-shadow:none!important;
  font-weight:850!important;
}
.density-toggle{font-size:12px;}
.nav-logout:hover,
.density-toggle:hover{background:rgba(214,171,54,.13)!important;text-decoration:none!important;color:#fff!important;}
.notification-bell{margin-left:0;}
.bell-trigger{min-height:34px;padding:5px 9px!important;border-radius:999px!important;}
.bell-panel{background:linear-gradient(180deg, rgba(9,16,31,.99), rgba(6,11,22,.99));border-color:rgba(214,171,54,.26);}

.footer{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:24px 18px 34px;
  text-align:center;
}
.footer-brand{
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  align-items:center!important;
  gap:10px;
  margin:0 auto;
  text-align:center!important;
  max-width:min(760px,96vw);
}
.footer-brand img{
  width:var(--lgft-footer-logo)!important;
  height:var(--lgft-footer-logo)!important;
  min-width:var(--lgft-footer-logo)!important;
  min-height:var(--lgft-footer-logo)!important;
  max-width:var(--lgft-footer-logo)!important;
  max-height:var(--lgft-footer-logo)!important;
  border-radius:14px;
  padding:3px;
}
.footer-brand strong{font-size:16px!important;}
.footer-brand span{display:inline-block;line-height:1.35;}

@media(max-width:1280px){
  .app-shell-header.topbar{align-items:flex-start;}
  .app-shell-header .brand-wrap{flex:1 1 100%;min-width:0;}
  .topnav{justify-content:flex-start!important;}
  .nav-menu{right:auto;left:0;}
}
@media(max-width:760px){
  :root{--lgft-header-logo:96px;--lgft-footer-logo:70px;}
  .app-shell-header .brand-text small{display:none;}
  .topnav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:7px!important;}
  .nav-group{width:100%;}
  .nav-group > summary{width:100%;text-align:center;}
  .nav-menu{position:static;width:100%;grid-template-columns:1fr;margin-top:6px;max-height:none;}
  .nav-utilities{grid-column:1 / -1;justify-content:center;flex-wrap:wrap;margin-left:0;}
  body.lgft-density-compact .container{padding:0 12px;margin-top:14px;}
  body.lgft-density-compact .card{padding:15px;}
}
@media print{
  body.lgft-density-compact{font-size:10px!important;}
  .density-toggle{display:none!important;}
}


/* v4.46 Global command search and SEO-ready application shell */
.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}
.command-search-form{display:flex;align-items:center;gap:6px;min-width:min(360px,34vw);}
.command-search-form input[type="search"]{width:100%;min-width:210px;height:36px;padding:8px 12px;border-radius:999px;border:1px solid rgba(214,171,54,.28);background:rgba(4,10,20,.72);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.command-search-form input[type="search"]:focus{outline:2px solid rgba(214,171,54,.40);border-color:rgba(214,171,54,.72);background:rgba(8,17,31,.94)}
.command-search-form button{height:36px;white-space:nowrap;}
.search-hero{position:relative;overflow:hidden;}
.search-hero::after{content:"";position:absolute;inset:auto -10% -50% 40%;height:220px;background:radial-gradient(circle,rgba(214,171,54,.18),transparent 65%);pointer-events:none;}
.search-result-count{font-weight:900;color:var(--gold2)}
.search-shortcut{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid rgba(214,171,54,.28);border-radius:8px;background:rgba(255,255,255,.04);font-size:12px;color:var(--gold2);font-weight:900}
@media(max-width:1280px){.command-search-form{order:1;flex:1 1 100%;min-width:100%;}.command-search-form input[type="search"]{min-width:0}.nav-utilities{width:100%;}.app-shell-header .brand-logo{width:150px!important;height:150px!important;min-width:150px!important;min-height:150px!important;}}
@media(max-width:760px){.command-search-form{flex-basis:100%;}.command-search-form input[type="search"]{height:34px}.command-search-form button{height:34px}.app-shell-header .brand-logo{width:96px!important;height:96px!important;min-width:96px!important;min-height:96px!important;}}
@media print{.command-search-form{display:none!important}}


/* v4.47 Breadcrumbs & Page Subnavigation */
.page-chrome{
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(15,23,42,.88), rgba(15,23,42,.62));
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
}
.page-chrome-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;}
.page-eyebrow{color:var(--muted, #94a3b8);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;}
.page-current{color:var(--text, #e5e7eb);font-size:1rem;font-weight:900;line-height:1.2;}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;color:var(--muted, #94a3b8);font-size:.82rem;}
.breadcrumbs li{display:flex;align-items:center;gap:6px;}
.breadcrumbs li:not(:last-child)::after{content:'›';color:rgba(148,163,184,.55);font-weight:900;}
.breadcrumbs a{color:#cbd5e1;text-decoration:none;border-bottom:1px solid transparent;}
.breadcrumbs a:hover{color:#fff;border-color:rgba(255,255,255,.35);}
.breadcrumbs [aria-current="page"] span{color:#fff;font-weight:800;}
.page-subnav{margin-top:10px;display:grid;grid-template-columns:minmax(130px, 220px) 1fr;gap:10px;align-items:start;}
.subnav-head{padding:8px 10px;border-radius:14px;background:rgba(2,6,23,.35);border:1px solid rgba(148,163,184,.12);}
.subnav-head strong{display:block;color:#fff;font-size:.86rem;}
.subnav-head span{display:block;margin-top:2px;color:var(--muted, #94a3b8);font-size:.72rem;line-height:1.25;}
.subnav-links{display:flex;flex-wrap:wrap;gap:7px;}
.subnav-link{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.18);color:#dbeafe;background:rgba(15,23,42,.55);text-decoration:none;font-size:.8rem;font-weight:750;white-space:nowrap;}
.subnav-link:hover{background:rgba(30,41,59,.85);color:#fff;transform:translateY(-1px);}
.subnav-link.active{color:#fff;background:linear-gradient(135deg, rgba(220,38,38,.95), rgba(234,88,12,.88));border-color:rgba(248,113,113,.55);box-shadow:0 8px 22px rgba(220,38,38,.22);}
.lgft-density-compact .page-chrome{padding:10px 12px;border-radius:16px;margin-bottom:10px;}
.lgft-density-compact .subnav-link{min-height:27px;padding:5px 9px;font-size:.76rem;}
.lgft-density-compact .subnav-head{padding:7px 9px;}
@media (max-width: 760px){.page-chrome-row{align-items:flex-start;}.page-subnav{grid-template-columns:1fr;}.subnav-links{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;}.subnav-link{flex:0 0 auto;}}
@media print{.page-chrome,.breadcrumbs,.page-subnav{display:none!important;}}

/* v4.48 Data Table Upgrade */
.lgft-dt-toolbar{
  margin:10px 0 8px;
  padding:10px 12px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:16px;
  background:linear-gradient(135deg, rgba(2,6,23,.78), rgba(15,23,42,.68));
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}
.lgft-dt-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.lgft-dt-topline strong{color:#fff;font-size:.92rem;}
.lgft-dt-meta{display:inline-block;margin-left:7px;color:var(--muted,#94a3b8);font-size:.76rem;font-weight:700;}
.lgft-dt-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;}
.lgft-dt-actions input[type="search"]{min-width:210px;height:30px;padding:6px 9px;border-radius:10px;}
.lgft-dt-actions select{height:30px;min-width:72px;padding:4px 7px;border-radius:10px;}
.lgft-dt-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:6px;margin-top:8px;}
.lgft-dt-filter-grid input{height:28px;padding:5px 8px;border-radius:9px;font-size:.76rem;}
.lgft-dt-column-panel{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:8px;border-radius:12px;background:rgba(15,23,42,.7);border:1px solid rgba(148,163,184,.16);}
.lgft-dt-column-panel label{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.04);font-size:.76rem;color:#dbeafe;}
.table.lgft-data-table th.lgft-dt-sortable{cursor:pointer;user-select:none;position:relative;padding-right:22px;}
.table.lgft-data-table th.lgft-dt-sortable::after{content:'⇅';position:absolute;right:8px;top:50%;transform:translateY(-50%);opacity:.42;font-size:.75rem;color:#e5e7eb;}
.table.lgft-data-table th.lgft-dt-sortable[data-sort="asc"]::after{content:'▲';opacity:.95;color:var(--gold2,#facc15);}
.table.lgft-data-table th.lgft-dt-sortable[data-sort="desc"]::after{content:'▼';opacity:.95;color:var(--gold2,#facc15);}
.lgft-dt-hidden-col{display:none!important;}
.table.lgft-data-table tr.lgft-dt-filtered,
.table.lgft-data-table tr.lgft-dt-paged{display:none!important;}
.table.lgft-data-table.lgft-dt-select-mode tbody tr,
.table.lgft-data-table.lgft-dt-select-mode tr:not(:first-child){cursor:pointer;}
.table.lgft-data-table tr.lgft-dt-selected td{background:rgba(214,171,54,.16)!important;box-shadow:inset 4px 0 0 rgba(214,171,54,.95);}
.lgft-density-compact .lgft-dt-toolbar{padding:8px 10px;border-radius:14px;margin:8px 0 6px;}
.lgft-density-compact .lgft-dt-filter-grid{grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:5px;margin-top:6px;}
.lgft-density-compact .lgft-dt-actions input[type="search"]{height:28px;min-width:170px;}
.lgft-density-compact .lgft-dt-actions select{height:28px;}
.lgft-density-compact .lgft-dt-column-panel label{padding:4px 7px;font-size:.72rem;}
@media(max-width:760px){.lgft-dt-topline{display:block}.lgft-dt-actions{justify-content:flex-start;margin-top:8px}.lgft-dt-actions input[type="search"]{min-width:100%;flex:1 1 100%;}.lgft-dt-filter-grid{grid-template-columns:1fr 1fr}.lgft-dt-column-panel{max-height:180px;overflow:auto}}
@media print{.lgft-dt-toolbar,.lgft-dt-hidden-col{display:none!important}.table.lgft-data-table tr.lgft-dt-filtered,.table.lgft-data-table tr.lgft-dt-paged{display:table-row!important}.table.lgft-data-table th.lgft-dt-sortable::after{display:none!important}}

/* v4.49 Role Permission Matrix UI & Performance Cleanup */
.permission-matrix-card{overflow:hidden;}
.permission-matrix-scroll{overflow:auto;max-height:72vh;border:1px solid var(--border,#263347);border-radius:14px;}
.permission-matrix-table{min-width:1280px;font-size:12px;}
.permission-matrix-table th{position:sticky;top:0;z-index:3;background:var(--panel,#0d1729);}
.permission-matrix-table th:first-child,.permission-matrix-table td:first-child{position:sticky;left:0;z-index:2;background:var(--panel,#0d1729);min-width:160px;}
.permission-matrix-table th:nth-child(2),.permission-matrix-table td:nth-child(2){position:sticky;left:160px;z-index:2;background:var(--panel,#0d1729);min-width:300px;}
.permission-matrix-table th:first-child,.permission-matrix-table th:nth-child(2){z-index:4;}
.perm-cell{min-width:150px;vertical-align:top;}
.perm-allowed{background:rgba(25,135,84,.10);}
.perm-denied{background:rgba(220,53,69,.07);}
.perm-check{display:block;margin:0 0 4px;white-space:nowrap;}
.perm-limit{width:100%;max-width:120px;padding:4px 6px;font-size:12px;}
.risk-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;letter-spacing:.04em;border:1px solid rgba(255,255,255,.16);}
.risk-low{background:rgba(13,202,240,.12);}
.risk-medium{background:rgba(255,193,7,.14);}
.risk-high{background:rgba(253,126,20,.14);}
.risk-critical{background:rgba(220,53,69,.18);}
.debug-field,.display-field-placeholder,[data-debug-field]{display:none!important;}
.lgft-dt-toolbar{content-visibility:auto;contain-intrinsic-size:80px;}
.table-wrap{content-visibility:auto;contain-intrinsic-size:420px;}
@media print{.permission-matrix-scroll{max-height:none;overflow:visible;border:0}.permission-matrix-table{font-size:9px;min-width:0}.permission-matrix-table th,.permission-matrix-table td{position:static!important}.perm-limit,.perm-check input{display:none!important}}


/* v4.50 Production Readiness Lockdown */
.production-lockdown-hero { border-left: 5px solid var(--accent, #d35400); }
.production-document .kpis, .production-lockdown-hero .kpis { margin-top: .75rem; }
.readiness-status { display:inline-flex; align-items:center; justify-content:center; min-width:72px; padding:.22rem .5rem; border-radius:999px; font-weight:800; font-size:.75rem; letter-spacing:.03em; }
.readiness-pass { background:#e6f7ed; color:#0a6b2f; border:1px solid #bce7cc; }
.readiness-warn { background:#fff7df; color:#8a5a00; border:1px solid #f1d083; }
.readiness-fail { background:#fdecec; color:#9d1c1c; border:1px solid #efb1b1; }
.notice.success { background:#e6f7ed; border-color:#bce7cc; color:#0a6b2f; }
.notice.warning { background:#fff7df; border-color:#f1d083; color:#8a5a00; }
.notice.danger { background:#fdecec; border-color:#efb1b1; color:#9d1c1c; }
.risk-pill.risk-critical { background:#fdecec; color:#9d1c1c; }
.risk-pill.risk-high { background:#fff1df; color:#934b00; }
.risk-pill.risk-medium { background:#eef3ff; color:#253c7c; }
.risk-pill.risk-low { background:#edf7ed; color:#276b27; }


/* v4.50.2 Production Readiness Failure Resolver */
.readiness-panel{overflow:auto;}
.readiness-critical{border-left:5px solid #b91c1c;}
.readiness-fail-panel{border-left:5px solid #ea580c;}
.readiness-panel .table td{vertical-align:top;}
.readiness-panel .description-cell{max-width:460px;white-space:normal;}
.readiness-status.readiness-accepted{background:#eef3ff;color:#253c7c;border:1px solid #b8c7ff;}
.production-document .description-cell{white-space:normal;}
@media print{.readiness-panel{overflow:visible}.readiness-panel .description-cell{max-width:none}}


/* v4.50.4 provider setup wizard and QR repair */
.provider-step-list{display:flex;flex-direction:column;gap:10px}
.provider-step{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(214,171,54,.22);border-radius:14px;background:rgba(8,17,31,.58);text-decoration:none;color:inherit}
.provider-step:hover,.provider-step.active{border-color:rgba(214,171,54,.62);background:rgba(214,171,54,.10)}
.provider-step small{display:block;color:#9fb0d0;font-size:11px}
.code-textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:12px;line-height:1.45;border-radius:12px;padding:12px;background:rgba(3,9,20,.85);color:#e5edf8;border:1px solid rgba(214,171,54,.22)}
.qr-box[data-qr-mode="local_svg"]{box-shadow:0 0 0 1px rgba(214,171,54,.18),0 18px 40px rgba(0,0,0,.18)}
.qr-box[data-qr-mode="local_svg"] .qr-img{image-rendering:pixelated;}
@media(max-width:760px){.provider-step{align-items:flex-start;flex-direction:column}.code-textarea{font-size:11px}.qr-link{font-size:9px}}


/* v4.50.7 Readiness UX & Environment Fix Guidance */
.readiness-panel{overflow:visible;}
.readiness-issue-columns{align-items:stretch;}
.readiness-issue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;}
.readiness-issue-columns .readiness-issue-grid{grid-template-columns:1fr;}
.readiness-issue-card{display:flex;flex-direction:column;gap:10px;border:1px solid rgba(214,171,54,.18);border-radius:16px;padding:15px;background:rgba(8,17,31,.72);box-shadow:0 12px 32px rgba(0,0,0,.14);min-width:0;}
.readiness-issue-card h3{margin:0;font-size:16px;line-height:1.25;overflow-wrap:anywhere;}
.readiness-issue-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.readiness-category{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#d6ab36;font-weight:800;}
.readiness-details{margin:0;line-height:1.4;}
.readiness-issue-dl{display:grid;gap:8px;margin:0;}
.readiness-issue-dl div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;align-items:start;border-top:1px solid rgba(255,255,255,.07);padding-top:8px;}
.readiness-issue-dl dt{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#9fb0d0;font-weight:800;}
.readiness-issue-dl dd{margin:0;overflow-wrap:anywhere;white-space:normal;}
.readiness-issue-actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap;}
.readiness-empty{padding:16px;border:1px dashed rgba(214,171,54,.30);border-radius:14px;color:#dbe7f5;background:rgba(3,9,20,.35);}
.readiness-fast-fix{border-left:5px solid #d6ab36;}
.readiness-fast-fix code{background:rgba(255,255,255,.08);padding:1px 5px;border-radius:6px;}
.readiness-steps{margin:0 0 12px 20px;padding:0;display:grid;gap:8px;}
@media(max-width:900px){.readiness-issue-dl div{grid-template-columns:1fr}.readiness-issue-grid{grid-template-columns:1fr}.readiness-panel{overflow:visible}.readiness-panel .table{min-width:0}.readiness-panel .table-wrap{overflow:visible}}
@media print{.readiness-issue-grid{display:block}.readiness-issue-card{break-inside:avoid;margin-bottom:10px;box-shadow:none;background:#fff!important;color:#111!important;border-color:#bbb}.readiness-issue-dl div{grid-template-columns:130px 1fr}.readiness-empty{border-color:#bbb;color:#111;background:#fff}}


/* v4.50.8 readiness control restore */
.inline-form{display:inline-flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:0}
.toolbar-row .inline-form{margin-left:.25rem}
@media(max-width:760px){.inline-form{display:flex;width:100%}.inline-form button{width:100%}}


/* v451 permission enforcement */
.permission-enforcement-grid .table td { vertical-align: top; }
pre { white-space: pre-wrap; overflow:auto; border:1px solid rgba(148,163,184,.25); border-radius:14px; padding:14px; background:rgba(2,6,23,.35); }


/* LGFT v4.51.27 customer portal UX upgrade — screen only, print untouched */
.customer-quick-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;align-items:center}
.customer-quick-actions .btn{white-space:normal;text-align:center;line-height:1.2}
.customer-action-centre .kpi-grid,.portal-document .kpi-grid{overflow:visible}
.gate-list{display:flex;flex-wrap:wrap;gap:.35rem;max-width:100%}
.gate-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .5rem;font-size:.78rem;font-weight:700;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.32);color:#dbeafe;white-space:normal;line-height:1.15}
.gate-pill.ok{background:rgba(22,163,74,.14);border-color:rgba(22,163,74,.45);color:#bbf7d0}
.gate-pill.blocked{background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.45);color:#fecaca}
.portal-document .description-cell{word-break:break-word;overflow-wrap:anywhere}
@media (max-width: 768px){
  .customer-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}
  .customer-quick-actions .btn{width:100%;font-size:.82rem;padding:.55rem .5rem;min-height:42px;display:flex;align-items:center;justify-content:center}
  .gate-list{gap:.25rem}.gate-pill{font-size:.7rem;padding:.2rem .38rem;max-width:100%}
  .portal-document h1{font-size:1.25rem}.portal-document h2{font-size:1.05rem}
}
@media (max-width: 420px){
  .customer-quick-actions{grid-template-columns:1fr}
  .customer-quick-actions .btn{font-size:.8rem;min-height:40px}
}
