/* ============================================================
   LEGAL CENTRE — SIMPLE BILLING SUITE V2
   Application-style presentation over the existing billing engine.
   ============================================================ */

.lbs2{
  --g:#087443;
  --gd:#075335;
  --ink:#1d2420;
  --muted:#6f7672;
  --line:#e2e6e3;
  --soft:#f6f7f6;
  --paper:#fff;
  --warn:#a84f00;
  --bad:#b42318;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Arial,sans-serif;
  color:var(--ink);
  min-height:70vh;
}
.lbs2 *{box-sizing:border-box}
.lbs2 a{text-decoration:none}
.lbs2-wrap{width:min(1040px,calc(100% - 28px));margin:0 auto;padding:28px 0 72px}
.lbs2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.lbs2-k{font-size:8px;line-height:1.2;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--g)}
.lbs2 h1{margin:5px 0 6px;font-size:clamp(30px,4.4vw,44px);line-height:1.05;letter-spacing:-.045em;font-weight:780}
.lbs2-sub{max-width:680px;margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.lbs2-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lbs2-btn,.lbs2-btn-secondary{
  min-height:42px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:12px;padding:0 14px;font-size:9px;font-weight:800;
  border:1px solid var(--g);background:var(--g);color:#fff!important
}
.lbs2-btn-secondary{border-color:var(--line);background:#fff;color:var(--gd)!important}
.lbs2-business{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:14px
}
.lbs2-business small{display:block;color:var(--muted);font-size:8px;margin-bottom:3px}
.lbs2-business strong{font-size:12px}
.lbs2-business select{height:38px;max-width:230px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 10px;font-size:9px}
.lbs2-alert{margin:0 0 14px;padding:11px 13px;border-radius:12px;font-size:10px}
.lbs2-alert.ok{background:#ecf7f0;color:#17613d}.lbs2-alert.err{background:#fff0ee;color:#9c382d}

.lbs2-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.lbs2-metric{padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff}
.lbs2-metric span{display:block;color:#777f7a;font-size:7.5px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.lbs2-metric strong{display:block;margin-top:7px;font-size:20px;letter-spacing:-.025em}
.lbs2-metric small{display:block;margin-top:4px;color:#848a86;font-size:7.5px;line-height:1.4}
.lbs2-metric.attention strong{color:var(--warn)}

.lbs2-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;margin-top:12px}
.lbs2-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 16px 12px}
.lbs2-card-head h2{margin:0;font-size:16px;letter-spacing:-.02em}
.lbs2-card-head p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.45}
.lbs2-count{font-size:8px;font-weight:800;color:#6e7671;background:var(--soft);padding:6px 8px;border-radius:999px;white-space:nowrap}

.lbs2-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.lbs2-flow a,.lbs2-flow div{
  min-height:94px;padding:14px;border-right:1px solid var(--line);color:var(--ink)!important;background:#fff
}
.lbs2-flow>*:last-child{border-right:0}
.lbs2-step{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#edf5f1;color:var(--g);font-size:9px;font-weight:850}
.lbs2-flow b{display:block;margin-top:9px;font-size:10px}
.lbs2-flow small{display:block;margin-top:4px;color:var(--muted);font-size:8px;line-height:1.4}

.lbs2-task-list,.lbs2-list{border-top:1px solid var(--line)}
.lbs2-task,.lbs2-row{
  display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;
  min-height:66px;padding:10px 14px;border-top:1px solid var(--line);color:var(--ink)!important;background:#fff
}
.lbs2-task:first-child,.lbs2-row:first-child{border-top:0}
.lbs2-task-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eef5f1;color:var(--g);font-size:15px;font-weight:800}
.lbs2-task b,.lbs2-row b{display:block;font-size:10px}
.lbs2-task p,.lbs2-row p{margin:3px 0 0;color:var(--muted);font-size:8px;line-height:1.42}
.lbs2-go{font-size:18px;color:#9aa09d}

.lbs2-docrow{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(92px,.55fr) minmax(92px,.55fr) auto}
.lbs2-docmain small{display:block;color:var(--muted);font-size:7.5px;margin-top:3px}
.lbs2-money{text-align:right;white-space:nowrap}
.lbs2-money small{display:block;color:var(--muted);font-size:7px;margin-bottom:2px}
.lbs2-status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#f0f2f1;color:#66706b;font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.lbs2-status.paid{background:#e8f5ec;color:#17613d}
.lbs2-status.warn{background:#fff4e8;color:#9a4e00}
.lbs2-status.cancelled{background:#fff0ee;color:#9c382d}
.lbs2-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.lbs2-mini{
  min-height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--line);
  border-radius:9px;background:#fff;color:var(--gd)!important;font-size:8px;font-weight:800
}
.lbs2-mini.primary{border-color:var(--g);background:var(--g);color:#fff!important}

.lbs2-toolbar{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,.8fr) minmax(140px,.7fr) auto;gap:8px;
  padding:12px 14px;border-top:1px solid var(--line);background:#fafbfa
}
.lbs2-toolbar input,.lbs2-toolbar select,.lbs2-form input,.lbs2-form select,.lbs2-form textarea{
  width:100%;min-width:0;border:1px solid #dfe4e1;border-radius:10px;background:#fff;color:var(--ink);
  padding:0 10px;font:500 10px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Arial,sans-serif;
  outline:none
}
.lbs2-toolbar input,.lbs2-toolbar select{height:40px}
.lbs2-toolbar input:focus,.lbs2-toolbar select:focus,.lbs2-form input:focus,.lbs2-form select:focus,.lbs2-form textarea:focus{border-color:#7ab49a;box-shadow:0 0 0 3px rgba(8,116,67,.08)}
.lbs2-toolbar button{height:40px;border:0;border-radius:10px;background:var(--g);color:#fff;padding:0 13px;font-size:8px;font-weight:850}

.lbs2-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 12px}
.lbs2-tab{min-height:32px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#55615b!important;font-size:8px;font-weight:800}
.lbs2-tab.on{background:#edf5f1;border-color:#c9e0d4;color:var(--gd)!important}

.lbs2-empty{padding:34px 18px;text-align:center;color:var(--muted);font-size:9px;line-height:1.55;border-top:1px solid var(--line)}
.lbs2-empty b{display:block;color:var(--ink);font-size:11px;margin-bottom:5px}

.lbs2-form{padding:14px 16px 16px;border-top:1px solid var(--line)}
.lbs2-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.lbs2-form label{display:grid;gap:5px;color:#505b55;font-size:8px;font-weight:750}
.lbs2-form input,.lbs2-form select{height:42px}
.lbs2-form textarea{min-height:82px;padding-top:10px;resize:vertical}
.lbs2-full{grid-column:1/-1}
.lbs2-check{display:flex!important;align-items:center!important;gap:8px!important;grid-column:1/-1}
.lbs2-check input{width:auto!important;height:auto!important}
.lbs2-form-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}

.lbs2-two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:12px}
.lbs2-note{margin:13px 0 0;color:#858b87;font-size:8px;line-height:1.5}
.lbs2-bar{height:5px;border-radius:99px;background:#edf0ee;overflow:hidden;margin-top:7px}
.lbs2-bar i{display:block;height:100%;background:var(--g);border-radius:99px}

.lbs2-payrow{grid-template-columns:minmax(0,1fr) minmax(120px,.35fr) auto}
.lbs2-right{text-align:right}
.lbs2-right strong{font-size:10px}
.lbs2-right small{display:block;margin-top:2px;color:var(--muted);font-size:7px}

.lbs2-timeline{border-top:1px solid var(--line)}
.lbs2-event{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;padding:12px 14px;border-top:1px solid var(--line)}
.lbs2-event:first-child{border-top:0}.lbs2-dot{width:8px;height:8px;border-radius:50%;background:var(--g);margin-top:4px}
.lbs2-event time{font-size:7px;color:var(--muted);white-space:nowrap}

/* Existing create/edit engines: make them visually application-like without changing logic. */
.lcu,.lce{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Arial,sans-serif!important;background:#f7f8f7!important}
.lcu .lcuw,.lce .lcew{width:min(1040px,calc(100% - 28px))!important}
.lcu h1,.lce h1{font-family:inherit!important;font-weight:780!important;letter-spacing:-.04em!important}
.lcu .lcu-purpose,.lcu .lcu-card,.lcu .lcu-theme-gallery,.lce .lce-card{
  border-color:#e2e6e3!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important
}
.lcu .lcu-flow{background:#fff!important;border:1px solid #e2e6e3!important;border-radius:16px!important;padding:6px!important}
.lcu .lcu-step{border-radius:11px!important}
.lcu .lcu-theme-btn{box-shadow:none!important;border-color:#e1e5e2!important}
.lcu .lcu-save{border-radius:12px!important;background:#087443!important}
.lcu .lcu-nav{display:none!important}

/* If a legacy Billing Platform context JS still runs, never show its second nav. */
.lcbs-context{display:none!important}

/* Simple document detail toolbar built by JS. */
.lbs2-docbar{display:none}
.lbs2-docsheet[hidden]{display:none!important}

@media(max-width:900px){
  .lbs2-wrap{width:calc(100% - 20px);padding:16px 0 54px}
  .lbs2-head{display:block;margin-bottom:13px}
  .lbs2-actions{margin-top:12px}
  .lbs2-actions .lbs2-btn,.lbs2-actions .lbs2-btn-secondary{width:100%}
  .lbs2-business{align-items:flex-start;flex-direction:column}
  .lbs2-business select{width:100%;max-width:none}
  .lbs2-metrics{grid-template-columns:1fr 1fr}
  .lbs2-flow{grid-template-columns:1fr 1fr}
  .lbs2-flow>*:nth-child(2){border-right:0}
  .lbs2-flow>*:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .lbs2-toolbar{grid-template-columns:1fr 1fr}
  .lbs2-toolbar input{grid-column:1/-1}
  .lbs2-toolbar button{width:100%}
  .lbs2-docrow,.lbs2-payrow{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px 10px;align-items:start
  }
  .lbs2-docmain{grid-column:1/-1}
  .lbs2-docrow>.lbs2-status{grid-column:1/2;justify-self:start}
  .lbs2-docrow>.lbs2-money{grid-column:2/3}
  .lbs2-docrow>.lbs2-money:nth-of-type(2){grid-column:2/3}
  .lbs2-row-actions{grid-column:1/-1;justify-content:flex-start}
  .lbs2-form-grid{grid-template-columns:1fr}
  .lbs2-full,.lbs2-check{grid-column:auto}
  .lbs2-two{grid-template-columns:1fr}
  .lbs2-event{grid-template-columns:10px minmax(0,1fr)}
  .lbs2-event time{grid-column:2}

  /* Stable mobile header only while inside billing. */
  body.lbs2-active.lc-mobile-os-v2{padding-top:58px!important;overflow-x:hidden!important}
  body.lbs2-active.lc-mobile-os-v2 .lcbank-header{
    position:fixed!important;top:0!important;left:0!important;right:0!important;
    width:100%!important;height:58px!important;min-height:58px!important;max-height:58px!important;
    transform:none!important;translate:none!important;z-index:2147483000!important;background:#fff!important
  }

  /* Single My Business selector on ordinary billing pages. */
  body.lbs2-active:not(.lbs2-document) .lcmv4-trigger{
    position:relative!important;top:auto!important;margin:8px 0 12px!important;transform:none!important
  }

  /* Document page: workspace control lives inside the document toolbar. */
  body.lbs2-document .lcmv4-trigger{
    position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;
    opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important;overflow:hidden!important
  }
  body.lbs2-document .bd .bar{display:none!important}
  body.lbs2-document .bd .bdw{width:calc(100% - 12px)!important;max-width:100%!important;margin:0 auto!important;padding:8px 0 34px!important}
  body.lbs2-document .lbs2-docbar{
    display:grid;grid-template-columns:40px 40px minmax(0,1fr) 40px;gap:6px;align-items:center;
    min-height:56px;margin:0 0 10px;padding:7px;border:1px solid var(--line);border-radius:17px;background:#fff
  }
  .lbs2-docbar button,.lbs2-docbar a{
    width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;
    background:#f5f6f5;color:#27312c!important;font-size:18px
  }
  .lbs2-docbar-copy{min-width:0}
  .lbs2-docbar-copy small{display:block;color:var(--g);font-size:7px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
  .lbs2-docbar-copy strong{display:block;margin-top:2px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lbs2-docbar-copy span{display:block;margin-top:2px;color:var(--muted);font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .lbs2-docsheet{position:fixed;inset:0;z-index:2147483600}
  .lbs2-docsheet-backdrop{position:absolute;inset:0;border:0;background:rgba(20,24,22,.34);width:100%;height:100%}
  .lbs2-docsheet-panel{position:absolute;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));max-height:78dvh;overflow:auto;padding:10px 12px 14px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.16)}
  .lbs2-docsheet-head{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 10px}
  .lbs2-docsheet-head strong{font-size:15px}.lbs2-docsheet-close{width:38px;height:38px;border:0;border-radius:50%;background:#f2f3f2;font-size:20px}
  .lbs2-docsheet-list{display:grid}
  .lbs2-docsheet-action{min-height:52px;display:flex!important;align-items:center;justify-content:space-between;padding:0 4px;border-top:1px solid var(--line);color:#26302b!important;font-size:10px;font-weight:750}
  .lbs2-docsheet-action.primary{margin-top:8px;justify-content:center;border:0;border-radius:13px;background:var(--g);color:#fff!important}
}

@media(max-width:430px){
  .lbs2-metrics{grid-template-columns:1fr}
  .lbs2-flow{grid-template-columns:1fr}
  .lbs2-flow>*{border-right:0!important;border-bottom:1px solid var(--line)!important;min-height:76px}
  .lbs2-flow>*:last-child{border-bottom:0!important}
  .lbs2-toolbar{grid-template-columns:1fr}
  .lbs2-toolbar input{grid-column:auto}
}

@media print{
  .lbs2-docbar,.lbs2-docsheet,.lcmv4-trigger{display:none!important}
}
