
/* =========================================================
   V79.13 LANKOM PETROLEUM — CLIENT PORTAL MASTER STANDARD
   Typography, geometry and alignment derived from the approved
   Deal Operations / Client Portal presentation.
   ========================================================= */
:root{
  --lp13-ink:#17202a;
  --lp13-ink-2:#26313d;
  --lp13-muted:#697586;
  --lp13-nav:#08111a;
  --lp13-nav-2:#0c1722;
  --lp13-gold:#b68a43;
  --lp13-gold-2:#d0b06a;
  --lp13-teal:#56c9c1;
  --lp13-canvas:#f4f6f8;
  --lp13-panel:#ffffff;
  --lp13-line:rgba(17,36,51,.105);
  --lp13-shadow:0 8px 26px rgba(14,31,45,.045);
  --lp13-radius:13px;
  --lp13-content:1560px;
  --lp13-site:1320px;
}

/* One typography system everywhere */
html,body,button,input,select,textarea{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}
h1,h2,h3,h4,h5,h6,
.ga-top h1,.ga-panel h2,.ga-drawer h2,.ga-brand strong,.ga-plan h3{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  letter-spacing:normal!important;
}
html,body{max-width:100%;overflow-x:hidden}
body{font-size:14px;line-height:1.45}

/* =========================================================
   DEAL INTELLIGENCE — SAME WORKING GEOMETRY AS CLIENT PORTAL
   ========================================================= */
