:root{
  --plum:#2E1A33; --plum-2:#3B2342; --plum-3:#4A2D53;
  --orange:#F45F04; --cyan:#04AFEA; --gold:#AD986E;
  --ink:#1B1520; --ink-2:#4A4152; --ink-3:#7A7185;
  --line:#E5E1E8; --line-2:#EFECF2;
  --bg:#F7F5F9; --card:#FFFFFF;
  --pos:#0E7C5A; --neg:#C0392B; --warn:#B7791F;
  --radius:10px;
  --sidebar:248px;
  --shadow:0 1px 2px rgba(27,21,32,.05), 0 8px 24px rgba(27,21,32,.05);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Archivo',system-ui,sans-serif;
  background:var(--bg); color:var(--ink);
  font-size:14px; line-height:1.45;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Archivo',sans-serif; font-weight:500; margin:0; letter-spacing:-.01em}
button{font-family:inherit; font-size:inherit; cursor:pointer}
table{border-collapse:collapse; width:100%}

/* ───────────────────────────── top bar ───────────────────────────── */
.topbar{
  position:sticky; top:0; z-index:60;
  background:var(--plum); color:#fff;
  height:58px; display:flex; align-items:center; gap:18px;
  padding:0 20px;
}
.mark{display:flex; align-items:center; gap:10px; flex-shrink:0; padding-right:10px}
.mark .logo{
  width:28px;height:28px;border-radius:7px;flex-shrink:0;
  background:linear-gradient(135deg,var(--orange),#c94b03);
  display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff
}
.mark .name{font-family:'Archivo',sans-serif; font-size:19px; letter-spacing:.2px; white-space:nowrap}
.mark .name b{font-weight:600}
.mark .name span{opacity:.62; font-weight:400}

.switch{display:flex; gap:3px; background:rgba(255,255,255,.09); padding:3px; border-radius:8px}
.switch button{
  border:0; background:transparent; color:rgba(255,255,255,.72);
  padding:6px 13px; border-radius:6px; font-size:13px; font-weight:500; white-space:nowrap;
}
.switch button:hover{color:#fff}
.switch button.on{background:#fff; color:var(--plum); font-weight:600}
.switch button.on[data-co="CORPLEX"]{box-shadow:inset 0 -2px 0 var(--orange)}
.switch button.on[data-co="POA"]{box-shadow:inset 0 -2px 0 var(--cyan)}
.switch button.on[data-co="LEX"]{box-shadow:inset 0 -2px 0 var(--gold)}

.topbar .spacer{flex:1}
.period{
  display:flex; align-items:center; gap:2px;
  background:rgba(255,255,255,.09); border-radius:8px; padding:3px;
}
.period button{border:0;background:transparent;color:rgba(255,255,255,.8);width:26px;height:26px;border-radius:5px;line-height:1}
.period button:hover{background:rgba(255,255,255,.14);color:#fff}
.period .lbl{padding:0 10px; font-weight:600; font-size:13px; min-width:86px; text-align:center}
.pill-open{font-size:11px;font-weight:600;background:rgba(255,255,255,.14);padding:3px 8px;border-radius:20px;letter-spacing:.02em}
.who{display:flex;align-items:center;gap:9px;padding-left:16px;border-left:1px solid rgba(255,255,255,.16)}
.who .av{width:28px;height:28px;border-radius:50%;background:var(--plum-3);display:grid;place-items:center;font-size:11px;font-weight:600}
.who .txt{line-height:1.2}
.who .txt b{font-size:13px;font-weight:600;display:block}
.who .txt span{font-size:11px;opacity:.6}
.burger{display:none;border:0;background:transparent;color:#fff;font-size:20px;padding:4px 8px;border-radius:6px}

/* ───────────────────────────── layout ───────────────────────────── */
.shell{display:flex; align-items:flex-start}
.side{
  width:var(--sidebar); flex-shrink:0;
  position:sticky; top:58px; height:calc(100vh - 58px);
  background:#fff; border-right:1px solid var(--line);
  padding:16px 12px; overflow-y:auto;
}
.side .grp{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:14px 10px 6px}
.side a{
  display:flex;align-items:center;gap:10px;justify-content:space-between;
  padding:8px 10px;border-radius:7px;color:var(--ink-2);text-decoration:none;
  font-size:13.5px;font-weight:500;cursor:pointer;
}
.side a:hover{background:var(--line-2);color:var(--ink)}
.side a.on{background:var(--plum);color:#fff}
.side a .tag{font-size:11px;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}
.side a.on .tag{color:rgba(255,255,255,.65)}
.side .dot{width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0}

.main{flex:1; min-width:0; padding:22px 24px 60px}
.page{display:none}
.page.on{display:block}

.phead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px;flex-wrap:wrap}
.phead h1{font-size:26px;line-height:1.15}
.phead p{margin:3px 0 0;color:var(--ink-3);font-size:13px}
.acts{display:flex;gap:8px;flex-wrap:wrap}
.btn{
  border:1px solid var(--line); background:#fff; color:var(--ink);
  padding:7px 13px;border-radius:7px;font-size:13px;font-weight:500;white-space:nowrap;
}
.btn:hover{border-color:#CFC8D6;background:#FCFBFD}
.btn.pri{background:var(--plum);border-color:var(--plum);color:#fff}
.btn.pri:hover{background:var(--plum-2)}
.btn.ghost{border-color:transparent;background:var(--line-2)}

/* ───────────────────────────── cards ───────────────────────────── */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card > header{
  padding:13px 16px;border-bottom:1px solid var(--line-2);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.card > header h3{font-size:16px}
.card > header .sub{font-size:12px;color:var(--ink-3)}

/* equal-height rows — every card in a row stretches to the tallest */
.row{display:grid;gap:14px;align-items:stretch;margin-bottom:14px}
.row > *{min-width:0}
.row.k4{grid-template-columns:repeat(4,minmax(0,1fr))}
.row.k3{grid-template-columns:repeat(3,minmax(0,1fr))}
.row.k2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.row.k23{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.row > .card{display:flex;flex-direction:column}
.row > .card > .body{flex:1}

.stat{padding:15px 16px;display:flex;flex-direction:column;height:100%}
.stat .lbl{font-size:12px;font-weight:500;color:var(--ink-3);display:flex;align-items:center;gap:6px}
.stat .val{font-family:'Archivo',sans-serif;font-size:29px;line-height:1.1;margin-top:9px;font-variant-numeric:tabular-nums}
.stat .val small{font-size:14px;color:var(--ink-3);font-family:'Archivo',sans-serif;margin-right:3px}
.stat .foot{margin-top:auto;padding-top:11px;font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:6px}
.chip{font-size:11px;font-weight:600;padding:2px 7px;border-radius:20px;background:var(--line-2);color:var(--ink-2);white-space:nowrap}
.chip.up{background:#E8F5EF;color:var(--pos)}
.chip.dn{background:#FCECEA;color:var(--neg)}
.chip.wn{background:#FDF3E2;color:var(--warn)}
.chip.co{background:#F3EEF5;color:var(--plum)}

/* ───────────────────────────── tables ───────────────────────────── */
.tw{overflow-x:auto}
thead th{
  font-size:13px;font-weight:600;color:var(--ink);
  text-align:left;padding:9px 12px;white-space:nowrap;
  border-bottom:1px solid var(--line);background:#FBFAFC;
}
tbody td{
  padding:9px 12px;border-bottom:1px solid var(--line-2);
  font-size:13px;vertical-align:middle;
}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:#FCFBFD}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
th.num{text-align:right}
.mut{color:var(--ink-3)}
.nw{white-space:nowrap}
.nm{font-weight:500;white-space:nowrap}
tfoot td{
  padding:10px 12px;font-size:13px;font-weight:600;
  border-top:2px solid var(--line);background:#FBFAFC;white-space:nowrap;
}
.zero{color:#C8C2D0}
.wo{color:var(--neg);font-weight:600}

/* sticky first columns on the wide month grids */
.grid-tw{overflow-x:auto;position:relative}
.grid-tw table{min-width:1180px}
.grid-tw th.stick,.grid-tw td.stick{
  position:sticky;left:0;z-index:2;background:#fff;
  box-shadow:1px 0 0 var(--line-2);
}
.grid-tw thead th.stick{background:#FBFAFC;z-index:3}
.grid-tw tfoot td.stick{background:#FBFAFC;z-index:3}
.grid-tw tbody tr:hover td.stick{background:#FCFBFD}
.mcol{min-width:74px}
.mnow{background:#FFF6F0 !important;box-shadow:inset 1px 0 0 #F8D8C2, inset -1px 0 0 #F8D8C2}
thead th.mnow{color:var(--orange)}

.seg{display:inline-flex;background:var(--line-2);border-radius:8px;padding:3px;gap:2px}
.seg button{border:0;background:transparent;color:var(--ink-2);padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500}
.seg button.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.07)}

.note{
  display:flex;gap:10px;padding:11px 13px;border-radius:8px;
  background:#FDF6EE;border:1px solid #F2E0CA;font-size:13px;color:#7A5518;margin-bottom:14px;
}
.note b{color:#5E400F}
.list{padding:4px 0}
.list .it{display:flex;gap:11px;padding:10px 16px;border-bottom:1px solid var(--line-2);align-items:flex-start}
.list .it:last-child{border-bottom:0}
.list .it .ic{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-size:12px;flex-shrink:0;background:var(--line-2)}
.list .it .ic.w{background:#FDF3E2;color:var(--warn)}
.list .it .ic.g{background:#E8F5EF;color:var(--pos)}
.list .it p{margin:0;font-size:13px}
.list .it .t{font-size:12px;color:var(--ink-3);margin-top:1px}

.je{padding:0}
.je .co{padding:12px 16px;border-bottom:1px solid var(--line-2);display:flex;align-items:center;gap:10px;background:#FBFAFC}
.je .co b{font-size:14px}
.acct{font-weight:500}
.desc{color:var(--ink-3);font-size:12.5px}

.mini{height:6px;border-radius:3px;background:var(--line-2);overflow:hidden;min-width:60px}
.mini i{display:block;height:100%;background:var(--plum-3)}

.kv{display:grid;grid-template-columns:auto 1fr;gap:7px 16px;padding:14px 16px;font-size:13px}
.kv dt{color:var(--ink-3)}
.kv dd{margin:0;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}

.scrim{display:none;position:fixed;inset:0;background:rgba(27,21,32,.42);z-index:70}
.scrim.on{display:block}

/* ───────────────────────────── phone ───────────────────────────── */
@media (max-width:1180px){
  .row.k4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mark{min-width:auto}
}
@media (max-width:900px){
  .burger{display:block}
  .side{
    position:fixed;top:0;left:0;height:100vh;z-index:80;
    transform:translateX(-100%);transition:transform .22s ease;
    width:270px;padding-top:20px;box-shadow:0 0 40px rgba(0,0,0,.2);
  }
  .side.open{transform:translateX(0)}
  .main{padding:16px 14px 80px}
  .row.k4,.row.k3,.row.k2,.row.k23{grid-template-columns:minmax(0,1fr)}
  .topbar{gap:8px;padding:8px 12px;height:auto;flex-wrap:wrap}
  .mark{min-width:0;flex:1 1 auto;overflow:hidden}
  .mark .name{font-size:16px;overflow:hidden;text-overflow:ellipsis}
  .mark .name span{display:none}
  .topbar .spacer{display:none}
  .period{flex-shrink:0}
  .switch{order:3;width:100%;overflow-x:auto;justify-content:flex-start}
  .switch button{flex:1 0 auto}
  .who{display:none}
  .acts{width:100%}
  .acts .btn,.acts .seg{flex:1 0 auto}
  .side{top:0}
  /* two stat cards to a row so the numbers are not a long scroll */
  .row.k4,.row.k3{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .row.k4 .stat,.row.k3 .stat{padding:12px 13px}
  .row.k4 .val,.row.k3 .val{font-size:22px}
  .row.k4 .val small,.row.k3 .val small{font-size:12px}
  .row.k4 .lbl,.row.k3 .lbl{font-size:11.5px}
  .row.k4 .foot,.row.k3 .foot{font-size:11px;padding-top:8px}
  .phead h1{font-size:22px}
  .period .lbl{min-width:74px}

  /* wide grids collapse into one card per row — no pinching, no clipping */
  .grid-tw{display:none}
  .stack{display:block}
  .srow{border-bottom:1px solid var(--line-2);padding:12px 14px}
  .srow:last-child{border-bottom:0}
  .srow .h{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
  .srow .h b{font-size:14px;font-weight:600}
  .srow .h .v{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
  .srow .m{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12px;color:var(--ink-3)}
  .srow .m span{font-variant-numeric:tabular-nums}
  .srow .m span b{color:var(--ink-2);font-weight:600}
}
@media (min-width:901px){ .stack{display:none} }
@media (max-width:420px){
  .switch button{padding:6px 9px;font-size:12px}
}

/* ───────────────────────── login ───────────────────────── */
.gate{min-height:100vh;display:grid;place-items:center;background:var(--plum);padding:20px}
.gate .box{width:100%;max-width:380px;background:#fff;border-radius:14px;padding:30px 28px;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.gate .bm{display:flex;align-items:center;gap:11px;margin-bottom:22px}
.gate .bm .logo{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,var(--orange),#c94b03);display:grid;place-items:center;color:#fff;font-weight:700}
.gate h2{font-family:'Archivo',sans-serif;font-size:22px}
.gate .sub{font-size:12.5px;color:var(--ink-3);margin-top:2px}
.fld{margin-bottom:13px}
.fld label{display:block;font-size:12px;font-weight:500;color:var(--ink-3);margin-bottom:5px}
.fld input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px;color:var(--ink);background:#fff}
.fld input:focus{outline:0;border-color:var(--plum-3);box-shadow:0 0 0 3px rgba(74,45,83,.10)}
.gate .btn{width:100%;padding:11px;font-size:14px;font-weight:600;margin-top:5px}
.err{background:#FCECEA;color:var(--neg);border:1px solid #F3D4CF;border-radius:8px;padding:9px 12px;font-size:13px;margin-bottom:13px}
.hide{display:none !important}

/* ───────────────────────── states ───────────────────────── */
.empty{padding:46px 24px;text-align:center;color:var(--ink-3)}
.empty .big{font-family:'Archivo',sans-serif;font-size:19px;color:var(--ink-2);margin-bottom:5px}
.empty p{margin:0;font-size:13px;max-width:440px;margin-inline:auto}
.soon{display:inline-flex;align-items:center;gap:7px;background:var(--line-2);color:var(--ink-2);
  border-radius:20px;padding:5px 13px;font-size:12px;font-weight:600;margin-top:14px}
.spin{width:15px;height:15px;border:2px solid var(--line);border-top-color:var(--plum-3);
  border-radius:50%;animation:sp .7s linear infinite;display:inline-block;vertical-align:-2px}
@keyframes sp{to{transform:rotate(360deg)}}
.ro{background:rgba(255,255,255,.14);font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;letter-spacing:.02em}

/* ───────────────────────── modal ───────────────────────── */
.mask{position:fixed;inset:0;background:rgba(27,21,32,.48);z-index:90;display:grid;
  place-items:center;padding:20px;overflow-y:auto}
.modal{background:#fff;border-radius:12px;width:100%;max-width:620px;box-shadow:0 30px 70px rgba(0,0,0,.3);
  max-height:calc(100vh - 40px);display:flex;flex-direction:column}
.modal.wide{max-width:960px}
.modal > header{padding:16px 20px;border-bottom:1px solid var(--line-2);display:flex;
  align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}
.modal > header h3{font-size:18px}
.modal > header .sub{font-size:12px;color:var(--ink-3);margin-top:2px}
.modal .mbody{padding:18px 20px;overflow-y:auto;flex:1}
.modal > footer{padding:13px 20px;border-top:1px solid var(--line-2);display:flex;
  gap:8px;justify-content:flex-end;flex-shrink:0;background:#FBFAFC;border-radius:0 0 12px 12px}
.x{border:0;background:transparent;color:var(--ink-3);font-size:20px;line-height:1;padding:2px 6px;border-radius:6px}
.x:hover{background:var(--line-2);color:var(--ink)}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.grid2 .full{grid-column:1 / -1}
.f label{display:block;font-size:12px;font-weight:500;color:var(--ink-3);margin-bottom:5px}
.f input,.f select{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px 11px;
  font-family:inherit;font-size:14px;color:var(--ink);background:#fff}
.f input:focus,.f select:focus{outline:0;border-color:var(--plum-3);box-shadow:0 0 0 3px rgba(74,45,83,.10)}
.f .hint{font-size:11.5px;color:var(--ink-3);margin-top:4px}
.f.chk{display:flex;align-items:center;gap:9px;padding-top:22px}
.f.chk input{width:auto}
.f.chk label{margin:0;font-size:13.5px;color:var(--ink-2);font-weight:500}

.diff{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.diff .d{display:flex;justify-content:space-between;gap:14px;padding:9px 13px;
  border-bottom:1px solid var(--line-2);font-size:13px;align-items:baseline}
.diff .d:last-child{border-bottom:0}
.diff .d b{font-weight:500;color:var(--ink-2)}
.diff .d .v{font-variant-numeric:tabular-nums;text-align:right}
.diff .d .v s{color:var(--ink-3);text-decoration:line-through;margin-right:8px}
.drop{border:1.5px dashed var(--line);border-radius:10px;padding:26px 18px;text-align:center;
  background:#FCFBFD;cursor:pointer}
.drop:hover{border-color:var(--plum-3);background:#FAF8FB}
.drop b{display:block;font-size:14px;margin-bottom:3px}
.drop span{font-size:12.5px;color:var(--ink-3)}
.rowact{white-space:nowrap;text-align:right}
.rowact .btn{padding:5px 10px;font-size:12.5px}
@media (max-width:640px){ .grid2{grid-template-columns:1fr} .modal > footer{flex-wrap:wrap} .modal > footer .btn{flex:1} }

/* suggested holders: a table on a desk, a card per asset on a phone */
@media (max-width:640px){
  .sgt table, .sgt tbody{display:block;min-width:0}
  .sgt thead{display:none}
  .sgt tr{display:grid;grid-template-columns:28px 1fr;gap:6px 8px;padding:12px 2px;border-bottom:1px solid var(--line-2)}
  .sgt td{display:block;border:0;padding:0;min-width:0 !important}
  .sgt td:nth-child(n+3){grid-column:2}
  .sgt select,.sgt input[type=month]{width:100% !important;min-width:0 !important}
}

/* Bank & cash pages are CorpLex only and not month-bound: no company switch, no month selector */
#app.bank .switch, #app.bank .period, #app.bank #periodState{display:none}

/* ───────────── Bank & cash (accounting move step 4) ───────────── */
.banktab{table-layout:fixed}
.banktab td,.banktab th{padding-left:10px;padding-right:10px}
.banktab td.clip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.banktab td.bact{white-space:nowrap;text-align:right;padding-right:14px}
.banktab tbody td{height:40px;padding-top:6px;padding-bottom:6px}
.splitbtn{line-height:16px}
.bsearch{border:1px solid var(--line);border-radius:8px;padding:8px 11px;font:inherit;font-size:13px;width:260px;background:#fff}
.bsearch:focus{outline:0;border-color:var(--plum-3);box-shadow:0 0 0 3px rgba(74,45,83,.10)}
.phead .acts{align-items:center}
.bankmsg{font-size:12.5px;color:var(--ink-3)}
.banner{background:#FDF3E2;border:1px solid #F1DDB8;color:#7A5212;border-radius:var(--radius);padding:10px 14px;font-size:13px;margin-bottom:14px}
.bankcaps{margin-top:14px;padding:4px 0}
.cap{margin:0;padding:10px 16px;font-size:12.5px;color:var(--ink-3);line-height:1.55}
.bad{color:var(--neg)}
.pos{color:var(--pos)}
.lnk{border:0;background:none;padding:0;font:inherit;color:var(--plum-3);text-decoration:underline dotted;cursor:pointer;margin-left:6px}
.lnk.bad{color:var(--neg);margin-left:0}
.lnk:disabled{opacity:.5;cursor:default}
.prbtn{border:0;background:none;padding:0;font:inherit;color:var(--plum-3);cursor:copy;text-align:left;line-height:1.4}
.prbtn:hover{text-decoration:underline}
.prbtn.ok{color:var(--pos)}
.splitbtn{border:1px solid var(--line);background:#fff;border-radius:6px;font-size:12px;padding:3px 8px;color:var(--ink-2);vertical-align:middle;width:44px}
.splitbtn.on{border-color:var(--plum-3);color:var(--plum-3);font-weight:600}
.splitbtn:disabled{opacity:.45;cursor:default}
.splitgap{display:inline-block;width:44px;vertical-align:middle}
.dotgap{display:inline-block;width:21px;vertical-align:middle}
.dot{display:inline-block;width:11px;height:11px;padding:0;border:0;border-radius:50%;background:var(--neg);vertical-align:middle;margin-left:10px}
.dot.on{background:var(--pos)}
.dot.busy{opacity:.45}
button.dot:not(:disabled){cursor:pointer}
button.dot:disabled:not(.on){opacity:.35;cursor:default}
.shead,.sline{display:grid;grid-template-columns:1fr 1.25fr 130px 30px;gap:8px;align-items:center}
.shead{font-size:12px;font-weight:500;color:var(--ink-3);margin-bottom:6px}
.shead .num{text-align:right}
.sline{margin-bottom:10px}
.sline input{width:100%;border:1px solid var(--line);border-radius:7px;padding:8px 10px;font:inherit;font-size:13.5px}
.sline input.num{text-align:right}
.sline input:focus{outline:0;border-color:var(--plum-3);box-shadow:0 0 0 3px rgba(74,45,83,.10)}
.invinfo{grid-column:1 / -1;font-size:12px;color:var(--ink-2);margin-top:-2px}
.invinfo:empty{display:none}
.ssum{margin-top:12px;font-size:13px;color:var(--ink-2)}
/* petty cash: Record and its pop-up */
.splitbtn.wide{width:62px}
.pxseg{display:flex;gap:3px;background:var(--line-2);padding:3px;border-radius:8px;margin-bottom:14px}
.pxseg button{flex:1;border:0;background:transparent;border-radius:6px;padding:7px 8px;font-size:13px;color:var(--ink-2)}
.pxseg button.on{background:#fff;color:var(--plum);font-weight:600;box-shadow:0 1px 2px rgba(27,21,32,.08)}
.pxq{width:100%;border:1px solid var(--line);border-radius:7px;padding:8px 10px;font:inherit;font-size:13.5px;background:#fff}
.pxq:focus{outline:0;border-color:var(--plum-3);box-shadow:0 0 0 3px rgba(74,45,83,.10)}
.pxlist{border:1px solid var(--line);border-radius:8px;margin-top:6px;max-height:224px;overflow-y:auto}
.pxopt{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid var(--line-2);
  background:#fff;padding:8px 11px;font-size:13px;text-align:left;color:var(--ink)}
.pxopt:last-child{border-bottom:0}
.pxopt:hover{background:#FAF8FB}
.pxopt.on{background:#F3EEF5;color:var(--plum);font-weight:600}
.pxname{min-width:0}
.pxtag{font-size:11px;font-weight:600;color:var(--ink-3);white-space:nowrap}
.pxnone{padding:10px 11px;font-size:12.5px;color:var(--ink-3)}
.pxpick,.pxchosen{font-size:13px;color:var(--ink-2);margin:8px 0 12px}
.opt{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:9px 11px;margin-top:8px;cursor:pointer}
.opt input{margin-top:3px}
.opt span{display:flex;flex-direction:column;font-size:13px}
.opt i{font-style:normal;font-size:12px;color:var(--ink-3)}
.pxsub{margin-top:12px}
.pxlbl{display:block;font-size:12px;font-weight:500;color:var(--ink-3);margin-bottom:5px}
.pxbhead,.pxbill{display:grid;grid-template-columns:22px 1fr 92px 100px 110px;gap:8px;align-items:center}
.pxbhead{font-size:12px;font-weight:500;color:var(--ink-3);margin-bottom:4px}
.pxbhead .num,.pxbill .num{text-align:right}
.pxbill{padding:6px 0;border-top:1px solid var(--line-2);font-size:13px}
.pxbill span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pxbill input.num{width:100%;border:1px solid var(--line);border-radius:6px;padding:5px 8px;font:inherit;font-size:13px}
.pxxfer{border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:14px;background:#FCFBFD}
/* Payments: Paid on, Bill · VAT and its pop-up */
.pdate{border:1px solid var(--line);border-radius:6px;padding:3px 6px;font:inherit;font-size:12.5px;color:var(--ink);background:#fff;width:122px}
.pdate:focus{outline:0;border-color:var(--plum-3);box-shadow:0 0 0 3px rgba(74,45,83,.10)}
.billbtn{border:1px solid var(--line);background:#fff;border-radius:6px;font-size:12px;padding:3px 8px;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;max-width:100%}
.billbtn:hover{border-color:var(--plum-3)}
.billbtn.on{border-color:var(--plum-3);color:var(--plum-3);font-weight:600}
.billbtn.miss{border-color:var(--warn);color:var(--warn)}
.billbtn .nd{font-size:10.5px;font-weight:600;background:var(--line-2);color:var(--ink-2);border-radius:9px;padding:0 5px;line-height:15px}
.dot.err{box-shadow:0 0 0 3px rgba(192,57,43,.18)}
.modal.doc{max-width:1380px}
.pbwrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start}
.pbrad{display:flex;gap:8px;align-items:baseline;font-size:13.5px;color:var(--ink);margin:6px 0;cursor:pointer}
.pbrad .mut{font-size:12px}
.vhead,.vline{display:grid;grid-template-columns:minmax(0,1fr) 96px 118px 24px;gap:6px;align-items:center}
.vhead{font-size:12px;font-weight:500;color:var(--ink-3);margin:12px 0 4px}
.vhead .num{text-align:right}
.vline{margin-bottom:6px}
.vline input,.vline select{width:100%;border:1px solid var(--line);border-radius:6px;padding:6px 8px;font:inherit;font-size:13px;background:#fff;min-width:0}
.vline input.num{text-align:right}
.vline input:focus,.vline select:focus{outline:0;border-color:var(--plum-3);box-shadow:0 0 0 3px rgba(74,45,83,.10)}
.vline .x{font-size:17px;padding:0 4px}
.vfoot{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;margin-top:4px}
.pbdocs{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#FCFBFD;min-height:300px;display:flex;flex-direction:column}
.pbtabs{display:flex;gap:2px;padding:6px 6px 0;border-bottom:1px solid var(--line);background:#fff;overflow-x:auto}
.pbtabs button{border:0;background:transparent;border-radius:6px 6px 0 0;padding:6px 10px;font-size:12.5px;color:var(--ink-2);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.pbtabs button.on{background:#F3EEF5;color:var(--plum);font-weight:600}
.pbview{height:calc(100vh - 300px);min-height:460px;display:flex;align-items:flex-start;justify-content:center;background:#F4F2F6;overflow:auto}
.pbview iframe{width:100%;height:100%;border:0;background:#fff}
.pbview img{width:100%;height:auto;display:block}
.pbdl{padding:8px 12px;font-size:12.5px;border-top:1px solid var(--line);background:#fff}
.pbdl a{color:var(--plum-3)}
.pbnone{padding:40px 20px;text-align:center;font-size:13px;color:var(--ink-3);margin:auto}
.pbro{margin-right:auto;font-size:13px;color:var(--ink-3);align-self:center}

/* Send / Post button in place of the dot (25/09/2026). One width for every state, so the column never moves. */
.sendgap{display:inline-block;width:92px;margin-left:6px;vertical-align:middle}
.sendbtn,.sentpill,.sentnot{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;
  width:92px;height:24px;line-height:1;margin-left:6px;vertical-align:middle;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden}
.sendbtn{border:1px solid var(--plum-3);background:var(--plum-3);color:#fff;padding:0 6px;gap:5px;cursor:pointer;font-family:inherit}
.sendbtn:hover:not(:disabled){filter:brightness(1.12)}
.sendbtn:disabled{background:#fff;color:var(--ink-3);border-color:var(--line);cursor:default}
.sendbtn.busy{background:#fff;color:var(--plum-3);border-color:var(--plum-3)}
.sendbtn.busy .spin{width:10px;height:10px;flex-shrink:0}
.sendbtn.retry{background:#fff;color:var(--neg);border-color:var(--neg)}
.sentpill{background:#E6F1EB;color:#1F7A4D;border:1px solid #BFDCCB}
.sentnot{color:var(--ink-3);font-weight:500;border:1px dashed var(--line)}
@keyframes justsent{from{background:#DDF0E4}to{background:transparent}}
tr.justsent td{animation:justsent 2.4s ease-out}
.sendres{position:relative;border-radius:var(--radius);padding:10px 40px 10px 14px;margin-bottom:14px;font-size:13px;line-height:1.5}
.sendres.ok{background:#EEF7F1;border:1px solid #BFDCCB;color:#1F5A3A}
.sendres.bad{background:#FBEDEB;border:1px solid #EFC6C0;color:#8A2A1E}
.sendres .h{font-weight:600}
.sendres .h span{font-weight:400}
.sendres .l{padding-left:16px}
.sendres .l.w{color:#7A5212}
.sendres .x{position:absolute;top:6px;right:8px;border:0;background:none;font-size:18px;line-height:1;color:inherit;cursor:pointer;opacity:.6}
.sendres .x:hover{opacity:1}
.actw{display:flex;justify-content:flex-end;align-items:center;min-height:24px}
.actw>*{flex-shrink:0}
.actw.mid{justify-content:center}
.actw.mid .sendbtn,.actw.mid .sentpill,.actw.mid .sentnot{margin-left:0}

/* ── The menu as two rows of tabs (25/09/2026). The left rail is gone. ── */
.side{display:none !important}
.burger{display:none !important}
.secs{display:flex;align-items:stretch;align-self:stretch;gap:2px;margin-left:6px}
.secs button{border:0;background:transparent;color:rgba(255,255,255,.7);font-size:14px;font-weight:500;
  padding:0 14px;white-space:nowrap;border-bottom:3px solid transparent;border-top:3px solid transparent}
.secs button:hover{color:#fff;background:rgba(255,255,255,.06)}
.secs button.on{color:#fff;font-weight:600;border-bottom-color:var(--orange)}
.subbar{position:sticky;top:58px;z-index:55;background:#fff;border-bottom:1px solid var(--line);
  min-height:48px;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:6px 20px;box-sizing:border-box}
.subbar .ctl{display:flex;align-items:center;gap:10px;margin-left:auto}
.subbar .spacer{flex:1}
.tabs{display:flex;align-items:center;gap:4px;min-width:0}
.tabs button{border:0;background:transparent;color:var(--ink-2);font-size:13.5px;font-weight:500;
  padding:6px 10px;border-radius:7px;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.tabs button:hover{background:var(--line-2);color:var(--ink)}
.tabs button.on{background:var(--plum);color:#fff}
.tabs .tag{font-size:10.5px;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}
.tabs button.on .tag{color:rgba(255,255,255,.65)}
/* the company switch, the month and Open/Closed now sit on white */
.subbar .switch{background:var(--line-2)}
.subbar .switch button{color:var(--ink-2);padding:6px 10px}
.subbar .switch button:hover{color:var(--ink)}
.subbar .switch button.on{background:var(--plum);color:#fff}
.subbar .period{background:var(--line-2)}
.subbar .period button{color:var(--ink-2)}
.subbar .period button:hover{background:#fff;color:var(--ink)}
.subbar .period .lbl{color:var(--ink)}
.subbar .pill-open{background:#E6F1EB;color:#1F7A4D}
.subbar .pill-open.closed{background:var(--line-2);color:var(--ink-2)}
.main{padding:22px 28px 60px}

/* Qashio (25/09/2026) */
.qseg{margin:14px 0 10px}
.qseg .seg{flex-wrap:wrap}
.qsum tbody tr:hover td{background:#FBFAFC}
.qsum tr.qon td{background:#F6F1F8}
.qban{display:flex;align-items:center;justify-content:space-between;gap:16px}
.qban .btn{flex:0 0 auto}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}
.qmod{width:100%}
.qmod td,.qmod th{padding:6px 8px}
.qsumcard{margin-top:14px}
.qseg{margin-top:0}

/* Undo (25/09/2026): the ✓ pill is a button for the manager; on hover it says Undo */
button.sentpill{font-family:inherit;cursor:pointer;padding:0 6px}
.sentpill.undo .b{display:none}
.sentpill.undo:hover,.sentpill.undo:focus-visible{background:#fff;color:var(--neg);border-color:var(--neg)}
.sentpill.undo:hover .a,.sentpill.undo:focus-visible .a{display:none}
.sentpill.undo:hover .b,.sentpill.undo:focus-visible .b{display:inline}
.btn.danger{background:var(--neg);border-color:var(--neg);color:#fff}
.btn.danger:hover:not(:disabled){filter:brightness(1.08)}
.btn.danger:disabled{opacity:.5;cursor:default}

/* ───────────── Month end → Checklist (close.js, 04/10/2026) ───────────── */
.mec-card{margin-bottom:14px}
table.mec,table.mec-j{table-layout:fixed}
table.mec td{vertical-align:top;overflow-wrap:normal;word-break:normal}
table.mec td.num{padding-top:11px}
table.mec td:first-child{padding-top:10px}
.mec-step .nm{font-weight:600;color:var(--ink)}
.mec-go{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--ink);text-align:left;cursor:pointer;
  text-decoration:underline dotted var(--ink-3);text-underline-offset:3px}
.mec-go:hover{color:var(--plum-3)}
.mec-how{font-size:12px;color:var(--ink-3);margin-top:2px;line-height:1.45}
.mec-note{margin:0;font-size:12.5px;line-height:1.5;padding:7px 10px;border-radius:7px;background:var(--line-2);color:var(--ink-2)}
.mec-note.issue{background:#FCECEA;color:#7A2219}
.mec-chk{font-size:12.5px;line-height:1.5}
.mec-ok{color:var(--pos)} .mec-warn{color:var(--warn);font-weight:500} .mec-todo{color:var(--ink-2)}
.mec-info{color:var(--ink-2)} .mec-na{color:var(--ink-3)}
.mec-who{font-size:12.5px;line-height:1.45}
.mec-acts{display:flex;gap:6px;justify-content:flex-end}
.stat .val small.of{font-family:'Archivo',sans-serif;font-size:20px;color:var(--ink-3);margin:0}
.mec-mchk{margin:0 0 14px;font-size:13px;line-height:1.5}
.mec-ta{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px 11px;font:inherit;font-size:13.5px;resize:vertical}
.mec-ta:focus{outline:0;border-color:var(--plum-3);box-shadow:0 0 0 3px rgba(74,45,83,.10)}
table.mec tr.mec-hasnote td{border-bottom:0;padding-bottom:4px}
table.mec tr.mec-noterow td{padding-top:0;padding-bottom:12px}
table.mec tbody tr:hover td{background:transparent}
.mec-f{margin-bottom:16px}

/* ═══════════════════ Ledger Desk — "Double Entry" (07/10/2026) ═══════════════════
   Avin chose the Double Entry look for the whole app. This block is the shared shell:
   the tokens, the fonts, the black header band, the tabs and the company switch.
   Pages are restyled one at a time after it (Home first, home.js); until a page's turn
   it keeps its layout and only takes the new fonts and colours from the tokens.
   Ink #0A0A0A · Paper #FFFFFF · Signal blue #1238FF (the one accent) ·
   Exception #E8380D (problems only) · Grey text #6B6B6B · Hairline #EDEDED.
   Archivo for everything, JetBrains Mono for figures. No rounded cards, shadows or gradients. */
:root{
  --ld-ink:#0A0A0A; --ld-paper:#FFFFFF; --ld-blue:#1238FF; --ld-exc:#E8380D; --ld-grey:#6B6B6B; --ld-hair:#EDEDED;
  --ld-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ink:#0A0A0A; --ink-2:#3A3A3A; --ink-3:#6B6B6B;
  --line:#E2E2E2; --line-2:#EDEDED; --bg:#FFFFFF;
  --plum:#0A0A0A; --plum-2:#262626; --plum-3:#4D4D4D; --orange:#1238FF;
  --neg:#E8380D;
}
body{font-family:'Archivo','Helvetica Neue',Arial,sans-serif;background:var(--ld-paper);color:var(--ld-ink)}
h1,h2,h3{font-family:'Archivo','Helvetica Neue',Arial,sans-serif;font-weight:800;letter-spacing:0}
.mono{font-family:var(--ld-mono)}
.phead h1{font-weight:900;font-stretch:70%;font-size:36px;line-height:1;text-transform:uppercase;letter-spacing:.01em}
.card > header h3{font-weight:800;font-size:16px}
.stat .val{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:62%;font-size:36px;line-height:1}
.stat .val small{font-family:'Archivo',sans-serif;font-stretch:100%;font-weight:600}
.stat .val small.of{font-family:'Archivo',sans-serif;font-stretch:62%;font-weight:900;font-size:24px}

/* sign in */
.gate{background:var(--ld-ink)}
.gate .box{border-radius:0;box-shadow:none;border-top:6px solid var(--ld-blue);padding:30px 28px 28px}
.gate .bm{display:block;margin-bottom:22px}
.gate .bm .wm{font-weight:900;font-stretch:70%;font-size:40px;line-height:.95;letter-spacing:.01em}
.gate .sub{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ld-grey);margin-top:6px}
.gate .btn{border-radius:0;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.gate .btn.pri{background:var(--ld-ink);border-color:var(--ld-ink)}
.gate input{border-radius:0}

/* the black band */
.topbar{background:var(--ld-ink);height:56px;padding:0 0 0 24px;gap:0;align-items:stretch}
.topbar .mark{display:flex;align-items:center;padding:0 24px 0 0;border-right:1px solid #333;gap:0;
  font-weight:900;font-stretch:70%;font-size:26px;letter-spacing:.01em;white-space:nowrap;color:#fff}
.secs{margin-left:0;gap:0;align-items:stretch}
.secs button{min-height:56px;padding:0 14px;border:0;font-size:13px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:#BDBDBD;background:transparent}
.secs button:hover{color:#fff;background:#1A1A1A}
.secs button.on{color:#fff;font-weight:700;border:0;box-shadow:inset 0 -4px 0 var(--ld-blue)}
.topbar .switch{align-self:stretch;background:transparent;padding:0;border-radius:0;gap:0}
.topbar .switch button{border-radius:0;border:0;border-left:1px solid #333;padding:0 16px;min-height:56px;
  font-size:13px;font-weight:500;letter-spacing:.06em;color:#BDBDBD;background:transparent}
.topbar .switch button:hover:not(:disabled){color:#fff;background:#1A1A1A}
.topbar .switch button.on,.topbar .switch button.on[data-co]{background:var(--ld-blue);color:#fff;font-weight:700;box-shadow:none}
.topbar .switch button:disabled{color:#5E5E5E;cursor:not-allowed}
.topbar .ro{align-self:center;margin:0 12px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid #BDBDBD;color:#BDBDBD;padding:3px 6px;border-radius:0;background:transparent}
.topbar .who{align-self:stretch;padding:0 16px;border-left:1px solid #333;gap:10px}
.topbar .who .av{width:28px;height:28px;border-radius:0;background:#262626;font-size:11px;font-weight:700;letter-spacing:.04em}
.topbar .who .txt b{font-size:12.5px;font-weight:600}
.topbar .who .txt span{font-size:11px;opacity:1;color:#9E9E9E}
.topbar .out{border:0;border-left:1px solid #333;background:transparent;color:#BDBDBD;padding:0 18px;
  font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.topbar .out:hover{color:#fff;background:#1A1A1A}

/* the white bar: the pages of the open section, the month and Open / Closed */
.subbar{top:56px;min-height:44px;padding:0 24px;gap:0 10px;border-bottom:1px solid var(--ld-ink)}
.tabs{gap:0;align-self:stretch;align-items:stretch}
.tabs button{border-radius:0;padding:0 12px;min-height:44px;font-size:12px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ld-grey);background:transparent}
.tabs button:hover{background:transparent;color:var(--ld-ink)}
.tabs button.on{background:transparent;color:var(--ld-ink);font-weight:700;box-shadow:inset 0 -4px 0 var(--ld-blue)}
.tabs .tag{font-family:var(--ld-mono);font-size:10px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ld-grey)}
.tabs button.on .tag{color:var(--ld-grey)}
.subbar .period{background:transparent;border:1px solid var(--ld-ink);border-radius:0;padding:0;gap:0}
.subbar .period button{border-radius:0;width:28px;height:28px;color:var(--ld-ink)}
.subbar .period button:hover{background:var(--ld-ink);color:#fff}
.subbar .period .lbl{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;min-width:90px;
  border-left:1px solid var(--ld-ink);border-right:1px solid var(--ld-ink);line-height:28px}
.subbar .pill-open{border-radius:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:0 8px;line-height:28px;background:transparent;color:var(--ld-ink);border:1px solid var(--ld-ink)}
.subbar .pill-open.closed{background:var(--ld-ink);color:#fff}
#app.home .subbar{display:none}
#app.home .main{padding:0 40px 56px}

/* ═══════════════════ Home (home.js) ═══════════════════ */
.ld{max-width:1360px;margin:0 auto;color:var(--ld-ink)}
.ld .fig{font-family:var(--ld-mono);font-variant-numeric:tabular-nums}
.ld .blue{color:var(--ld-blue)} .ld .exc{color:var(--ld-exc)}
.ld-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding:36px 0 28px;
  border-bottom:2px solid var(--ld-ink);align-items:end}
.ld-hero > .l{grid-column:span 7;min-width:0}
.ld-hero > .r{grid-column:span 5;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;
  border-top:2px solid var(--ld-ink);min-width:0}
.ld-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--ld-mono);font-size:12px;color:var(--ld-grey)}
.ld-meta button{border:1px solid var(--ld-ink);background:#fff;color:var(--ld-ink);border-radius:0;padding:3px 8px;
  font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ld-meta button:hover:not(:disabled){background:var(--ld-ink);color:#fff}
.ld-meta button:disabled{opacity:.5;cursor:default}
.ld-h1{margin:10px 0 0;font-weight:900;font-stretch:62%;font-size:120px;line-height:.82;letter-spacing:-.01em;text-transform:uppercase}
.ld-kpi{padding:14px 16px 14px 0;border-bottom:2px solid var(--ld-ink);display:flex;flex-direction:column;gap:4px;min-width:0}
.ld-kpi:nth-child(even){padding-left:16px;border-left:1px solid var(--ld-ink)}
.ld-kpi .k{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ld-grey)}
.ld-kpi .v{font-weight:900;font-stretch:62%;font-size:52px;line-height:1;font-variant-numeric:tabular-nums}
.ld-kpi .f{margin-top:auto;padding-top:6px;font-family:var(--ld-mono);font-size:11px;color:var(--ld-grey)}

.ld-sec{padding-top:36px}
.ld-h2row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:6px solid var(--ld-ink);padding-bottom:8px}
.ld-h2{margin:0;font-weight:900;font-stretch:75%;font-size:40px;line-height:1;text-transform:uppercase;letter-spacing:.01em}
.ld-h2.s{font-size:32px}
.ld-h2row .fig{font-size:13px;white-space:nowrap}

.ld-t{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.ld-t > .dr{padding-right:28px;border-right:6px solid var(--ld-ink);display:flex;flex-direction:column;min-width:0}
.ld-t > .cr{padding-left:28px;display:flex;flex-direction:column;min-width:0}
.ld-th{display:flex;justify-content:space-between;gap:12px;padding:10px 0;font-weight:800;font-size:13px;letter-spacing:.1em}
.ld-th .g{color:var(--ld-grey)}
.ld-tr{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:16px;align-items:center;padding:8px 0;border-top:1px solid var(--ld-hair)}
.ld-tr .nm{display:flex;flex-direction:column;gap:5px;min-width:0}
.ld-tr .nm > span{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ld-tr .fx{font-family:var(--ld-mono);font-size:11px;color:var(--ld-grey);margin-left:10px}
.ld-tr .flag{font-family:var(--ld-mono);font-size:11px;color:var(--ld-exc);margin-left:10px}
.ld-tr .a{text-align:right}
.ld-bar{height:4px;background:var(--ld-hair)} .ld-bar i{display:block;height:4px;background:var(--ld-blue)}
.ld-tot{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:16px;padding-top:12px}
.ld-tot b{font-family:var(--ld-mono);font-weight:600;text-align:right;border-top:1px solid var(--ld-ink);border-bottom:4px double var(--ld-ink);padding:5px 0}
.ld-cd{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:140px;text-align:center}
.ld-cd .v{font-weight:900;font-stretch:62%;font-size:112px;line-height:.9;color:var(--ld-blue);font-variant-numeric:tabular-nums}
.ld-cd .k{font-weight:700;font-size:13px;letter-spacing:.1em;margin-top:6px}

.ld-age{display:flex;gap:3px;margin-top:16px}
.ld-age > div{display:flex;flex-direction:column;min-width:150px}
.ld-age .amt{font-weight:900;font-stretch:62%;font-size:48px;line-height:1;font-variant-numeric:tabular-nums}
.ld-age .lb{font-size:13px;font-weight:600;letter-spacing:.06em;margin:4px 0 10px;white-space:nowrap}
.ld-age .band{height:56px}
.ld-grp{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:13px;color:var(--ld-ink)}
.ld-grp .fig{font-size:13px}
.ld-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;padding:3px 6px;line-height:1.2;white-space:nowrap}
.ld-tag.grp{border:1px solid var(--ld-ink);padding:2px 5px}
.ld-tag.avin{background:var(--ld-ink);color:#fff}
.ld-tag.claude{background:var(--ld-blue);color:#fff}

.ld-bot{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding-top:40px;align-items:stretch}
.ld-bot > .l{grid-column:span 5;display:flex;flex-direction:column;min-width:0}
.ld-bot > .r{grid-column:span 7;display:flex;flex-direction:column;min-width:0}
.ld-rec{display:grid;grid-template-columns:minmax(0,1fr) 112px 40px;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--ld-ink)}
.ld-rec .nm b{font-weight:600;font-size:16px}
.ld-rec .nm small{display:block;margin-top:3px;font-size:12px;color:var(--ld-grey);line-height:1.35}
.ld-rec .d{font-family:var(--ld-mono);font-size:16px;text-align:right;font-variant-numeric:tabular-nums}
.ld-rec .m{font-weight:900;font-size:22px;text-align:center}
.ld-note{margin-top:auto;padding-top:10px;font-size:12px;color:var(--ld-grey);line-height:1.45}
.ld-close{flex:1 1 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:1fr;border-left:1px solid var(--ld-ink)}
.ld-box{border:0;border-right:1px solid var(--ld-ink);border-bottom:1px solid var(--ld-ink);background:#fff;border-radius:0;
  padding:12px;min-height:118px;display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:inherit;cursor:pointer;min-width:0}
.ld-box:hover{background:#F5F5F5}
.ld-box .top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}
.ld-box .n{font-weight:900;font-stretch:62%;font-size:34px;line-height:1}
.ld-box .tags{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end}
.ld-box .ar{font-weight:700;font-size:14px;line-height:1.25}
.ld-box .dt{font-size:12px;color:var(--ld-grey);line-height:1.35}
.ld-box .dt .exc{font-weight:600}
.ld-empty{padding:18px 0;color:var(--ld-grey);font-size:13px}
#app.bank .topbar .switch{display:flex}   /* the old rule hid the switch on Bank & cash; now it shows CorpLex there */
.ld .nw{white-space:nowrap}
/* Payments, read only (07/10/2026): the Bill · VAT lines */
table.pbl{margin-top:14px;table-layout:fixed}
table.pbl th{font-size:12px;padding:7px 8px;background:transparent}
table.pbl td{font-size:13px;padding:7px 8px;vertical-align:top;border-bottom:1px solid var(--line-2)}
table.pbl th:nth-child(2),table.pbl td:nth-child(2){width:96px}
table.pbl th:nth-child(3),table.pbl td:nth-child(3){width:104px}
table.pbl td.nw{white-space:nowrap}
.empty .big{font-weight:800;color:var(--ld-ink)}
.topbar .who .txt b,.topbar .out{white-space:nowrap}
@media (max-width:1360px){
  .secs button{padding:0 11px}
  .topbar .switch button{padding:0 12px}
  .topbar .who .txt{display:none}
}

/* ═══════════════════ Bank & cash statements (bank.js drawBank, 07/10/2026) ═══════════════════
   Mashreq AED / USD / EUR and Petty cash in the Double Entry look. Everything is scoped to .ldb,
   so Payments, Qashio and Old payments keep their layout until their turn. Two decimals here. */
#app.stmt .main{padding:0 40px 56px}
.ldb-hero{padding:28px 0 24px}
.ldb .ld-h1.ldb-h1{font-size:96px;line-height:.84}
.ldb .ld-kpi .v{font-size:44px;font-family:'Archivo',sans-serif;white-space:nowrap}
.ldb .ld-kpi{min-height:112px}
.ldb .ld-tr{grid-template-columns:minmax(0,1fr) 160px}
.ldb .ld-tot{grid-template-columns:minmax(0,1fr) 160px}
.ldb .ld-tr .nm > span{font-size:15px}
.ldb .ld-tr .a{font-size:15px}
.ldb .ld-t > .dr,.ldb .ld-t > .cr{min-height:220px}
.ldb .ld-cd{min-height:96px;padding-top:16px}
.ldb .ld-cd .v{font-size:84px}
.ldb-off{margin-top:8px;font-family:var(--ld-mono);font-size:12px;color:var(--ld-exc)}
.ldb-mnav{display:flex;align-items:center;gap:0;border:1px solid var(--ld-ink);align-self:center}
.ldb-mnav button{border:0;background:#fff;color:var(--ld-ink);width:30px;height:28px;font-size:16px;cursor:pointer;border-radius:0}
.ldb-mnav button:hover:not(:disabled){background:var(--ld-ink);color:#fff}
.ldb-mnav button:disabled{color:#C4C4C4;cursor:default}
.ldb-mnav .fig{font-size:12px;padding:0 12px;line-height:28px;border-left:1px solid var(--ld-ink);border-right:1px solid var(--ld-ink);min-width:200px;text-align:center}
.ldb-find{display:flex;align-items:center;gap:14px;align-self:center}
.ldb-find .fig{font-size:12px;color:var(--ld-grey)}
.ldb .bsearch{border:1px solid var(--ld-ink);border-radius:0;padding:6px 10px;font-size:13px;width:280px;height:30px;box-shadow:none}
.ldb .bsearch:focus{outline:0;border-color:var(--ld-blue);box-shadow:inset 0 -2px 0 var(--ld-blue)}
.ldb .banner{border-radius:0;background:#fff;border:1px solid var(--ld-ink);color:var(--ld-ink);margin:14px 0 0}
.ldb .sendres{border-radius:0;margin:14px 0 0}
.ldb .tw{margin-top:0}
.ldb table.banktab thead th{background:#fff;border-bottom:1px solid var(--ld-ink);font-size:11.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ld-ink);padding-top:12px;padding-bottom:10px}
.ldb table.banktab tbody td{border-bottom:1px solid var(--ld-hair);font-size:13px;height:42px}
.ldb table.banktab tbody tr:hover td{background:#F7F7F7}
.ldb table.banktab tbody tr:last-child td{border-bottom:1px solid var(--ld-ink)}
.ldb table.banktab td.fig,.ldb table.banktab .fig{font-family:var(--ld-mono);font-variant-numeric:tabular-nums}
.ldb table.banktab td.num{font-size:13px}
.ldb table.banktab .sm{font-size:12px}
.ldb .exc{color:var(--ld-exc)}
.ldb .mut{color:#9A9A9A}
.ldb .pos{color:var(--ld-blue)}
.ldb .bad{color:var(--ld-exc)}
.ldb .prbtn{color:var(--ld-blue);font-size:12.5px}
.ldb .lnk{color:var(--ld-blue)}
.ldb .lnk.bad{color:var(--ld-exc)}
.ldb .splitbtn{border:1px solid var(--ld-ink);border-radius:0;background:#fff;color:var(--ld-ink);font-weight:600;font-size:11px;
  letter-spacing:.04em;text-transform:uppercase;height:24px;padding:0 6px}
.ldb .splitbtn.on{border-color:var(--ld-blue);color:var(--ld-blue)}
.ldb .splitbtn:hover:not(:disabled){background:var(--ld-ink);color:#fff}
.ldb .splitbtn:disabled{border-color:#D0D0D0;color:#A8A8A8;opacity:1}
.ldb .sendbtn,.ldb .sentpill,.ldb .sentnot{border-radius:0;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.ldb .sendbtn{background:var(--ld-ink);border-color:var(--ld-ink);color:#fff}
.ldb .sendbtn:hover:not(:disabled){filter:none;background:var(--ld-blue);border-color:var(--ld-blue)}
.ldb .sendbtn:disabled{background:#fff;color:#A8A8A8;border-color:#D0D0D0}
.ldb .sendbtn.busy{background:#fff;color:var(--ld-blue);border-color:var(--ld-blue)}
.ldb .sendbtn.retry{background:#fff;color:var(--ld-exc);border-color:var(--ld-exc)}
.ldb .sentpill{background:#fff;color:var(--ld-blue);border:1px solid var(--ld-blue)}
.ldb .sentpill.undo:hover,.ldb .sentpill.undo:focus-visible{background:#fff;color:var(--ld-exc);border-color:var(--ld-exc)}
.ldb .sentnot{border:1px dashed #BDBDBD;color:var(--ld-grey)}
.ldb tr.justsent td{animation:ldbjust 2.4s ease-out}
@keyframes ldbjust{from{background:#E3E8FF}to{background:transparent}}
.ldb-more{margin:0;padding:14px 0 0;font-size:12.5px;color:var(--ld-grey);text-align:center}
.ldb-more button{margin-left:8px;border:1px solid var(--ld-ink);background:#fff;color:var(--ld-ink);border-radius:0;padding:3px 8px;
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.ldb-more button:hover{background:var(--ld-ink);color:#fff}
.ldb-notes .ldb-caps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;padding-top:12px}
.ldb-notes .cap{padding:0;font-size:12.5px;color:var(--ld-grey);line-height:1.55}
.ldb-notes .cap b{color:var(--ld-ink);font-weight:600}
.ldb-gone{margin-top:16px;padding-top:10px;border-top:1px solid var(--ld-ink);font-size:12.5px;line-height:1.7}
.ldb-notes .ld-note{margin-top:16px;padding-top:10px;border-top:1px solid var(--ld-hair)}

/* ═══════════════════ Qashio (bank.js drawQashio, 07/10/2026) ═══════════════════
   Double Entry, on top of the .ldb statement styles. Cards as tiles of one height. */
.ldq .qhint{font-size:12px;color:var(--ld-grey);align-self:center}
.ldq .qban{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px;font-size:13px;line-height:1.5}
.ldq .qbtn{flex:0 0 auto;border:1px solid var(--ld-ink);background:#fff;color:var(--ld-ink);border-radius:0;height:32px;padding:0 14px;
  font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.ldq .qbtn.pri{background:var(--ld-ink);color:#fff}
.ldq .qbtn.pri:hover{background:var(--ld-blue);border-color:var(--ld-blue)}
.qtiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:1fr;border-left:1px solid var(--ld-ink);margin-top:0}
.qt{display:flex;flex-direction:column;gap:0;text-align:left;background:#fff;border:0;border-right:1px solid var(--ld-ink);
  border-bottom:1px solid var(--ld-ink);border-radius:0;padding:14px 16px 12px;cursor:pointer;color:var(--ld-ink);font:inherit;
  box-shadow:inset 0 4px 0 transparent;min-width:0}
.qt:hover{background:#F7F7F7}
.qt.on{box-shadow:inset 0 6px 0 var(--ld-blue)}
.qt .qtop{display:flex;align-items:baseline;gap:10px;padding:4px 0 10px;border-bottom:2px solid var(--ld-ink);margin-bottom:4px;min-width:0}
.qt .qn{font-weight:900;font-stretch:62%;font-size:40px;line-height:1;text-transform:uppercase}
.qt.on .qn{color:var(--ld-blue)}
.qt .qw{font-size:13px;font-weight:600;color:var(--ld-grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.qt .qr{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:5px 0;border-bottom:1px solid var(--ld-hair);font-size:12.5px}
.qt .qr > span:first-child{color:var(--ld-grey);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.qt .qr .fig{font-family:var(--ld-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.qt .qnet{border-bottom:1px solid var(--ld-ink)}
.qt .qnet .fig{font-weight:600}
.qt .qst{margin-top:auto;border-bottom:0;padding-top:8px}

/* ═══════════════════ Old payments (bank.js drawHistoric, 07/10/2026) ═══════════════════
   Double Entry, on top of the .ldb statement styles. The T-account rows are clickable. */
.ldh .hhint{font-size:12px;color:var(--ld-grey);align-self:center}
.ldh .ld-tr{grid-template-columns:minmax(0,1fr) 160px}
.ldh .ld-tr .nm > span{font-size:15px}
.ldh .ld-tr .a{font-size:15px}
.ldh .ld-tr.hpick[role=button]{cursor:pointer}
.ldh .ld-tr.hpick[role=button]:hover .nm > span{color:var(--ld-blue)}
.ldh .ld-tr.hpick.on .nm > span{color:var(--ld-blue);font-weight:700}
.ldh .ld-tr.hpick.on .a{color:var(--ld-blue);font-weight:600}
.ldh .ld-tr.hpick:not(.on) .ld-bar i{background:var(--ld-ink)}
.ldh .ld-tr.hpick.on .ld-bar i{background:var(--ld-blue)}
.ldh .ld-cd .v{font-size:84px}
.ldh .hchip{border:1px solid var(--ld-blue);background:#fff;color:var(--ld-blue);border-radius:0;height:30px;padding:0 10px;
  font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;cursor:pointer;white-space:nowrap}
.ldh .hchip span{margin-left:6px;font-size:14px;line-height:1}
.ldh .hchip:hover{background:var(--ld-blue);color:#fff}
.ldh table.banktab td.nw{overflow:hidden;text-overflow:ellipsis}

/* ═══════════════════ Payments, read only (bank.js drawPast, 07/10/2026) ═══════════════════
   Double Entry, on top of the .ldb statement and .ldh (clickable T-account) styles. */
.ldp .ld-kpi .v .of{color:var(--ld-grey);font-size:.62em;margin-left:2px}
.ldp .ld-kpi .v.exc .of{color:var(--ld-exc)}
.ldp .ld-cd .v.exc{color:var(--ld-exc)}
.ldp .ld-cd .k{white-space:nowrap}
.ldp .chip{border-radius:0;background:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px}
.ldp .chip.up{color:var(--ld-blue);border:1px solid var(--ld-blue)}
.ldp .chip.wn{color:var(--ld-exc);border:1px solid var(--ld-exc)}
.ldp-st{font-size:12.5px;font-weight:600}
.ldp-st.wait{color:var(--ld-grey);font-weight:500}
.ldp .billbtn{border:1px solid var(--ld-ink);border-radius:0;background:#fff;color:var(--ld-ink);font-size:11px;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;height:24px}
.ldp .billbtn.on{border-color:var(--ld-blue);color:var(--ld-blue)}
.ldp .billbtn:hover{background:var(--ld-ink);border-color:var(--ld-ink);color:#fff}
.ldp .billbtn .nd{border-radius:0;background:var(--ld-hair);color:var(--ld-ink);font-family:var(--ld-mono);font-size:10.5px}
.ldp .billbtn:hover .nd{background:#fff;color:var(--ld-ink)}

/* ═══════════════════ Mobile (app.js pageMobile / drawMobile, 07/10/2026) ═══════════════════
   Double Entry, on top of the .ldb statement and .ldh (clickable T-account) styles.
   The first Schedules page in the new look: #app.de gives it the same page margins. */
#app.de .main{padding:0 40px 56px}
.ldm .ld-meta button.pri{background:var(--ld-ink);color:#fff}
.ldm .ld-meta button.pri:hover{background:var(--ld-blue);border-color:var(--ld-blue)}
.ldm-chk{margin-top:10px;font-size:12px;color:var(--ld-grey)}
.ldm-chk.exc{color:var(--ld-exc)}
.ldm-seg{display:inline-flex;border:1px solid var(--ld-ink);align-self:center}
.ldm-seg button{border:0;border-left:1px solid var(--ld-ink);border-radius:0;background:#fff;color:var(--ld-ink);height:28px;padding:0 10px;
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.ldm-seg button:first-child{border-left:0}
.ldm-seg button:hover:not(.on){background:#F2F2F2}
.ldm-seg button.on{background:var(--ld-ink);color:#fff}
.ldm table.banktab{table-layout:fixed;width:100%}
.ldm table.banktab td,.ldm table.banktab th{overflow:hidden;text-overflow:ellipsis}
.ldm table.banktab tr.ldm-click{cursor:pointer}
.ldm-nm{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ldm-nm .chip{border-radius:0;background:#fff;border:1px solid var(--ld-grey);color:var(--ld-grey);font-size:10px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;margin-left:4px;vertical-align:1px}
.ldm-sub{margin-top:2px;font-size:11px;color:var(--ld-grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ldm table.ldm-year tbody td{height:52px}
.ldm table.banktab th.mnow{background:#fff !important;color:var(--ld-blue);box-shadow:inset 0 -4px 0 var(--ld-blue)}
.ldm table.banktab td.mnow{background:#F4F6FF !important;box-shadow:none}
.ldm table.banktab tbody tr:hover td.mnow{background:#EBEFFF !important}
.ldm table.banktab td.ldm-rt{font-weight:600}
.ldm table.banktab tfoot td{font-size:13px;height:38px;border:0;padding-top:6px;padding-bottom:6px}
.ldm table.banktab tfoot td.fig{font-family:var(--ld-mono);font-variant-numeric:tabular-nums}
.ldm table.banktab tfoot tr.ldm-cost td{font-weight:600}
.ldm table.banktab tfoot tr.ldm-vat td{color:var(--ld-grey)}
.ldm table.banktab tfoot tr.ldm-tot td{font-weight:700;border-top:1px solid var(--ld-ink);border-bottom:4px double var(--ld-ink)}
.ldm table.banktab tfoot tr.ldm-tot td:first-child,.ldm table.banktab tfoot tr.ldm-cost td:first-child,
.ldm table.banktab tfoot tr.ldm-vat td:first-child{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}

/* ── Overview in Double Entry (07/10/2026, app.js drawOverview) ─────────────
   On top of .ldb / .ldh / .ldm. Months after the chosen one are grey (what the
   schedules will charge if nothing changes); balances sit under the charge. */
.ldo .ldo-go{color:var(--ld-ink);cursor:pointer;text-decoration:none;border-bottom:1px solid transparent}
.ldo .ldo-go:hover{color:var(--ld-blue);border-bottom-color:var(--ld-blue)}
.ldo table.banktab td.ldo-fut,.ldo table.banktab th.ldo-fut{color:#A3A3A3}
.ldo table.banktab td.ldo-yr{color:var(--ld-grey)}
.ldo table.banktab tfoot tr.ldm-tot td.ldo-yr{color:var(--ld-ink)}
.ldo table.banktab tfoot tr.ldm-tot td.ldo-fut{color:#A3A3A3}
.ldo table.banktab tfoot tr.ldo-hd td{padding-top:22px;height:auto;font-size:11.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ld-ink);border-bottom:1px solid var(--ld-ink)}
.ldo table.banktab tfoot tr.ldo-bal td{border-bottom:1px solid #E6E6E6}
.ldo table.banktab tfoot tr.ldo-bal td.fig{color:var(--ld-ink)}
.ldo table.banktab tfoot tr.ldo-bal td.fig.ldo-fut{color:#A3A3A3}

/* ── Insurance in Double Entry (07/10/2026, app.js drawInsurance) ───────────
   On top of .ldb / .ldh / .ldm / .ldo. Scoped to .ldi, so Visa (the same
   pageSchedule, generic grids) keeps its old look until its turn. */
.ldi .ld-meta button.pri{background:var(--ld-ink);color:#fff}
.ldi .ld-meta button.pri:hover{background:var(--ld-blue);border-color:var(--ld-blue)}
.ldi table.ldi-year tbody tr.ldi-det td{height:44px;background:#FAFAFA}
.ldi table.ldi-year tbody tr.ldi-det td:first-child{padding-left:30px}
.ldi .ldi-car{display:inline-block;width:14px;color:var(--ld-grey);font-size:11px}
.ldi .ldi-pad{padding-left:14px}
.ldi a.ldi-open{color:var(--ld-blue);cursor:pointer;font-weight:600;text-decoration:none}
.ldi a.ldi-open:hover{text-decoration:underline}
.ldi .ldm-nm .chip.left{border-color:var(--ld-exc);color:var(--ld-exc)}
.ldi table.banktab td.ldi-wo{color:var(--ld-exc)}
.ldi table.banktab td.ctr{text-align:center;padding-left:0;padding-right:0}
.ldi .ldi-x{border:1px solid transparent;background:none;color:var(--ld-grey);width:24px;height:24px;border-radius:0;cursor:pointer;
  font-size:15px;line-height:1;padding:0}
.ldi .ldi-x:hover{border-color:var(--ld-exc);color:var(--ld-exc)}
.ldi table.banktab tfoot tr.ldi-bal td{font-weight:600}

/* ── Prepaid Expenses in Double Entry (07/10/2026, app.js drawPrepaid / ppGrid) ──
   On top of .ldb / .ldh / .ldm / .ldo / .ldi. Expense account names are long and the
   year grid needs every month, so the first column wraps at word breaks, never mid-word. */
.ldx table.ldx-year td:first-child .ldm-nm,.ldx table.ldx-year td:first-child .ldm-sub{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;word-break:normal}
.ldx table.ldx-year tbody td{height:52px;padding-top:7px;padding-bottom:7px}
.ldx table.ldx-year tbody td:first-child{line-height:1.25}

/* ── Fixed Assets in Double Entry (07/10/2026, app.js drawAssets / faGrid) ──
   On top of .ldb / .ldh / .ldm / .ldo / .ldi / .ldx (wrapping first column, 68px months). */
.ldf .ldf-tag{font-family:var(--ld-mono, ui-monospace, monospace);font-size:11px;color:var(--ld-grey);margin-right:6px;letter-spacing:.02em}
.ldf .ldf-note{margin:0 0 10px;font-size:12.5px;color:var(--ld-ink);border-left:3px solid var(--ld-blue);padding:6px 10px;background:#F6F8FF}
.ldf .ldf-note a{color:var(--ld-blue);font-weight:600;cursor:pointer;text-decoration:underline}
.ldf table.ldf-year td.num,.ldf table.ldf-year th.num{padding-left:5px;padding-right:7px}   /* six-figure balances (cost, NBV) in the 68px month columns */

/* ── Air Ticket in Double Entry (07/10/2026, app.js drawAirTicket / atGrid / atEntGrid / atDueGrid) ──
   On top of .ldb / .ldh / .ldm / .ldo / .ldi / .ldx / .ldf. Expensed when paid: the a/c has no b/d or c/d. */
.lda .chip{border-radius:0;background:#fff;border:1px solid var(--ld-grey);color:var(--ld-grey);font-size:10.5px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;white-space:nowrap}
.lda .chip.up{color:var(--ld-blue);border-color:var(--ld-blue)}
.lda .chip.wn{color:var(--ld-exc);border-color:var(--ld-exc)}
.lda table.lda-ent tbody td,.lda table.lda-due tbody td{height:52px}
.lda table.lda-ent tr.lda-left td{color:var(--ld-grey)}
.lda .lda-sub{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0 8px;border-bottom:1px solid var(--ld-ink)}
.lda .lda-sub b{font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.lda .lda-sub .fig{font-size:11px;color:var(--ld-grey)}
.lda .lda-sub + .tw table.banktab thead th{padding-top:8px}
.lda .splitbtn{width:auto;padding:0 10px}

/* ── Month end → Checklist in Double Entry (07/10/2026, close.js drawClose) ──
   On top of .ldb / .ldh / .ldm / .ldo. The close as one box per section (as on Home), each
   section a ruled table, the schedule entries as a T-account. Issue = Exception colour. */
.lde .ld-kpi .v .of{color:var(--ld-grey);font-size:.62em;margin-left:2px}
.lde .ld-kpi .f{display:flex;align-items:center;gap:10px}
.lde-bar{display:block;flex:1 1 auto;height:4px;background:var(--ld-hair);min-width:40px}
.lde-bar i{display:block;height:4px;background:var(--ld-blue)}
.lde .ld-kpi .f .lde-bar{max-width:120px}
.lde .ld-kpi .f > span:last-child{white-space:nowrap}
.lde-close{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:0}
.lde .ld-box .lde-bar{margin-top:auto;flex:0 0 auto}
.lde .ld-box .lde-bar.full i{background:var(--ld-ink)}
.lde .ld-sec,.lde-sec{scroll-margin-top:112px}
.lde-steps{padding-top:44px}
.lde-steps .ld-h2row{border-bottom:0;padding-bottom:0}
.lde-sec{padding-top:22px}
.lde-sec .ld-h2row{border-bottom-width:4px}
.lde-no{font-family:var(--ld-mono);font-weight:600;font-stretch:100%;font-size:15px;color:var(--ld-grey);margin-right:12px;vertical-align:6px;letter-spacing:0}
.lde-right{display:flex;align-items:center;gap:10px;align-self:center}
.lde-right .fig{font-size:12px;color:var(--ld-grey)}
.lde table.lde-tab{table-layout:fixed;width:100%}
.lde table.lde-tab tbody td{height:auto;vertical-align:top;padding-top:11px;padding-bottom:11px;line-height:1.45}
.lde table.lde-tab tbody tr:last-child td{border-bottom:1px solid var(--ld-hair)}
.lde table.lde-tab tbody tr:hover td{background:transparent}
.lde table.lde-tab tr.lde-hasnote td{border-bottom:0;padding-bottom:6px}
.lde table.lde-tab tr.lde-noterow td{padding-top:0;padding-bottom:12px;border-bottom:1px solid var(--ld-hair)}
.lde .chip{display:inline-block;border-radius:0;background:#fff;border:1px solid #BDBDBD;color:var(--ld-grey);font-size:10.5px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;white-space:nowrap;line-height:1.3}
.lde .chip.up{color:var(--ld-blue);border-color:var(--ld-blue)}
.lde .chip.wn{color:var(--ld-exc);border-color:var(--ld-exc)}
.lde .chip.iss{color:#fff;background:var(--ld-exc);border-color:var(--ld-exc)}
.lde-step .nm{font-weight:600;font-size:14px;color:var(--ld-ink)}
.lde a.lde-go{color:var(--ld-ink);cursor:pointer;text-decoration:none;border-bottom:1px solid transparent}
.lde a.lde-go:hover{color:var(--ld-blue);border-bottom-color:var(--ld-blue)}
.lde-co{display:inline-block;margin-left:4px;font-family:var(--ld-mono);font-size:10px;font-weight:400;color:var(--ld-grey);border:1px solid var(--ld-hair);
  padding:0 4px;vertical-align:1px;white-space:nowrap}
.lde-how{font-size:12px;color:var(--ld-grey);margin-top:2px}
.lde-chk{font-size:12.5px}
.lde .mec-ok{color:var(--ld-blue)} .lde .mec-warn{color:var(--ld-exc);font-weight:600} .lde .mec-todo{color:var(--ld-ink)}
.lde .mec-info{color:var(--ld-ink)} .lde .mec-na{color:#9A9A9A}
.lde-who{font-size:12.5px}
.lde-who .fig{font-size:11px}
.lde table.lde-tab td.num{font-size:13px}
.lde td.lde-act{text-align:right;white-space:nowrap;padding-top:8px !important}
.lde-b{border:1px solid var(--ld-ink);border-radius:0;background:#fff;color:var(--ld-ink);height:26px;padding:0 9px;margin-left:4px;
  font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.lde-b:hover:not(:disabled){background:var(--ld-ink);color:#fff}
.lde-b.pri{background:var(--ld-ink);color:#fff}
.lde-b.pri:hover:not(:disabled){background:var(--ld-blue);border-color:var(--ld-blue)}
.lde-b:disabled{opacity:.5;cursor:default}
.lde-note{display:flex;align-items:baseline;gap:10px;font-size:12.5px;line-height:1.5;padding:7px 10px;border-left:3px solid var(--ld-ink);background:#F7F7F7;color:var(--ld-ink)}
.lde-note b{flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.lde-note.issue{border-left-color:var(--ld-exc);background:#FFF4F1}
.lde-note.issue b{color:var(--ld-exc)}
.lde-note .ld-tag{flex:0 0 auto;font-size:10px;padding:2px 5px}
.lde .ld-t .ld-tr .nm > span{white-space:nowrap}

/* ── Setup → Employees and the person page in Double Entry (07/10/2026, app.js drawEmployees / drawPerson) ──
   On top of .ldb / .ldh / .ldm / .ldo / .ldi / .ldx / .ldf. The payroll register counts people (no AED);
   the person's cost a/c is in AED. Documents and pay history sit side by side at one height. */
.ldy .ld-meta button.pri{background:var(--ld-ink);color:#fff}
.ldy .ld-meta button.pri:hover{background:var(--ld-blue);border-color:var(--ld-blue)}
.ldy .ld-cd.hpick{cursor:pointer}
.ldy .ld-cd.hpick:hover .k,.ldy .ld-cd.hpick.on .k{color:var(--ld-blue)}
.ldy .ld-cd.hpick.on .v{text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:8px}
.ldy .ldy-none .nm > span{color:#9A9A9A;font-style:normal}
.ldy .ldy-none .a{color:#9A9A9A}
.ldy .chip{display:inline-block;border-radius:0;background:#fff;border:1px solid var(--ld-grey);color:var(--ld-grey);font-size:10.5px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;white-space:nowrap;line-height:1.3}
.ldy .chip.up{color:var(--ld-blue);border-color:var(--ld-blue)}
.ldy .chip.wn{color:var(--ld-exc);border-color:var(--ld-exc)}
.ldy table.ldy-list tbody td{height:52px}
.ldy table.ldy-list tr.ldy-left .ldm-nm{color:var(--ld-grey)}
.ldy table.ldy-list td.ldy-act{text-align:right;white-space:nowrap;overflow:visible;padding-right:0}
.ldy table.ldy-list tfoot td:first-child{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}
.ldy-b{border:1px solid var(--ld-ink);border-radius:0;background:#fff;color:var(--ld-ink);height:26px;padding:0 9px;margin-left:4px;
  font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.ldy-b:hover{background:var(--ld-ink);color:#fff}
.ldy .ld-h1.ldy-h1{font-size:88px;white-space:nowrap}
.ldy-who{margin-top:14px;font-size:12px;color:var(--ld-grey);line-height:1.6}
.ldy-who .exc{color:var(--ld-exc)}
.ldy-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;align-items:stretch}
.ldy-two > .ld-sec{display:flex;flex-direction:column;min-width:0;border-bottom:1px solid var(--ld-ink)}
.ldy-two table.banktab{table-layout:fixed;width:100%}
.ldy-two table.banktab tbody tr:last-child td{border-bottom:0}
.ldy-two .ld-empty{flex:1 1 auto}
.ldy table.banktab td.ldy-wrap{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}
.ldy table.ldy-docs tbody td,.ldy table.ldy-pay tbody td{height:52px}
.ldy table.ldy-pay td.ldy-st{text-align:right;overflow:visible}
.ldy table.ldy-docs td.ldy-wrap div{overflow-wrap:anywhere}
.ldy table.ldy-docs tbody td{padding-top:8px;padding-bottom:8px}

/* Setup → Settings in Double Entry (07/10/2026), scoped to .ldz */
.ldz .ld-kpi .v .ldz-sl{color:var(--ld-grey);font-weight:400;margin:0 2px}
.ldz table.banktab{table-layout:fixed;width:100%}
.ldz table.ldz-sch tbody td,.ldz table.ldz-half tbody td,.ldz table.ldz-users tbody td{height:52px}
.ldz table.banktab th .ldz-dc{display:inline-block;font-family:var(--ld-mono);font-weight:600;color:var(--ld-blue);margin-right:6px}
.ldz table.ldz-sch tr.ldm-click:hover .ldm-nm{color:var(--ld-blue)}
.ldz .ldy-two{margin-top:0}
.ldz .ldy-two .ld-h2,.ldz .ldy-b{white-space:nowrap}

/* From CorpLex One on Employees (build A, 08/10/2026) */
.ldy-onek{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 18px}
.ldy-onek .ld-kpi{padding-left:16px;border-left:1px solid var(--ld-ink);min-height:104px}
.ldy-onek .ld-kpi:first-child{padding-left:0;border-left:0}
.ldy-onek .ld-kpi .v{font-size:44px;font-family:'Archivo',sans-serif;white-space:nowrap}
.ldy-onek .ld-kpi .v.sm{font-size:26px;line-height:44px}
.ldy-onek .ld-kpi .f{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ldy table.ldy-one{table-layout:fixed;width:100%}
.ldy table.ldy-one tbody td{height:48px}
.ldy table.ldy-one .ldm-nm{white-space:normal;overflow:visible;text-overflow:clip}
.ldy .ldb-find .ldy-b{margin-left:12px}

/* Mobile recoveries (build B, 08/10/2026) */
.ldm-nm .chip.rec,.modal .chip.rec{border-radius:0;background:#fff;border:1px solid var(--ld-blue);color:var(--ld-blue);font-size:10px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;padding:1px 5px}
label.chk{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}
label.chk input{width:16px;height:16px;margin:0}
.ldm table.ldm-mon .ldm-nm{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}
.ldy td.ldy-part{text-decoration:underline dotted;text-underline-offset:3px}

/* Software (step 7, build E, 08/10/2026) */
.lds .ld-kpi .v.sm{font-size:30px;line-height:44px}
.lds-h4{margin:18px 0 8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.lds-h4:first-child{margin-top:0}
.lds table.lds-pop{table-layout:fixed;width:100%}
.lds table.lds-pop td{white-space:normal}
.lds table.lds-year td .ldm-sub{white-space:normal;overflow:visible;text-overflow:clip}
.lds .ld-tr:not(.hpick) .ld-bar i{background:var(--ld-ink)}

/* ── Accounting Entries in Double Entry (08/10/2026, entries.js, step 10) ─────
   On top of .ldb / .ldh / .ldm / .ldo. One table for all the month's journals so
   every column lines up; a header row per journal; the year grid as on Mobile. */
.ldj .ld-meta button.pri{background:var(--ld-ink);color:#fff}
.ldj .ld-meta button.pri:hover{background:var(--ld-blue);border-color:var(--ld-blue)}
.ldj .ld-kpi .f{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ldj table.ldj-tab{table-layout:fixed;width:100%}
.ldj table.ldj-tab td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ldj table.ldj-tab tr.ldj-jh td{background:#fff;border-top:2px solid var(--ld-ink);border-bottom:1px solid var(--ld-ink);height:46px}
.ldj table.ldj-tab tbody tr.ldj-jh:first-child td{border-top:0}
.ldj table.ldj-tab tbody tr.ldj-jh:hover td{background:#fff}
.ldj .ldj-jt{display:flex;align-items:center;gap:12px;min-width:0;overflow:hidden}
.ldj .ldj-jt b{font-size:14px;font-weight:700;white-space:nowrap}
.ldj .ldj-jt .fig{font-size:12px;white-space:nowrap}
.ldj td.ldj-tot{font-weight:600}
.ldj td.ldj-act{overflow:visible !important}
.ldj table.ldj-tab tr.inb td{color:#8A8A8A}
.ldj table.ldj-tab tr.ldj-jh.inb td b{color:#6B6B6B}
.ldj td.ldj-acc{font-weight:500;padding-left:18px}
.ldj td.ldj-desc{color:var(--ld-grey)}
.ldj .ldj-st{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.06em;padding:2px 6px;line-height:1.3;white-space:nowrap;border:1px solid}
.ldj .ldj-st.post{border-color:var(--ld-blue);color:var(--ld-blue)}
.ldj .ldj-st.inb{border-color:#BDBDBD;color:#6B6B6B}
.ldj .ldj-st.dif{border-color:var(--ld-exc);color:var(--ld-exc)}
.ldj .ldj-miss{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--ld-exc);margin-left:6px}
.ldj .ldj-b{border:1px solid var(--ld-ink);background:#fff;color:var(--ld-ink);border-radius:0;height:26px;padding:0 8px;cursor:pointer;
  font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.ldj .ldj-b:hover{background:var(--ld-ink);color:#fff}
.ldj .ld-h2row .ldj-b{align-self:center}
.ldj table.ldj-year{table-layout:fixed;width:100%}
.ldj table.ldj-year tbody td{height:46px}
.ldj table.ldj-year td.ldj-c{cursor:pointer}
.ldj table.ldj-year td.ldj-c.post{color:var(--ld-blue);font-weight:600}
.ldj table.ldj-year td.ldj-c.inb{color:#8A8A8A}
.ldj table.ldj-year td.ldj-c.dif{color:var(--ld-exc);font-weight:600}
.ldj table.ldj-year td.ldj-c:hover{text-decoration:underline}
.ldj .ldj-key{display:inline-block;width:10px;height:10px;margin:0 5px 0 12px;vertical-align:-1px;border:1px solid}
.ldj .ldj-key:first-child{margin-left:0}
.ldj .ldj-key.post{background:var(--ld-blue);border-color:var(--ld-blue)}
.ldj .ldj-key.inb{background:#BDBDBD;border-color:#BDBDBD}
.ldj .ldj-key.dif{background:var(--ld-exc);border-color:var(--ld-exc)}
.ldj-bot .ld-h2row{margin-bottom:0}
.ldj-bot .ldj-panel{flex:1 1 auto;display:flex;flex-direction:column;border-bottom:2px solid var(--ld-ink)}
.ldj-bot .ldj-panel .ld-rec:last-child{border-bottom:0}
.ldj table.ldj-year td.ldj-c.ldo-fut{color:#A3A3A3;font-weight:400}
.ldj-bot .ld-rec .d.blue{color:var(--ld-blue);font-weight:700}
.ldj-bot .ld-rec .nm b{font-size:15px}
.ldj-bot .ld-rec .nm b .mut{font-weight:400;color:var(--ld-grey)}
.ldj-span{display:grid;grid-template-columns:repeat(2,minmax(0,200px));gap:16px}
.ldj-xt td.num,.ldj-xt th.num{text-align:right}
.ldj-xt .ldj-miss{font-size:10px;font-weight:700;letter-spacing:.06em;color:#E8380D;margin-left:6px}
.ldj-xt tfoot td{padding:8px;border-top:1px solid #0A0A0A;font-size:13px}
.ldj-warn{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:#E8380D}
.ldj-warn.mut{color:#6B6B6B}
table.pbl.ldj-xt th:nth-child(1),table.pbl.ldj-xt td:nth-child(1){width:110px}
table.pbl.ldj-xt th:nth-child(2),table.pbl.ldj-xt td:nth-child(2){width:auto}
table.pbl.ldj-xt th:nth-child(3),table.pbl.ldj-xt td:nth-child(3){width:70px}
table.pbl.ldj-xt th:nth-child(4),table.pbl.ldj-xt td:nth-child(4){width:170px}
table.pbl.ldj-xt .ldj-miss{white-space:nowrap}

/* ── Month end → Cost per Employee in Double Entry (08/10/2026, cost.js drawCost) ──
   On top of .ldb / .ldh / .ldm / .ldo. Scoped to .ldc. One company at a time (no GROUP). */
.ldc .ldc-sub{margin-top:3px;font-size:11px;color:var(--ld-grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ldc .ldc-sub span+span:before{content:' · '}
.ldc table.ldc-tab tbody td{height:52px}
.ldc table.ldc-tab td.ldc-pct{color:var(--ld-grey)}
.ldc table.banktab td.ldc-on,.ldc table.banktab th.ldc-on{background:#F4F6FF;color:var(--ld-blue)}
.ldc table.banktab tfoot td.ldc-on{background:#F4F6FF}
.ldc table.ldc-year tbody td{height:46px}
.ldc table.ldc-year thead th.num{cursor:pointer}
.ldc table.ldc-year thead th.num:last-child,.ldc table.ldc-year thead th.num:nth-last-child(2){cursor:default}
.ldc .ld-h2row .hhint .hchip{height:26px}
.ldc-bot .ld-h2row{margin-bottom:0}
.ldc-bot .ldc-panel{flex:1 1 auto;display:flex;flex-direction:column;border-bottom:2px solid var(--ld-ink)}
.ldc-bot .ldc-panel .ld-rec:last-child{border-bottom:0}
.ldc-bot .ld-rec .nm b{font-size:15px}
.ldc-bot .ld-rec .m.blue{color:var(--ld-blue)} .ldc-bot .ld-rec .m.exc{color:var(--ld-exc)}
.ldc-bot .ldc-caps{gap:14px;padding-top:14px;padding-bottom:14px}
.ldc-bot .ldc-caps .cap{padding:0;font-size:13px;color:var(--ld-grey);line-height:1.55}
.ldc-bot .ldc-caps .cap b{color:var(--ld-ink);font-weight:600}
.ldc .ld-tr:not(.hpick) .ld-bar i{background:var(--ld-ink)}
.ldc table.ldc-tab thead th{letter-spacing:.04em}
.ldc-bot .ld-rec .nm{min-width:0}
.ldc-bot .ld-rec .nm small{white-space:normal;overflow-wrap:break-word}

/* ═══════════════════ POA → Net sales (09/10/2026, netsales.js, sql 0038) ═══════════════════
   On top of .ldb / .ldh / .ldm / .ldo / .ldc. Scoped to .ldn (the order pop-up: .ldn-m / .ldn-pop). Desktop only. */
.ldn table.ldn-tab tbody td{height:52px}
.ldn .ldn-ord{font-weight:600;white-space:nowrap}
.ldn .ldn-who,.ldn .ldn-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ldn td.ldn-flags{white-space:normal;line-height:1}
.ldn-flag{display:inline-block;margin:2px 4px 2px 0;border:1px solid var(--ld-grey);color:var(--ld-grey);background:#fff;
  font-family:'Archivo',sans-serif;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 6px;white-space:nowrap}
.ldn-flag.exc{border-color:var(--ld-exc);color:var(--ld-exc)}
.ldn .ldn-hand{margin-left:6px;color:var(--ld-blue);font-size:12px}
.ldn .ld-tr.ldn-bal{border-top:2px solid var(--ld-ink)}
.ldn .ld-tr.ldn-bal .ld-bar i{background:var(--ld-blue)}
.ldn .ld-tr .mut{color:var(--ld-grey)}
.ldn table.ldn-sub tbody td{height:46px}
.ldn table.banktab tr.ldn-on td{background:#F4F6FF}
.ldn select.ldn-mode{width:100%;height:28px;border:1px solid var(--ld-ink);border-radius:0;background:#fff;color:var(--ld-ink);
  font-family:'Archivo',sans-serif;font-size:12px;padding:0 6px}
.ldn select.ldn-mode:disabled{border-color:var(--ld-hair);color:var(--ld-grey)}
.ldn .ld-meta span.exc{color:var(--ld-exc)}
.ldn .ld-h2row .hhint{display:flex;align-items:center;gap:10px}
.ldn .ld-h2row .hhint .ldm-seg button{font-family:'Archivo',sans-serif}
.ldn .mut{color:var(--ld-grey)}
/* the order pop-up */
.ldn-m h4{margin:18px 0 6px;font-weight:900;font-stretch:75%;font-size:20px;text-transform:uppercase;border-bottom:3px solid var(--ld-ink);padding-bottom:4px}
.ldn-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ld-ink);border-bottom:2px solid var(--ld-ink)}
.ldn-sum > div{padding:10px 12px 10px 0;display:flex;flex-direction:column;gap:2px}
.ldn-sum > div + div{padding-left:12px;border-left:1px solid var(--ld-ink)}
.ldn-sum span{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ld-grey)}
.ldn-sum b{font-family:var(--ld-mono);font-size:20px;font-weight:600}
.ldn-sum small{font-family:var(--ld-mono);font-size:11px;color:var(--ld-grey)}
.ldn-sum .exc,.ldn-pop .exc{color:var(--ld-exc)}
table.ldn-pop{width:100%;border-collapse:collapse;font-size:13px}
table.ldn-pop th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ld-grey);padding:6px 8px 6px 0;border-bottom:1px solid var(--ld-ink)}
table.ldn-pop td{padding:7px 8px 7px 0;border-bottom:1px solid var(--ld-hair);vertical-align:top}
table.ldn-pop .num{text-align:right;font-family:var(--ld-mono);white-space:nowrap}
table.ldn-pop .sub{font-size:11px;color:var(--ld-grey);margin-top:2px}
table.ldn-pop tfoot td{font-weight:700;border-bottom:4px double var(--ld-ink);border-top:1px solid var(--ld-ink)}
table.ldn-pop tr.cn td{color:var(--ld-blue)}
table.ldn-pop tr.out td{color:var(--ld-grey)}
.ldn-none,.ldn-desc2{font-size:13px;color:var(--ld-grey);margin:8px 0}
.ldn-desc2 b{color:var(--ld-ink)}
.ldn table.banktab thead th{white-space:normal;text-overflow:clip;vertical-align:bottom;line-height:1.25;padding-top:8px;padding-bottom:8px}

/* CorpLex → Sales (salesrep.js, sales move from One stage 2, 09/10/2026). On top of .ldb / .ldh / .ldm / .ldo / .ldc / .ldn. Desktop only. */
.ldr .ld-rec{grid-template-columns:minmax(0,1fr) 156px 40px}
.ldr td.srb{white-space:nowrap;font-size:12px}
.ldr td.srst{white-space:nowrap}
.ldr .ldm-chk .btn{height:30px}
/* Sales: Approve (srp), the invoice fixes (srf) and Sales rules (rs) — stage 3 of the sales move, 09/10/2026 */
.ldr .ld-meta button.pri{background:var(--ld-blue);border-color:var(--ld-blue);color:#fff}
.ldn-flag.srck{border-color:var(--ld-blue);color:var(--ld-blue)}
.srf .srf-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.srf h4 .srf-ro,.srf-ro{font-family:var(--ld-mono);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ld-grey);margin-left:10px;font-stretch:100%}
.srf h5{margin:14px 0 4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ld-grey)}
.srf-ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:10px 0}
.srf-ticks.one{grid-template-columns:1fr}
.srf-tick{display:flex;gap:10px;align-items:flex-start;font-size:13px;cursor:pointer}
.srf-tick input{margin-top:3px}
.srf-tick b{display:block;font-weight:600}
.srf-tick em{display:block;font-style:normal;font-size:11.5px;color:var(--ld-grey)}
.srf-tick.auto{cursor:default}
.srf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;margin:8px 0}
.srf-grid .f.wide{grid-column:span 2}
.srf .f label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ld-grey);margin-bottom:4px}
.srf .f input,.srf select,.srf-split input{width:100%;height:32px;border:1px solid var(--ld-ink);border-radius:0;padding:0 8px;font:inherit;font-size:13px;background:#fff}
.srf .f input:disabled,.srf select:disabled,.srf-split input:disabled{border-color:var(--ld-hair);color:var(--ld-grey);background:#FAFAFA}
.srf-split input.num{text-align:right;font-family:var(--ld-mono)}
.srf-split td{vertical-align:middle}
.srf-split input[type=checkbox]{width:auto;height:auto}
.srf .srf-inline{display:flex;align-items:center;gap:8px;height:32px;font-size:13px;text-transform:none;letter-spacing:0;color:var(--ld-ink);font-weight:500}
.srf .srf-inline input{width:auto;height:auto}
.srf-val{height:32px;display:flex;align-items:center;font-family:var(--ld-mono);font-size:13px}
.srf-note{font-size:12.5px;color:var(--ld-grey);margin:6px 0}
.srf-note.exc{color:var(--ld-exc)}
.srf-flags{margin:6px 0}
.srf-btns{display:flex;gap:8px;margin:8px 0}
.srf-x{border:0;background:none;font-size:16px;line-height:1;cursor:pointer;color:var(--ld-grey)}
.srf-x:hover{color:var(--ld-exc)}
.srf-confirm ul,.rs-list{margin:8px 0 0 18px;font-size:13.5px;line-height:1.6}
.srf-said{margin-right:auto;font-size:12.5px;color:var(--ld-grey)}
.srf-said.exc{color:var(--ld-exc)}
.srp .srp-sum{margin-bottom:6px}
.srp .blue{color:var(--ld-blue)} .srp .exc{color:var(--ld-exc)} .srp .mut,.rs .mut{color:var(--ld-grey)}
.rs .rs-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.rs .rs-in{width:100%;height:30px;border:1px solid var(--ld-ink);border-radius:0;padding:0 8px;font:inherit;font-size:13px;background:#fff}
.rs .rs-in.num{text-align:right;font-family:var(--ld-mono)}
.rs .rs-in:disabled{border-color:var(--ld-hair);color:var(--ld-grey);background:#FAFAFA}
.rs table.banktab td{vertical-align:middle}
.rs table.banktab td.r{text-align:right}
.rs table.rs-dept,.rs table.rs-bands,.rs table.rs-part{margin-bottom:6px}
.rs table.rs-bands,.rs table.rs-part{margin-top:18px}
.rs .rs-add{display:flex;gap:8px;align-items:center;margin:10px 0 0}
.rs .rs-add .rs-in{width:auto;min-width:200px}
.rs .rs-add .rs-in.rs-what,.rs .rs-save .rs-what{flex:1}
.rs .rs-save{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--ld-hair)}
.rs .rs-log .ld-rec{grid-template-columns:minmax(0,1fr) 156px 0}
.srf .f label.srf-inline{text-transform:none;letter-spacing:0;font-size:13px;color:var(--ld-ink);font-weight:500;margin:0}
.rs .rs-stack > div + div{margin-top:24px}
.rs table.banktab td.rsx{padding:0;text-align:center;overflow:visible;text-overflow:clip}
/* CorpLex → Sales in tabs (09/10/2026): the strip under the figures (quarter, department, note, search) and the Approve tab */
.srt .srs{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--ld-ink);min-height:60px}
.srt .srs .ldm-seg button{font-family:'Archivo',sans-serif}
.srt .srs-note{font-size:12px;color:var(--ld-grey);letter-spacing:.04em}
.srt .srs .bsearch{margin-left:auto;width:340px}
.srt .srs-act{margin:14px 0 0}
.srt .srs-wait{display:flex;align-items:center;gap:12px;padding:26px 0;font-size:13.5px;color:var(--ld-grey)}
.srt .srs-send{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:2px solid var(--ld-ink)}
.srt .srs-send span{margin-right:auto;font-size:12.5px;color:var(--ld-grey)}
.srt .srp h4{margin-top:26px}
.tabs .tag.badge{margin-left:6px;color:var(--ld-exc);font-weight:600}
.tabs button.on .tag.badge{color:var(--ld-exc)}
.srt .srs.srs-f{border-bottom:0;padding:12px 0 4px;min-height:0;flex-wrap:wrap}
.srt .srs.srs-f .hchip{height:30px}
.srt table.ldn-tab .ldm-nm{white-space:normal;overflow:visible;text-overflow:clip}
.srt .srp table.ldn-pop th,.srt .srp table.ldn-pop td{padding-left:10px;padding-right:10px}
.srt td.srs-res{white-space:nowrap}
.srf-grid .f.srf-exp,.srf-grid .f.srf-cost{grid-column:span 2}
/* CorpLex → Sales → Rules in sub-tabs (09/10/2026, salesset.js): Quarters · Commission rules · Pins & splits · Change log, each with a search */
.rs .ld-kpi .v .of{color:var(--ld-grey);font-size:.62em;margin-left:2px}
.rs .srs .rs-tabs button{height:30px;padding:0 14px;font-weight:600}
.rs .rs-two .ld-h2row{margin-top:0}
.rs .rs-two .ld-h2row.rs-h2{margin-top:26px}
.rs table.rs-bands,.rs table.rs-part{margin-top:0}
.rs td.rs-parts > span{display:inline-block;margin-right:14px;white-space:nowrap}
.rs td.rs-parts b{font-weight:600}
.rs table.rs-log td{vertical-align:top;padding-top:10px;padding-bottom:10px}
.rs table.rs-log td.rsl{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word}
.rs table.rs-log td.rsl b{font-weight:600}
.rs table.rs-log td.rsl ul{margin:4px 0 0 16px;padding:0;font-size:12.5px;line-height:1.5;color:var(--ld-grey)}
.rs .ld-h2row .hhint .hchip.rs-re{height:26px;margin-left:6px;font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;letter-spacing:.04em}
.rs table.rs-pins .ldn-desc,.rs table.rs-pins .ldm-nm,.rs table.rs-splits .ldn-who{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word}
.rs table.rs-pins td,.rs table.rs-splits td{vertical-align:top;padding-top:9px;padding-bottom:9px}
.rs table.rs-pins td.r,.rs table.rs-splits td.r{padding-top:5px}

/* POA → Commission (poacomm.js, POA sales move stage 2, 09/10/2026). On top of .ldb / .ldh / .ldm / .ldo / .ldc / .ldn. Desktop only. */
.ldk table.ldk-tab tbody td{height:52px}
.ldk table.ldk-tab .ldc-sub{max-width:100%}
.ldk table.ldk-year tbody td{height:46px}
.ldk table.ldk-year thead th.num{cursor:pointer}
.ldk table.ldk-year thead th.num:nth-last-child(-n+3){cursor:default}
.ldk table.ldk-tab tfoot tr.ldm-vat td{white-space:nowrap}
.ldk td.ldk-hold{color:var(--ld-grey)}
.ldk td.ldk-hold small{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}
.ldk input.ldk-find{height:30px;width:320px;border:1px solid var(--ld-ink);border-radius:0;padding:0 10px;font-family:'Archivo',sans-serif;font-size:13px;background:#fff;color:var(--ld-ink)}

/* Close and lock months (09/10/2026, sql 0049): the Open / Closed label opens the close for the manager;
   the Lock section on the checklist and the close / reopen pop-ups (.ldl) */
.subbar .pill-open.act{cursor:pointer}
.subbar .pill-open.act:hover{box-shadow:inset 0 0 0 1px currentColor}
.lde-lk{font-size:13px;line-height:1.5;margin:12px 0 0;color:var(--ld-ink)}
.lde-lk.exc{color:var(--ld-exc);font-weight:600}
.lde-lk.blue{color:var(--ld-blue);font-weight:600}
#mec-lock .tw{margin-top:14px}
.ldl .lde-lk:first-child{margin-top:0}
.ldl .tw{margin-top:14px}
.ldl table.ldl-tab tbody td{padding-top:7px;padding-bottom:7px}
.ldl table.ldl-tab tfoot td{font-weight:700;border-top:2px solid var(--ld-ink);padding-top:8px}
.lde-rng{margin-left:8px;font-size:12.5px}

/* ── No T-account (10/10/2026): the Show row above a grid replaces clicking a line of the a/c ── */
.ld .ldshow{display:flex;align-items:center;gap:12px;margin:0 0 12px;flex-wrap:wrap}
.ld .ldshow .lbl{font-family:var(--ld-mono);font-size:11px;letter-spacing:.08em;color:var(--ld-grey)}
.ld .ldshow .ldm-seg button i{font-style:normal;font-family:var(--ld-mono);font-size:11px;color:var(--ld-grey);margin-left:4px}
.ld .ldshow .ldm-seg button.on i{color:#fff}
.ld .ldshow .ldm-seg button.exc{color:var(--ld-exc)}
.ld .ldshow .ldm-seg button.exc.on{background:var(--ld-exc);color:#fff}
.ld .ldo-from{color:var(--ld-grey)}
.ld tr.ldi-of td{color:var(--ld-exc);font-size:12px}
.ld tr.ldi-of td:first-child{padding-left:22px}
.ld table.ldl{width:100%}
.ld table.ldl tr.ldl-on td{background:#EEF1FF}
.ld table.ldl tr.ldl-on td:first-child{box-shadow:inset 3px 0 0 var(--ld-blue)}
.ld .ldsw-used{max-width:560px;margin-top:22px}
.ld .ldh-od{font-family:var(--ld-mono);font-size:10px;letter-spacing:.06em;color:var(--ld-exc);margin-left:8px}
.ld .ldl2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:start}
.ld table.banktab tr.ldl-pad td{border-bottom-color:transparent}
