
/* JL Dynamics V28.256 — THEME / LAYOUT ONLY
   Functional JS/PHP/modules are untouched. */

:root{
  --jld-green:#296b17;
  --jld-lime:#75b82a;
  --jld-deep:#07120b;
  --jld-deep2:#132019;
  --jld-ink:#202322;
  --jld-bg:#f5f6f2;
  --jld-line:#dfe5de;
  --jld-white:#fff;
}
html,body{background:var(--jld-bg)!important;color:var(--jld-ink)!important}
body.theme-v273{font-family:Arial,Helvetica,sans-serif!important}

/* =========================
   PUBLIC WEBSITE / LOGIN
   ========================= */
.theme-v273 .auth-screen{
  position:fixed!important;inset:0!important;z-index:9999!important;
  display:block!important;overflow:auto!important;padding:0!important;
  background:#fff!important;
}
.theme-v273 .auth-screen.hidden{display:none!important}
.theme-v273 .auth-card.landing-only{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;
}
.theme-v273 .jld-ref-public{width:100%;background:#fff}
.theme-v273 .jld-ref-nav{
  height:108px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;
  padding:12px 5.5%;gap:28px;background:rgba(255,255,255,.97);position:relative;z-index:4;
}
.theme-v273 .jld-ref-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#161a17}
.theme-v273 .jld-ref-brand img{width:150px!important;height:90px!important;object-fit:contain!important;margin:0!important}
.theme-v273 .jld-ref-brand span{display:flex;flex-direction:column;align-items:center;line-height:.8}
.theme-v273 .jld-ref-brand strong{font-size:2rem;color:#6dab1c;letter-spacing:.04em}
.theme-v273 .jld-ref-brand small{font-size:.72rem;letter-spacing:.35em}
.theme-v273 .jld-ref-brand em{font-style:normal;font-size:.55rem;margin-top:8px;letter-spacing:.04em}
.theme-v273 .jld-ref-links{display:flex;gap:46px;margin-left:auto}
.theme-v273 .jld-ref-links a{font-size:.72rem;font-weight:900;color:#202322;text-decoration:none}
.theme-v273 .jld-ref-login{
  display:flex!important;align-items:center!important;gap:10px!important;background:linear-gradient(135deg,#286b13,#164d10)!important;
  color:#fff!important;border:0!important;border-radius:12px!important;padding:13px 22px!important;box-shadow:0 10px 24px #1e4d1730!important
}
.theme-v273 .jld-ref-login span,.theme-v273 .jld-ref-actions span{display:flex;flex-direction:column;text-align:left}
.theme-v273 .jld-ref-login small,.theme-v273 .jld-ref-actions small{font-size:.7rem;font-weight:400;margin-top:2px}

.theme-v273 .jld-ref-hero{
  min-height:500px;position:relative;display:flex;align-items:center;padding:30px 5.5% 70px;box-sizing:border-box;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 35%,rgba(255,255,255,.42) 56%,rgba(255,255,255,.04) 76%),
    url("jld-reference-hero-v28-256.jpg") right center/72% 100% no-repeat;
}
.theme-v273 .jld-ref-copy{max-width:590px;position:relative;z-index:2}
.theme-v273 .jld-ref-copy h1{font-size:3.7rem;line-height:.91;letter-spacing:-.045em;margin:0 0 20px;font-weight:950;color:#252525}
.theme-v273 .jld-ref-copy h1 span{color:#286d18}
.theme-v273 .jld-ref-copy>i{display:block;width:72px;height:3px;background:#4a9121;margin:20px 0}
.theme-v273 .jld-ref-copy>p{font-size:1.05rem;line-height:1.45;color:#292e2a!important;margin:0 0 26px!important}
.theme-v273 .jld-ref-actions{display:flex;gap:16px;flex-wrap:wrap}
.theme-v273 .jld-ref-actions button,.theme-v273 .jld-ref-actions a{
  display:flex;align-items:center;gap:12px;min-width:180px;box-sizing:border-box;
  text-decoration:none;border-radius:10px!important;padding:13px 18px!important;font-size:.9rem!important
}
.theme-v273 .jld-ref-actions button{background:#2d7515!important;color:#fff!important;border:0!important}
.theme-v273 .jld-ref-actions a{background:#fff;color:#1a271d;border:1px solid #bdc6bd}

.theme-v273 .jld-ref-featurebar{
  width:92%;max-width:1280px;margin:-45px auto 0;position:relative;z-index:3;
  display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border-radius:16px;
  box-shadow:0 18px 42px rgba(0,0,0,.20);padding:24px 10px
}
.theme-v273 .jld-ref-featurebar article{text-align:center;padding:8px 16px;border-right:1px solid #ddd}
.theme-v273 .jld-ref-featurebar article:last-child{border-right:0}
.theme-v273 .jld-ref-featurebar article span{display:block;font-size:2.1rem;color:#73b521;margin-bottom:10px}
.theme-v273 .jld-ref-featurebar b{display:block;font-size:.83rem;margin-bottom:7px}
.theme-v273 .jld-ref-featurebar small{display:block;font-size:.72rem;line-height:1.45;color:#444}

.theme-v273 .jld-ref-dark{
  margin-top:-55px;padding:105px 5.5% 28px;
  display:grid;grid-template-columns:1.25fr repeat(5,1fr);gap:12px;
  background:
    linear-gradient(rgba(5,11,7,.91),rgba(5,11,7,.95)),
    url("jld-reference-hero-v28-256.jpg") center bottom/cover no-repeat;
  color:#fff
}
.theme-v273 .jld-ref-dark-title{padding:20px 12px 0 0}
.theme-v273 .jld-ref-dark-title small{color:#70b627;font-weight:900}
.theme-v273 .jld-ref-dark-title h2{font-size:1.55rem;line-height:1.15;margin:12px 0}
.theme-v273 .jld-ref-dark-title i{display:block;width:65px;height:3px;background:#69a923}
.theme-v273 .jld-ref-dark article{min-height:150px;text-align:center;background:linear-gradient(145deg,#1b211c,#262a25);border-radius:12px;padding:18px 12px;display:flex;flex-direction:column;justify-content:center}
.theme-v273 .jld-ref-dark article span{font-size:2rem;color:#78bc1c;margin-bottom:10px}
.theme-v273 .jld-ref-dark article b{font-size:.82rem;line-height:1.2}
.theme-v273 .jld-ref-dark article small{margin-top:10px;color:#f0f0f0;line-height:1.4;font-size:.73rem}
.theme-v273 .jld-ref-benefits{
  display:grid;grid-template-columns:repeat(4,1fr);background:#07110b;color:#fff;border-top:1px solid #273227
}
.theme-v273 .jld-ref-benefits>div{min-height:95px;padding:20px 26px;display:flex;align-items:center;gap:18px;border-right:1px solid #1d291f}
.theme-v273 .jld-ref-benefits>div:first-child{background:linear-gradient(135deg,#214817,#315e1f)}
.theme-v273 .jld-ref-benefits span{font-size:2rem}.theme-v273 .jld-ref-benefits b{font-size:.75rem;line-height:1.45}
.theme-v273 .jld-ref-about,.theme-v273 .jld-ref-contact{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;padding:18px 5%;font-size:.82rem}
.theme-v273 .jld-ref-about{background:#f2f4ef}.theme-v273 .jld-ref-contact{background:#fff;border-top:1px solid #e1e5df}

/* Existing login form remains original functionality, styled as a neat section. */
.theme-v273 .auth-card.landing-only>.soft-divider{display:block!important;margin:0!important;border:0!important}
.theme-v273 .auth-card.landing-only>#loginClientName,
.theme-v273 .auth-card.landing-only>.client-pill,
.theme-v273 .auth-card.landing-only>#loginFormArea{display:block!important}
.theme-v273 .auth-card.landing-only>#loginClientName{max-width:500px;margin:42px auto 6px!important;text-align:center;color:#1e5b27}
.theme-v273 .auth-card.landing-only>.client-pill{width:max-content;margin:0 auto 10px!important}
.theme-v273 .auth-card.landing-only>#loginClientName+p{max-width:500px;margin:0 auto 18px!important;text-align:center}
.theme-v273 .auth-card.landing-only>#loginFormArea{
  max-width:500px;margin:0 auto 55px!important;padding:26px!important;background:#fff!important;border:1px solid #dbe5d8!important;
  border-radius:16px!important;box-shadow:0 16px 45px rgba(28,66,34,.12)!important
}

/* =========================
   CLIENT APPLICATION
   ========================= */
.theme-v273:not(.owner-master) .topbar.brandbar{
  height:78px;box-sizing:border-box;background:#fff!important;border-bottom:1px solid #ddd!important;box-shadow:none!important;padding:10px 26px!important;
  position:sticky!important;top:0!important;z-index:80!important
}
.theme-v273:not(.owner-master) .brandlogo{width:46px!important;height:46px!important;object-fit:contain!important;border-radius:0!important}
.theme-v273:not(.owner-master) #headerPlatformName{color:#296b17!important;font-size:1.15rem!important}
.theme-v273:not(.owner-master) #headerPoweredLine{color:#3d463f!important}

/* Existing layout preserved; just make it look like the reference sidebar. */
.theme-v273:not(.owner-master) main.layout{
  display:grid!important;grid-template-columns:230px minmax(0,1fr)!important;gap:0!important;max-width:none!important;margin:0!important;padding:0!important;min-height:calc(100vh - 78px)!important
}
.theme-v273:not(.owner-master) main.layout>aside.panel{
  grid-column:1!important;grid-row:1!important;background:linear-gradient(180deg,#0c180f,#12261a)!important;color:#fff!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:650px 12px 24px!important;
  position:sticky!important;top:78px!important;height:calc(100vh - 78px)!important;overflow-y:auto!important;box-sizing:border-box!important
}
.theme-v273:not(.owner-master) main.layout>aside.panel h2{color:#dfe9e1!important;font-size:.85rem!important;border-top:1px solid #ffffff18;padding-top:12px}
.theme-v273:not(.owner-master) main.layout>aside.panel label{color:#eaf2ec!important}
.theme-v273:not(.owner-master) main.layout>aside.panel .hint{color:#adc1b2!important}
.theme-v273:not(.owner-master) main.layout>aside.panel .filebox,
.theme-v273:not(.owner-master) main.layout>aside.panel .notice{background:#ffffff0a!important;border-color:#ffffff1e!important;color:#e8f0ea!important}
.theme-v273:not(.owner-master) main.layout>section.content{grid-column:2!important;min-width:0!important;padding:0 22px 32px!important;background:#f4f5f1!important}

/* Turn the original tab buttons into the fixed left navigation. No DOM movement. */
.theme-v273:not(.owner-master) .content>.tabs{
  position:fixed!important;left:0!important;top:78px!important;width:230px!important;height:650px!important;z-index:70!important;
  background:linear-gradient(180deg,#0c180f,#12261a)!important;padding:18px 10px 8px!important;box-sizing:border-box!important;
  display:flex!important;flex-direction:column!important;gap:2px!important;overflow-y:auto!important;border:0!important
}
.theme-v273:not(.owner-master) .content>.tabs .tab{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;flex:0 0 auto!important;
  background:transparent!important;color:#f1f4f1!important;border:0!important;border-radius:7px!important;padding:8px 10px!important;font-size:.77rem!important;font-weight:650!important;box-shadow:none!important
}
.theme-v273:not(.owner-master) .content>.tabs .tab:hover{background:#ffffff0c!important}
.theme-v273:not(.owner-master) .content>.tabs .tab.active{background:linear-gradient(135deg,#4f8c20,#6ba72c)!important;color:#fff!important}

/* KPI strip */
.theme-v273:not(.owner-master) .content>.cards.costcards{
  display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:0!important;background:#fff!important;border-radius:14px!important;
  padding:10px!important;border:1px solid #e0e4df!important;box-shadow:0 14px 35px rgba(0,0,0,.12)!important;position:relative!important;z-index:5!important;margin:-36px 20px 16px!important
}
.theme-v273:not(.owner-master) .content>.cards.costcards .card{
  background:#fff!important;border:0!important;border-right:1px solid #e1e4e0!important;border-radius:0!important;box-shadow:none!important;text-align:center!important;padding:12px!important
}
.theme-v273:not(.owner-master) .content>.cards.costcards .card:last-child{border-right:0!important}
.theme-v273:not(.owner-master) .content>.cards.costcards strong{color:#4e8e21!important}

/* Dashboard hero mirrors reference */
.theme-v273:not(.owner-master) #dashboard>.dashboard-hero{
  min-height:390px!important;margin:0 -22px 0!important;padding:54px 50% 54px 52px!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 36%,rgba(255,255,255,.30) 61%,rgba(255,255,255,.03) 78%),
    url("jld-reference-hero-v28-256.jpg") right center/72% 100% no-repeat!important
}
.theme-v273:not(.owner-master) #dashboard>.dashboard-hero h2{font-size:3.25rem!important;line-height:.90!important;letter-spacing:-.04em!important;margin:0 0 18px!important;color:#242424!important}
.theme-v273:not(.owner-master) #dashboard>.dashboard-hero h2 span{color:#2c7419}
.theme-v273:not(.owner-master) #dashboard>.dashboard-hero p{max-width:520px!important;color:#303730!important;font-size:.96rem!important;line-height:1.5!important}
.theme-v273:not(.owner-master) #dashboard>.dashboard-hero .season-pill{background:#fff!important;border:1px solid #ccd7cc!important;color:#28652f!important}

/* White feature bar inserted into dashboard */
.theme-v273 .jld-client-featurebar{
  display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid #e1e3df;border-radius:15px;
  margin:-22px 18px 18px;position:relative;z-index:6;overflow:hidden;box-shadow:0 14px 32px rgba(0,0,0,.15)
}
.theme-v273 .jld-client-featurebar button{
  min-height:116px!important;background:#fff!important;color:#222!important;border:0!important;border-right:1px solid #ddd!important;border-radius:0!important;box-shadow:none!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:8px!important;font-size:1.7rem!important
}
.theme-v273 .jld-client-featurebar button:last-child{border-right:0!important}
.theme-v273 .jld-client-featurebar button b{font-size:.76rem}.theme-v273 .jld-client-featurebar button small{font-size:.68rem;color:#555}
.theme-v273 .jld-client-featurebar button:hover{background:#f6f8f3!important;transform:none!important}

/* Existing dashboard data becomes the dark lower information zone */
.theme-v273:not(.owner-master) #dashboard .dashboard-grid{gap:12px!important;background:#07100a!important;margin:0 -22px!important;padding:18px 22px 32px!important}
.theme-v273:not(.owner-master) #dashboard .dash-panel{background:linear-gradient(145deg,#192019,#272b25)!important;border:0!important;border-radius:12px!important;color:#fff!important;box-shadow:none!important}
.theme-v273:not(.owner-master) #dashboard .dash-panel h3{color:#fff!important}
.theme-v273:not(.owner-master) #dashboard .dash-panel .hint{color:#d4ddd5!important}
.theme-v273:not(.owner-master) #dashboard .dash-panel .mutedbox{background:#ffffff0c!important;color:#dbe4dc!important;border-color:#ffffff14!important}
.theme-v273:not(.owner-master) #dashboard .dash-panel table{background:#fff!important;color:#1e241f!important}

/* General client modules remain fully functional, just themed */
.theme-v273:not(.owner-master) .tabpane:not(#dashboard){padding:22px 0!important}
.theme-v273:not(.owner-master) .tabpane h2{color:#245f2d!important}
.theme-v273:not(.owner-master) .panel,
.theme-v273:not(.owner-master) .ft-panel,
.theme-v273:not(.owner-master) .irr-panel,
.theme-v273:not(.owner-master) .ch-card,
.theme-v273:not(.owner-master) .hv-panel,
.theme-v273:not(.owner-master) .ds-panel{
  background:#fff!important;border:1px solid #dfe5df!important;border-radius:13px!important;box-shadow:0 8px 24px rgba(28,50,31,.06)!important
}

/* =========================
   MASTER OWNER — SAME DOM / SAME FUNCTIONS
   Only visual theme, nothing hidden.
   ========================= */
.theme-v273.owner-master .topbar.brandbar{
  height:78px!important;background:#fff!important;border-bottom:1px solid #ddd!important;box-shadow:none!important;padding:10px 26px!important
}
.theme-v273.owner-master .brandlogo{width:48px!important;height:48px!important;object-fit:contain!important}
.theme-v273.owner-master #headerPlatformName{color:#296b17!important}
.theme-v273.owner-master main.layout{display:block!important;max-width:none!important;padding:0!important;background:#f4f5f1!important}
.theme-v273.owner-master main.layout>aside.panel{display:none!important}
.theme-v273.owner-master main.layout>section.content{width:100%!important;max-width:none!important;padding:0!important}
.theme-v273.owner-master .content>.cards.costcards{display:none!important}
.theme-v273.owner-master .content>.tabs{
  background:#0b170e!important;padding:10px 18px!important;border:0!important;border-radius:0!important;display:flex!important;gap:8px!important
}
.theme-v273.owner-master .content>.tabs .tab{display:none!important}
.theme-v273.owner-master .content>.tabs .tab[data-tab="platformadmin"]{
  display:inline-flex!important;background:#5d982a!important;color:#fff!important;border:0!important;border-radius:8px!important
}
.theme-v273.owner-master #platformadmin{padding:0 0 38px!important;background:#f4f5f1!important}

/* Owner hero */
.theme-v273.owner-master .owner-master-site{
  background:
    linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.72) 52%,rgba(255,255,255,.12)),
    url("jld-reference-hero-v28-256.jpg") right center/66% 100% no-repeat!important;
  min-height:310px;padding-bottom:20px
}
.theme-v273.owner-master .owner-public-nav{background:transparent!important;border:0!important}
.theme-v273.owner-master .owner-home-hero{background:transparent!important;border:0!important;box-shadow:none!important}
.theme-v273.owner-master .owner-home-hero h2{font-size:2.8rem!important;color:#286c19!important}
.theme-v273.owner-master .owner-summary-card{background:rgba(255,255,255,.93)!important;border:1px solid #d9e2d7!important;border-radius:14px!important}

/* Owner console = dark sidebar + white working area, like supplied reference */
.theme-v273.owner-master #ownerConsoleContent{max-width:1480px;margin:-20px auto 0;padding:0 22px 30px}
.theme-v273.owner-master .owner-exec-topbar{
  background:#fff!important;border:1px solid #dce4dc!important;border-radius:15px!important;padding:18px 22px!important;box-shadow:0 12px 28px rgba(25,48,30,.08)!important
}
.theme-v273.owner-master .owner-summary-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important}
.theme-v273.owner-master .owner-exec-shell{
  display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;gap:0!important;background:#fff!important;border-radius:16px!important;overflow:hidden!important;
  box-shadow:0 16px 42px rgba(25,48,30,.10)!important;border:1px solid #dfe5df!important
}
.theme-v273.owner-master .owner-exec-sidebar{
  display:flex!important;flex-direction:column!important;gap:4px!important;background:linear-gradient(180deg,#0b170e,#14261a)!important;padding:18px 12px!important;min-height:650px!important
}
.theme-v273.owner-master .owner-admin-tab{
  display:flex!important;width:100%!important;justify-content:flex-start!important;background:transparent!important;color:#f0f5f1!important;border:0!important;border-radius:7px!important;padding:10px 12px!important;box-shadow:none!important
}
.theme-v273.owner-master .owner-admin-tab.active{background:#5d982a!important;color:#fff!important}
.theme-v273.owner-master .owner-exec-main{padding:20px!important;min-width:0!important;background:#fafbf8!important}
.theme-v273.owner-master .owner-admin-tabpane{display:none}
.theme-v273.owner-master .owner-admin-tabpane.active{display:block!important}
.theme-v273.owner-master .owner-exec-main .panel{background:#fff!important;border:1px solid #dfe5df!important;border-radius:13px!important;box-shadow:0 6px 20px rgba(25,48,30,.05)!important}
.theme-v273.owner-master #ownerClientRows{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;gap:12px!important}
.theme-v273.owner-master .owner-client-card{background:#fff!important;border:1px solid #dce4dc!important;border-radius:13px!important;box-shadow:0 8px 24px rgba(20,48,28,.07)!important}

/* Shared controls */
.theme-v273 input,.theme-v273 select,.theme-v273 textarea{border-radius:8px!important;border:1px solid #d4ded4!important}
.theme-v273 button,.theme-v273 .button-link{border-radius:8px!important}
.theme-v273 button:not(.ghost):not(.tab):not(.owner-admin-tab):not(.jld-ref-login),
.theme-v273 .button-link:not(.ghost){background:#2d743d!important;color:#fff!important;border-color:#2d743d!important}
.theme-v273 table thead th{background:#edf3eb!important;color:#2b4f31!important}

/* Responsive */
@media(max-width:1000px){
  .theme-v273 .jld-ref-links{display:none}
  .theme-v273 .jld-ref-featurebar{grid-template-columns:repeat(3,1fr)}
  .theme-v273 .jld-ref-featurebar article:nth-child(3){border-right:0}
  .theme-v273 .jld-ref-dark{grid-template-columns:1fr 1fr}
  .theme-v273 .jld-ref-dark-title{grid-column:1/-1}
  .theme-v273 .jld-ref-benefits{grid-template-columns:1fr 1fr}
  .theme-v273:not(.owner-master) main.layout{grid-template-columns:1fr!important}
  .theme-v273:not(.owner-master) main.layout>aside.panel{display:none!important}
  .theme-v273:not(.owner-master) main.layout>section.content{grid-column:1!important;padding:0 12px 24px!important}
  .theme-v273:not(.owner-master) .content>.tabs{position:sticky!important;top:78px!important;width:auto!important;height:auto!important;left:auto!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important}
  .theme-v273:not(.owner-master) .content>.tabs .tab{width:auto!important;white-space:nowrap!important}
  .theme-v273:not(.owner-master) #dashboard>.dashboard-hero{margin:0 -12px!important;padding:42px 20px 180px!important;background-position:center bottom!important;background-size:cover!important}
  .theme-v273 .jld-client-featurebar{grid-template-columns:repeat(2,1fr);margin:-18px 0 14px}
  .theme-v273.owner-master .owner-exec-shell{grid-template-columns:1fr!important}
  .theme-v273.owner-master .owner-exec-sidebar{min-height:0!important;flex-direction:row!important;overflow-x:auto!important}
  .theme-v273.owner-master .owner-admin-tab{width:auto!important;white-space:nowrap!important}
}
@media(max-width:650px){
  .theme-v273 .jld-ref-nav{height:82px;padding:10px 14px}.theme-v273 .jld-ref-brand em{display:none}.theme-v273 .jld-ref-brand img{width:120px!important;height:72px!important}
  .theme-v273 .jld-ref-hero{min-height:500px;padding:32px 18px 170px;background-position:center bottom;background-size:cover}
  .theme-v273 .jld-ref-copy h1{font-size:2.8rem}
  .theme-v273 .jld-ref-featurebar{width:94%;grid-template-columns:1fr 1fr}.theme-v273 .jld-ref-featurebar article{border-bottom:1px solid #ddd}
  .theme-v273 .jld-ref-dark{grid-template-columns:1fr;padding:95px 18px 25px}
  .theme-v273 .jld-ref-benefits{grid-template-columns:1fr}
  .theme-v273.owner-master .owner-summary-grid{grid-template-columns:1fr!important}
}


/* =========================================================
   V28.257 LAYOUT FIX ONLY
   - KPI / totals row fully visible and rounded
   - Left module navigation vertically stacked, no horizontal scroll
   - No functional JS/PHP/module changes
   ========================================================= */

/* Give the client workspace enough width for the full module names. */
.theme-v273:not(.owner-master) main.layout{
  grid-template-columns:270px minmax(0,1fr)!important;
}

/* Left rail: never scroll sideways; modules remain one below another. */
.theme-v273:not(.owner-master) main.layout>aside.panel{
  width:270px!important;
  max-width:270px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding-left:12px!important;
  padding-right:12px!important;
}
.theme-v273:not(.owner-master) .content>.tabs{
  width:270px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-gutter:stable;
}
.theme-v273:not(.owner-master) .content>.tabs .tab{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
  line-height:1.25!important;
  padding:8px 10px!important;
}

/* Prevent any child in the dark rail from creating horizontal overflow. */
.theme-v273:not(.owner-master) main.layout>aside.panel *,
.theme-v273:not(.owner-master) .content>.tabs *{
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* KPI / totals cards must sit below the header and remain fully visible. */
.theme-v273:not(.owner-master) .content>.cards.costcards{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  margin:16px 0 18px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid #dfe6de!important;
  box-shadow:0 10px 28px rgba(25,48,30,.09)!important;
  z-index:2!important;
}

/* Round individual KPI group edges and keep all values comfortably visible. */
.theme-v273:not(.owner-master) .content>.cards.costcards .card{
  min-height:82px!important;
  padding:16px 12px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  overflow:visible!important;
}
.theme-v273:not(.owner-master) .content>.cards.costcards .card:first-child{
  border-radius:18px 0 0 18px!important;
}
.theme-v273:not(.owner-master) .content>.cards.costcards .card:last-child{
  border-radius:0 18px 18px 0!important;
}
.theme-v273:not(.owner-master) .content>.cards.costcards .card span{
  line-height:1.25!important;
  margin-bottom:5px!important;
}
.theme-v273:not(.owner-master) .content>.cards.costcards .card strong{
  line-height:1.15!important;
  overflow:visible!important;
}

/* Keep dashboard hero neatly below the totals instead of overlapping them. */
.theme-v273:not(.owner-master) #dashboard>.dashboard-hero{
  margin:0 -22px 0!important;
  border-radius:18px 18px 0 0!important;
  overflow:hidden!important;
}

/* More polished dashboard spacing / rounding. */
.theme-v273 .jld-client-featurebar{
  margin:-22px 18px 18px!important;
  border-radius:18px!important;
}
.theme-v273:not(.owner-master) #dashboard .dashboard-grid{
  border-radius:0 0 18px 18px!important;
  overflow:hidden!important;
}

/* Remove native horizontal scrollbar from the entire rail. */
.theme-v273:not(.owner-master) .content>.tabs,
.theme-v273:not(.owner-master) main.layout>aside.panel{
  scrollbar-width:thin;
}
.theme-v273:not(.owner-master) .content>.tabs::-webkit-scrollbar:horizontal,
.theme-v273:not(.owner-master) main.layout>aside.panel::-webkit-scrollbar:horizontal{
  height:0!important;
}

/* Responsive still reverts to the existing mobile top navigation. */
@media(max-width:1000px){
  .theme-v273:not(.owner-master) main.layout{
    grid-template-columns:1fr!important;
  }
  .theme-v273:not(.owner-master) .content>.tabs{
    width:auto!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
}


/* =========================================================
   V28.258 CLIENT VISUAL CLEANUP ONLY
   - Clean hero image (no baked public nav/login)
   - Sidebar modules continue vertically under each other
   - No horizontal scrollbar / white gutter
   - No module or function changes
   ========================================================= */

/* Sidebar becomes one clean vertical module rail. */
.theme-v273:not(.owner-master) main.layout{
  grid-template-columns:280px minmax(0,1fr)!important;
}

.theme-v273:not(.owner-master) main.layout>aside.panel{
  width:280px!important;
  max-width:280px!important;
  padding:0 12px 26px!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  position:relative!important;
  top:auto!important;
  height:auto!important;
  min-height:calc(100vh - 78px)!important;
  background:linear-gradient(180deg,#08150d,#10291a)!important;
}

/* Existing tabs stay the actual buttons; only their visual position changes. */
.theme-v273:not(.owner-master) .content>.tabs{
  position:absolute!important;
  left:0!important;
  top:78px!important;
  width:280px!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  padding:18px 12px 20px!important;
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  gap:2px!important;
  background:linear-gradient(180deg,#08150d,#10291a)!important;
  border:0!important;
  box-sizing:border-box!important;
  scrollbar-width:none!important;
}
.theme-v273:not(.owner-master) .content>.tabs::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}

/* Every module is full-width and sits directly below the previous one. */
.theme-v273:not(.owner-master) .content>.tabs .tab{
  display:flex!important;
  position:relative!important;
  float:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:8px 10px!important;
  line-height:1.22!important;
}

/* Remove the narrow white/gutter strip at the right edge of the sidebar. */
.theme-v273:not(.owner-master) .content>.tabs,
.theme-v273:not(.owner-master) main.layout>aside.panel{
  border-right:0!important;
  box-shadow:none!important;
}
.theme-v273:not(.owner-master) main.layout>section.content{
  margin-left:0!important;
  border-left:0!important;
}

/* Push the original upload/filter controls BELOW the full module list.
   They remain functional and unchanged. */
.theme-v273:not(.owner-master) main.layout>aside.panel{
  padding-top:1060px!important;
}

/* Ensure no sidebar child can create sideways overflow. */
.theme-v273:not(.owner-master) main.layout>aside.panel,
.theme-v273:not(.owner-master) main.layout>aside.panel *,
.theme-v273:not(.owner-master) .content>.tabs,
.theme-v273:not(.owner-master) .content>.tabs *{
  box-sizing:border-box!important;
}
.theme-v273:not(.owner-master) main.layout>aside.panel *,
.theme-v273:not(.owner-master) .content>.tabs *{
  max-width:100%!important;
}

/* Clean rounded dashboard hero; image now contains only crop/soil. */
.theme-v273:not(.owner-master) #dashboard>.dashboard-hero{
  border-radius:20px!important;
  overflow:hidden!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 36%,rgba(255,255,255,.25) 60%,rgba(255,255,255,.02) 79%),
    url("jld-reference-hero-v28-256.jpg") right center/72% 100% no-repeat!important;
}

/* Refine hero title spacing so no letters visually collide. */
.theme-v273:not(.owner-master) #dashboard>.dashboard-hero h2{
  line-height:.96!important;
  letter-spacing:-.035em!important;
  max-width:650px!important;
}

/* Keep feature row cleanly attached beneath hero. */
.theme-v273 .jld-client-featurebar{
  margin:-18px 18px 18px!important;
  border-radius:18px!important;
  overflow:hidden!important;
}

/* Mobile/tablet falls back to existing horizontal compact nav. */
@media(max-width:1000px){
  .theme-v273:not(.owner-master) main.layout{
    grid-template-columns:1fr!important;
  }
  .theme-v273:not(.owner-master) main.layout>aside.panel{
    display:none!important;
    padding-top:0!important;
  }
  .theme-v273:not(.owner-master) .content>.tabs{
    position:sticky!important;
    left:auto!important;
    top:78px!important;
    width:auto!important;
    height:auto!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    flex-direction:row!important;
    padding:8px!important;
  }
  .theme-v273:not(.owner-master) .content>.tabs .tab{
    width:auto!important;
    white-space:nowrap!important;
  }
}


/* =========================================================
   V28.259 MASTER OWNER CLEANUP ONLY
   Removes only the visual blocks marked by the user.
   No owner/client/module/function logic changed.
   ========================================================= */

/* Remove the large decorative Master Owner hero/navigation block. */
.theme-v273.owner-master .owner-master-site{
  display:none!important;
}

/* Remove the Executive Dashboard heading/action strip. */
.theme-v273.owner-master .owner-exec-topbar{
  display:none!important;
}

/* Close the visual gap left by those two removed blocks. */
.theme-v273.owner-master #ownerConsoleContent{
  margin:18px auto 0!important;
}

/* Hide the Package selector only.
   The existing select remains in the DOM with its original/default value,
   so client creation logic is not changed. */
.theme-v273.owner-master .field:has(#ownerNewPlan){
  display:none!important;
}

/* Keep the remaining client creation form balanced after Package is hidden. */
.theme-v273.owner-master #ownerCreateClientPanel .formgrid{
  align-items:start!important;
}


/* =========================================================
   V28.260 PROGRAMME UPLOAD POSITION ONLY
   Existing Excel programme upload controls moved from sidebar
   to top of Programme / Toedienings. No function/ID changes.
   ========================================================= */
.theme-v273 .program-upload-toolbar{
  display:grid!important;
  grid-template-columns:auto minmax(280px,430px) 1fr auto!important;
  gap:12px!important;
  align-items:center!important;
  margin:12px 0 18px!important;
  padding:14px 16px!important;
  background:#fff!important;
  border:1px solid #dce6dc!important;
  border-radius:16px!important;
  box-shadow:0 7px 20px rgba(25,48,30,.06)!important;
}
.theme-v273 .program-upload-toolbar>h2{
  margin:0!important;
  font-size:17px!important;
  color:#174f28!important;
  white-space:nowrap!important;
}
.theme-v273 .program-upload-toolbar>.filebox{
  margin:0!important;
  min-height:58px!important;
  padding:9px 14px!important;
  border-radius:12px!important;
}
.theme-v273 .program-upload-toolbar>.hint{
  margin:0!important;
  line-height:1.35!important;
}
.theme-v273 .program-upload-toolbar>.template-download{
  margin:0!important;
  white-space:nowrap!important;
}
.theme-v273 .program-upload-toolbar>.hint:last-child{
  grid-column:2 / -1!important;
  font-size:12px!important;
}
@media(max-width:1200px){
  .theme-v273 .program-upload-toolbar{
    grid-template-columns:1fr 1fr!important;
  }
  .theme-v273 .program-upload-toolbar>.hint:last-child{
    grid-column:1 / -1!important;
  }
}


/* V28.261 — existing Boer/Plaas/Land import moved into Boere module only */
.theme-v273 .farmer-import-toolbar{
 display:grid!important;grid-template-columns:auto minmax(300px,470px) 1fr auto!important;
 gap:12px!important;align-items:center!important;margin:10px 0 18px!important;padding:14px 16px!important;
 background:#fff!important;border:1px solid #dce6dc!important;border-radius:16px!important;
 box-shadow:0 7px 20px rgba(25,48,30,.06)!important;
}
.theme-v273 .farmer-import-toolbar>h2{margin:0!important;font-size:17px!important;color:#174f28!important;white-space:nowrap!important}
.theme-v273 .farmer-import-toolbar>.filebox{margin:0!important;min-height:58px!important;padding:9px 14px!important;border-radius:12px!important}
.theme-v273 .farmer-import-toolbar>.hint{margin:0!important;line-height:1.35!important}
.theme-v273 .farmer-import-toolbar>.template-download{margin:0!important;white-space:nowrap!important}
@media(max-width:1200px){.theme-v273 .farmer-import-toolbar{grid-template-columns:1fr 1fr!important}.theme-v273 .farmer-import-toolbar>.hint{grid-column:1/-1!important}}

/* V28.262 Insek & Swam import moved from sidebar into module header only */
.theme-v273 #spray .splithead{align-items:flex-start!important;}
.theme-v273 #spray .buttonrow{align-items:flex-start!important;}
.theme-v273 #spray .spray-import-combined{display:flex;gap:12px;align-items:flex-start;max-width:620px;}
.theme-v273 #spray .spray-import-description{display:flex;flex-direction:column;gap:4px;max-width:360px;font-size:13px;line-height:1.3;}
.theme-v273 #spray .spray-import-description strong{color:#174f28;font-size:14px;}
.theme-v273 #spray .spray-import-description .template-download{padding:0!important;border:0!important;background:transparent!important;text-decoration:underline!important;box-shadow:none!important;justify-content:flex-start!important;}
.theme-v273 #spray .spray-import-description .hint{margin:0!important;font-size:12px!important;}
@media(max-width:1100px){.theme-v273 #spray .splithead,.theme-v273 #spray .buttonrow,.theme-v273 #spray .spray-import-combined{flex-direction:column!important;}.theme-v273 #spray .spray-import-description{max-width:none!important;}}


/* V28-263 client dashboard visual-only adjustment: show more of hero image; shortcut strip removed from dashboard markup. */
.theme-v273:not(.owner-master) #dashboard>.dashboard-hero{
  min-height:440px!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 36%,rgba(255,255,255,.22) 58%,rgba(255,255,255,.01) 78%),
    url("jld-reference-hero-v28-256.jpg") right center/contain no-repeat!important;
  background-color:#fff!important;
}

/* =========================================================
   V28.264 CLIENT DASHBOARD GREEN VISUAL REFRESH ONLY
   Visual CSS only. No module, ID, event, data or function changes.
   ========================================================= */
.theme-v273:not(.owner-master) #dashboard .dashboard-grid{
  background:linear-gradient(180deg,#dcebd9 0%,#edf5ea 100%)!important;
  border:1px solid #c8ddc4!important;
  padding:18px 22px 32px!important;
}
.theme-v273:not(.owner-master) #dashboard .dash-panel{
  background:linear-gradient(145deg,#d2e6cd 0%,#eef6eb 100%)!important;
  border:1px solid #bed6b9!important;
  color:#183d22!important;
  box-shadow:0 8px 22px rgba(28,82,42,.08)!important;
}
.theme-v273:not(.owner-master) #dashboard .dash-panel h2,
.theme-v273:not(.owner-master) #dashboard .dash-panel h3,
.theme-v273:not(.owner-master) #dashboard .dash-panel h4{
  color:#174f28!important;
}
.theme-v273:not(.owner-master) #dashboard .dash-panel p,
.theme-v273:not(.owner-master) #dashboard .dash-panel .hint,
.theme-v273:not(.owner-master) #dashboard .dash-panel label{
  color:#314d36!important;
}
.theme-v273:not(.owner-master) #dashboard .dash-panel .activity-summary,
.theme-v273:not(.owner-master) #dashboard .dash-panel .activity-summary *,
.theme-v273:not(.owner-master) #dashboard #recentActivitySummary,
.theme-v273:not(.owner-master) #dashboard #recentActivitySummary *{
  color:#274631!important;
}
.theme-v273:not(.owner-master) #dashboard #recentActivitySummary strong,
.theme-v273:not(.owner-master) #dashboard #recentActivitySummary b,
.theme-v273:not(.owner-master) #dashboard #recentActivitySummary a{
  color:#17612b!important;
}
.theme-v273:not(.owner-master) #dashboard .dash-panel .mutedbox{
  background:rgba(255,255,255,.68)!important;
  color:#294a31!important;
  border:1px solid #c7dbc3!important;
}
.theme-v273:not(.owner-master) #dashboard .dash-panel .status-summary>*,
.theme-v273:not(.owner-master) #dashboard #applicationStatusSummary>*{
  background:#f8fbf6!important;
  color:#28452f!important;
  border:1px solid #c8dac5!important;
}
.theme-v273:not(.owner-master) #dashboard .dash-panel .segmented button{
  background:#eef6eb!important;
  color:#22622e!important;
  border:1px solid #9fc49b!important;
}
.theme-v273:not(.owner-master) #dashboard .dash-panel .segmented button.active{
  background:#2f7d3d!important;
  color:#fff!important;
  border-color:#2f7d3d!important;
}
.theme-v273:not(.owner-master) #dashboard .dash-panel .ghost{
  background:#fff!important;
  color:#216331!important;
  border-color:#9fc49b!important;
}
.theme-v273:not(.owner-master) #dashboard .dash-panel table{
  background:#fff!important;
  color:#1f3826!important;
}
.theme-v273:not(.owner-master) #dashboard .dash-panel table th{
  background:#236934!important;
  color:#fff!important;
}
.theme-v273:not(.owner-master) #dashboard .dash-panel table td{
  color:#243b29!important;
  border-color:#d7e3d5!important;
}

/* V28.265 — client dashboard only: remove the shortcut/feature strip beneath the hero. Visual-only change; no module/function logic altered. */
.theme-v273:not(.owner-master) #dashboard .jld-client-featurebar,
.theme-v273:not(.owner-master) .jld-client-featurebar{
  display:none!important;
}

/* V28.266 — remove the dashboard shortcut strip for every client-dashboard view, including when Super Admin/Owner is viewing a client. Visual-only. */
.theme-v273 #dashboard .jld-client-featurebar,
.theme-v273 #dashboard > .jld-client-featurebar,
.theme-v273 .content #dashboard .jld-client-featurebar{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* V28.267 — CLIENT DASHBOARD HERO ONLY.
   Removes the white shortcut strip that was baked into the previous dashboard hero image.
   No module/function/ID/event/data logic changed. Public website image remains unchanged. */
.theme-v273 #dashboard > .dashboard-hero,
.theme-v273:not(.owner-master) #dashboard > .dashboard-hero{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 36%,rgba(255,255,255,.22) 58%,rgba(255,255,255,.01) 78%),
    url("jld-dashboard-hero-clean-v28-267.jpg")!important;
  background-position:right center!important;
  background-size:72% 100%!important;
  background-repeat:no-repeat!important;
  background-color:#fff!important;
}