body.app-body,body.live-data-mode{
  background:var(--lp13-canvas)!important;
  color:var(--lp13-ink)!important;
}
.sidebar.clean-command-sidebar{
  width:274px!important;
  padding:20px 16px!important;
  background:
    radial-gradient(circle at 0 0,rgba(86,201,193,.10),transparent 28%),
    radial-gradient(circle at 100% 30%,rgba(208,176,106,.055),transparent 30%),
    linear-gradient(180deg,#08111a 0%,#0c1722 48%,#09131d 100%)!important;
  border-right:1px solid rgba(255,255,255,.075)!important;
  box-shadow:12px 0 34px rgba(5,13,21,.07)!important;
}
.sidebar.clean-command-sidebar .app-logo{
  min-height:70px!important;
  padding:10px 10px 17px!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
}
.sidebar.clean-command-sidebar .app-logo span{
  font-size:17px!important;font-weight:800!important;letter-spacing:.09em!important;color:#fff!important;
}
.sidebar.clean-command-sidebar .app-logo small{
  margin-top:3px!important;font-size:9px!important;letter-spacing:.22em!important;color:rgba(238,242,245,.56)!important;
}
.sidebar-subtitle{
  margin:13px 10px 8px!important;
  font-size:9px!important;font-weight:800!important;letter-spacing:.15em!important;text-transform:uppercase!important;
  color:rgba(168,179,191,.66)!important;
}
.v53-account-pill{
  margin:0 8px 14px!important;padding:9px 10px!important;
  border:1px solid rgba(208,176,106,.14)!important;background:rgba(255,255,255,.025)!important;
  color:#c6d0d7!important;border-radius:9px!important;font-size:11px!important;
}
.clean-nav-item{
  min-height:44px!important;padding:10px 12px!important;margin:2px 0!important;
  border:1px solid transparent!important;border-radius:9px!important;
  color:#aeb8c4!important;font-size:13px!important;font-weight:650!important;
}
.clean-nav-item:hover{background:rgba(255,255,255,.045)!important;color:#fff!important}
.clean-nav-item.active{
  background:linear-gradient(90deg,rgba(182,138,67,.15),rgba(255,255,255,.035))!important;
  color:#fff!important;border-color:rgba(208,176,106,.13)!important;
  box-shadow:inset 3px 0 0 var(--lp13-gold-2)!important;
}
.clean-sidebar-footer{border-top:1px solid rgba(255,255,255,.09)!important;padding-top:15px!important;margin-top:20px!important}

.v59-topbar{
  left:274px!important;height:76px!important;padding:0 34px!important;
  background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--lp13-line)!important;
  box-shadow:0 4px 22px rgba(12,29,43,.04)!important;
  color:var(--lp13-ink)!important;backdrop-filter:blur(14px)!important;
}
.v59-topbar:before{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--lp13-gold),rgba(86,201,193,.52),transparent 72%);opacity:.55;
}
.v59-brand-block span{font-size:9px!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#7d8793!important}
.v59-brand-block b{font-size:14px!important;color:#17202a!important;font-weight:750!important}
.v59-search-trigger{
  min-height:43px!important;background:#f8fafb!important;border:1px solid rgba(18,37,53,.12)!important;
  color:#697586!important;border-radius:10px!important;
}
.v59-icon-btn,.v59-user-pill{background:#fff!important;border-color:rgba(18,37,53,.12)!important;color:#26313d!important}

.app-main{
  margin-left:274px!important;
  padding:34px 40px 60px!important;
  max-width:none!important;
  min-height:100vh!important;
  background:linear-gradient(180deg,#f8fafb 0,#f4f6f8 260px,#f4f6f8 100%)!important;
}
.app-main>*{max-width:var(--lp13-content);margin-left:auto!important;margin-right:auto!important}
.clean-module-tabs{
  min-height:45px!important;margin-bottom:24px!important;padding:4px!important;
  background:#fff!important;border:1px solid var(--lp13-line)!important;border-radius:10px!important;
  box-shadow:0 3px 14px rgba(14,31,45,.025)!important;
}
.clean-module-tabs a{
  min-height:34px!important;display:inline-flex!important;align-items:center!important;
  padding:7px 11px!important;border-radius:7px!important;font-size:12px!important;font-weight:700!important;color:#697586!important;
}
.clean-module-tabs a.active{background:#17202a!important;color:#fff!important}

.app-header{
  min-height:76px!important;margin-bottom:24px!important;padding:0 0 21px 17px!important;
  display:flex!important;align-items:center!important;gap:18px!important;
  border-bottom:1px solid rgba(17,36,51,.075)!important;position:relative!important;
}
.app-header:before{
  content:"";position:absolute;left:0;top:5px;bottom:26px;width:3px;border-radius:4px;
  background:linear-gradient(180deg,var(--lp13-gold-2),var(--lp13-gold));
}
.app-header .kicker,.kicker{
  margin:0 0 6px!important;font-size:9px!important;line-height:1!important;
  text-transform:uppercase!important;letter-spacing:.12em!important;color:#7b8794!important;font-weight:800!important;
}
.app-header h1{
  margin:0 0 5px!important;font-size:27px!important;line-height:1.1!important;font-weight:750!important;color:#17202a!important;
}
.app-header .muted,.app-header p.muted{font-size:13px!important;line-height:1.5!important;color:#697586!important;margin:0!important;max-width:820px!important}
.app-header>.actions{margin-left:auto!important;display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important}

.panel,.card,.metric,.metric-card,.stat-card,.v73-exact-panel,.v73-exact-preview-panel{
  background:#fff!important;border:1px solid var(--lp13-line)!important;border-radius:var(--lp13-radius)!important;
  box-shadow:var(--lp13-shadow)!important;color:var(--lp13-ink)!important;
}
.panel{padding:20px!important}
.panel h2,.panel h3{color:#17202a!important}
.panel h2{font-size:18px!important;line-height:1.2!important;font-weight:750!important}
.panel h3{font-size:15px!important;font-weight:750!important}
.muted,.panel .muted{color:#697586!important}

.pipeline-toolbar,.section-head,.toolbar{
  display:flex!important;align-items:center!important;gap:10px!important;
}
.pipeline-toolbar{margin-bottom:14px!important}
.pipeline-toolbar>div:first-child{min-width:0}
.pipeline-toolbar h2{margin:0 0 4px!important}
.pipeline-toolbar p{margin:0!important;line-height:1.45!important}
.pipeline-toolbar>.actions{margin-left:auto!important}

.btn{
  min-height:40px!important;padding:9px 13px!important;border-radius:9px!important;
  border:1px solid #d9dee5!important;background:#fff!important;color:#26313d!important;
  font-size:12px!important;font-weight:750!important;box-shadow:none!important;
}
.btn:hover{background:#f8f9fb!important}
.btn.primary,.btn.gold{
  background:linear-gradient(135deg,#a97935,#c39a51)!important;border-color:#a97935!important;color:#fff!important;
  box-shadow:0 7px 18px rgba(137,99,43,.14)!important;
}
.btn.danger{color:#b4414b!important;border-color:#e8c5c9!important;background:#fff7f8!important}

input,select,textarea,.ctl{
  border:1px solid #d7dde4!important;background:#fff!important;color:#17202a!important;border-radius:9px!important;
  min-height:42px!important;padding:9px 11px!important;outline:none!important;
}
input:focus,select:focus,textarea:focus,.ctl:focus{
  border-color:rgba(182,138,67,.55)!important;box-shadow:0 0 0 3px rgba(182,138,67,.08)!important;
}
.field>span,.field label,.v73-exact-form label{
  color:#5f6977!important;font-size:10px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.045em!important;
}
.v73-exact-form input,.v73-exact-form select,.v73-exact-form textarea{
  background:#fff!important;color:#17202a!important;border-color:#d7dde4!important;border-radius:9px!important;
  font-size:13px!important;min-height:42px!important;
}
.v73-exact-form option{color:#17202a!important}
.v73-exact-form{gap:13px!important}

table,.table,.data-table{border-collapse:collapse!important}
.table-wrap,.table-container{border:1px solid var(--lp13-line)!important;border-radius:10px!important;background:#fff!important;overflow:auto!important}
th,.table th,.data-table th{
  background:#f7f9fa!important;color:#7c8793!important;font-size:9px!important;
  text-transform:uppercase!important;letter-spacing:.07em!important;font-weight:800!important;
}
td,.table td,.data-table td{border-color:rgba(17,36,51,.075)!important;color:#26313d!important}

/* Template manager */
.lp-template-manager{margin-bottom:20px!important}
.lp-template-manager-grid{display:grid!important;grid-template-columns:minmax(260px,1fr) auto!important;gap:12px!important;align-items:end!important}
.lp-template-upload{
  display:none;margin-top:15px;padding:16px;border:1px solid rgba(17,36,51,.09);border-radius:11px;background:#f8fafb;
}
.lp-template-upload.open{display:block!important}
.lp-template-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lp-template-upload-grid .wide{grid-column:1/-1}
.lp-template-list{display:grid;gap:8px;margin-top:13px}
.lp-template-row{
  display:flex;justify-content:space-between;gap:14px;align-items:center;
  padding:11px 12px;border:1px solid rgba(17,36,51,.08);border-radius:9px;background:#fff;
}
.lp-template-row strong{display:block;color:#17202a;font-size:12px}
.lp-template-row small{display:block;color:#697586;margin-top:2px;font-size:11px}
.lp-template-status{font-size:11px;color:#697586;margin-top:9px}
.lp-template-status.good{color:#21865d}.lp-template-status.bad{color:#c54c55}
.lp-org-letterhead{
  position:absolute;left:77px;right:77px;top:64px;z-index:3;
  display:flex;justify-content:space-between;align-items:flex-start;gap:30px;
  padding-bottom:18px;border-bottom:2px solid #b68a43;color:#17202a;
}
.lp-org-letterhead strong{font-size:22px;letter-spacing:.02em}
.lp-org-letterhead .lp-address{text-align:right;font-size:11px;line-height:1.45;color:#596675}
.lp-org-doc-footer{
  position:absolute;left:77px;right:77px;bottom:52px;z-index:3;
  padding-top:10px;border-top:1px solid #d9dee5;text-align:center;font-size:9px;color:#7a8593;
}

/* =========================================================
   GLOBAL ADMIN — SAME TYPOGRAPHIC DISCIPLINE
   ========================================================= */
body.ga-body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}
.ga-brand strong{font-size:19px!important;font-weight:750!important}
.ga-top h1{font-size:30px!important;font-weight:750!important}
.ga-panel h2{font-size:21px!important;font-weight:750!important}
.ga-drawer h2{font-size:25px!important;font-weight:750!important}
.ga-card b{font-family:inherit!important;font-size:28px!important;font-weight:750!important}
.ga-main{padding:34px 40px 60px!important}
.ga-panel,.ga-card{border-radius:13px!important}
.ga-panel-head{align-items:center!important}
.ga-kicker{font-size:9px!important;letter-spacing:.12em!important}
.ga-table th{font-size:9px!important;letter-spacing:.09em!important}

/* =========================================================
   PUBLIC WEBSITE — CLIENT PORTAL TYPE / ALIGNMENT STANDARD
   ========================================================= */
body.v67-body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}
.v67-nav{
  height:76px!important;
  padding-left:max(28px,calc((100vw - var(--lp13-site))/2))!important;
  padding-right:max(28px,calc((100vw - var(--lp13-site))/2))!important;
  align-items:center!important;
}
.v67-nav nav{gap:22px!important;align-items:center!important}
.v67-nav nav a{font-size:12px!important;font-weight:700!important;letter-spacing:.01em!important}
.v67-main>section{
  width:min(var(--lp13-site),calc(100% - 56px))!important;
  margin-left:auto!important;margin-right:auto!important;
}
.v67-hero{min-height:calc(100vh - 76px)!important;display:grid!important;align-content:center!important}
.v67-eyebrow{
  font-size:9px!important;letter-spacing:.14em!important;font-weight:800!important;line-height:1.2!important;
}
.v67-hero-copy{max-width:820px!important}
.v67-hero-copy h1{
  font-family:inherit!important;font-size:clamp(40px,4.4vw,66px)!important;
  line-height:1.02!important;font-weight:760!important;letter-spacing:-.035em!important;
}
.v67-hero-copy>p:not(.v67-eyebrow){max-width:700px!important;font-size:16px!important;line-height:1.65!important}
.v67-split{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:64px!important;align-items:start!important}
.v67-split h2,.v67-section-head h2{
  font-family:inherit!important;font-size:clamp(28px,2.5vw,38px)!important;line-height:1.13!important;font-weight:750!important;letter-spacing:-.02em!important;
}
.v67-split>p,.v67-section-head>p:last-child{font-size:14px!important;line-height:1.7!important}
.v67-service-grid,.v67-values-grid{gap:18px!important;align-items:stretch!important}
.v67-service-card,.v67-values-grid article{border-radius:13px!important}
.v67-service-card h3,.v67-values-grid b{font-family:inherit!important;font-size:18px!important;font-weight:750!important}
.v67-service-card p,.v67-values-grid p{font-size:13px!important;line-height:1.6!important}
.v73-footer-main,.v73-legal-strip{
  width:min(var(--lp13-site),calc(100% - 56px))!important;margin-left:auto!important;margin-right:auto!important;
}
.v73-footer-brand h3{font-family:inherit!important;font-weight:750!important}

/* Registration / login / packages */
.v53-auth-body,.v53-register-body{font-family:inherit!important}
.v53-auth-card h1,.v53-register-card h1,.v53-package-card h2{font-family:inherit!important;font-weight:750!important;letter-spacing:-.015em!important}
.v53-auth-card,.v53-register-card,.v53-package-card{border-radius:13px!important}

/* Responsive alignment */
@media(max-width:1200px){
  .sidebar.clean-command-sidebar{width:246px!important}
  .v59-topbar{left:246px!important;padding:0 26px!important}
  .app-main{margin-left:246px!important;padding:28px 28px 48px!important}
}
@media(max-width:900px){
  .v67-split{grid-template-columns:1fr!important;gap:28px!important}
  .v67-nav nav{gap:13px!important}
}
@media(max-width:760px){
  .sidebar.clean-command-sidebar{width:100%!important;position:relative!important;min-height:auto!important}
  .v59-topbar{left:0!important;position:sticky!important;padding:0 16px!important}
  .app-main{margin-left:0!important;padding:22px 16px 40px!important}
  .app-header{align-items:flex-start!important;flex-wrap:wrap!important}
  .app-header>.actions{margin-left:0!important;width:100%!important}
  .lp-template-manager-grid,.lp-template-upload-grid{grid-template-columns:1fr!important}
  .lp-template-upload-grid .wide{grid-column:1!important}
  .v67-main>section,.v73-footer-main,.v73-legal-strip{width:min(100% - 32px,var(--lp13-site))!important}
  .v67-nav{padding-left:16px!important;padding-right:16px!important}
}


/* =========================================================
   V79.13.1 — RESTORE APPROVED HOMEPAGE COMPOSITION
   V79.13's 1320px public-section cap made the homepage look
   compressed. The homepage returns to the V79.12 full-width
   geometry while retaining the new application standards.
   ========================================================= */
body.v67-body .v67-main > .v67-hero,
body.v67-body .v67-main > .v67-intro,
body.v67-body .v67-main > .v67-service-grid,
body.v67-body .v67-main > .v67-values-section,
body.v67-body .v67-main > .v67-map-section{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Restore the previous desktop navbar edge spacing rather than
   centring the entire navigation inside the 1320px content rail. */
@media (min-width:761px){
  body.v67-body > .v67-nav{
    height:auto!important;
    padding:18px 26px!important;
  }
}

/* Preserve the original wide hero grid/padding from the approved
   homepage. These values match the pre-V79.13 presentation. */
@media (min-width:1021px){
  body.v67-body .v67-main > .v67-hero{
    min-height:calc(100svh - 82px)!important;
    grid-template-columns:minmax(380px,.92fr) minmax(360px,.88fr)!important;
    grid-template-areas:"copy logo"!important;
    justify-content:center!important;
    align-items:center!important;
    column-gap:clamp(90px,8vw,170px)!important;
    row-gap:42px!important;
    padding:clamp(110px,8vw,145px) 8vw clamp(70px,6vw,100px)!important;
  }
}
@media (min-width:1021px) and (max-width:1480px){
  body.v67-body .v67-main > .v67-hero{
    grid-template-columns:minmax(360px,.95fr) minmax(320px,.75fr)!important;
    column-gap:clamp(70px,6vw,120px)!important;
    padding-left:7vw!important;
    padding-right:7vw!important;
  }
}
@media (min-width:1021px) and (max-width:1240px){
  body.v67-body .v67-main > .v67-hero{
    grid-template-columns:minmax(340px,.98fr) minmax(280px,.70fr)!important;
    column-gap:54px!important;
    padding-left:6vw!important;
    padding-right:6vw!important;
  }
}

/* Restore the original full-width lower homepage sections. */
body.v67-body .v67-main > .v67-intro{
  padding-left:7vw!important;
  padding-right:7vw!important;
}
body.v67-body .v67-main > .v67-service-grid{
  padding-left:7vw!important;
  padding-right:7vw!important;
}
body.v67-body .v67-main > .v67-values-section{
  padding-left:7vw!important;
  padding-right:7vw!important;
}
body.v67-body .v67-main > .v67-map-section{
  padding-left:7vw!important;
  padding-right:7vw!important;
}
@media(max-width:1200px){
  body.v67-body .v67-main > .v67-intro,
  body.v67-body .v67-main > .v67-service-grid,
  body.v67-body .v67-main > .v67-values-section,
  body.v67-body .v67-main > .v67-map-section{
    padding-left:5vw!important;
    padding-right:5vw!important;
  }
}
@media(max-width:760px){
  body.v67-body .v67-main > .v67-hero,
  body.v67-body .v67-main > .v67-intro,
  body.v67-body .v67-main > .v67-service-grid,
  body.v67-body .v67-main > .v67-values-section,
  body.v67-body .v67-main > .v67-map-section{
    width:100%!important;
  }
}


/* =========================================================
   V79.13.2 — LAYOUT CORRECTIONS
   User QA:
   1. Restore wide public page geometry (Commodities unchanged).
   2. Increase homepage right-side Lankom Petroleum wordmark.
   3. Keep Deal Intelligence content below the fixed topbar.
   4. Add proper space between page headings and gold marker.
   ========================================================= */

/* PUBLIC WEBSITE
   V79.13 introduced a 1320px cap to all public sections. Remove
   it from the website pages the user identified as compressed.
   Commodities / Commodity Products intentionally retain their
   current approved sizing. */
body.v67-body:not(.lp-preserve-public-width) .v67-main > section{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Restore the one section whose intended geometry uses side margins
   rather than internal padding. */
body.v67-body:not(.lp-preserve-public-width) .v67-main > .v67-single-copy{
  width:auto!important;
  margin:0 7vw 84px!important;
}

/* Homepage: slightly increase only the right-side Lankom Petroleum
   identity requested in QA. Do not change the hero copy position. */
@media (min-width:1021px){
  body.lp-homepage .v68-wordmark-panel{
    width:min(100%,620px)!important;
    max-width:620px!important;
  }
  body.lp-homepage .v68-hero-wordmark{
    width:min(100%,620px)!important;
    max-width:620px!important;
  }
}
@media (min-width:1021px) and (max-width:1400px){
  body.lp-homepage .v68-wordmark-panel,
  body.lp-homepage .v68-hero-wordmark{
    width:min(100%,560px)!important;
    max-width:560px!important;
  }
}

/* DEAL INTELLIGENCE
   Use higher-specificity selectors than v78-clean.css so the fixed
   topbar can never cover the top of Dashboard or module pages. */
body.v78-ui .app-main{
  padding-top:108px!important;
}

/* Dashboard needs visible breathing room below the command bar. */
body.v78-ui .clean-dashboard-header{
  margin-top:0!important;
  margin-bottom:22px!important;
}

/* Module navigation -> page title spacing. */
body.v78-ui .clean-module-tabs{
  margin-bottom:28px!important;
}

/* The gold marker was being retained while v78-clean.css removed
   the corresponding left padding. Reinstate enough room so the
   marker never touches the kicker/title on any module page. */
body.v78-ui .app-header,
body.v78-ui .v52-page-hero,
body.v78-ui .v73-docgen-hero,
body.v78-ui .v73-exact-hero{
  position:relative!important;
  padding-left:31px!important;
  padding-top:6px!important;
  padding-bottom:19px!important;
}

body.v78-ui .app-header:before,
body.v78-ui .v52-page-hero:before,
body.v78-ui .v73-docgen-hero:before,
body.v78-ui .v73-exact-hero:before{
  left:3px!important;
  top:6px!important;
  bottom:20px!important;
  width:3px!important;
}

/* Give the text block a stable minimum gap even on pages with
   legacy nested wrappers. */
body.v78-ui .app-header > div:first-child,
body.v78-ui .v52-page-hero > div:first-child,
body.v78-ui .v73-docgen-hero > div:first-child,
body.v78-ui .v73-exact-hero > div:first-child{
  padding-left:0!important;
  min-width:0!important;
}

/* Avoid visual collision between fixed bar and app content when
   sidebar is collapsed. */
body.v78-ui.sidebar-collapsed .app-main{
  padding-top:108px!important;
}

@media(max-width:760px){
  body.v78-ui .app-main,
  body.v78-ui.sidebar-collapsed .app-main{
    padding-top:86px!important;
  }
  body.v78-ui .app-header,
  body.v78-ui .v52-page-hero,
  body.v78-ui .v73-docgen-hero,
  body.v78-ui .v73-exact-hero{
    padding-left:25px!important;
  }
}


/* =========================================================
   V79.13.3 — SINGLE PAGE SCROLLBAR
   Prevent page-root containers from creating a second vertical
   scrolling context. The browser/document owns vertical scrolling.
   Component-level scrolling remains available where required
   (sidebar nav, modal bodies, tables, Kanban columns, previews).
   ========================================================= */

/* Browser/document is the single page scroll owner. */
html{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  height:auto!important;
  min-height:100%!important;
  scrollbar-gutter:auto!important;
}

/* Public website: never create an inner page scrollbar. */
body.v67-body{
  overflow-x:hidden!important;
  overflow-y:visible!important;
  height:auto!important;
  max-height:none!important;
}
body.v67-body .v67-main{
  overflow-x:hidden!important;
  overflow-y:visible!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
}

/* Deal Intelligence: page content follows the document scrollbar.
   Deliberately do not alter sidebar/component scrolling. */
body.v78-ui,
body.v78-ui.app-body,
body.v78-ui.live-data-mode{
  overflow-x:hidden!important;
  overflow-y:visible!important;
  height:auto!important;
  max-height:none!important;
}
body.v78-ui .app-main{
  overflow-y:visible!important;
  height:auto!important;
  max-height:none!important;
}

/* Global Administrator uses document scrolling except inside its
   deliberate organisation drawer. */
body.ga-body{
  overflow-x:hidden!important;
  overflow-y:visible;
  height:auto!important;
  max-height:none!important;
}
body.ga-body .ga-app,
body.ga-body .ga-main{
  overflow-y:visible!important;
  height:auto!important;
  max-height:none!important;
}

/* Public auth / package pages should also rely on the document. */
body.auth-body,
body.v53-auth-body,
body.v53-register-body,
body.v73-login-page{
  overflow-x:hidden!important;
  overflow-y:visible!important;
  height:auto!important;
  max-height:none!important;
}

/* Avoid stray full-height wrappers generating their own track. */
.v67-main,
.app-main,
.ga-main{
  scrollbar-gutter:auto!important;
}

/* Preserve intentional component scroll areas. */
body.v78-ui .clean-sidebar-primary,
.pm-column,
.pm-task-drawer-body,
.v73-exact-stage,
.refinery-modal-card,
.refinery-table-wrap,
.table-wrap,
.table-container{
  overscroll-behavior:contain;
}


/* =========================================================
   V79.13.4 — DOCUMENT SCROLL OWNERSHIP
   Historical note: the first V79.13.4 QA pass hid the browser
   scrollbar track. That was later rejected in QA because it made
   remaining component scroll regions look like the page scrollbar.
   The document remains the sole page-level vertical scroll owner.
   ========================================================= */
html{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  height:auto!important;
  min-height:100%!important;
  scrollbar-gutter:auto!important;
  scrollbar-width:auto!important;
  overscroll-behavior-y:auto!important;
}
body{
  overflow-x:hidden!important;
  overflow-y:visible!important;
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  scrollbar-width:auto!important;
}

/* Preserve intentional component scroll areas. */
.table-wrap,
.table-container,
.refinery-table-wrap,
.refinery-modal-card,
.v73-exact-stage,
.pm-column,
.pm-task-drawer-body{
  scrollbar-width:auto;
}

/* =========================================================
   V79.13.5 — FINAL DEAL INTELLIGENCE CANVAS ALIGNMENT
   V79.13.4 correctly removed the visible document scrollbar.
   A legacy :has() canvas rule in style.css still had greater
   specificity than the V78/V79 application offsets, leaving
   the main canvas on --clean-sidebar while the actual V78
   sidebar/topbar used --v78-sidebar. It also reset top padding
   to 22px, allowing the fixed command bar to cover page titles.
   Keep all three application rails on the V78 geometry and
   reserve a stable title clearance below the fixed topbar.
   ========================================================= */

/* Desktop/tablet: sidebar, fixed command bar and content canvas
   must share the same horizontal origin. This selector is at
   least as specific as the legacy body:has(...) canvas rule and
   loads after it. */
body.v78-ui.app-body .app-main,
body.v78-ui.live-data-mode .app-main{
  margin-left:var(--v78-sidebar)!important;
  width:calc(100% - var(--v78-sidebar))!important;
  padding-top:108px!important;
}

/* Collapsed sidebar follows the same V78 variable, so content and
   command bar move together instead of leaving a dead strip. */
body.v78-ui.app-body.sidebar-collapsed .app-main,
body.v78-ui.live-data-mode.sidebar-collapsed .app-main{
  margin-left:var(--v78-sidebar)!important;
  width:calc(100% - var(--v78-sidebar))!important;
  padding-top:108px!important;
}

/* At narrow widths V78 turns the sidebar into the mobile drawer and
   places the command bar across the viewport. Preserve enough top
   clearance for the command bar without reintroducing page nesting. */
@media(max-width:720px){
  body.v78-ui.app-body .app-main,
  body.v78-ui.live-data-mode .app-main,
  body.v78-ui.app-body.sidebar-collapsed .app-main,
  body.v78-ui.live-data-mode.sidebar-collapsed .app-main{
    margin-left:0!important;
    width:100%!important;
    padding-top:86px!important;
  }
}

/* V78 mobile command bar is designed as a single compact row. A legacy
   responsive rule forced the search trigger to span all grid columns,
   expanding the fixed bar to two rows and covering the page heading. */
@media(max-width:720px){
  body.v78-ui .v59-search-trigger{
    grid-column:auto!important;
  }
}


/* V79.13.22 legal/compliance layer */
.lp-legal-links{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-top:12px;font-size:12px}
.lp-legal-links a{color:inherit;text-decoration:none;opacity:.82}.lp-legal-links a:hover{opacity:1;text-decoration:underline}
.lp-legal-compact{max-width:1180px;margin:24px auto 34px;padding:16px 20px;border-top:1px solid rgba(135,150,165,.18);color:#8f9aa7;font-size:11px;line-height:1.55;text-align:center}
.lp-legal-compact .lp-legal-links{justify-content:center;margin:0 0 8px}
.lp-legal-compact strong{color:#c9d0d8;font-weight:600}
.lp-legal-page{min-height:100vh;background:#071019;color:#e9edf2}
.lp-legal-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;min-height:82px;padding:16px 42px;background:rgba(2,7,12,.92);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)}
.lp-legal-nav .brand{font-family:Georgia,'Times New Roman',serif;letter-spacing:.26em;color:#f4f5f7;text-decoration:none;font-size:19px;white-space:nowrap}.lp-legal-nav .brand small{display:block;margin-top:5px;font-family:Inter,system-ui,sans-serif;font-size:8px;letter-spacing:.34em;color:#77b6b5;text-align:center}
.lp-legal-nav nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:18px}.lp-legal-nav nav a{color:#bcc6d0;text-decoration:none;font-size:12px}.lp-legal-nav nav a:hover{color:#fff}
.lp-legal-shell{width:min(1000px,calc(100% - 36px));margin:0 auto;padding:64px 0 84px}.lp-legal-shell .eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#d4b36f}.lp-legal-shell h1{font-family:Georgia,'Times New Roman',serif;font-size:46px;line-height:1.06;font-weight:400;margin:12px 0 14px}.lp-legal-shell .updated{color:#8fa0b1;font-size:12px;margin-bottom:34px}.lp-legal-card{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.085);border-radius:14px;padding:28px 30px;margin:18px 0}.lp-legal-card h2{font-size:21px;margin:0 0 12px;color:#fff}.lp-legal-card h3{font-size:15px;margin:22px 0 8px;color:#dfe6ed}.lp-legal-card p,.lp-legal-card li{color:#b8c3ce;line-height:1.7}.lp-legal-card li+li{margin-top:7px}.lp-legal-card a{color:#8ed6d2}.lp-legal-card table{width:100%;border-collapse:collapse;margin:12px 0}.lp-legal-card th,.lp-legal-card td{padding:11px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:top;color:#b8c3ce}.lp-legal-card th{color:#fff;font-size:12px}.lp-callout{border-left:3px solid #c6a35d;background:rgba(198,163,93,.08);padding:16px 18px;border-radius:8px;color:#d8dee5;margin:18px 0}.lp-legal-footer{border-top:1px solid rgba(255,255,255,.08);padding:24px 32px 34px;text-align:center;color:#82909e;font-size:11px}.lp-legal-footer .lp-legal-links{justify-content:center;margin-bottom:10px}
.lp-consent-box{display:flex;align-items:flex-start;gap:10px;margin:13px 0;color:#aeb8c4;font-size:12px;line-height:1.45}.lp-consent-box input{margin-top:3px;flex:0 0 auto}.lp-consent-box a{color:#8fd0cb}.lp-package-legal-note{max-width:980px;margin:20px auto 0;padding:13px 16px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.035);color:#aeb9c5;font-size:12px;line-height:1.55}.lp-package-legal-note a{color:#8fd0cb}.lp-price-note{display:block;margin-top:6px;color:#98a6b5;font-size:10px;line-height:1.4}
#lpLegalCheckout{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px;background:rgba(2,7,12,.78);backdrop-filter:blur(7px)}#lpLegalCheckout .box{width:min(620px,96vw);max-height:90vh;overflow:auto;background:#0c151e;color:#eef2f5;border:1px solid rgba(255,255,255,.12);border-radius:15px;box-shadow:0 28px 90px rgba(0,0,0,.42);padding:26px}#lpLegalCheckout h2{margin:0 0 6px;font-size:24px}#lpLegalCheckout p{color:#aab6c2;line-height:1.55}#lpLegalCheckout .summary{padding:13px 15px;border-radius:10px;background:rgba(255,255,255,.045);margin:14px 0;color:#d8dee4}#lpLegalCheckout label.select{display:block;margin:14px 0 6px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#9eabb8}#lpLegalCheckout select{width:100%;padding:10px 11px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:#111d28;color:#fff}#lpLegalCheckout .actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}#lpLegalCheckout button{padding:10px 14px;border-radius:9px;border:1px solid rgba(255,255,255,.13);background:transparent;color:#dce3e9;font-weight:700}#lpLegalCheckout button.primary{background:#b58a45;border-color:#b58a45;color:#fff}#lpLegalCheckout button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){.lp-legal-nav{padding:14px 18px;min-height:70px}.lp-legal-nav nav{display:none}.lp-legal-shell{padding:42px 0 60px}.lp-legal-shell h1{font-size:34px}.lp-legal-card{padding:20px}.lp-legal-card table{font-size:12px}.lp-legal-compact{margin-bottom:20px}}


/* =========================================================
   V79.13.23 — SINGLE VISIBLE DOCUMENT SCROLLBAR
   QA correction: one scrollbar belongs to the complete document.
   Public/app/auth/legal page wrappers must never become separate
   vertical scroll containers. Intentional component scrolling
   (sidebars, modals, tables, Kanban columns and previews) is kept.
   ========================================================= */
html{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  scrollbar-width:auto!important;
  scrollbar-gutter:auto!important;
}
body,
body.v67-body,
body.v78-ui,
body.v78-ui.app-body,
body.v78-ui.live-data-mode,
body.ga-body,
body.auth-body,
body.v53-auth-body,
body.v53-register-body,
body.v73-login-page,
body.lp-legal-page{
  overflow-x:clip!important;
  overflow-y:visible!important;
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  scrollbar-width:auto!important;
}

/* Page-level wrappers follow the document instead of scrolling
   independently. */
body.v67-body .v67-main,
body.v78-ui .app-main,
body.v78-ui.app-body .app-main,
body.v78-ui.live-data-mode .app-main,
body:has(.sidebar):has(.app-main) .app-main,
body.ga-body .ga-app,
body.ga-body .ga-main,
.v73-login-main,
.v73-packages-main,
.lp-legal-page,
.lp-legal-shell{
  overflow-x:clip!important;
  overflow-y:visible!important;
  height:auto!important;
  max-height:none!important;
  scrollbar-gutter:auto!important;
}

/* Chromium/Edge/Safari: restore the native page scrollbar if an
   earlier cached stylesheet contained the old hidden-root rule. */
html::-webkit-scrollbar,
body::-webkit-scrollbar{
  display:block!important;
}

/* Deliberate internal scrolling remains unchanged. */
body.v78-ui .clean-sidebar-primary,
.pm-column,
.pm-task-drawer-body,
.v73-exact-stage,
.refinery-modal-card,
.refinery-table-wrap,
.table-wrap,
.table-container,
.ga-drawer,
#lpLegalCheckout .box{
  overscroll-behavior:contain;
}
