/* Scoped Perfected Particles native admin takeover. No storefront CSS is changed. */
:root[data-pp-admin] { --pp-bg:#09130c;--pp-surface:#142118;--pp-green:#36b65b;--pp-gold:#ffffff; color-scheme:light; }





:root[data-pp-admin] img.pp-brand-image{object-fit:contain!important;max-height:58px!important;max-width:190px!important}
:root[data-pp-admin] .pp-admin-dashboard-host > :not(.pp-home-dashboard) {display:none!important}
.pp-home-dashboard{width:100%;min-height:70vh;}
.pp-plugin-root{width:100%;min-height:calc(100vh - 80px)}
.pp-plugin-shell,.pp-centre {color-scheme:dark;--pp-bg:#09130c;--pp-surface:#142118;--pp-green:#56b85b;--pp-gold:#ffffff;color:#edf6ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Arial,sans-serif;box-sizing:border-box;}
.pp-plugin-shell *,.pp-centre *{box-sizing:border-box}
.pp-plugin-shell{background:var(--pp-bg);border:1px solid #27412d;border-radius:20px;overflow:hidden;min-height:680px;}
.pp-plugin-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:linear-gradient(125deg,#102818,#07110b);padding:20px 25px;border-bottom:1px solid #305338}
.pp-plugin-nav b{font-weight:900;font-size:15px;letter-spacing:.13em;color:var(--pp-gold)}
.pp-plugin-nav span{color:#9aada0;font-size:12px;margin-right:auto}
.pp-plugin-nav>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pp-plugin-nav button{border:1px solid transparent;background:transparent;border-radius:8px;color:#c0cfc1;padding:10px 13px;cursor:pointer;font-size:13px;font-weight:650}
.pp-plugin-nav button.active,.pp-plugin-nav button:hover{color:#fff;border-color:#396643;background:#1e3c25}
.pp-centre{padding:24px;max-width:1600px;margin:auto;}
.pp-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 32px;background:linear-gradient(117deg,#163a20 0%,var(--pp-surface) 58%,#0c1a11 100%);border:1px solid #2b5434;border-radius:17px;box-shadow:0 8px 35px rgba(0,0,0,.15)}
.pp-eyebrow,.pp-kicker{color:#9ac8a2;letter-spacing:.12em;font-weight:750;text-transform:uppercase;font-size:10px;}
.pp-hero .pp-eyebrow{color:var(--pp-gold)}
.pp-hero h1{font-size:clamp(25px,3vw,40px);color:#fff;letter-spacing:-.035em;margin:8px 0 2px;font-weight:850;line-height:1.14}
.pp-hero p{color:#c9dfcb;margin:5px 0 0;font-size:14px}
.pp-hero-icon{flex:0 0 auto;display:grid;place-items:center;min-width:80px;height:80px;}
.pp-hero-icon img{max-height:90px;max-width:150px;object-fit:contain}
.pp-hero-icon span{font-weight:1000;font-size:30px;color:var(--pp-gold);border:2px solid var(--pp-gold);border-radius:50%;width:75px;height:75px;display:grid;place-items:center;}
.pp-toolbar{margin:20px 0;display:flex;flex-wrap:wrap;gap:9px;align-items:center;}
.pp-pill{background:#1b3422;border:1px solid #30583b;color:#d8edde;padding:8px 11px;border-radius:20px;font-size:12px;display:flex;gap:7px;align-items:center}
.pp-led{height:7px;width:7px;background:var(--pp-green);border-radius:50%;}
.pp-period{margin-right:auto;color:#91a798;font-size:12px;padding:6px 8px}
.pp-refresh{border:1px solid #335a3c;background:#14271a;color:#ddf4e1;border-radius:8px;padding:9px 12px;cursor:pointer;font-weight:650;}
.pp-refresh:hover{background:#214b2d}
.pp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.pp-card{background:linear-gradient(165deg,var(--pp-surface),#101b13);border:1px solid #274b30;border-radius:15px;padding:20px;min-height:178px;box-shadow:0 6px 18px rgba(0,0,0,.14);overflow:hidden;display:flex;flex-direction:column}
.pp-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.pp-card h3,.pp-trend h3{margin:6px 0 14px;font-size:15px;letter-spacing:-.01em;line-height:1.25;color:#f2fff3;font-weight:750}
.pp-card-symbol{color:var(--pp-green);font-weight:800;font-size:25px;flex:none}
.pp-number{font-size:clamp(24px,2.6vw,38px);font-weight:850;line-height:1.2;letter-spacing:-.04em;color:#fff;margin:auto 0 10px;}
.pp-card small,.pp-footnote{color:#96ab9b;font-size:11px;line-height:1.5}
.pp-empty{margin:auto 0 5px}.pp-warn{background:#3f2d17;color:#ffd28a;font-size:11px;font-weight:800;border-radius:20px;padding:5px 9px;display:inline-block}
.pp-empty p{margin:10px 0 0;color:#aec1b0;font-size:12px;line-height:1.45}
.pp-good{color:#a8f7b1;font-size:12px;line-height:1.5}
.pp-trend{padding:20px;margin-bottom:16px;border-radius:15px;background:var(--pp-surface);border:1px solid #275033;}
.pp-trend-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.pp-trend-head h3{margin-bottom:4px}.pp-trend-head>span{color:#9eb5a1;font-size:12px}
.pp-trend svg{height:160px;width:100%;display:block;overflow:visible}
.pp-bars{display:grid;gap:10px;margin:6px 0 12px}.pp-bar-row{display:grid;grid-template-columns:64px minmax(0,1fr) 70px;align-items:center;gap:8px;font-size:11px}
.pp-bar-row>span{color:#b8c6ba}.pp-bar-row>b{font-size:10px;text-align:right;font-weight:700}.pp-bar-track{background:#26392a;height:9px;border-radius:20px;overflow:hidden}.pp-bar-track i{display:block;background:linear-gradient(90deg,#377841,var(--pp-green));height:100%;border-radius:20px}
.pp-products{list-style:none;padding:0;margin:0}.pp-products li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #2b4230;font-size:11px;color:#cce1ce}.pp-products li b{color:#f0fff1;white-space:nowrap}
.pp-card-edit{margin-top:auto;padding-top:15px;display:flex;justify-content:flex-end;gap:6px}.pp-card-edit button{background:#203c27;border:1px solid #3b6144;color:#edf6ee;border-radius:6px;font-size:11px;padding:5px 8px;cursor:pointer}
.pp-footnote{margin:19px 0 0}
.pp-form-page{padding:28px;max-width:1000px;color:#eff8f1}.pp-form-page h2{margin:12px 0 6px;font-size:29px;color:#fff}.pp-form-page h3{font-size:19px;margin:27px 0 7px}.pp-form-page p{color:#bbd1c0;font-size:14px;line-height:1.65;max-width:850px}
.pp-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}
.pp-setting-grid label{display:flex;flex-direction:column;gap:9px;color:#d4e6d7;font-size:13px;font-weight:700}
.pp-setting-grid input{background:#0c180f;color:#fff;border:1px solid #33543a;border-radius:10px;font:inherit;padding:11px 13px;min-height:45px;width:100%;}
.pp-setting-grid input[type=color]{padding:5px;width:125px;cursor:pointer}
.pp-form-actions{display:flex;gap:12px;flex-wrap:wrap}
.pp-form-actions button,.pp-form-page>button,.pp-hidden button{border:1px solid #3b6744;background:#213628;border-radius:10px;padding:11px 17px;color:#e8f9e9;cursor:pointer;font-weight:700}
.pp-form-actions button.primary,.pp-form-page>button{background:var(--pp-green);color:#071308;border-color:transparent}
.pp-form-page input[type=file]{color:#cfe8d2;display:block;margin:14px 0 20px;font-size:13px;max-width:100%;}
.pp-hidden{display:flex;gap:8px;flex-wrap:wrap;color:#a8bea9;font-size:13px}.pp-hidden button{padding:8px 10px}
.pp-logo-preview{display:block;max-width:180px;max-height:115px;object-fit:contain;margin:12px 0}
.pp-favicon-preview{border:1px solid #426346;background:#f6f8f6;color:#202d21;border-radius:16px;padding:18px;display:flex;align-items:center;gap:12px;margin:21px 0;max-width:510px}
.pp-favicon-preview img{width:54px;height:54px;object-fit:contain;border-radius:50%;border:1px solid #d9dfd9;padding:4px}.pp-favicon-preview strong,.pp-favicon-preview span{display:block}.pp-favicon-preview span{font-size:12px;color:#536257;margin-top:3px}
.pp-upload-label{display:block;font-weight:800;margin:15px 0}.pp-instructions{margin-top:22px;border-left:3px solid var(--pp-gold);background:#1d2c20;border-radius:6px;padding:13px;font-size:13px!important}
.pp-connection{padding:13px 0;border-bottom:1px solid #36513a;display:grid;grid-template-columns:1fr auto;gap:4px 15px}.pp-connection>b{font-size:14px;text-transform:capitalize}.pp-connection>small{grid-column:1/-1;color:#b6ceb9}.pp-online{color:#97eaa4;font-weight:800}.pp-offline{color:#ffd08d;font-weight:800}
#pp-toast:not(:empty){padding:12px 22px;margin:10px 24px 18px;border-radius:9px;font-size:13px}#pp-toast.good{border:1px solid #4d895c;background:#16321c;color:#a6f0b1}#pp-toast.bad{border:1px solid #a56848;background:#362015;color:#ffd5b4}
@media(max-width:1140px){.pp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.pp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-plugin-nav{padding:17px}.pp-centre{padding:15px}.pp-hero{padding:22px}.pp-hero-icon{min-width:60px;height:60px}}
@media(max-width:530px){.pp-grid{grid-template-columns:1fr}.pp-hero{padding:17px}.pp-hero h1{font-size:27px}.pp-hero-icon span{width:52px;height:52px;font-size:20px}.pp-setting-grid{grid-template-columns:1fr}.pp-form-page{padding:18px}.pp-plugin-nav>div{width:100%}.pp-plugin-nav button{font-size:12px;padding:8px}.pp-bar-row{grid-template-columns:55px 1fr 66px}.pp-trend-head{display:block}.pp-trend-head>span{font-size:10px}}



/* v1.6.0: All customer-selected palette colours are CSS variables set at
   runtime. Scope to admin routes only; never recolour the storefront. */
:root[data-pp-admin] {
 --pp-sidebar-bg:#080b09; --pp-sidebar-ink:#ffffff;
 --pp-page-bg:#ffffff; --pp-page-ink:#17251c;
 --pp-topbar-bg:#ffffff; --pp-topbar-ink:#17251c;
 --pp-accent-ink:#080b09; --pp-soft-accent:#eaf8ed;
 --pp-sidebar-hover:#112619; --pp-sidebar-current:#13391d;
 --pp-page-border:#c9d8cc; --pp-dashboard-ink:#ffffff;
 --pp-panel-ink:#ffffff; --pp-dashboard-muted:#c7d9cb;
 --pp-panel-muted:#c4d8c7;
}
:root[data-pp-admin] body {background:var(--pp-page-bg)!important;color:var(--pp-page-ink)}
:root[data-pp-admin] .pp-plugin-shell,
:root[data-pp-admin] .pp-centre,
:root[data-pp-admin] .pp-home-dashboard {color-scheme:normal}
/* The left sidebar gets NO green fills. Only its icons, focused state and
   small active indicator use the selected green. */
:root[data-pp-admin] [data-pp-sidebar="1"]{
 background:var(--pp-sidebar-bg)!important;background-image:none!important;
 color:var(--pp-sidebar-ink)!important;border-color:var(--pp-sidebar-hover)!important;
}
:root[data-pp-admin] [data-pp-sidebar="1"] :is(aside,header,footer,div,section,nav,ul,li){
 background-color:transparent!important;background-image:none!important;
 border-color:var(--pp-sidebar-hover)!important;
}
:root[data-pp-admin] [data-pp-sidebar="1"] :is(a,button,[role="menuitem"]){
 background:transparent!important;color:var(--pp-sidebar-ink)!important;
 font-weight:700!important;opacity:1!important;text-shadow:none!important;
}
:root[data-pp-admin] [data-pp-sidebar="1"] :is(p,span,small,li,label,strong,b,h1,h2,h3){
 color:var(--pp-sidebar-ink)!important;font-weight:700!important;opacity:1!important;text-shadow:none!important;
}
:root[data-pp-admin] [data-pp-sidebar="1"] :is(a,button,[role="menuitem"]):hover,
:root[data-pp-admin] [data-pp-sidebar="1"] :is(a,button,[role="menuitem"]):focus-visible{
 background:var(--pp-sidebar-hover)!important;color:var(--pp-sidebar-ink)!important;
}
:root[data-pp-admin] [data-pp-sidebar="1"] :is(a,button,[role="menuitem"]).pp-nav-current,
:root[data-pp-admin] [data-pp-sidebar="1"] :is(a,button,[role="menuitem"])[aria-current="page"]{
 background:var(--pp-sidebar-current)!important;border-inline-start:3px solid var(--pp-green)!important;
 color:var(--pp-sidebar-ink)!important;font-weight:800!important;
}
:root[data-pp-admin] [data-pp-sidebar="1"] :is(svg,.lucide,[class*="menu-icon" i],[class*="nav-icon" i]){
 color:var(--pp-green)!important;stroke:var(--pp-green)!important;opacity:1!important;flex-shrink:0;
}
:root[data-pp-admin] [data-pp-sidebar="1"] svg :is(path,line,polyline,polygon,rect,circle,ellipse){stroke:var(--pp-green)!important}
:root[data-pp-admin] [data-pp-sidebar="1"] .pp-brand-image{max-width:180px!important;max-height:73px!important;object-fit:contain!important}
/* Real CMS top toolbar detected by its existing Save / View Site controls. */
:root[data-pp-admin] [data-pp-topbar="1"]{
 background:var(--pp-topbar-bg)!important;background-image:none!important;
 color:var(--pp-topbar-ink)!important;border-color:var(--pp-page-border)!important;
}
:root[data-pp-admin] [data-pp-topbar="1"] :is(a,button,label,span,strong,small){color:var(--pp-topbar-ink)!important;font-weight:700!important;opacity:1!important}
:root[data-pp-admin] [data-pp-topbar="1"] :is(input,select){background:var(--pp-topbar-bg)!important;color:var(--pp-topbar-ink)!important;border-color:var(--pp-page-border)!important}
:root[data-pp-admin] [data-pp-topbar="1"] :is(svg,.lucide){color:var(--pp-green)!important;stroke:var(--pp-green)!important}
:root[data-pp-admin] [data-pp-topbar="1"] :is(button,a):hover{background:var(--pp-soft-accent)!important}
/* Native pages use the selected surface/ink. This does not force text white
   on a white background, and it does not invade the Control Centre's own cards. */
:root[data-pp-admin] [data-pp-content="1"]{
 background:var(--pp-page-bg)!important;color:var(--pp-page-ink);
}
:root[data-pp-admin] [data-pp-content="1"] :is(h1,h2,h3,h4,h5,p,label,strong,small):not(.pp-plugin-shell *):not(.pp-centre *){
 color:var(--pp-page-ink);opacity:1;
}
:root[data-pp-admin] [data-pp-content="1"] :is(.card,.bg-white,.bg-gray-50,.bg-slate-50):not(.pp-plugin-shell *):not(.pp-centre *){
 background:var(--pp-page-bg)!important;color:var(--pp-page-ink)!important;border-color:var(--pp-page-border)!important;
}
:root[data-pp-admin] [data-pp-content="1"] :is(input,textarea,select):not(.pp-plugin-shell *):not(.pp-centre *){
 background:var(--pp-page-bg);color:var(--pp-page-ink)!important;border-color:var(--pp-page-border);
}
:root[data-pp-admin] [data-pp-content="1"] :is(input,textarea,select):focus-visible:not(.pp-plugin-shell *):not(.pp-centre *){
 outline:2px solid var(--pp-green)!important;outline-offset:2px;
}
:root[data-pp-admin] [data-pp-content="1"] :is(button[type="submit"],.btn-primary,[class*="button-primary" i]):not(.pp-plugin-shell *):not(.pp-centre *):not([class*="danger" i]){
 background:var(--pp-green)!important;color:var(--pp-accent-ink)!important;font-weight:750!important;
}
:root[data-pp-admin] [data-pp-content="1"] :is(a,button):focus-visible:not(.pp-plugin-shell *){outline:2px solid var(--pp-green)!important;outline-offset:2px}
/* Ensure the old image is hidden; only the new branded banner is visible. */
:root[data-pp-admin] [data-pp-banner="yes"]{
 position:relative!important;display:block!important;isolation:isolate!important;
 min-height:115px!important;background:var(--pp-bg)!important;background-image:none!important;
 overflow:hidden!important;border:1px solid var(--pp-green)!important;
 border-left:5px solid var(--pp-green)!important;box-shadow:none!important;
}
:root[data-pp-admin] [data-pp-banner="yes"] > :not(.pp-banner-overlay){visibility:hidden!important;opacity:0!important;pointer-events:none!important}
:root[data-pp-admin] [data-pp-banner="yes"] > .pp-banner-overlay{
 position:absolute!important;inset:0!important;z-index:20!important;
 display:flex!important;flex-direction:column!important;justify-content:center!important;gap:5px!important;
 padding:20px 24px!important;background:var(--pp-bg)!important;
 color:var(--pp-dashboard-ink)!important;font-family:Inter,system-ui,Arial,sans-serif!important;
 visibility:visible!important;opacity:1!important;
}
:root[data-pp-admin] .pp-banner-overlay .pp-banner-title{font-size:clamp(21px,2.5vw,34px)!important;line-height:1.12!important;font-weight:900!important;color:var(--pp-dashboard-ink)!important}
:root[data-pp-admin] .pp-banner-overlay .pp-banner-subtitle{font-size:clamp(12px,1.2vw,15px)!important;line-height:1.4!important;font-weight:700!important;color:var(--pp-dashboard-muted)!important}
/* Control Centre surfaces and metric cards respond to the SAME selected
   palette and calculate legible lettering for dark or light custom colours. */
:root[data-pp-admin] .pp-centre,
:root[data-pp-admin] .pp-plugin-shell{background:var(--pp-bg);color:var(--pp-dashboard-ink)!important}
:root[data-pp-admin] :is(.pp-centre,.pp-plugin-shell) :is(h1,h2,h3,h4, .pp-form-page p, .pp-setting-grid label, .pp-plugin-nav b){color:var(--pp-dashboard-ink)!important;opacity:1!important}
:root[data-pp-admin] :is(.pp-centre,.pp-plugin-shell) :is(.pp-card,.pp-trend){background:var(--pp-surface)!important;color:var(--pp-panel-ink)!important;border-color:var(--pp-sidebar-hover)!important}
:root[data-pp-admin] :is(.pp-centre,.pp-plugin-shell) :is(.pp-card h3,.pp-card .pp-number,.pp-trend h3,.pp-products li b){color:var(--pp-panel-ink)!important}
:root[data-pp-admin] :is(.pp-centre,.pp-plugin-shell) :is(.pp-card small,.pp-empty p,.pp-trend-head>span,.pp-products li){color:var(--pp-panel-muted)!important}
:root[data-pp-admin] :is(.pp-centre,.pp-plugin-shell) :is(.pp-eyebrow,.pp-kicker,.pp-card-symbol){color:var(--pp-green)!important}
:root[data-pp-admin] .pp-plugin-nav{background:var(--pp-bg)!important;border-bottom-color:var(--pp-green)!important}
:root[data-pp-admin] .pp-plugin-nav :is(b,span,button){color:var(--pp-dashboard-ink)!important}
:root[data-pp-admin] .pp-hero{background:var(--pp-surface)!important;border-color:var(--pp-green)!important}
:root[data-pp-admin] .pp-hero :is(h1,p){color:var(--pp-panel-ink)!important}
:root[data-pp-admin] .pp-form-page :is(input:not([type="color"]),textarea,select){color:var(--pp-dashboard-ink)!important;background:var(--pp-bg)!important}
:root[data-pp-admin] .pp-form-page .primary,
:root[data-pp-admin] .pp-form-page>button{background:var(--pp-green)!important;color:var(--pp-accent-ink)!important}
:root[data-pp-admin] .pp-instructions{border-left-color:var(--pp-green)!important;color:var(--pp-dashboard-ink)!important}
/* The preview uses the exact current draft palette before Save is pressed. */
.pp-live-palette-preview{display:flex;margin:20px 0 10px;border:1px solid var(--pp-green);border-radius:12px;overflow:hidden;min-height:144px}
.pp-palette-side{width:35%;min-width:120px;background:var(--pp-sidebar-bg);color:var(--pp-sidebar-ink);font-weight:800;font-size:12px;line-height:2.8;padding:14px}
.pp-palette-page{flex:1;min-width:0;background:var(--pp-page-bg);color:var(--pp-page-ink);padding:0 12px 12px;font-weight:800}
.pp-palette-bar{margin:0 -12px 12px;padding:12px;background:var(--pp-topbar-bg);color:var(--pp-topbar-ink);font-size:12px}
.pp-palette-card{border:1px solid var(--pp-page-border);border-radius:8px;padding:13px;font-size:13px}
.pp-palette-card button{display:block;background:var(--pp-green);color:var(--pp-accent-ink);font-weight:800;padding:6px 9px;margin-top:10px;border:0;border-radius:6px}
@media(max-width:600px){:root[data-pp-admin] [data-pp-banner="yes"]{min-height:110px!important}:root[data-pp-admin] .pp-banner-overlay{padding:16px 18px!important}}
:root[data-pp-admin] .pp-admin-dashboard-host > :not(.pp-home-dashboard){display:none!important}
:root[data-pp-admin] .pp-admin-dashboard-host > .pp-home-dashboard{display:block!important;width:100%;min-width:0}
/* The rest of the Control Centre follows the same user-selected colours. */
:root[data-pp-admin] .pp-plugin-nav button.active,
:root[data-pp-admin] .pp-plugin-nav button:hover{background:var(--pp-sidebar-hover)!important;border-color:var(--pp-green)!important;color:var(--pp-dashboard-ink)!important}
:root[data-pp-admin] :is(.pp-centre,.pp-plugin-shell) :is(.pp-refresh,.pp-card-edit button,.pp-form-actions button:not(.primary),.pp-hidden button){background:var(--pp-surface)!important;color:var(--pp-panel-ink)!important;border-color:var(--pp-green)!important}
:root[data-pp-admin] .pp-pill{background:var(--pp-surface)!important;color:var(--pp-panel-ink)!important;border-color:var(--pp-green)!important}
:root[data-pp-admin] :is(.pp-centre,.pp-plugin-shell) :is(.pp-connection,.pp-products li){border-color:var(--pp-green)!important}
:root[data-pp-admin] .pp-connection small{color:var(--pp-dashboard-muted)!important}
:root[data-pp-admin] .pp-bar-track{background:var(--pp-sidebar-hover)!important}
:root[data-pp-admin] .pp-bar-track i{background:var(--pp-green)!important}
:root[data-pp-admin] [data-pp-content="1"] :is(.text-gray-400,.text-gray-500,.text-gray-600,.text-slate-400,.text-slate-500):not(.pp-plugin-shell *):not(.pp-centre *){color:var(--pp-page-ink)!important;opacity:.82!important}
:root[data-pp-admin] [data-pp-content="1"] :is(button[type="button"].bg-green-600,button.bg-green-500,button.bg-green-600,a.bg-green-600):not(.pp-plugin-shell *):not(.pp-centre *){background:var(--pp-green)!important;color:var(--pp-accent-ink)!important}

/* v1.6.1: Dashboard background is independently selected in Appearance & layout.
   Other CMS pages intentionally retain the separately chosen Main page background.
   This fixes the inherited white React/CMS wrapper around the main dashboard. */
:root[data-pp-admin][data-pp-dashboard-page="1"] body {
 background:var(--pp-bg)!important;
}
:root[data-pp-admin][data-pp-dashboard-page="1"] [data-pp-content="1"],
:root[data-pp-admin][data-pp-dashboard-page="1"] .pp-admin-dashboard-host,
:root[data-pp-admin][data-pp-dashboard-page="1"] .pp-home-dashboard {
 background:var(--pp-bg)!important;
 color:var(--pp-dashboard-ink)!important;
}
:root[data-pp-admin][data-pp-dashboard-page="1"] .pp-home-dashboard {
 min-height:calc(100vh - 210px);
 padding:clamp(8px,1.5vw,22px);
 box-sizing:border-box;
}
:root[data-pp-admin][data-pp-dashboard-page="1"] .pp-home-dashboard > .pp-centre{
 background:var(--pp-bg)!important;
 color:var(--pp-dashboard-ink)!important;
}
/* Surface from the dashboard picker, with automatic text contrast. */
.pp-palette-dashboard{margin:12px 0 0;padding:13px;background:var(--pp-bg);color:var(--pp-dashboard-ink);font-size:12px;font-weight:800;border:1px solid var(--pp-green);border-radius:9px}
.pp-palette-dashboard .pp-palette-dashboard-card{margin-top:9px;padding:12px;background:var(--pp-surface);color:var(--pp-panel-ink);border-radius:7px}

/* v1.7.0 UNIFIED ADMIN THEME -------------------------------------------------
   The CMS dashboard, every native admin page, and plugin admin screens share
   the same user-selected dashboard, card and sidebar colours.  All rules are
   behind data-pp-admin which is only set on an /admin route.  In particular
   these selectors never target /, /shop, /products or /checkout. */
:root[data-pp-admin] {color-scheme:dark}
:root[data-pp-admin] body,
:root[data-pp-admin] #root,
:root[data-pp-admin] #app {background-color:var(--pp-page-bg)!important;color:var(--pp-page-ink)!important}
:root[data-pp-admin] [data-pp-content="1"],
:root[data-pp-admin] [data-pp-content="1"] > div,
:root[data-pp-admin] [data-pp-content="1"] > section {
  background-color:var(--pp-page-bg)!important;color:var(--pp-page-ink)!important;
}
/* Surface styling follows the Dashboard CARD colour, not the legacy light UI.
   The marker is applied only to actual cards/panels, not random wrapper divs. */
:root[data-pp-admin] [data-pp-content="1"] :is(
 .card,.plugin-card,.admin-card,.stat-card,.settings-card,.dashboard-card,
 .bg-white,.bg-gray-50,.bg-gray-100,.bg-slate-50,.bg-slate-100,
 .bg-neutral-50,.bg-neutral-100,.bg-green-50,
 [data-pp-panel="1"]
):not(.pp-plugin-shell *):not(.pp-centre *):not([data-pp-banner] *) {
 background-color:var(--pp-surface)!important;background-image:none!important;
 color:var(--pp-panel-ink)!important;border-color:var(--pp-page-border)!important;
 box-shadow:0 3px 16px rgba(0,0,0,.12);
}
:root[data-pp-admin] [data-pp-content="1"] :is(.card,.plugin-card,.admin-card,.bg-white,[data-pp-panel="1"]) :is(
 h1,h2,h3,h4,h5,h6,p,span,small,strong,label,li,td,th,dt,dd
):not([class*="badge"]):not([class*="text-red"]):not([class*="text-amber"]):not([class*="text-orange"]):not([class*="text-yellow"]):not(button *):not(a *) {
 color:var(--pp-panel-ink)!important;opacity:1!important;
}
:root[data-pp-admin] [data-pp-content="1"] :is(h1,h2,h3,h4,h5,h6,p,small,span,strong,label,legend,summary,td,th,li,dt,dd):not(.pp-plugin-shell *):not(.pp-centre *):not([class*="badge"]):not([class*="text-red"]):not([class*="text-amber"]):not([class*="text-orange"]):not([class*="text-yellow"]):not(button *):not(a *) {
 color:var(--pp-page-ink)!important;opacity:1!important;
}
/* Keep intentional status/warning colours (uninstall, failures, alerts). */
:root[data-pp-admin] [data-pp-content="1"] :is(a,[role="link"]):not(.pp-plugin-shell *):not(.pp-centre *) {color:var(--pp-green)!important;font-weight:700}
:root[data-pp-admin] [data-pp-content="1"] :is(.text-gray-400,.text-gray-500,.text-gray-600,.text-gray-700,
 .text-slate-400,.text-slate-500,.text-slate-600,.text-slate-700,.text-muted,.text-secondary):not(.pp-plugin-shell *):not(.pp-centre *) {
 color:var(--pp-panel-muted)!important;opacity:1!important;
}
/* Native orders, products, plugins, forms and tables. */
:root[data-pp-admin] [data-pp-content="1"] :is(table,thead,tbody,tfoot,tr,th,td):not(.pp-plugin-shell *):not(.pp-centre *) {
 background-color:transparent!important;border-color:var(--pp-page-border)!important;
}
:root[data-pp-admin] [data-pp-content="1"] :is(table,fieldset):not(.pp-plugin-shell *):not(.pp-centre *) {
 background-color:var(--pp-surface)!important;border-color:var(--pp-page-border)!important;
}
:root[data-pp-admin] [data-pp-content="1"] :is(input,textarea,select,[role="combobox"],[role="searchbox"]):not(.pp-plugin-shell *):not(.pp-centre *):not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]){
 background-color:var(--pp-field-bg)!important;color:var(--pp-panel-ink)!important;
 border-color:var(--pp-field-border)!important;opacity:1!important;
 caret-color:var(--pp-panel-ink)!important;
}
:root[data-pp-admin] [data-pp-content="1"] :is(input,textarea,select)::placeholder {
 color:var(--pp-panel-muted)!important;opacity:.85!important;
}
:root[data-pp-admin] [data-pp-content="1"] :is(button,[role="button"]):not(.pp-plugin-shell *):not(.pp-centre *):not([class*="danger"]):not([class*="destructive"]):not([class*="bg-red"]):not([class*="bg-green"]):not(.btn-primary):not([type="submit"]) {
 background-color:var(--pp-surface)!important;color:var(--pp-panel-ink)!important;
 border-color:var(--pp-page-border)!important;font-weight:700!important;
}
:root[data-pp-admin] [data-pp-content="1"] :is(button[type="submit"],.btn-primary,[class*="button-primary"],button.bg-green-600,button.bg-green-500):not(.pp-centre *):not(.pp-plugin-shell *){
 background-color:var(--pp-green)!important;color:var(--pp-accent-ink)!important;
 border-color:var(--pp-green)!important;font-weight:800!important;
}
:root[data-pp-admin] [data-pp-content="1"] :is(button,[role="button"]):not(.pp-centre *):not(.pp-plugin-shell *) svg,
:root[data-pp-admin] [data-pp-topbar="1"] :is(button,a) svg {
 color:var(--pp-green);stroke:currentColor;
}
/* Dropdowns/dialogs/portal overlays are often rendered outside <main>. */
:root[data-pp-admin] :is([role="dialog"],[role="menu"],[role="listbox"],[data-radix-popper-content-wrapper] > div):not(.pp-plugin-shell *):not(.pp-centre *) {
 background:var(--pp-surface)!important;color:var(--pp-panel-ink)!important;
 border-color:var(--pp-page-border)!important;
}
:root[data-pp-admin] :is([role="dialog"],[role="menu"],[role="listbox"]) :is(h1,h2,h3,p,span,label,small,strong):not(.pp-centre *):not(.pp-plugin-shell *){
 color:var(--pp-panel-ink)!important;opacity:1!important;
}
/* Avoid forcing admin theme onto authored content in WYSIWYG previews, image
   canvases, PDF viewers, product HTML previews or document iframes. */
:root[data-pp-admin] [data-pp-content="1"] :is([contenteditable="true"],[data-pp-preserve-content="1"],iframe,canvas) {
 color-scheme:normal;
}
/* Shared admin header and body shouldn't retain their former white strips. */
:root[data-pp-admin] [data-pp-topbar="1"] {
 background-color:var(--pp-topbar-bg)!important;color:var(--pp-topbar-ink)!important;
 border-color:var(--pp-page-border)!important;
}
:root[data-pp-admin] [data-pp-topbar="1"] :is(button,a,input,select) {
 background-color:var(--pp-field-bg)!important;color:var(--pp-topbar-ink)!important;
 border-color:var(--pp-page-border)!important;
}
:root[data-pp-admin] [data-pp-topbar="1"] :is(button,a):hover{background-color:var(--pp-sidebar-hover)!important}
:root[data-pp-admin] [data-pp-topbar="1"] :is(button[type="submit"],.btn-primary){background-color:var(--pp-green)!important;color:var(--pp-accent-ink)!important}
/* Matching live preview: this is now ONE admin background, not two. */
:root[data-pp-admin] .pp-palette-page,
:root[data-pp-admin] .pp-palette-dashboard{background:var(--pp-bg)!important;color:var(--pp-dashboard-ink)!important}
:root[data-pp-admin] .pp-palette-bar,
:root[data-pp-admin] .pp-palette-card,
:root[data-pp-admin] .pp-palette-dashboard-card {background:var(--pp-surface)!important;color:var(--pp-panel-ink)!important}
/* Coverage when a native CMS/plugin route renders a semantic main area before
   the DOM detector has attached data-pp-content. Still admin-only. */
:root[data-pp-admin] :is(main,[role="main"],.admin-content,.main-content,.dashboard-content,[class*="main-content"]):not(.pp-centre *):not(.pp-plugin-shell *) {
 background-color:var(--pp-page-bg)!important;color:var(--pp-page-ink)!important;
}
:root[data-pp-admin] :is(main,[role="main"],.admin-content,.main-content,.dashboard-content) :is(.bg-white,.bg-gray-50,.bg-slate-50,.card,.plugin-card,.admin-card):not(.pp-centre *):not(.pp-plugin-shell *) {
 background-color:var(--pp-surface)!important;color:var(--pp-panel-ink)!important;border-color:var(--pp-page-border)!important;
}

/* v1.7.1 — CMS admin CHROME / white gap repair. All selectors require
   the admin-only marker; they cannot affect the public shop. */
:root[data-pp-admin] [data-pp-toolbar-wrap="1"] {
 background:var(--pp-topbar-bg)!important;background-image:none!important;
 color:var(--pp-topbar-ink)!important;border-color:var(--pp-page-border)!important;
}
:root[data-pp-admin] [data-pp-banner-wrap="1"] {
 background:var(--pp-page-bg)!important;background-image:none!important;
 color:var(--pp-page-ink)!important;border-color:var(--pp-page-border)!important;
}
/* Common white CMS utility wrappers that sit OUTSIDE <main>. Exclude nav,
   the branded banner, and customer-facing rich-text areas. */
:root[data-pp-admin] :is(.admin-layout,.admin-shell,.admin-page,.cms-admin,.cms-content,.admin-workspace,[data-testid="admin-layout"]):not(.pp-plugin-shell *):not(.pp-centre *) {
 background-color:var(--pp-page-bg)!important;color:var(--pp-page-ink)!important;
}
:root[data-pp-admin] [data-pp-native-panel="1"] {
 background:var(--pp-surface)!important;background-image:none!important;
 color:var(--pp-panel-ink)!important;border-color:var(--pp-page-border)!important;
}
:root[data-pp-admin] [data-pp-native-panel="1"] :is(h1,h2,h3,h4,h5,h6,p,small,strong,span,label,legend,summary,li,th,td):not([class*="badge"]):not([class*="text-red"]):not([class*="text-amber"]):not([class*="text-yellow"]):not([class*="text-orange"]):not(button *):not(a *):not([data-pp-preserve-content] *) {
 color:var(--pp-panel-ink)!important;opacity:1!important;
}
:root[data-pp-admin] [data-pp-native-panel="1"] :is(input,textarea,select):not([type="checkbox"]):not([type="radio"]):not([type="color"]){
 background-color:var(--pp-field-bg)!important;color:var(--pp-panel-ink)!important;border-color:var(--pp-field-border)!important;
}
/* The main CMS may render alerts and controls in portals appended under body.
   Keep dialogs/menus consistent, without changing status/error semantics. */
:root[data-pp-admin] :is([role="dialog"],[role="menu"],[role="listbox"]) :is(input,textarea,select):not([type="checkbox"]):not([type="radio"]):not([type="color"]){
 background:var(--pp-field-bg)!important;color:var(--pp-panel-ink)!important;
}
:root[data-pp-admin] [data-pp-topbar="1"] :is(input,button,a,select),
:root[data-pp-admin] [data-pp-toolbar-wrap="1"] :is(input,button,a,select) {
 color:var(--pp-topbar-ink)!important;border-color:var(--pp-page-border)!important;
}
:root[data-pp-admin] [data-pp-topbar="1"] :is(input,select)::placeholder {color:var(--pp-panel-muted)!important;opacity:1!important}
/* CSS native white/cream utility backgrounds often survive without panel
   classes. Restrict broad utility matching to the detected admin region. */
:root[data-pp-admin] [data-pp-content="1"] :is(.bg-stone-50,.bg-stone-100,.bg-zinc-50,.bg-zinc-100,.bg-white\/90,.bg-white\/95,.bg-gray-200,.bg-slate-200):not(.pp-centre *):not(.pp-plugin-shell *):not([data-pp-preserve-content] *) {
 background-color:var(--pp-surface)!important;color:var(--pp-panel-ink)!important;
}
/* Controls with a theme colour receive a sufficiently contrasting label. */
:root[data-pp-admin] :is([data-pp-content="1"],[data-pp-topbar="1"]) :is(button.bg-green-500,button.bg-green-600,button[type="submit"],.btn-primary):not([class*="danger"]):not([class*="destructive"]){
 background-color:var(--pp-green)!important;color:var(--pp-accent-ink)!important;font-weight:750!important;
}

/* Status/draft notices and other light CMS bands outside the content region. */
:root[data-pp-admin] [data-pp-admin-band="1"]{
 background:var(--pp-surface)!important;background-image:none!important;
 color:var(--pp-panel-ink)!important;border-color:var(--pp-page-border)!important;
}
:root[data-pp-admin] [data-pp-admin-band="1"] :is(h1,h2,h3,h4,p,small,strong,span,label):not(button *):not(a *){
 color:var(--pp-panel-ink)!important;opacity:1!important;
}
/* Read-only external attribution integrations: inherits the selected admin palette. */
.pp-plugin-root .pp-reporting-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px;margin:18px 0}
.pp-plugin-root .pp-report-tile{background:var(--pp-surface,#142118);color:var(--pp-panel-ink,#fff);border:1px solid var(--pp-page-border,#44604c);border-radius:7px;padding:18px;min-width:0;display:flex;flex-direction:column;gap:11px}
.pp-plugin-root .pp-report-tile h3{margin:0;color:var(--pp-panel-ink,#fff)!important;font-size:1.14rem}
.pp-plugin-root .pp-report-tile label{display:flex;flex-direction:column;gap:5px;font-size:.9rem;color:var(--pp-panel-ink,#fff)!important;font-weight:650;word-break:break-word}
.pp-plugin-root .pp-report-tile input{background:var(--pp-field-bg,#17251b)!important;color:var(--pp-panel-ink,#fff)!important;border:1px solid var(--pp-field-border,#4e7255)!important;border-radius:4px;padding:11px;min-width:0;max-width:100%;font-size:1rem}
.pp-plugin-root .pp-report-tile small{color:var(--pp-panel-muted,#c5d3c8)!important;overflow-wrap:anywhere;line-height:1.45}
.pp-plugin-root .pp-report-tile button{background:var(--pp-field-bg,#213328)!important;border:1px solid var(--pp-page-border,#507154)!important;color:var(--pp-panel-ink,#fff)!important;padding:11px;border-radius:4px;font-weight:700;min-height:42px}
.pp-plugin-root .pp-report-tile button:hover{border-color:var(--pp-green,#39b967)!important}
.pp-plugin-root .pp-report-tile .pp-warn{color:#f5c293!important;line-height:1.5}
.pp-plugin-root .pp-reporting-page p,.pp-plugin-root .pp-reporting-page>small{line-height:1.65}

/* v1.8.1: Scoped corrections for plugin icon tiles, statuses and surviving
   pale header wrappers. Not loaded on the storefront, and colour values
   always derive from the user-selected palette. */
:root[data-pp-admin] [data-pp-light-shell="1"] {
 background-color:var(--pp-page-bg)!important;
 background-image:none!important;
 color:var(--pp-page-ink)!important;
 border-color:var(--pp-page-border)!important;
}
:root[data-pp-admin] [data-pp-plugin-icon="1"] {
 display:inline-flex!important;
 align-items:center!important;justify-content:center!important;
 background:var(--pp-sidebar-hover)!important;
 color:var(--pp-green)!important;
 border:1px solid var(--pp-page-border)!important;
 box-shadow:none!important;
 border-radius:6px!important;
}
:root[data-pp-admin] [data-pp-plugin-icon="1"] :is(svg,path,polygon,rect,circle,polyline,line) {
 color:var(--pp-green)!important;
 stroke:var(--pp-green)!important;
}
:root[data-pp-admin] [data-pp-content="1"] [data-pp-plugin-status="active"] {
 display:inline-flex!important;align-items:center!important;
 background:var(--pp-sidebar-bg)!important;color:var(--pp-sidebar-ink)!important;
 font-weight:800!important;opacity:1!important;
 border:1px solid var(--pp-green)!important;
 padding:3px 8px!important;
 border-radius:4px!important;
}
:root[data-pp-admin] [data-pp-content="1"] [data-pp-plugin-status="inactive"] {
 display:inline-flex!important;align-items:center!important;
 background:var(--pp-sidebar-bg)!important;color:var(--pp-sidebar-ink)!important;
 font-weight:750!important;opacity:1!important;
 border:1px solid var(--pp-page-border)!important;
 padding:3px 8px!important;
 border-radius:4px!important;
}
:root[data-pp-admin] [data-pp-content="1"] [data-pp-plugin-status] :is(span,small,strong) {
 color:inherit!important;opacity:1!important;
}
:root[data-pp-admin] [data-pp-content="1"] input[type="checkbox"] {
 accent-color:var(--pp-green)!important;
 color:var(--pp-panel-ink)!important;
}
/* A chart with actual horizontal dates and GBP ticks, not just a line. */
.pp-chart-layout{display:grid;grid-template-columns:minmax(65px,auto) minmax(0,1fr);gap:8px;align-items:stretch;margin-top:12px;min-width:0}
.pp-chart-values{height:180px;display:flex;flex-direction:column;justify-content:space-between;padding:0 0 28px;align-items:end;gap:0;font-variant-numeric:tabular-nums;font-size:clamp(10px,1.1vw,13px);font-weight:750;color:var(--pp-panel-ink);white-space:nowrap}
.pp-chart-plot{min-width:0}
.pp-chart-plot svg{height:150px;width:100%;display:block;overflow:hidden;color:var(--pp-panel-muted)}
.pp-chart-dates{height:30px;display:flex;justify-content:space-between;align-items:end;gap:5px;color:var(--pp-panel-ink);font-size:clamp(10px,1.1vw,13px);font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
.pp-chart-caption{margin:12px 0 0;color:var(--pp-panel-muted);font-size:12px;line-height:1.45}
:root[data-pp-admin] .pp-chart-values,
:root[data-pp-admin] .pp-chart-dates{color:var(--pp-panel-ink)!important;opacity:1!important}
:root[data-pp-admin] .pp-chart-caption{color:var(--pp-panel-muted)!important;opacity:1!important}
@media(max-width:530px){.pp-chart-layout{grid-template-columns:66px minmax(0,1fr);gap:6px}.pp-chart-values,.pp-chart-dates{font-size:10px}.pp-chart-plot svg{height:146px}.pp-chart-values{height:176px}}

:root[data-pp-admin] [data-pp-light-shell="1"] :is(h1,h2,h3,h4,h5,h6,p,small,strong,span,label):not([data-pp-banner] *):not([data-pp-plugin-status] *):not(.pp-plugin-shell *):not(.pp-centre *){
 color:var(--pp-page-ink)!important;opacity:1!important;
}
