/* terra-admin-css-phase2a-20260814
 * TERRA INDUSTRIES WEBSITE 2.0
 * Central Admin styling owner.
 *
 * PHASE 2A STATUS: BRIDGE ONLY — NO VISUAL RULES YET.
 *
 * Future ownership:
 * - Admin workspace shell/navigation
 * - Dashboard
 * - Product Manager / Product Editor
 * - Pricing and pricing tools
 * - Insights / Marketing / WhatsApp
 * - AI settings/diagnostics
 *
 * Preserve existing functional JS selectors/classes.
 */

/* ==========================================================
   terra-admin-ownership-foundation-phase2b-20260814
   CENTRAL ADMIN CANVAS OWNERSHIP — PHASE 2B

   This is the exact proven Phase 1A Admin workspace foundation
   mirrored from the current live compatibility stylesheet.

   IMPORTANT:
   - The legacy copy remains temporarily in assets/styles.css.
   - No visual change is intended in Phase 2B.
   - The legacy copy is retired only after central loader/cascade
     ownership is proven in the next controlled phase.
========================================================== */
/* ==========================================================
   terra-admin-workspace-foundation-phase1a-20260814
   PHASE 1A — CANONICAL ADMIN CANVAS + SHARED NAV FOUNDATION

   Scope:
   - Admin pages with the shared Terra Workspace only.
   - One 1120px outer canvas.
   - Desktop 24px side gutter.
   - Tablet 22px side gutter.
   - Mobile 14px side gutter.
   - Nested Admin module shells inherit the outer canvas.
   - Shared Admin navigation stays full width inside that canvas.

   This intentionally does NOT redesign public/customer pages and does NOT
   restyle generic card/button/table classes.
========================================================== */

html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin){
  --terra-admin-foundation-max:1120px;
  --terra-admin-foundation-gutter-total:48px;
  --terra-admin-foundation-section-gap:20px;
}

/*
 * One outer Admin canvas.
 * Higher specificity is deliberate so old page-level 1100px/1180px rules
 * cannot continue competing with the shared foundation.
 */
html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin) > main{
  width:min(
    var(--terra-admin-foundation-max),
    calc(100% - var(--terra-admin-foundation-gutter-total))
  ) !important;
  max-width:var(--terra-admin-foundation-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/*
 * Module shells that live inside the shared outer <main> must not create
 * another narrower or wider canvas of their own.
 */
html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin) > main :is(
  .product-manager-shell,
  .product-editor-shell,
    .product-ai-settings,
    .ai-diag,
  .terra-pricing-shell,
  .terra-pricing-import-shell,
  .resolver-shell,
  .pilot-shell,
  .snapshot-shell,
  .terra-marketing-shell,
  .admin-insights-page,
  .insights-shell,
  .whatsapp-integration-wrap,
  .wa-free-wrap,
  .admin-shell,
  .admin-page,
  .admin-container
){
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* Shared Admin navigation occupies the same physical canvas as page content. */
html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin)
.terra-workspace-shell--admin{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-bottom:var(--terra-admin-foundation-section-gap) !important;
  box-sizing:border-box !important;
}

/*
 * Known Admin heroes/titles inherit the module width.
 * Typography and card design remain unchanged in Phase 1A.
 */
html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin) :is(
  .admin-dashboard-hero,
  .product-manager-hero,
  .product-editor-hero,
  .terra-pricing-hero,
  .terra-pricing-import-hero,
  .resolver-hero,
  .pilot-hero,
  .snapshot-hero,
  .terra-marketing-banner,
  .terra-admin-page-banner,
  .whatsapp-integration-hero,
  .wa-free-hero
){
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* Existing shared logout behavior remains authoritative and visible. */
html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin)
.terra-workspace-nav--admin
.terra-workspace-logout{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

/* Keep the already-approved responsive gutter progression. */
@media(max-width:1024px){
  html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin){
    --terra-admin-foundation-gutter-total:44px;
  }
}

@media(max-width:720px){
  html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin){
    --terra-admin-foundation-gutter-total:28px;
    --terra-admin-foundation-section-gap:16px;
  }
}

/* ==========================================================
   terra-admin-pricing-family-central-mirror-phase2d-v2-20260814
   ADMIN PRICING FAMILY — CENTRAL MIRROR

   Existing inline CSS is mirrored here and scoped to the live
   wrapper actually found in each PHP page.

   Original inline CSS remains temporarily in Phase 2D V2.
   No visual change is intended.
========================================================== */

/* ----------------------------------------------------------
   SOURCE: admin/pricing.php
   INLINE STYLE ID: terra-pricing-admin-foundation-v1
   ORIGINAL CSS SHA256: cdff69e3ee5b08c1b707212a0c47385bfd9fee59cf6d4acea20c38a0506ff164
   RESOLVED PAGE SCOPE: .terra-pricing-shell
---------------------------------------------------------- */
:where(body:has(.terra-pricing-shell)) .terra-pricing-shell{
  width:min(1100px,calc(100% - 48px));
  margin:28px auto 44px;
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-hero{
  margin:0 0 12px;
  padding:22px 24px;
  border:1px solid #d7ddd3;
  border-top:3px solid #ff834f;
  border-radius:9px;
  background:#fff;
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-hero .eyebrow{margin:0 0 5px;color:#ff834f;font-weight:900;letter-spacing:.08em}
:where(body:has(.terra-pricing-shell)) .terra-pricing-hero h1{margin:0 0 7px;font-size:clamp(30px,3vw,42px);color:#07111d}
:where(body:has(.terra-pricing-shell)) .terra-pricing-hero p:last-child{margin:0;color:#60757d}
:where(body:has(.terra-pricing-shell)) .terra-pricing-nav{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:0 0 20px;padding:7px;border:1px solid #d7ddd3;border-radius:8px;background:#f7f9f8
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-nav a{
  display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;
  border-radius:7px;color:#1b283a;text-decoration:none;font-weight:900
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-nav a.is-active{background:#1b283a;color:#fff}
:where(body:has(.terra-pricing-shell)) .terra-pricing-private{
  margin:0 0 20px;padding:13px 15px;border:1px solid #e3bf51;
  border-left:4px solid #d89500;border-radius:7px;background:#fff8e8;color:#654500
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-kpis{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-kpis article{
  padding:16px;border:1px solid #d7ddd3;border-top:3px solid #7b97a1;border-radius:8px;background:#fff
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-kpis span{display:block;color:#60757d;font-size:10px;font-weight:900;text-transform:uppercase}
:where(body:has(.terra-pricing-shell)) .terra-pricing-kpis strong{display:block;margin-top:12px;font-size:28px;color:#1b283a}
:where(body:has(.terra-pricing-shell)) .terra-pricing-card{margin:0 0 20px;padding:22px;border:1px solid #d7ddd3;border-radius:9px;background:#fff}
:where(body:has(.terra-pricing-shell)) .terra-pricing-card h2{margin:0 0 7px}:where(body:has(.terra-pricing-shell)) .terra-pricing-card>p{color:#60757d}
:where(body:has(.terra-pricing-shell)) .terra-pricing-form{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-form label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#1b283a}
:where(body:has(.terra-pricing-shell)) .terra-pricing-form input,
:where(body:has(.terra-pricing-shell)) .terra-pricing-form select,
:where(body:has(.terra-pricing-shell)) .terra-pricing-form textarea{
  width:100%;box-sizing:border-box
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-form .span-2{grid-column:span 2}:where(body:has(.terra-pricing-shell)) .terra-pricing-form .span-3{grid-column:1/-1}
:where(body:has(.terra-pricing-shell)) .terra-pricing-form button{justify-self:start}
:where(body:has(.terra-pricing-shell)) .terra-pricing-table-wrap{overflow:auto;margin-top:16px}
:where(body:has(.terra-pricing-shell)) .terra-pricing-table{width:100%;border-collapse:collapse;min-width:760px}
:where(body:has(.terra-pricing-shell)) .terra-pricing-table th,
:where(body:has(.terra-pricing-shell)) .terra-pricing-table td{
  padding:10px 11px;border-bottom:1px solid #e1e6e3;text-align:left;vertical-align:top;font-size:12px
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-table th{color:#60757d;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
:where(body:has(.terra-pricing-shell)) .terra-pricing-status-ok{color:#13733a;font-weight:900}
:where(body:has(.terra-pricing-shell)) .terra-pricing-status-warn{color:#8a5a00;font-weight:900}
:where(body:has(.terra-pricing-shell)) .terra-pricing-status-stop{color:#b42318;font-weight:900}
:where(body:has(.terra-pricing-shell)) .terra-pricing-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
:where(body:has(.terra-pricing-shell)) .terra-pricing-audit code{white-space:normal;overflow-wrap:anywhere;font-size:10px}
@media(max-width:920px){
:where(body:has(.terra-pricing-shell)) .terra-pricing-shell{width:calc(100% - 28px);margin-top:22px}
  :where(body:has(.terra-pricing-shell)) .terra-pricing-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  :where(body:has(.terra-pricing-shell)) .terra-pricing-form,
:where(body:has(.terra-pricing-shell)) .terra-pricing-grid-2{grid-template-columns:1fr}
  :where(body:has(.terra-pricing-shell)) .terra-pricing-form .span-2,
:where(body:has(.terra-pricing-shell)) .terra-pricing-form .span-3{grid-column:auto}
}
@media(max-width:620px){
:where(body:has(.terra-pricing-shell)) .terra-pricing-shell{width:calc(100% - 20px);margin-top:18px}
  :where(body:has(.terra-pricing-shell)) .terra-pricing-kpis{grid-template-columns:1fr}
}


/* ==========================================================
   terra-pricing-engine-visual-foundation-phase1c-v2-20260814
   PRICING PAGE PRESENTATION ONLY
========================================================== */

/* Live status is operational information rather than a warning. */
:where(body:has(.terra-pricing-shell)) .terra-pricing-private{
  border-color:#c8d6da !important;
  border-left-color:#ff834f !important;
  background:#f7fafb !important;
  color:#1b283a !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-private > strong:first-child{
  color:#1b283a !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-private strong[style*="13733a"]{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:2px 8px;
  border:1px solid #a9d4b6;
  border-radius:999px;
  background:#eef8f1;
  color:#13733a !important;
  line-height:1.1
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-private strong[style*="b72e2e"]{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:2px 8px;
  border:1px solid #e6aaa4;
  border-radius:999px;
  background:#fff2f0;
  color:#b72e2e !important;
  line-height:1.1
}

/* Main Pricing cards. */
:where(body:has(.terra-pricing-shell)) .terra-pricing-safety-card{
  border-top:3px solid #238248 !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-sync-card{
  border-top:3px solid #ff834f !important;
  background:#fffdfb !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-rule-card{
  border-top:3px solid #7b97a1 !important
}

/* Read-only safety table. */
:where(body:has(.terra-pricing-shell)) .terra-pricing-safety-card .terra-pricing-table-wrap{
  border:1px solid #e1e6e3;
  border-radius:7px;
  overflow:hidden
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-safety-card .terra-pricing-table{
  margin:0
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-safety-card .terra-pricing-table th{
  width:38%;
  background:#f3f6f5;
  color:#405861
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-safety-card .terra-pricing-table td{
  background:#fff
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-safety-card td strong[style*="13733a"]{
  display:inline-flex;
  align-items:center;
  padding:4px 9px;
  border:1px solid #a9d4b6;
  border-radius:999px;
  background:#eef8f1;
  color:#13733a !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-safety-card td strong[style*="b72e2e"]{
  display:inline-flex;
  align-items:center;
  padding:4px 9px;
  border:1px solid #e6aaa4;
  border-radius:999px;
  background:#fff2f0;
  color:#b72e2e !important
}

/* KPI cards: restrained Terra hierarchy. */
:where(body:has(.terra-pricing-shell)) .terra-pricing-kpis article:nth-child(1){
  border-top-color:#7b97a1 !important;
  background:#f7fafb !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-kpis article:nth-child(2){
  border-top-color:#ff834f !important;
  background:#fffaf7 !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-kpis article:nth-child(3){
  border-top-color:#1b283a !important;
  background:#f7f9fa !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-kpis article:nth-child(4){
  border-top-color:#238248 !important;
  background:#f3fbf5 !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-kpis article{
  min-height:106px;
  box-sizing:border-box
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-kpis strong{
  line-height:1
}

/* Pricing Rule form: identical control geometry. */
:where(body:has(.terra-pricing-shell)) .terra-pricing-rule-card .terra-pricing-form{
  align-items:start
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-rule-card .terra-pricing-form label{
  align-content:start
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-rule-card .terra-pricing-form input,
:where(body:has(.terra-pricing-shell)) .terra-pricing-rule-card .terra-pricing-form select{
  min-height:46px;
  height:46px;
  box-sizing:border-box
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-rule-card .terra-pricing-form input:focus,
:where(body:has(.terra-pricing-shell)) .terra-pricing-rule-card .terra-pricing-form select:focus{
  outline:0;
  border-color:#ff834f;
  box-shadow:0 0 0 3px rgba(255,131,79,.14)
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-submit-cell{
  align-self:end;
  display:flex;
  align-items:flex-end;
  min-height:46px
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-submit-cell button{
  width:100%;
  min-height:46px !important;
  height:46px !important;
  margin:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important
}

/* Pricing tables. */
:where(body:has(.terra-pricing-shell)) .terra-pricing-rule-card .terra-pricing-table th,
:where(body:has(.terra-pricing-shell)) .terra-workspace-product-scroll .terra-pricing-table th,
:where(body:has(.terra-pricing-shell)) .terra-workspace-audit-scroll .terra-pricing-table th{
  background:#f3f6f5 !important;
  border-bottom:2px solid #ff834f !important;
  color:#405861 !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-rule-card .terra-pricing-table tbody tr:hover td,
:where(body:has(.terra-pricing-shell)) .terra-workspace-product-scroll .terra-pricing-table tbody tr:hover td,
:where(body:has(.terra-pricing-shell)) .terra-workspace-audit-scroll .terra-pricing-table tbody tr:hover td{
  background:#fffaf7
}

/*
 * CURRENT shared Workspace UX classes.
 * These are created by assets/js/terra-workspace-ux.js at runtime.
 */
:where(body:has(.terra-pricing-shell)) .terra-pricing-card.terra-workspace-collapsible{
  border-top:3px solid #7b97a1 !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-card.terra-workspace-collapsible > h2{
  background:#fbfcfb !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-card.terra-workspace-collapsible > h2:hover{
  background:#fffaf7 !important
}
:where(body:has(.terra-pricing-shell)) .terra-workspace-collapse-button{
  border-color:#1b283a !important;
  background:#1b283a !important;
  color:#fff !important;
  transition:background .16s ease,border-color .16s ease,color .16s ease
}
:where(body:has(.terra-pricing-shell)) .terra-workspace-collapse-button:hover,
:where(body:has(.terra-pricing-shell)) .terra-workspace-collapse-button:focus-visible{
  border-color:#ff834f !important;
  background:#ff834f !important;
  color:#1b283a !important
}

/* Current shared Workspace product search/filter controls. */
:where(body:has(.terra-pricing-shell)) .terra-workspace-product-tools input,
:where(body:has(.terra-pricing-shell)) .terra-workspace-product-tools select{
  min-height:46px !important;
  height:46px !important
}
:where(body:has(.terra-pricing-shell)) .terra-workspace-product-tools input:focus,
:where(body:has(.terra-pricing-shell)) .terra-workspace-product-tools select:focus{
  outline:0;
  border-color:#ff834f !important;
  box-shadow:0 0 0 3px rgba(255,131,79,.14)
}

@media(max-width:920px){
:where(body:has(.terra-pricing-shell)) .terra-pricing-submit-cell{
    min-height:0
  }
}


/* ==========================================================
   terra-pricing-engine-correction-phase1c1-v3-20260814
   Safe defaults + true Workspace collapse + action polish.
========================================================== */

/* Neutral form prompts. */
:where(body:has(.terra-pricing-shell)) .terra-pricing-rule-card select:required:invalid{
  color:#66767d
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-rule-card select option{
  color:#1b283a
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-rule-helper{
  display:block;
  margin-top:6px;
  color:#60757d;
  font-size:12px;
  font-weight:600;
  line-height:1.35
}

/*
 * Save button gets the same label-row geometry as the inputs next to it.
 */
:where(body:has(.terra-pricing-shell)) .terra-pricing-submit-cell{
  align-self:start !important;
  display:grid !important;
  grid-template-rows:auto 46px;
  gap:6px;
  min-height:0 !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-submit-label{
  display:block;
  visibility:hidden;
  font-size:12px;
  font-weight:900;
  line-height:normal;
  color:#1b283a
}

/* terra-pricing-save-button-alignment-phase1c2-20260814 */
:where(body:has(.terra-pricing-shell)) .terra-pricing-submit-cell button{
  align-self:stretch;
  height:46px !important;
  min-height:46px !important
}

/*
 * TRUE COLLAPSE FIX.
 *
 * Workspace UX marks collapsed card content with the native [hidden]
 * attribute. Runtime-generated product tools also have author CSS display
 * rules, so explicitly honour [hidden] here at page level.
 *
 * This is generic to Pricing's Workspace collapsibles and does not depend on
 * exact source <section> classes or heading markup.
 */
:where(body:has(.terra-pricing-shell)) .terra-pricing-card.terra-workspace-collapsible [hidden]{
  display:none !important
}

/*
 * Distinguish current runtime-generated Product and Audit tools using :has().
 * Chrome used by this Admin supports :has(); no JS changes are needed.
 */
:where(body:has(.terra-pricing-shell)) .terra-pricing-card.terra-workspace-collapsible:has(.terra-workspace-product-tools){
  border-top-color:#ff834f !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-card.terra-workspace-collapsible:has(.terra-workspace-audit-scroll){
  border-top-color:#1b283a !important
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-card.terra-workspace-collapsible:has(.terra-workspace-product-tools) > h2{
  border-left:4px solid #ff834f;
  padding-left:12px
}
:where(body:has(.terra-pricing-shell)) .terra-pricing-card.terra-workspace-collapsible:has(.terra-workspace-audit-scroll) > h2{
  border-left:4px solid #1b283a;
  padding-left:12px
}

/* Terra-styled Priceable Products row action links. */
:where(body:has(.terra-pricing-shell)) .terra-workspace-product-scroll .terra-pricing-table td:last-child a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:4px 10px;
  border:1px solid #7b97a1;
  border-radius:5px;
  background:#f7fafb;
  color:#1b283a !important;
  font-weight:800;
  text-decoration:none !important;
  white-space:nowrap
}
:where(body:has(.terra-pricing-shell)) .terra-workspace-product-scroll .terra-pricing-table td:last-child a:hover,
:where(body:has(.terra-pricing-shell)) .terra-workspace-product-scroll .terra-pricing-table td:last-child a:focus-visible{
  border-color:#ff834f;
  background:#fff1e8;
  color:#1b283a !important
}

/* Expanded product tools alignment. */
:where(body:has(.terra-pricing-shell)) .terra-workspace-product-tools{
  align-items:center !important
}
:where(body:has(.terra-pricing-shell)) .terra-workspace-product-count{
  min-width:92px;
  text-align:right;
  font-weight:800;
  color:#526a73
}

@media(max-width:920px){
:where(body:has(.terra-pricing-shell)) .terra-pricing-submit-cell{
    grid-template-rows:auto 46px
  }
  :where(body:has(.terra-pricing-shell)) .terra-workspace-product-count{
    min-width:0;
    text-align:left
  }
}


/* ----------------------------------------------------------
   SOURCE: admin/pricing-import.php
   INLINE STYLE ID: terra-pricing-import-admin-v1
   ORIGINAL CSS SHA256: f23654fe9704e68f56187da7be7f5980e9e79b792b291ecbc46ebb4882e8e88d
   RESOLVED PAGE SCOPE: .terra-pricing-import-shell
---------------------------------------------------------- */
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-shell{
  width:min(1100px,calc(100% - 48px));
  margin:28px auto 44px;
}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-hero{
  margin:0 0 12px;padding:22px 24px;border:1px solid #d7ddd3;
  border-top:3px solid #ff834f;border-radius:9px;background:#fff
}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-hero .eyebrow{
  margin:0 0 5px;color:#ff834f;font-size:11px;font-weight:900;
  letter-spacing:.08em;text-transform:uppercase
}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-hero h1{margin:0 0 7px;font-size:clamp(30px,3vw,42px);color:#07111d}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-hero p:last-child{margin:0;color:#60757d}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-nav{
  display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:7px;
  border:1px solid #d7ddd3;border-radius:8px;background:#f7f9f8
}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-nav a{
  display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;
  border-radius:7px;color:#1b283a;text-decoration:none;font-weight:900
}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-nav a.is-active{background:#1b283a;color:#fff}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-warning{
  margin:0 0 20px;padding:13px 15px;border:1px solid #e3bf51;
  border-left:4px solid #d89500;border-radius:7px;background:#fff8e8;color:#654500
}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-card{
  margin:0 0 20px;padding:22px;border:1px solid #d7ddd3;border-radius:9px;background:#fff
}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-card h2{margin:0 0 7px}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-card>p{color:#60757d}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-actions{
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px
}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-actions input[type=file]{
  flex:1 1 420px;padding:10px;border:1px solid #b9c8ce;border-radius:6px;background:#fff
}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-table-wrap{overflow:auto;margin-top:16px}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-table{width:100%;border-collapse:collapse;min-width:900px}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-table th,
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-table td{
  padding:10px 11px;border-bottom:1px solid #e1e6e3;text-align:left;
  vertical-align:top;font-size:12px
}
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-table th{
  color:#60757d;font-size:10px;text-transform:uppercase;letter-spacing:.04em
}
:where(body:has(.terra-pricing-import-shell)) .terra-import-valid{color:#13733a;font-weight:900}
:where(body:has(.terra-pricing-import-shell)) .terra-import-invalid{color:#b42318;font-weight:900}
:where(body:has(.terra-pricing-import-shell)) .terra-import-preview{color:#8a5a00;font-weight:900}
:where(body:has(.terra-pricing-import-shell)) .terra-import-committed{color:#13733a;font-weight:900}
:where(body:has(.terra-pricing-import-shell)) .terra-import-counts{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0
}
:where(body:has(.terra-pricing-import-shell)) .terra-import-counts>div{
  padding:14px;border:1px solid #d7ddd3;border-radius:7px;background:#fbfcfb
}
:where(body:has(.terra-pricing-import-shell)) .terra-import-counts span{
  display:block;color:#60757d;font-size:10px;font-weight:900;text-transform:uppercase
}
:where(body:has(.terra-pricing-import-shell)) .terra-import-counts strong{display:block;margin-top:7px;font-size:24px;color:#1b283a}
@media(max-width:920px){
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-shell{width:calc(100% - 28px);margin-top:22px}
}
@media(max-width:620px){
:where(body:has(.terra-pricing-import-shell)) .terra-pricing-import-shell{width:calc(100% - 20px);margin-top:18px}
  :where(body:has(.terra-pricing-import-shell)) .terra-import-counts{grid-template-columns:1fr}
}


/* ----------------------------------------------------------
   SOURCE: admin/pricing-resolver.php
   INLINE STYLE ID: terra-pricing-resolver-v1
   ORIGINAL CSS SHA256: b832a1ab1802ccf46ffa1688233dbcca6bafae20cced30ace43975cc0e7c3a50
   RESOLVED PAGE SCOPE: .resolver-shell
---------------------------------------------------------- */
:where(body:has(.resolver-shell)) .resolver-shell{width:min(1100px,calc(100% - 48px));margin:28px auto 44px}
:where(body:has(.resolver-shell)) .resolver-hero{margin:0 0 12px;padding:22px 24px;border:1px solid #d7ddd3;border-top:3px solid #ff834f;border-radius:9px;background:#fff}
:where(body:has(.resolver-shell)) .resolver-hero .eyebrow{margin:0 0 5px;color:#ff834f;font-size:11px;font-weight:900;letter-spacing:.08em}
:where(body:has(.resolver-shell)) .resolver-hero h1{margin:0 0 7px;font-size:clamp(30px,3vw,42px);color:#07111d}
:where(body:has(.resolver-shell)) .resolver-hero p:last-child{margin:0;color:#60757d}
:where(body:has(.resolver-shell)) .resolver-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:7px;border:1px solid #d7ddd3;border-radius:8px;background:#f7f9f8}
:where(body:has(.resolver-shell)) .resolver-nav a{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border-radius:7px;color:#1b283a;text-decoration:none;font-weight:900}
:where(body:has(.resolver-shell)) .resolver-nav a.is-active{background:#1b283a;color:#fff}
:where(body:has(.resolver-shell)) .resolver-private{margin:0 0 20px;padding:13px 15px;border:1px solid #e3bf51;border-left:4px solid #d89500;border-radius:7px;background:#fff8e8;color:#654500}
:where(body:has(.resolver-shell)) .resolver-card{margin:0 0 20px;padding:22px;border:1px solid #d7ddd3;border-radius:9px;background:#fff}
:where(body:has(.resolver-shell)) .resolver-card h2{margin:0 0 7px}:where(body:has(.resolver-shell)) .resolver-card>p{color:#60757d}
:where(body:has(.resolver-shell)) .resolver-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-top:16px}
:where(body:has(.resolver-shell)) .resolver-form label{display:grid;gap:6px;font-size:12px;font-weight:900}:where(body:has(.resolver-shell)) .resolver-form select{width:100%}
:where(body:has(.resolver-shell)) .resolver-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
:where(body:has(.resolver-shell)) .resolver-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
:where(body:has(.resolver-shell)) .resolver-detail>div{padding:13px;border:1px solid #e1e6e3;border-radius:7px;background:#fbfcfb}
:where(body:has(.resolver-shell)) .resolver-detail span{display:block;margin-bottom:5px;color:#60757d;font-size:10px;font-weight:900;text-transform:uppercase}
:where(body:has(.resolver-shell)) .resolver-status{margin-top:14px;padding:14px;border:1px solid #d7ddd3;border-radius:7px;background:#fbfcfb}
:where(body:has(.resolver-shell)) .resolver-status strong{display:block;margin-bottom:5px}:where(body:has(.resolver-shell)) .resolver-ok{color:#13733a}:where(body:has(.resolver-shell)) .resolver-warn{color:#8a5a00}:where(body:has(.resolver-shell)) .resolver-stop{color:#b42318}
:where(body:has(.resolver-shell)) .resolver-price{margin-top:12px;font-size:28px;font-weight:900;color:#1b283a}
:where(body:has(.resolver-shell)) .resolver-table-wrap{overflow:auto;margin-top:16px}:where(body:has(.resolver-shell)) .resolver-table{width:100%;border-collapse:collapse;min-width:900px}
:where(body:has(.resolver-shell)) .resolver-table th,
:where(body:has(.resolver-shell)) .resolver-table td{padding:10px 11px;border-bottom:1px solid #e1e6e3;text-align:left;vertical-align:top;font-size:12px}
:where(body:has(.resolver-shell)) .resolver-table th{color:#60757d;font-size:10px;text-transform:uppercase}
@media(max-width:920px){
:where(body:has(.resolver-shell)) .resolver-shell{width:calc(100% - 28px)}:where(body:has(.resolver-shell)) .resolver-grid,
:where(body:has(.resolver-shell)) .resolver-form{grid-template-columns:1fr}:where(body:has(.resolver-shell)) .resolver-detail{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
:where(body:has(.resolver-shell)) .resolver-shell{width:calc(100% - 20px)}:where(body:has(.resolver-shell)) .resolver-detail{grid-template-columns:1fr}
}


/* ----------------------------------------------------------
   SOURCE: admin/pricing-pilot.php
   INLINE STYLE ID: terra-pricing-pilot-v1
   ORIGINAL CSS SHA256: 7efb978ffe01ea67977da4d78a63ca0e9c15ebb4be5aac04acd594169f4a98b1
   RESOLVED PAGE SCOPE: .pilot-shell
---------------------------------------------------------- */
:where(body:has(.pilot-shell)) .pilot-shell{width:min(1100px,calc(100% - 48px));margin:28px auto 44px}
:where(body:has(.pilot-shell)) .pilot-hero{margin:0 0 12px;padding:22px 24px;border:1px solid #d7ddd3;border-top:3px solid #ff834f;border-radius:9px;background:#fff}
:where(body:has(.pilot-shell)) .pilot-hero .eyebrow{margin:0 0 5px;color:#ff834f;font-size:11px;font-weight:900;letter-spacing:.08em}
:where(body:has(.pilot-shell)) .pilot-hero h1{margin:0 0 7px;font-size:clamp(30px,3vw,42px)}
:where(body:has(.pilot-shell)) .pilot-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:7px;border:1px solid #d7ddd3;border-radius:8px;background:#f7f9f8}
:where(body:has(.pilot-shell)) .pilot-nav a{display:inline-flex;align-items:center;padding:8px 13px;border-radius:7px;color:#1b283a;text-decoration:none;font-weight:900}
:where(body:has(.pilot-shell)) .pilot-nav a.is-active{background:#1b283a;color:#fff}
:where(body:has(.pilot-shell)) .pilot-warning{margin:0 0 20px;padding:13px 15px;border:1px solid #e3bf51;border-left:4px solid #d89500;border-radius:7px;background:#fff8e8;color:#654500}
:where(body:has(.pilot-shell)) .pilot-card{margin:0 0 20px;padding:22px;border:1px solid #d7ddd3;border-radius:9px;background:#fff}
:where(body:has(.pilot-shell)) .pilot-table-wrap{overflow:auto}:where(body:has(.pilot-shell)) .pilot-table{width:100%;border-collapse:collapse;min-width:980px}
:where(body:has(.pilot-shell)) .pilot-table th,
:where(body:has(.pilot-shell)) .pilot-table td{padding:10px;border-bottom:1px solid #e1e6e3;text-align:left;vertical-align:top;font-size:12px}
:where(body:has(.pilot-shell)) .pilot-table th{font-size:10px;color:#60757d;text-transform:uppercase}
:where(body:has(.pilot-shell)) .pilot-on{color:#13733a;font-weight:900}:where(body:has(.pilot-shell)) .pilot-off{color:#60757d;font-weight:900}
:where(body:has(.pilot-shell)) .pilot-actions{display:flex;gap:8px;align-items:center}:where(body:has(.pilot-shell)) .pilot-actions form{margin:0}
@media(max-width:920px){
:where(body:has(.pilot-shell)) .pilot-shell{width:calc(100% - 28px)}
}
@media(max-width:620px){
:where(body:has(.pilot-shell)) .pilot-shell{width:calc(100% - 20px)}
}


/* ----------------------------------------------------------
   SOURCE: admin/pricing-quote-snapshots.php
   INLINE STYLE ID: terra-quote-snapshot-admin-v1
   ORIGINAL CSS SHA256: acde50e40b05c591388f5a311dfaf5ac5a749d599e02b3e1404ba0616db32578
   RESOLVED PAGE SCOPE: .snapshot-shell
---------------------------------------------------------- */
:where(body:has(.snapshot-shell)) .snapshot-shell{width:min(1180px,calc(100% - 48px));margin:28px auto 44px}
:where(body:has(.snapshot-shell)) .snapshot-hero{margin:0 0 12px;padding:22px 24px;border:1px solid #d7ddd3;border-top:3px solid #ff834f;border-radius:9px;background:#fff}
:where(body:has(.snapshot-shell)) .snapshot-hero .eyebrow{margin:0 0 5px;color:#ff834f;font-size:11px;font-weight:900;letter-spacing:.08em}
:where(body:has(.snapshot-shell)) .snapshot-hero h1{margin:0 0 7px;font-size:clamp(30px,3vw,42px)}
:where(body:has(.snapshot-shell)) .snapshot-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:7px;border:1px solid #d7ddd3;border-radius:8px;background:#f7f9f8}
:where(body:has(.snapshot-shell)) .snapshot-nav a{display:inline-flex;align-items:center;padding:8px 13px;border-radius:7px;color:#1b283a;text-decoration:none;font-weight:900}
:where(body:has(.snapshot-shell)) .snapshot-nav a.is-active{background:#1b283a;color:#fff}
:where(body:has(.snapshot-shell)) .snapshot-warning{margin:0 0 20px;padding:13px 15px;border:1px solid #e3bf51;border-left:4px solid #d89500;border-radius:7px;background:#fff8e8;color:#654500}
:where(body:has(.snapshot-shell)) .snapshot-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}
:where(body:has(.snapshot-shell)) .snapshot-kpi{padding:18px;border:1px solid #d7ddd3;border-radius:8px;background:#fff}
:where(body:has(.snapshot-shell)) .snapshot-kpi small{display:block;color:#60757d;font-weight:900;text-transform:uppercase}
:where(body:has(.snapshot-shell)) .snapshot-kpi strong{display:block;margin-top:6px;font-size:28px}
:where(body:has(.snapshot-shell)) .snapshot-card{padding:22px;border:1px solid #d7ddd3;border-radius:9px;background:#fff}
:where(body:has(.snapshot-shell)) .snapshot-table-wrap{overflow:auto}
:where(body:has(.snapshot-shell)) .snapshot-table{width:100%;border-collapse:collapse;min-width:1180px}
:where(body:has(.snapshot-shell)) .snapshot-table th,
:where(body:has(.snapshot-shell)) .snapshot-table td{padding:9px;border-bottom:1px solid #e1e6e3;text-align:left;vertical-align:top;font-size:12px}
:where(body:has(.snapshot-shell)) .snapshot-table th{font-size:10px;color:#60757d;text-transform:uppercase}
:where(body:has(.snapshot-shell)) .snapshot-good{color:#13733a;font-weight:900}
:where(body:has(.snapshot-shell)) .snapshot-muted{color:#60757d}
@media(max-width:880px){
:where(body:has(.snapshot-shell)) .snapshot-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}:where(body:has(.snapshot-shell)) .snapshot-shell{width:calc(100% - 28px)}
}
@media(max-width:540px){
:where(body:has(.snapshot-shell)) .snapshot-kpis{grid-template-columns:1fr}:where(body:has(.snapshot-shell)) .snapshot-shell{width:calc(100% - 20px)}
}

/* ==========================================================
   terra-admin-pricing-family-inline-retirement-phase2e-v2-20260814

   CENTRAL OWNERSHIP CONFIRMED

   The five Pricing-family inline <style> blocks have been retired
   from their PHP pages after exact CSS-hash verification.

   Sole owner:
   /assets/css/terra-admin.css

   Real markup scope classes confirmed:
   - terra-pricing-shell
   - terra-pricing-import-shell
   - resolver-shell
   - pilot-shell
   - snapshot-shell
========================================================== */

/* ==========================================================
   terra-admin-product-family-central-mirror-phase2f-v2-20260814
   ADMIN PRODUCT MANAGEMENT FAMILY — CENTRAL MIRROR

   Audited live page scopes:
   - Product Manager: .product-manager-shell
   - Product Editor: .product-editor-shell
   - Product AI Settings: .product-ai-settings
   - Product AI Diagnostics: .ai-diag

   The AI pages use DIV wrappers rather than MAIN wrappers.

   Original inline CSS remains temporarily for visual equivalence
   testing. Functional Product Manager / Product Editor / AI scripts
   remain untouched.
========================================================== */

/* ----------------------------------------------------------
   SOURCE: admin/product-manager.php
   INLINE STYLE ID: terra-product-manager-v1
   AUDITED REAL WRAPPER CLASS: product-manager-shell
   PAGE SCOPE: .product-manager-shell
   ORIGINAL CSS SHA256: 81091a95aa1da5e522d68bef3d26d6ccab0688b8b5373c16e8ee36df1c477713
---------------------------------------------------------- */
:where(body:has(.product-manager-shell)) .product-manager-shell{width:100%;max-width:none;margin:28px 0 44px;box-sizing:border-box}
:where(body:has(.product-manager-shell)) .product-manager-hero{margin:0 0 16px;padding:22px 24px;border:1px solid #d7ddd3;border-top:3px solid #ff834f;border-radius:9px;background:#fff}
:where(body:has(.product-manager-shell)) .product-manager-hero .eyebrow,
:where(body:has(.product-manager-shell)) .pm-card .eyebrow{margin:0 0 5px;color:#ff834f;font-size:11px;font-weight:900;letter-spacing:.08em}
:where(body:has(.product-manager-shell)) .product-manager-hero h1{margin:0 0 7px;font-size:clamp(30px,3vw,42px);color:#1b283a}
:where(body:has(.product-manager-shell)) .product-manager-hero p:last-child{margin-bottom:0;color:#60757d}
:where(body:has(.product-manager-shell)) .pm-notice,
:where(body:has(.product-manager-shell)) .pm-success,
:where(body:has(.product-manager-shell)) .pm-error{margin:0 0 16px;padding:13px 15px;border-radius:7px;background:#fff}
:where(body:has(.product-manager-shell)) .pm-notice{border:1px solid #d7ddd3;border-left:4px solid #7b97a1;background:#f7fafb}
:where(body:has(.product-manager-shell)) .pm-success{border:1px solid #9cc9aa;border-left:4px solid #238248;background:#f3fbf5}
:where(body:has(.product-manager-shell)) .pm-error{border:1px solid #e1aaa6;border-left:4px solid #b23830;background:#fff6f5}
:where(body:has(.product-manager-shell)) .pm-card{margin:0 0 18px;padding:22px;border:1px solid #d7ddd3;border-radius:9px;background:#fff}
:where(body:has(.product-manager-shell)) .pm-card h2{margin:0 0 7px;color:#1b283a}
:where(body:has(.product-manager-shell)) .pm-card > p{color:#60757d}
:where(body:has(.product-manager-shell)) .pm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
:where(body:has(.product-manager-shell)) .pm-grid .pm-span-2{grid-column:1/-1}
:where(body:has(.product-manager-shell)) .pm-field{display:grid;gap:6px}
:where(body:has(.product-manager-shell)) .pm-field label{font-weight:800;color:#1b283a}
:where(body:has(.product-manager-shell)) .pm-field small{color:#60757d}
:where(body:has(.product-manager-shell)) .pm-field input,
:where(body:has(.product-manager-shell)) .pm-field select,
:where(body:has(.product-manager-shell)) .pm-field textarea,
:where(body:has(.product-manager-shell)) .pm-repeat-row input,
:where(body:has(.product-manager-shell)) .pm-repeat-row select,
:where(body:has(.product-manager-shell)) .pm-repeat-row textarea{
  width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #cdd6d2;border-radius:6px;background:#fff;color:#1b283a;font:inherit
}
:where(body:has(.product-manager-shell)) .pm-field textarea{min-height:92px;resize:vertical}
:where(body:has(.product-manager-shell)) .pm-repeat{display:grid;gap:10px}
:where(body:has(.product-manager-shell)) .pm-repeat-row{display:grid;gap:8px;padding:12px;border:1px solid #e1e6e3;border-radius:7px;background:#fafbfa}
:where(body:has(.product-manager-shell)) .pm-repeat-row.refs{grid-template-columns:1fr 1fr 1fr 1.4fr .9fr auto}
:where(body:has(.product-manager-shell)) .pm-repeat-row.specs{grid-template-columns:1fr 1.3fr .7fr 1.4fr .9fr auto}
:where(body:has(.product-manager-shell)) .pm-repeat-row.apps{grid-template-columns:repeat(5,minmax(0,1fr));}
:where(body:has(.product-manager-shell)) .pm-repeat-row.apps .wide{grid-column:span 2}
:where(body:has(.product-manager-shell)) .pm-repeat-row.kits{grid-template-columns:.6fr 1fr 1fr 1.5fr 1fr 1.3fr .9fr auto}
:where(body:has(.product-manager-shell)) .pm-repeat-labels{font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#60757d}
:where(body:has(.product-manager-shell)) .pm-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
:where(body:has(.product-manager-shell)) .pm-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;background:#1b283a;color:#fff;font-weight:900;cursor:pointer;text-decoration:none;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
:where(body:has(.product-manager-shell)) .pm-button.secondary{border:1px solid #cdd6d2;background:#fff;color:#1b283a}
:where(body:has(.product-manager-shell)) .pm-button.orange{background:#ff834f;color:#1b283a}
:where(body:has(.product-manager-shell)) .pm-remove{min-height:38px;padding:7px 10px;border:1px solid #d8b0ac;border-radius:6px;background:#fff;color:#9b2d27;font-weight:800;cursor:pointer}
:where(body:has(.product-manager-shell)) .pm-filter-fields,
:where(body:has(.product-manager-shell)) .pm-service-kit-fields{display:none}
:where(body:has(.product-manager-shell)) .pm-filter-fields.is-visible,
:where(body:has(.product-manager-shell)) .pm-service-kit-fields.is-visible{display:block}
:where(body:has(.product-manager-shell)) .pm-table-wrap{overflow:auto}
:where(body:has(.product-manager-shell)) .pm-table{width:100%;border-collapse:collapse;min-width:760px}
:where(body:has(.product-manager-shell)) .pm-table th,
:where(body:has(.product-manager-shell)) .pm-table td{padding:9px 10px;border-bottom:1px solid #e1e6e3;text-align:left;vertical-align:top;font-size:12px}
:where(body:has(.product-manager-shell)) .pm-table th{font-size:10px;text-transform:uppercase;color:#1b283a;background:#f3f6f5;border-bottom:2px solid #ff834f}
:where(body:has(.product-manager-shell)) .pm-ai{border:1px solid #f0c4b0;border-left:4px solid #ff834f;background:#fffaf7}
:where(body:has(.product-manager-shell)) .pm-ai-flow{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
:where(body:has(.product-manager-shell)) .pm-ai-flow span{padding:7px 10px;border:1px solid #dce3df;border-radius:999px;background:#f0f3f2;font-weight:800;color:#1b283a}
:where(body:has(.product-manager-shell)) .pm-disabled{opacity:.6}
:where(body:has(.product-manager-shell)) .pm-ai-review{margin-top:16px;padding:15px;border:1px solid #d7ddd3;border-radius:7px;background:#fafbfa}
:where(body:has(.product-manager-shell)) .pm-ai-evidence{grid-column:1/-1;color:#60757d;padding:2px 3px 0}
:where(body:has(.product-manager-shell)) .pm-ai-image-choice{margin-top:12px;padding:12px;border:1px solid #d7ddd3;border-radius:7px;background:#fafbfa}
:where(body:has(.product-manager-shell)) .pm-ai-image-choice img{display:block;max-width:280px;max-height:280px;margin:10px 0;border:1px solid #d7ddd3;border-radius:6px;background:#fff}
:where(body:has(.product-manager-shell)) .pm-ai-image-label{display:flex;align-items:center;gap:8px;font-weight:800}
@media(max-width:900px){
:where(body:has(.product-manager-shell)) .pm-grid{grid-template-columns:1fr}
  :where(body:has(.product-manager-shell)) .pm-grid .pm-span-2{grid-column:auto}
  :where(body:has(.product-manager-shell)) .pm-repeat-row.refs,
:where(body:has(.product-manager-shell)) .pm-repeat-row.specs,
:where(body:has(.product-manager-shell)) .pm-repeat-row.apps,
:where(body:has(.product-manager-shell)) .pm-repeat-row.kits{grid-template-columns:1fr 1fr}
  :where(body:has(.product-manager-shell)) .pm-repeat-row.apps .wide{grid-column:span 2}
}
@media(max-width:620px){
:where(body:has(.product-manager-shell)) .product-manager-shell{margin-top:18px}
  :where(body:has(.product-manager-shell)) .pm-repeat-row.refs,
:where(body:has(.product-manager-shell)) .pm-repeat-row.specs,
:where(body:has(.product-manager-shell)) .pm-repeat-row.apps,
:where(body:has(.product-manager-shell)) .pm-repeat-row.kits{grid-template-columns:1fr}
  :where(body:has(.product-manager-shell)) .pm-repeat-row.apps .wide{grid-column:auto}
}


/* terra-product-manager-visual-polish-phase1b-20260814 */

/* Form focus states use Terra orange without changing field structure. */
:where(body:has(.product-manager-shell)) .pm-field input:focus,
:where(body:has(.product-manager-shell)) .pm-field select:focus,
:where(body:has(.product-manager-shell)) .pm-field textarea:focus,
:where(body:has(.product-manager-shell)) .pm-repeat-row input:focus,
:where(body:has(.product-manager-shell)) .pm-repeat-row select:focus,
:where(body:has(.product-manager-shell)) .pm-repeat-row textarea:focus{
  outline:0;
  border-color:#ff834f;
  box-shadow:0 0 0 3px rgba(255,131,79,.14)
}

/* Secondary row-add controls gain a subtle Terra workspace treatment. */
:where(body:has(.product-manager-shell)) .pm-actions .pm-button.secondary[data-add-row]{
  border-color:#bfd0d5;
  background:#eef3f4;
  color:#1b283a
}
:where(body:has(.product-manager-shell)) .pm-actions .pm-button.secondary[data-add-row]:hover{
  border-color:#ff834f;
  background:#fff1e8
}

/* Primary save and AI actions read clearly as actions. */
:where(body:has(.product-manager-shell)) .pm-button.orange:hover{
  background:#e96f3f;
  box-shadow:0 5px 14px rgba(27,40,58,.12)
}
:where(body:has(.product-manager-shell)) #pm-verify-reviewed-draft:not(:disabled){
  border-color:#238248;
  background:#238248;
  color:#fff
}
:where(body:has(.product-manager-shell)) #pm-verify-reviewed-draft:not(:disabled):hover{
  background:#176b38
}

/* AI workflow colours: restrained, semantic and still within Terra styling. */
/*
 * AI upload/action alignment.
 * File input and CTA use the same 46px control height.
 */
:where(body:has(.product-manager-shell)) #pm-ai-form{
  margin-top:14px
}
:where(body:has(.product-manager-shell)) #pm-ai-form .pm-grid{
  grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);
  gap:14px;
  align-items:start
}
:where(body:has(.product-manager-shell)) #pm_ai_pdf,
:where(body:has(.product-manager-shell)) #pm-ai-extract-button{
  min-height:46px;
  height:46px;
  box-sizing:border-box
}
:where(body:has(.product-manager-shell)) #pm_ai_pdf{
  padding-top:6px;
  padding-bottom:6px
}
:where(body:has(.product-manager-shell)) #pm-ai-extract-button{
  width:100%;
  border:1px solid #ff834f;
  background:#ff834f;
  color:#1b283a;
  box-shadow:0 3px 10px rgba(27,40,58,.10)
}
:where(body:has(.product-manager-shell)) #pm-ai-extract-button:hover:not(:disabled){
  border-color:#e96f3f;
  background:#e96f3f;
  box-shadow:0 5px 14px rgba(27,40,58,.15);
  transform:translateY(-1px)
}
:where(body:has(.product-manager-shell)) #pm-ai-extract-button:disabled{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none
}

/* Recent catalogue gains a little hierarchy without changing pagination. */
:where(body:has(.product-manager-shell)) .pm-table tbody tr:hover td{
  background:#fffaf7
}
:where(body:has(.product-manager-shell)) #recent-catalogue-products{
  border-top:3px solid #7b97a1
}

/* Keep Product Manager responsive behavior clean. */
@media(max-width:900px){
:where(body:has(.product-manager-shell)) #pm-ai-form .pm-grid{
    grid-template-columns:1fr
  }
}
@media(max-width:620px){
:where(body:has(.product-manager-shell)) .pm-actions .pm-button{
    width:100%
  }
}


/* terra-product-manager-core-status-polish-phase1b1-20260814 */

/*
 * Core Product Information gets a contained header band.
 * Actual form controls remain white/clean.
 */
:where(body:has(.product-manager-shell)) .pm-core-card{
  padding:0;
  overflow:hidden;
  border-top:3px solid #ff834f
}
:where(body:has(.product-manager-shell)) .pm-core-heading{
  padding:18px 22px 14px;
  background:#fffaf7;
  border-bottom:1px solid #eadfd7
}
:where(body:has(.product-manager-shell)) .pm-core-heading .eyebrow{
  margin:0 0 5px
}
:where(body:has(.product-manager-shell)) .pm-core-heading h2{
  margin:0
}
:where(body:has(.product-manager-shell)) .pm-core-card > .pm-grid{
  padding:18px 22px 22px
}

/*
 * Category and Status are the paired workflow controls.
 * Force identical physical control geometry.
 */
:where(body:has(.product-manager-shell)) #product_category,
:where(body:has(.product-manager-shell)) #product_status{
  min-height:46px;
  height:46px;
  padding-top:0;
  padding-bottom:0;
  box-sizing:border-box
}

/*
 * Status receives restrained workflow emphasis.
 * It is intentionally not bright orange: orange remains the primary action colour.
 */
:where(body:has(.product-manager-shell)) .pm-status-field label{
  color:#4d4428
}
:where(body:has(.product-manager-shell)) #product_status{
  border-color:#d8c57a;
  background:#f8f7e5;
  color:#1b283a;
  font-weight:800;
  box-shadow:inset 4px 0 0 #d6a323
}
:where(body:has(.product-manager-shell)) #product_status:hover{
  border-color:#c4a64b
}
:where(body:has(.product-manager-shell)) #product_status:focus{
  border-color:#ff834f;
  background:#fffaf7;
  box-shadow:
    inset 4px 0 0 #ff834f,
    0 0 0 3px rgba(255,131,79,.14)
}
:where(body:has(.product-manager-shell)) .pm-status-field small{
  color:#6c654b;
  font-weight:600
}

@media(max-width:620px){
:where(body:has(.product-manager-shell)) .pm-core-heading{
    padding:16px 16px 13px
  }
  :where(body:has(.product-manager-shell)) .pm-core-card > .pm-grid{
    padding:16px
  }
}


/* terra-product-manager-field-alignment-phase1b2-20260814 */

/*
 * FIX: .pm-field is itself display:grid. In a two-column .pm-grid row,
 * the taller field (for example Status with helper text) stretches its
 * partner. align-content:start prevents the shorter field's internal rows
 * from spreading vertically, so paired labels/controls stay top-aligned.
 */
:where(body:has(.product-manager-shell)) .pm-core-card .pm-field{
  align-content:start
}

/* Consistent single-line control geometry throughout Core Product Information. */
:where(body:has(.product-manager-shell)) #product_category,
:where(body:has(.product-manager-shell)) #product_status,
:where(body:has(.product-manager-shell)) #primary_brand,
:where(body:has(.product-manager-shell)) #main_part_number,
:where(body:has(.product-manager-shell)) #product_type,
:where(body:has(.product-manager-shell)) #title,
:where(body:has(.product-manager-shell)) #source_url{
  min-height:46px;
  height:46px;
  box-sizing:border-box
}

/* Keep helper copy tight and predictable beneath paired controls. */
:where(body:has(.product-manager-shell)) .pm-core-card .pm-field small{
  display:block;
  margin:0;
  line-height:1.35
}

/* Product image upload matches the visual weight of the other controls. */
:where(body:has(.product-manager-shell)) #product_image{
  min-height:46px;
  box-sizing:border-box;
  padding:5px 6px
}
/*
 * Slightly clearer vertical rhythm after helper-bearing rows while keeping
 * the established two-column layout.
 */
:where(body:has(.product-manager-shell)) .pm-core-card > .pm-grid{
  column-gap:18px;
  row-gap:16px;
  align-items:start
}

@media(max-width:900px){
:where(body:has(.product-manager-shell)) .pm-core-card > .pm-grid{
    column-gap:14px;
    row-gap:14px
  }
}


/* ----------------------------------------------------------
   SOURCE: admin/product-manager.php
   INLINE STYLE ID: terra-product-manager-recent5-pagination-v1-1
   AUDITED REAL WRAPPER CLASS: product-manager-shell
   PAGE SCOPE: .product-manager-shell
   ORIGINAL CSS SHA256: fcedaaf25100851a5780b4df0586b864ec158c0f47fde00b0efa22f962a44fb0
---------------------------------------------------------- */
:where(body:has(.product-manager-shell)) .pm-recent-pagination{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    min-height:40px;
    margin-top:16px;
    flex-wrap:wrap
  }
  :where(body:has(.product-manager-shell)) .pm-page-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 14px;
    border:1px solid #cbd5d1;
    border-radius:7px;
    background:#fff;
    color:#1b283a;
    font-weight:800;
    text-decoration:none
  }
  :where(body:has(.product-manager-shell)) .pm-page-button:hover{
    border-color:#ff834f;
    color:#1b283a
  }
  :where(body:has(.product-manager-shell)) .pm-page-button.is-disabled{
    opacity:.45;
    cursor:not-allowed
  }
  :where(body:has(.product-manager-shell)) .pm-page-status{
    color:#1b283a;
    white-space:nowrap
  }
  @media(max-width:600px){
:where(body:has(.product-manager-shell)) .pm-recent-pagination{
      justify-content:center
    }
}


/* ----------------------------------------------------------
   SOURCE: admin/product-editor.php
   INLINE STYLE ID: terra-product-editor-v1
   AUDITED REAL WRAPPER CLASS: product-editor-shell
   PAGE SCOPE: .product-editor-shell
   ORIGINAL CSS SHA256: acf857a3a5b1ff936f66cfd76087c9c6ee7114af9680e347acb7a9657c7e5d30
---------------------------------------------------------- */
:where(body:has(.product-editor-shell)) .product-editor-shell{width:100%;max-width:none;margin:28px 0 44px;box-sizing:border-box}
:where(body:has(.product-editor-shell)) .pe-card{border:1px solid #d8ded9;border-radius:9px;background:#fff;padding:22px;margin:0 0 18px;box-sizing:border-box}
:where(body:has(.product-editor-shell)) .pe-card h1,
:where(body:has(.product-editor-shell)) .pe-card h2,
:where(body:has(.product-editor-shell)) .pe-card h3{margin-top:0}:where(body:has(.product-editor-shell)) .pe-card h2{margin-bottom:8px}:where(body:has(.product-editor-shell)) .pe-card p{color:#587078}
:where(body:has(.product-editor-shell)) .pe-search{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:10px;align-items:end}
:where(body:has(.product-editor-shell)) .pe-field{display:grid;gap:6px}:where(body:has(.product-editor-shell)) .pe-field label{font-weight:800}:where(body:has(.product-editor-shell)) .pe-field input,
:where(body:has(.product-editor-shell)) .pe-field select,
:where(body:has(.product-editor-shell)) .pe-field textarea{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid #cdd7d3;border-radius:6px;background:#fff;font:inherit}:where(body:has(.product-editor-shell)) .pe-field textarea{min-height:110px;resize:vertical}:where(body:has(.product-editor-shell)) .pe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}:where(body:has(.product-editor-shell)) .pe-span-2{grid-column:1/-1}
:where(body:has(.product-editor-shell)) .pe-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border-radius:7px;border:1px solid #cfd8dc;background:#fff;color:#13263c;font-weight:900;text-decoration:none;cursor:pointer}:where(body:has(.product-editor-shell)) .pe-button.orange{background:#ff834f;color:#fff;border-color:#ff834f}:where(body:has(.product-editor-shell)) .pe-button.navy{background:#1b283a;color:#fff;border-color:#1b283a}:where(body:has(.product-editor-shell)) .pe-button.danger{color:#a51616;border-color:#e4aaaa;background:#fff}:where(body:has(.product-editor-shell)) .pe-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
:where(body:has(.product-editor-shell)) .pe-success{border:1px solid #88c89c;border-left:4px solid #168a43;padding:14px 16px;border-radius:7px;background:#f4fbf6;margin-bottom:18px}:where(body:has(.product-editor-shell)) .pe-error{border:1px solid #e4a0a0;border-left:4px solid #b62222;padding:14px 16px;border-radius:7px;background:#fff5f5;margin-bottom:18px}:where(body:has(.product-editor-shell)) .pe-safety{border:1px solid #cbd9de;border-left:4px solid #7b97a1;padding:14px 16px;border-radius:7px;background:#fff;margin-bottom:18px}
:where(body:has(.product-editor-shell)) .pe-results{width:100%;border-collapse:collapse}:where(body:has(.product-editor-shell)) .pe-results th,
:where(body:has(.product-editor-shell)) .pe-results td{padding:10px 9px;border-bottom:1px solid #dde3df;text-align:left;vertical-align:middle}:where(body:has(.product-editor-shell)) .pe-results th{font-size:11px;text-transform:uppercase;color:#587078;background:#f6f8f7}:where(body:has(.product-editor-shell)) .pe-results td:last-child{text-align:right}:where(body:has(.product-editor-shell)) .pe-table-wrap{overflow-x:auto}
:where(body:has(.product-editor-shell)) .pe-repeat{display:grid;gap:10px}:where(body:has(.product-editor-shell)) .pe-row{display:grid;grid-template-columns:1fr 1fr 1fr 1.35fr .9fr auto;gap:8px;padding:10px;border:1px solid #dde3df;border-radius:8px;background:#fafcfb}:where(body:has(.product-editor-shell)) .pe-row input,
:where(body:has(.product-editor-shell)) .pe-row select{width:100%;min-height:42px;padding:9px 10px;border:1px solid #cdd7d3;border-radius:6px;box-sizing:border-box;font:inherit}:where(body:has(.product-editor-shell)) .pe-row.app{grid-template-columns:repeat(5,minmax(0,1fr));}:where(body:has(.product-editor-shell)) .pe-row.app .wide{grid-column:span 2}:where(body:has(.product-editor-shell)) .pe-row.kit{grid-template-columns:.55fr .9fr 1fr 1.3fr .9fr 1.2fr .9fr auto}
:where(body:has(.product-editor-shell)) .pe-image{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}:where(body:has(.product-editor-shell)) .pe-image img{max-width:220px;max-height:220px;object-fit:contain;border:1px solid #d7ddd3;border-radius:7px;padding:8px;background:#fff}:where(body:has(.product-editor-shell)) .pe-muted{color:#647b83;font-size:13px}:where(body:has(.product-editor-shell)) .pe-category-badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#eef2f1;font-size:11px;font-weight:900}:where(body:has(.product-editor-shell)) .pe-audit{font-size:13px}:where(body:has(.product-editor-shell)) .pe-audit li{margin-bottom:7px}:where(body:has(.product-editor-shell)) .pe-lock{padding:10px 12px;border-radius:6px;background:#f5f7f6;border:1px solid #dde3df;font-weight:800}
@media(max-width:920px){
:where(body:has(.product-editor-shell)) .product-editor-shell{width:calc(100% - 44px);max-width:none}:where(body:has(.product-editor-shell)) .pe-search{grid-template-columns:1fr 180px}:where(body:has(.product-editor-shell)) .pe-search .pe-search-button{grid-column:1/-1}:where(body:has(.product-editor-shell)) .pe-grid{grid-template-columns:1fr}:where(body:has(.product-editor-shell)) .pe-span-2{grid-column:auto}:where(body:has(.product-editor-shell)) .pe-row,
:where(body:has(.product-editor-shell)) .pe-row.kit{grid-template-columns:repeat(2,minmax(0,1fr))}:where(body:has(.product-editor-shell)) .pe-row.app{grid-template-columns:repeat(2,minmax(0,1fr))}:where(body:has(.product-editor-shell)) .pe-row .danger{grid-column:1/-1}:where(body:has(.product-editor-shell)) .pe-row.app .wide{grid-column:auto}
}
@media(max-width:620px){
:where(body:has(.product-editor-shell)) .product-editor-shell{width:calc(100% - 28px);margin-top:18px}:where(body:has(.product-editor-shell)) .pe-card{padding:17px}:where(body:has(.product-editor-shell)) .pe-search{grid-template-columns:1fr}:where(body:has(.product-editor-shell)) .pe-row,
:where(body:has(.product-editor-shell)) .pe-row.kit,
:where(body:has(.product-editor-shell)) .pe-row.app{grid-template-columns:1fr}:where(body:has(.product-editor-shell)) .pe-results th:nth-child(4),
:where(body:has(.product-editor-shell)) .pe-results td:nth-child(4),
:where(body:has(.product-editor-shell)) .pe-results th:nth-child(5),
:where(body:has(.product-editor-shell)) .pe-results td:nth-child(5){display:none}:where(body:has(.product-editor-shell)) .pe-button{width:100%}
}


/* ----------------------------------------------------------
   SOURCE: admin/product-ai-settings.php
   INLINE STYLE ID: terra-product-ai-settings-v2
   AUDITED REAL WRAPPER CLASS: product-ai-settings
   PAGE SCOPE: .product-ai-settings
   ORIGINAL CSS SHA256: 0073fa1022965219c90d61d2f652f5f946a0ec643dafe9dde58650cee4090205
---------------------------------------------------------- */
:where(body:has(.product-ai-settings)) .product-ai-settings{width:100%;max-width:none;margin:28px 0 44px;box-sizing:border-box}
:where(body:has(.product-ai-settings)) .product-ai-settings .card{margin-bottom:18px}
:where(body:has(.product-ai-settings)) .ai-setting-grid{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
:where(body:has(.product-ai-settings)) .ai-setting-grid input{width:100%;box-sizing:border-box}
:where(body:has(.product-ai-settings)) .ai-status{display:grid;gap:7px}
:where(body:has(.product-ai-settings)) .ai-success,
:where(body:has(.product-ai-settings)) .ai-error{margin:0 0 16px;padding:13px 15px;border-radius:7px}
:where(body:has(.product-ai-settings)) .ai-success{border:1px solid #9cc9aa;border-left:4px solid #238248}
:where(body:has(.product-ai-settings)) .ai-error{border:1px solid #e1aaa6;border-left:4px solid #b23830}
@media(max-width:700px){
:where(body:has(.product-ai-settings)) .ai-setting-grid{grid-template-columns:1fr}
}


/* ----------------------------------------------------------
   SOURCE: admin/product-ai-diagnostics.php
   INLINE STYLE ID: terra-ai-diagnostics-v212
   AUDITED REAL WRAPPER CLASS: ai-diag
   PAGE SCOPE: .ai-diag
   ORIGINAL CSS SHA256: dd7cce736c2d68e64a357a9d01fb2d006a2a1a99bbeddd599c8bcebd4a9cf252
---------------------------------------------------------- */
:where(body:has(.ai-diag)) .ai-diag{width:100%;max-width:none;margin:28px 0 44px;box-sizing:border-box}
:where(body:has(.ai-diag)) .ai-diag .card{margin-bottom:18px}
:where(body:has(.ai-diag)) .ai-diag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
:where(body:has(.ai-diag)) .ai-diag-row{padding:10px 12px;border:1px solid #d7ddd3;border-radius:7px;background:#fff}
:where(body:has(.ai-diag)) .ai-diag-row strong{display:block;margin-bottom:4px}
:where(body:has(.ai-diag)) .ai-diag pre{white-space:pre-wrap;word-break:break-word;margin:8px 0 0;padding:12px;background:#f7f9f8;border:1px solid #d7ddd3;border-radius:7px}
@media(max-width:700px){
:where(body:has(.ai-diag)) .ai-diag-grid{grid-template-columns:1fr}
}

/* ==========================================================
   terra-admin-product-family-final-styling-phase2h-final-v1-20260814

   TERRA ADMIN — PRODUCT FAMILY FINAL VISUAL SYSTEM

   This section REPLACES the Phase 2H V3 visual suffix. It is not an
   additional override layer.

   Scope:
   - Product Manager
   - Product Editor
   - AI Settings
   - AI Diagnostics

   Structural ownership remains with the shared 1120px Admin workspace.
   No Product-family page creates its own narrower inner canvas.
========================================================== */

/* ---------- Product-family tokens ---------- */
html body:has(.product-manager-shell),
html body:has(.product-editor-shell),
html body:has(.product-ai-settings),
html body:has(.ai-diag){
  --terra-pf-navy:#1b283a;
  --terra-pf-orange:#ff834f;
  --terra-pf-offwhite:#f8f7e5;
  --terra-pf-seagrey:#7b97a1;
  --terra-pf-border:#d8dee1;
  --terra-pf-border-strong:#c8d1d5;
  --terra-pf-soft:#f7fafb;
  --terra-pf-text:#1b283a;
  --terra-pf-muted:#5f747c;
  --terra-pf-green:#238248;
  --terra-pf-green-bg:#f3fbf5;
  --terra-pf-amber:#a86c12;
  --terra-pf-amber-bg:#fff9eb;
  --terra-pf-red:#b23830;
  --terra-pf-red-bg:#fff6f5;
  --terra-pf-radius:10px;
  --terra-pf-shadow:0 4px 14px rgba(27,40,58,.06);
}

/* ---------- one inherited Admin canvas ---------- */
:where(body:has(.product-manager-shell)) .product-manager-shell,
:where(body:has(.product-editor-shell)) .product-editor-shell,
:where(body:has(.product-ai-settings)) .product-ai-settings,
:where(body:has(.ai-diag)) .ai-diag{
  width:100%;
  max-width:none;
  margin:24px 0 44px;
  box-sizing:border-box;
}

/* ---------- hero / page-heading treatment ---------- */
:where(body:has(.product-manager-shell)) .product-manager-hero,
:where(body:has(.product-editor-shell)) .product-editor-shell > .pe-card:first-child,
:where(body:has(.product-ai-settings)) .product-ai-settings > .hero,
:where(body:has(.ai-diag)) .ai-diag > .hero{
  margin:0 0 18px;
  padding:22px 24px;
  box-sizing:border-box;
  border:1px solid var(--terra-pf-border);
  border-top:3px solid var(--terra-pf-orange);
  border-radius:var(--terra-pf-radius);
  background:#ffffff;
  box-shadow:var(--terra-pf-shadow);
}

:where(body:has(.product-manager-shell)) .product-manager-hero h1,
:where(body:has(.product-editor-shell)) .product-editor-shell > .pe-card:first-child h1,
:where(body:has(.product-ai-settings)) .product-ai-settings > .hero h1,
:where(body:has(.ai-diag)) .ai-diag > .hero h1{
  margin:0 0 7px;
  color:var(--terra-pf-navy);
  font-size:clamp(30px,3vw,42px);
  line-height:1.08;
}

:where(body:has(.product-manager-shell)) .product-manager-hero p:last-child,
:where(body:has(.product-editor-shell)) .product-editor-shell > .pe-card:first-child p:last-child,
:where(body:has(.product-ai-settings)) .product-ai-settings > .hero p:last-child,
:where(body:has(.ai-diag)) .ai-diag > .hero p:last-child{
  margin-bottom:0;
  color:var(--terra-pf-muted);
}

/* ---------- consistent cards ---------- */
:where(body:has(.product-manager-shell)) .pm-card,
:where(body:has(.product-editor-shell)) .pe-card,
:where(body:has(.product-ai-settings)) .product-ai-settings > .card,
:where(body:has(.ai-diag)) .ai-diag > .card{
  margin:0 0 18px;
  padding:22px 24px;
  box-sizing:border-box;
  border:1px solid var(--terra-pf-border);
  border-top-width:1px;
  border-radius:var(--terra-pf-radius);
  background:#ffffff;
  box-shadow:var(--terra-pf-shadow);
}

/* The Product Editor heading card is the hero and keeps its orange top. */
:where(body:has(.product-editor-shell)) .product-editor-shell > .pe-card:first-child{
  border-top:3px solid var(--terra-pf-orange);
}

/* Primary working modules get one restrained orange signal. */
:where(body:has(.product-manager-shell)) .pm-core-card,
:where(body:has(.product-manager-shell)) #pm-ai-import{
  border-top:3px solid var(--terra-pf-orange);
}

:where(body:has(.product-manager-shell)) .pm-card h2,
:where(body:has(.product-editor-shell)) .pe-card h2,
:where(body:has(.product-ai-settings)) .product-ai-settings > .card h2,
:where(body:has(.ai-diag)) .ai-diag > .card h2{
  margin-top:0;
  margin-bottom:8px;
  color:var(--terra-pf-navy);
}

:where(body:has(.product-manager-shell)) .eyebrow,
:where(body:has(.product-editor-shell)) .eyebrow,
:where(body:has(.product-ai-settings)) .eyebrow,
:where(body:has(.ai-diag)) .eyebrow{
  margin:0 0 5px;
  color:var(--terra-pf-orange);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}

/* ---------- forms / controls ---------- */
:where(body:has(.product-manager-shell)) .pm-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
:where(body:has(.product-manager-shell)) .pm-field select,
:where(body:has(.product-manager-shell)) .pm-field textarea,
:where(body:has(.product-editor-shell)) .pe-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
:where(body:has(.product-editor-shell)) .pe-field select,
:where(body:has(.product-editor-shell)) .pe-field textarea,
:where(body:has(.product-ai-settings)) .ai-setting-grid input{
  border-color:var(--terra-pf-border-strong);
  border-radius:7px;
  background:#ffffff;
  color:var(--terra-pf-text);
  box-shadow:none;
}

:where(body:has(.product-manager-shell)) .pm-field input:focus,
:where(body:has(.product-manager-shell)) .pm-field select:focus,
:where(body:has(.product-manager-shell)) .pm-field textarea:focus,
:where(body:has(.product-editor-shell)) .pe-field input:focus,
:where(body:has(.product-editor-shell)) .pe-field select:focus,
:where(body:has(.product-editor-shell)) .pe-field textarea:focus,
:where(body:has(.product-ai-settings)) .ai-setting-grid input:focus{
  outline:none;
  border-color:var(--terra-pf-orange);
  box-shadow:0 0 0 3px rgba(255,131,79,.14);
}

/* ---------- one file control for all Product-family uploads ---------- */
:where(body:has(.product-manager-shell)) #product_image,
:where(body:has(.product-manager-shell)) #pm_ai_pdf,
:where(body:has(.product-editor-shell)) #product_image{
  display:block;
  width:100%;
  min-height:46px;
  box-sizing:border-box;
  padding:0;
  border:1px solid var(--terra-pf-border-strong);
  border-radius:8px;
  background:#ffffff;
  color:var(--terra-pf-text);
  font:inherit;
  line-height:44px;
  overflow:hidden;
}

:where(body:has(.product-manager-shell)) #product_image::file-selector-button,
:where(body:has(.product-manager-shell)) #pm_ai_pdf::file-selector-button,
:where(body:has(.product-editor-shell)) #product_image::file-selector-button,
:where(body:has(.product-manager-shell)) #product_image::-webkit-file-upload-button,
:where(body:has(.product-manager-shell)) #pm_ai_pdf::-webkit-file-upload-button,
:where(body:has(.product-editor-shell)) #product_image::-webkit-file-upload-button{
  min-height:44px;
  margin:0 14px 0 0;
  padding:0 18px;
  border:0;
  border-right:1px solid var(--terra-pf-border-strong);
  border-radius:0;
  background:var(--terra-pf-navy);
  color:#ffffff;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

:where(body:has(.product-manager-shell)) #product_image::file-selector-button:hover,
:where(body:has(.product-manager-shell)) #pm_ai_pdf::file-selector-button:hover,
:where(body:has(.product-editor-shell)) #product_image::file-selector-button:hover,
:where(body:has(.product-manager-shell)) #product_image::-webkit-file-upload-button:hover,
:where(body:has(.product-manager-shell)) #pm_ai_pdf::-webkit-file-upload-button:hover,
:where(body:has(.product-editor-shell)) #product_image::-webkit-file-upload-button:hover{
  background:var(--terra-pf-orange);
  color:var(--terra-pf-navy);
}

/* ---------- Product Manager information / AI workflow ---------- */
:where(body:has(.product-manager-shell)) .pm-notice{
  margin:0 0 16px;
  padding:13px 15px;
  border:1px solid #d5dee1;
  border-left:4px solid var(--terra-pf-seagrey);
  border-radius:8px;
  background:var(--terra-pf-soft);
  color:var(--terra-pf-navy);
}

:where(body:has(.product-manager-shell)) .pm-success,
:where(body:has(.product-ai-settings)) .ai-success{
  margin:0 0 16px;
  padding:13px 15px;
  border:1px solid #b7d7c1;
  border-left:4px solid var(--terra-pf-green);
  border-radius:8px;
  background:var(--terra-pf-green-bg);
  color:#1f5f34;
}

:where(body:has(.product-manager-shell)) .pm-error,
:where(body:has(.product-ai-settings)) .ai-error{
  margin:0 0 16px;
  padding:13px 15px;
  border:1px solid #e1aaa6;
  border-left:4px solid var(--terra-pf-red);
  border-radius:8px;
  background:var(--terra-pf-red-bg);
  color:#752a24;
}

:where(body:has(.product-manager-shell)) .pm-ai-flow{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 16px;
  padding:10px;
  border:1px solid #d5dee1;
  border-radius:8px;
  background:var(--terra-pf-soft);
}

:where(body:has(.product-manager-shell)) .pm-ai-flow span,
:where(body:has(.product-manager-shell)) .pm-ai-flow span:nth-child(1),
:where(body:has(.product-manager-shell)) .pm-ai-flow span:nth-child(2),
:where(body:has(.product-manager-shell)) .pm-ai-flow span:nth-child(3),
:where(body:has(.product-manager-shell)) .pm-ai-flow span:nth-child(4){
  padding:7px 11px;
  border:1px solid #c6d3d7;
  border-radius:999px;
  background:#ffffff;
  color:var(--terra-pf-navy);
  font-weight:800;
  box-shadow:none;
}

/* ---------- Product Editor actions ---------- */
:where(body:has(.product-editor-shell)) .pe-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

:where(body:has(.product-editor-shell)) .pe-button{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:9px 15px;
  border:1px solid var(--terra-pf-navy);
  border-radius:7px;
  background:var(--terra-pf-navy);
  color:#ffffff;
  font:inherit;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
}

:where(body:has(.product-editor-shell)) .pe-button:hover{
  border-color:var(--terra-pf-orange);
  background:var(--terra-pf-orange);
  color:var(--terra-pf-navy);
}

:where(body:has(.product-editor-shell)) .pe-button.orange{
  border-color:var(--terra-pf-orange);
  background:var(--terra-pf-orange);
  color:var(--terra-pf-navy);
}

:where(body:has(.product-editor-shell)) .pe-button.orange:hover{
  border-color:var(--terra-pf-navy);
  background:var(--terra-pf-navy);
  color:#ffffff;
}

:where(body:has(.product-editor-shell)) .pe-button.danger{
  border-color:#d9aaa6;
  background:#ffffff;
  color:var(--terra-pf-red);
}

:where(body:has(.product-editor-shell)) .pe-button.danger:hover{
  border-color:var(--terra-pf-red);
  background:var(--terra-pf-red-bg);
  color:#8e2822;
}

/* ---------- AI Settings: compact semantic status panel ---------- */
:where(body:has(.product-ai-settings)) .ai-status{
  display:grid;
  gap:8px;
  padding:0;
  border:0;
  background:transparent;
}

:where(body:has(.product-ai-settings)) .ai-status-row{
  display:grid;
  grid-template-columns:minmax(150px,220px) minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:46px;
  padding:10px 13px;
  box-sizing:border-box;
  border:1px solid #d5dee1;
  border-left:4px solid var(--terra-pf-seagrey);
  border-radius:8px;
  background:var(--terra-pf-soft);
  color:var(--terra-pf-muted);
  box-shadow:none;
}

:where(body:has(.product-ai-settings)) .ai-status-row strong{
  color:var(--terra-pf-navy);
  font-weight:800;
}

:where(body:has(.product-ai-settings)) .ai-status-row.is-ok{
  border-color:#b7d7c1;
  border-left-color:var(--terra-pf-green);
  background:var(--terra-pf-green-bg);
  color:#28623a;
}

:where(body:has(.product-ai-settings)) .ai-status-row.is-warn{
  border-color:#ead59c;
  border-left-color:var(--terra-pf-amber);
  background:var(--terra-pf-amber-bg);
  color:#795013;
}

:where(body:has(.product-ai-settings)) .ai-remove-key-form{
  margin-top:14px;
}

:where(body:has(.product-ai-settings)) .button.danger{
  border:1px solid #d9aaa6;
  background:#ffffff;
  color:var(--terra-pf-red);
  box-shadow:none;
}

:where(body:has(.product-ai-settings)) .button.danger:hover{
  border-color:var(--terra-pf-red);
  background:var(--terra-pf-red-bg);
  color:#8e2822;
}

/* ---------- AI Diagnostics: readable two-column status grid ---------- */
:where(body:has(.ai-diag)) .ai-diag-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

:where(body:has(.ai-diag)) .ai-diag-row{
  min-height:64px;
  padding:11px 13px;
  box-sizing:border-box;
  border:1px solid #d5dee1;
  border-left:4px solid var(--terra-pf-seagrey);
  border-radius:8px;
  background:var(--terra-pf-soft);
  color:var(--terra-pf-muted);
  box-shadow:none;
}

:where(body:has(.ai-diag)) .ai-diag-row strong{
  display:block;
  margin-bottom:5px;
  color:var(--terra-pf-navy);
  font-weight:800;
}

:where(body:has(.ai-diag)) .ai-diag-row.is-ok{
  border-color:#b7d7c1;
  border-left-color:var(--terra-pf-green);
  background:var(--terra-pf-green-bg);
  color:#28623a;
}

:where(body:has(.ai-diag)) .ai-diag-row.is-warn{
  border-color:#ead59c;
  border-left-color:var(--terra-pf-amber);
  background:var(--terra-pf-amber-bg);
  color:#795013;
}

:where(body:has(.ai-diag)) .ai-diag-row.is-bad{
  border-color:#e1aaa6;
  border-left-color:var(--terra-pf-red);
  background:var(--terra-pf-red-bg);
  color:#8e2822;
}

:where(body:has(.ai-diag)) .ai-diag pre{
  margin:8px 0 0;
  padding:12px;
  border:1px solid #d5dee1;
  border-radius:8px;
  background:#f7f9f8;
  color:var(--terra-pf-navy);
  white-space:pre-wrap;
  word-break:break-word;
}

:where(body:has(.ai-diag)) .ai-diag-log{
  margin-bottom:14px;
}

/* ---------- responsive ---------- */
@media(max-width:760px){
  :where(body:has(.product-manager-shell)) .product-manager-hero,
  :where(body:has(.product-editor-shell)) .product-editor-shell > .pe-card:first-child,
  :where(body:has(.product-ai-settings)) .product-ai-settings > .hero,
  :where(body:has(.ai-diag)) .ai-diag > .hero,
  :where(body:has(.product-manager-shell)) .pm-card,
  :where(body:has(.product-editor-shell)) .pe-card,
  :where(body:has(.product-ai-settings)) .product-ai-settings > .card,
  :where(body:has(.ai-diag)) .ai-diag > .card{
    padding:18px;
  }

  :where(body:has(.product-ai-settings)) .ai-status-row{
    grid-template-columns:1fr;
    gap:3px;
    align-items:start;
  }

  :where(body:has(.ai-diag)) .ai-diag-grid{
    grid-template-columns:1fr;
  }

  :where(body:has(.product-editor-shell)) .pe-button{
    min-height:44px;
  }

  :where(body:has(.product-manager-shell)) #product_image::file-selector-button,
  :where(body:has(.product-manager-shell)) #pm_ai_pdf::file-selector-button,
  :where(body:has(.product-editor-shell)) #product_image::file-selector-button,
  :where(body:has(.product-manager-shell)) #product_image::-webkit-file-upload-button,
  :where(body:has(.product-manager-shell)) #pm_ai_pdf::-webkit-file-upload-button,
  :where(body:has(.product-editor-shell)) #product_image::-webkit-file-upload-button{
    padding-left:14px;
    padding-right:14px;
    margin-right:10px;
  }
}

/* ==========================================================
   terra-final-sitewide-design-system-phase2j-v1-20260814
   ADMIN — FINAL CANONICAL COMPONENT / DENSITY LAYER
========================================================== */
html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin) > main{
  width:min(var(--terra-content-max),calc(100% - 48px)) !important;
  max-width:var(--terra-content-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin) > main :is(
  .admin-insights-page,
  .product-manager-shell,
  .product-editor-shell,
  .product-ai-settings,
  .ai-diag,
  .terra-pricing-shell,
  .terra-pricing-import-shell,
  .resolver-shell,
  .pilot-shell,
  .snapshot-shell,
  .terra-marketing-shell,
  .wa-free-wrap,
  .whatsapp-integration-wrap,
  .admin-shell,
  .admin-page,
  .admin-container
){
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

html body:has(.terra-workspace-shell--admin) :is(
  .card,
  .upload-card,
  .wa-free-card
){
  border-color:var(--terra-line) !important;
  border-radius:var(--terra-radius) !important;
  box-shadow:var(--terra-shadow) !important;
}

html body:has(.terra-workspace-shell--admin) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
  select,
  textarea
){
  min-height:var(--terra-control-height) !important;
  border-radius:7px !important;
  box-sizing:border-box !important;
}

html body:has(.terra-workspace-shell--admin) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
  select,
  textarea
):focus{
  border-color:var(--terra-orange) !important;
}

html body:has(.terra-workspace-shell--admin) :is(
  button,
  .button-link,
  .small-button,
  .pm-button,
  .pe-button,
  .pm-page-button,
  .terra-workspace-collapse-button,
  .terra-p2j-page-button
){
  min-height:42px !important;
  border-radius:7px !important;
  font-weight:900 !important;
  box-sizing:border-box !important;
}

html body:has(.terra-workspace-shell--admin) :is(
  .pe-actions,
  .pm-actions,
  .wa-free-actions,
  .admin-heading-actions
){
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px !important;
}

/* One Admin-wide file control, including catalogue workbook + image/PDF inputs. */
html body:has(.terra-workspace-shell--admin) input[type="file"]{
  display:block !important;
  width:100% !important;
  min-height:46px !important;
  padding:0 !important;
  border:1px solid var(--terra-line-strong) !important;
  border-radius:8px !important;
  background:#fff !important;
  color:var(--terra-navy) !important;
  font:inherit !important;
  line-height:44px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

html body:has(.terra-workspace-shell--admin) input[type="file"]::file-selector-button,
html body:has(.terra-workspace-shell--admin) input[type="file"]::-webkit-file-upload-button{
  min-height:44px !important;
  margin:0 14px 0 0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-right:1px solid var(--terra-line-strong) !important;
  background:var(--terra-navy) !important;
  color:#fff !important;
  font:inherit !important;
  font-weight:900 !important;
  cursor:pointer !important;
}

html body:has(.terra-workspace-shell--admin) input[type="file"]::file-selector-button:hover,
html body:has(.terra-workspace-shell--admin) input[type="file"]::-webkit-file-upload-button:hover{
  background:var(--terra-orange) !important;
  color:var(--terra-navy) !important;
}

html body:has(.terra-workspace-shell--admin) .upload-card{
  padding:22px 24px !important;
  border-top:3px solid var(--terra-orange) !important;
  background:#fff !important;
}

html body:has(.terra-workspace-shell--admin) .upload-form{
  display:grid !important;
  gap:10px !important;
  max-width:760px !important;
}

html body:has(.terra-workspace-shell--admin) .upload-form > button{
  justify-self:start !important;
  min-height:44px !important;
}

html body:has(.terra-workspace-shell--admin) .table-scroll,
html body:has(.terra-workspace-shell--admin) :is(.pe-table-wrap,.snapshot-table-wrap){
  border:1px solid var(--terra-line) !important;
  border-radius:8px !important;
  overflow:auto !important;
}

html body:has(.terra-workspace-shell--admin) table th{
  background:var(--terra-soft) !important;
  color:var(--terra-muted) !important;
}

/* Existing shared Show/Hide control becomes the one compact dropdown control. */
html body:has(.terra-workspace-shell--admin) .terra-workspace-collapsible{
  position:relative !important;
}

html body:has(.terra-workspace-shell--admin) .terra-workspace-collapsible > .terra-workspace-card-subtitle{
  display:block !important;
  margin:2px 0 9px !important;
  color:var(--terra-muted) !important;
  font-size:11px !important;
}

html body:has(.terra-workspace-shell--admin) .terra-workspace-collapse-button{
  min-width:72px !important;
  padding:8px 13px !important;
  border:1px solid var(--terra-navy) !important;
  background:var(--terra-navy) !important;
  color:#fff !important;
  cursor:pointer !important;
}

html body:has(.terra-workspace-shell--admin) .terra-workspace-collapse-button:hover,
html body:has(.terra-workspace-shell--admin) .terra-workspace-collapse-button:focus-visible{
  border-color:var(--terra-orange) !important;
  background:var(--terra-orange) !important;
  color:var(--terra-navy) !important;
}

/* Client-side five-row pager. No query or database changes. */
html body:has(.terra-workspace-shell--admin) .terra-p2j-pager{
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  gap:12px !important;
  align-items:center !important;
  margin-top:12px !important;
  padding-top:12px !important;
  border-top:1px solid var(--terra-line) !important;
}

html body:has(.terra-workspace-shell--admin) .terra-p2j-page-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:96px !important;
  padding:9px 13px !important;
  border:1px solid var(--terra-navy) !important;
  background:var(--terra-navy) !important;
  color:#fff !important;
  cursor:pointer !important;
}

html body:has(.terra-workspace-shell--admin) .terra-p2j-page-button:hover:not(:disabled){
  border-color:var(--terra-orange) !important;
  background:var(--terra-orange) !important;
  color:var(--terra-navy) !important;
}

html body:has(.terra-workspace-shell--admin) .terra-p2j-page-button:disabled{
  opacity:.38 !important;
  cursor:not-allowed !important;
}

html body:has(.terra-workspace-shell--admin) .terra-p2j-page-status{
  color:var(--terra-muted) !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-align:center !important;
}

/* Product Editor: recent products stays compact and uses the same dropdown language. */
:where(body:has(.product-editor-shell)) .pe-card.terra-p2j-recent-products{
  padding:18px !important;
  border:1px solid var(--terra-line) !important;
  border-radius:var(--terra-radius) !important;
  background:#fff !important;
  box-shadow:var(--terra-shadow) !important;
}

:where(body:has(.product-editor-shell)) .pe-card.terra-p2j-recent-products .pe-table-wrap{
  margin-top:12px !important;
}

/* Quote snapshots: semantic KPI cards, live-status panel, compact rows. */
:where(body:has(.snapshot-shell)) .snapshot-shell{
  margin-top:24px !important;
}

:where(body:has(.snapshot-shell)) .snapshot-hero{
  margin:0 0 18px !important;
  padding:22px 24px !important;
  border:1px solid var(--terra-line) !important;
  border-top:3px solid var(--terra-orange) !important;
  border-radius:var(--terra-radius) !important;
  background:#fff !important;
  box-shadow:var(--terra-shadow) !important;
}

:where(body:has(.snapshot-shell)) .snapshot-warning{
  margin:0 0 18px !important;
  padding:14px 16px !important;
  border:1px solid #e7c879 !important;
  border-left:4px solid var(--terra-warning) !important;
  border-radius:8px !important;
  background:var(--terra-soft-amber) !important;
  color:#5d480b !important;
}

:where(body:has(.snapshot-shell)) .snapshot-warning.terra-p2j-live-ok{
  border-color:#a8d4b4 !important;
  border-left-color:var(--terra-positive) !important;
  background:var(--terra-soft-green) !important;
  color:#165d32 !important;
}

:where(body:has(.snapshot-shell)) .snapshot-kpis{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:0 0 18px !important;
}

:where(body:has(.snapshot-shell)) .snapshot-kpi{
  position:relative !important;
  min-height:116px !important;
  padding:18px !important;
  border:1px solid var(--terra-line) !important;
  border-radius:var(--terra-radius) !important;
  background:#fff !important;
  box-shadow:var(--terra-shadow) !important;
  overflow:hidden !important;
}

:where(body:has(.snapshot-shell)) .snapshot-kpi::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  right:0 !important;
  height:4px !important;
  background:var(--terra-sea) !important;
}

:where(body:has(.snapshot-shell)) .snapshot-kpi:nth-child(2){background:var(--terra-soft-orange) !important;}
:where(body:has(.snapshot-shell)) .snapshot-kpi:nth-child(2)::before{background:var(--terra-orange) !important;}
:where(body:has(.snapshot-shell)) .snapshot-kpi:nth-child(3){background:var(--terra-soft-green) !important;}
:where(body:has(.snapshot-shell)) .snapshot-kpi:nth-child(3)::before{background:var(--terra-positive) !important;}
:where(body:has(.snapshot-shell)) .snapshot-kpi:nth-child(4){background:var(--terra-soft-amber) !important;}
:where(body:has(.snapshot-shell)) .snapshot-kpi:nth-child(4)::before{background:var(--terra-warning) !important;}

:where(body:has(.snapshot-shell)) .snapshot-kpi small{
  display:block !important;
  color:var(--terra-muted) !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}

:where(body:has(.snapshot-shell)) .snapshot-kpi strong{
  display:block !important;
  margin-top:9px !important;
  color:var(--terra-navy) !important;
  font-size:30px !important;
  line-height:1 !important;
}

:where(body:has(.snapshot-shell)) .snapshot-card{
  padding:18px !important;
  border:1px solid var(--terra-line) !important;
  border-radius:var(--terra-radius) !important;
  background:#fff !important;
  box-shadow:var(--terra-shadow) !important;
}

:where(body:has(.snapshot-shell)) .snapshot-table-wrap{
  max-height:430px !important;
}

:where(body:has(.snapshot-shell)) .snapshot-table thead th{
  position:sticky !important;
  top:0 !important;
  z-index:2 !important;
  background:var(--terra-soft) !important;
}

/* Insights: full-width stacked reports + restrained semantic KPI colour. */
body.terra-admin-v2.terra-admin-page-insights .admin-insights-page,
body:has(.admin-insights-page) .admin-insights-page{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:24px 0 44px !important;
  padding:0 !important;
}

body.terra-admin-v2.terra-admin-page-insights .admin-insights-hero,
body:has(.admin-insights-page) .admin-insights-hero{
  margin:0 0 18px !important;
  padding:22px 24px !important;
  border:1px solid var(--terra-line) !important;
  border-top:3px solid var(--terra-orange) !important;
  border-radius:var(--terra-radius) !important;
  background:#fff !important;
  box-shadow:var(--terra-shadow) !important;
}

body:has(.admin-insights-page) .insights-controls{
  margin:0 0 18px !important;
  padding:18px !important;
  border:1px solid var(--terra-line) !important;
  border-radius:var(--terra-radius) !important;
  background:var(--terra-soft) !important;
}

body:has(.admin-insights-page) .insights-metric-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:0 0 18px !important;
}

body:has(.admin-insights-page) .insights-metric{
  position:relative !important;
  min-height:126px !important;
  margin:0 !important;
  padding:18px !important;
  border:1px solid var(--terra-line) !important;
  border-radius:var(--terra-radius) !important;
  background:#fff !important;
  box-shadow:var(--terra-shadow) !important;
  overflow:hidden !important;
}

body:has(.admin-insights-page) .insights-metric::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  height:4px !important;
  background:var(--terra-sea) !important;
}

body:has(.admin-insights-page) .insights-metric:nth-child(4n+2){background:var(--terra-soft-orange) !important;}
body:has(.admin-insights-page) .insights-metric:nth-child(4n+2)::before{background:var(--terra-orange) !important;}
body:has(.admin-insights-page) .insights-metric:nth-child(4n+3){background:var(--terra-soft-amber) !important;}
body:has(.admin-insights-page) .insights-metric:nth-child(4n+3)::before{background:var(--terra-warning) !important;}
body:has(.admin-insights-page) .insights-metric:nth-child(4n+4){background:#f2f7f8 !important;}
body:has(.admin-insights-page) .insights-metric:nth-child(4n+4)::before{background:var(--terra-navy) !important;}
body:has(.admin-insights-page) .insights-metric.warning{border-color:#efd28d !important;background:var(--terra-soft-amber) !important;}

body:has(.admin-insights-page) .insights-metric span{
  color:var(--terra-muted) !important;
  font-size:11px !important;
  font-weight:900 !important;
}

body:has(.admin-insights-page) .insights-metric strong{
  margin:8px 0 5px !important;
  color:var(--terra-navy) !important;
  font-size:30px !important;
}

body:has(.admin-insights-page) .insights-two-column{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:16px !important;
  margin:0 0 16px !important;
}

body:has(.admin-insights-page) .insights-two-column > .card,
body:has(.admin-insights-page) .terra-p2j-insights-data-card{
  width:100% !important;
  margin:0 !important;
  padding:18px !important;
  border:1px solid var(--terra-line) !important;
  border-radius:var(--terra-radius) !important;
  background:#fff !important;
  box-shadow:var(--terra-shadow) !important;
}

body:has(.admin-insights-page) .terra-p2j-insights-data-card .section-heading{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
}

body:has(.admin-insights-page) .terra-p2j-insights-data-card .table-scroll{
  max-height:430px !important;
  margin-top:12px !important;
}

body:has(.admin-insights-page) .terra-p2j-insights-data-card table{
  width:100% !important;
  border-collapse:collapse !important;
}

body:has(.admin-insights-page) .terra-p2j-insights-data-card thead th{
  position:sticky !important;
  top:0 !important;
  z-index:2 !important;
  background:var(--terra-soft) !important;
}

/* Dashboard/reference pages: small consistency pass only. */
body.terra-admin-v2 .admin-steps{
  gap:16px !important;
}

body.terra-admin-v2 .admin-steps > article{
  border:1px solid var(--terra-line) !important;
  border-radius:var(--terra-radius) !important;
  background:#fff !important;
  box-shadow:var(--terra-shadow) !important;
}

body.terra-admin-v2 .admin-steps > article > span{
  background:var(--terra-orange) !important;
  color:#fff !important;
}

@media(max-width:1024px){
  html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin) > main{
    width:calc(100% - 44px) !important;
  }

  :where(body:has(.snapshot-shell)) .snapshot-kpis,
  body:has(.admin-insights-page) .insights-metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:620px){
  html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin) > main{
    width:calc(100% - 28px) !important;
  }

  :where(body:has(.snapshot-shell)) .snapshot-kpis,
  body:has(.admin-insights-page) .insights-metric-grid{
    grid-template-columns:1fr !important;
  }

  html body:has(.terra-workspace-shell--admin) .terra-p2j-pager{
    grid-template-columns:1fr 1fr !important;
  }

  html body:has(.terra-workspace-shell--admin) .terra-p2j-page-status{
    grid-column:1/-1 !important;
    grid-row:1 !important;
  }

  html body:has(.terra-workspace-shell--admin) .terra-p2j-page-button{
    width:100% !important;
    min-width:0 !important;
  }

  html body:has(.terra-workspace-shell--admin) .upload-form > button{
    width:100% !important;
  }
}




/* ==========================================================
   terra-admin-staff-access-phase2n-v1-2-2-20260819
   ADMIN STAFF ACCESS + PERMISSIONS — SOLE PAGE OWNER
========================================================== */
html body:has(.terra-workspace-shell--admin) .terra-staff-page{
  width:100%;
  max-width:none;
  margin:0 0 44px;
  box-sizing:border-box;
  color:#1b283a;
}
.terra-staff-page,
.terra-staff-page *{box-sizing:border-box}

.terra-staff-page .terra-staff-hero,
.terra-staff-page .terra-staff-card,
.terra-staff-page .terra-staff-directory{
  width:100%;
  margin:0 0 18px;
  padding:22px;
  border:1px solid #d8e0e2;
  border-top:3px solid #ff834f;
  border-radius:10px;
  background:#fff;
  box-shadow:0 4px 14px rgba(27,40,58,.06);
}

.terra-staff-page .terra-staff-hero .eyebrow,
.terra-staff-page .terra-staff-card .eyebrow,
.terra-staff-page .terra-staff-directory .eyebrow{
  margin:0 0 5px;
  color:#ff834f;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}

.terra-staff-page .terra-staff-hero h1{
  margin:0 0 7px;
  color:#1b283a;
  font-size:clamp(30px,3vw,42px);
}

.terra-staff-page .terra-staff-hero p:last-child,
.terra-staff-page .terra-staff-muted{
  margin:0;
  color:#60757d;
}

.terra-staff-page .terra-staff-notice,
.terra-staff-page .terra-staff-message{
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid #d5dee1;
  border-left:4px solid #7b97a1;
  border-radius:8px;
  background:#f7fafb;
  color:#1b283a;
  line-height:1.5;
}

.terra-staff-page .terra-staff-notice--info{
  border-left-color:#1b283a;
  background:#f8f7e5;
}

.terra-staff-page .terra-staff-message--success{
  border-color:#9cc9aa;
  border-left-color:#238248;
  background:#f3fbf5;
  color:#173f25;
}
.terra-staff-page .terra-staff-message--warning,
.terra-staff-page .terra-staff-notice--warning{
  border-color:#e7ca87;
  border-left-color:#b77900;
  background:#fff8e8;
  color:#624b0c;
}
.terra-staff-page .terra-staff-message--error{
  border-color:#e1aaa6;
  border-left-color:#b23830;
  background:#fff6f5;
  color:#67241f;
}

.terra-staff-page h2{
  margin:0 0 6px;
  color:#1b283a;
  font-size:24px;
}

.terra-staff-page .terra-staff-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
  margin-top:18px;
}

.terra-staff-page label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:#1b283a;
  font-size:13px;
  font-weight:800;
}

.terra-staff-page label small,
.terra-staff-page .terra-staff-role-explainer span,
.terra-staff-page .terra-staff-super-admin-panel span{
  color:#60757d;
  font-size:12px;
  font-weight:500;
  line-height:1.4;
}

.terra-staff-page input[type="text"],
.terra-staff-page input[type="email"],
.terra-staff-page select{
  width:100%;
  min-height:46px;
  margin:0;
  padding:0 13px;
  border:1px solid #cdd7d3;
  border-radius:8px;
  background:#fff;
  color:#1b283a;
  font:inherit;
  font-weight:600;
  outline:none;
}

.terra-staff-page input:focus,
.terra-staff-page select:focus{
  border-color:#ff834f;
  box-shadow:0 0 0 3px rgba(255,131,79,.14);
}

.terra-staff-page .terra-staff-permission-fieldset{
  margin:22px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

.terra-staff-page .terra-staff-permission-fieldset legend{
  display:block;
  width:100%;
  margin:0;
  padding:14px 0 10px;
  border:0;
  border-top:3px solid #ff834f;
  border-radius:0;
  background:transparent;
  color:#1b283a;
  font-size:18px;
  font-weight:900;
  line-height:1.25;
}

.terra-staff-page .terra-staff-permission-fieldset > p{
  margin:0 0 14px;
  padding:0;
  color:#60757d;
  font-size:13px;
  line-height:1.45;
}

.terra-staff-page .terra-staff-permission-fieldset.is-role-inactive{
  opacity:.58;
}

.terra-staff-page .terra-staff-permission-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.terra-staff-page .terra-staff-permission-option{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:start;
  gap:11px;
  min-height:96px;
  padding:15px 16px;
  border:1px solid #d8e0e2;
  border-top:3px solid #7b97a1;
  border-radius:9px;
  background:#fff;
  cursor:pointer;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease;
}

.terra-staff-page .terra-staff-permission-option:hover{
  border-color:#b9c9cf;
  border-top-color:#1b283a;
  background:#fafcfc;
}

.terra-staff-page .terra-staff-permission-option:has(input:checked){
  border-color:#cfdadd;
  border-top-color:#ff834f;
  background:#fffaf7;
  box-shadow:0 3px 10px rgba(27,40,58,.05);
}

.terra-staff-page .terra-staff-permission-option input{
  width:18px;
  height:18px;
  margin:1px 0 0;
  accent-color:#1b283a;
}

.terra-staff-page .terra-staff-permission-option > span{
  display:grid;
  gap:5px;
}

.terra-staff-page .terra-staff-permission-option strong{
  color:#1b283a;
  font-size:13px;
  line-height:1.3;
}

.terra-staff-page .terra-staff-permission-option small{
  color:#60757d;
  font-size:12px;
  font-weight:500;
  line-height:1.45;
}

.terra-staff-page .terra-staff-super-warning{
  margin:14px 0 0;
  padding:12px 14px;
  border:1px solid #ffd0bd;
  border-left:4px solid #ff834f;
  border-radius:8px;
  background:#fff8f4;
  color:#526770;
  font-size:12px;
  line-height:1.5;
}

.terra-staff-page .terra-staff-super-warning strong{
  color:#1b283a;
}

.terra-staff-page .terra-staff-form-actions,
.terra-staff-page .terra-staff-permission-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #e0e6e7;
}

.terra-staff-page .terra-staff-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 17px;
  border:1px solid transparent;
  border-radius:8px;
  font:inherit;
  font-size:13px;
  font-weight:850;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
  transition:
    background-color .16s ease,
    border-color .16s ease,
    color .16s ease,
    box-shadow .16s ease;
  transform:none!important;
}

.terra-staff-page .terra-staff-button--primary{
  background:#ff834f;
  border-color:#ff834f;
  color:#fff;
}
.terra-staff-page .terra-staff-button--primary:hover,
.terra-staff-page .terra-staff-button--primary:focus-visible{
  background:#1b283a;
  border-color:#1b283a;
  color:#fff;
}

.terra-staff-page .terra-staff-button--secondary{
  background:#1b283a;
  border-color:#1b283a;
  color:#fff;
}
.terra-staff-page .terra-staff-button--secondary:hover,
.terra-staff-page .terra-staff-button--secondary:focus-visible{
  background:#ff834f;
  border-color:#ff834f;
  color:#fff;
}

.terra-staff-page .terra-staff-button--danger{
  background:#fff;
  border-color:#b23830;
  color:#8e2822;
}
.terra-staff-page .terra-staff-button--danger:hover,
.terra-staff-page .terra-staff-button--danger:focus-visible{
  background:#fff3f1;
  border-color:#8e2822;
  color:#67241f;
}

.terra-staff-page .terra-staff-section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:0 0 18px;
}

.terra-staff-page .terra-staff-count{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#f2f6f7;
  color:#526770;
  font-size:12px;
  font-weight:800;
}

.terra-staff-page .terra-staff-list{
  display:grid;
  gap:14px;
}

.terra-staff-page .terra-staff-member{
  overflow:hidden;
  border:1px solid #d8e0e2;
  border-radius:10px;
  background:#fff;
}

.terra-staff-page .terra-staff-member.is-super-admin{
  border-left:4px solid #ff834f;
}

.terra-staff-page .terra-staff-member-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:17px 18px;
  background:#f8fafb;
}

.terra-staff-page .terra-staff-name-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.terra-staff-page .terra-staff-name-row h3{
  margin:0;
  color:#1b283a;
  font-size:18px;
}

.terra-staff-page .terra-staff-member-header p{
  margin:7px 0 0;
  color:#60757d;
  font-size:13px;
}

.terra-staff-page .terra-staff-role,
.terra-staff-page .terra-staff-status,
.terra-staff-page .terra-staff-current{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:0 9px;
  border:1px solid #cad7db;
  border-radius:999px;
  background:#fff;
  color:#526770;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.terra-staff-page .terra-staff-role{
  border-color:#ffd0bd;
  background:#fff6f1;
  color:#9a4a28;
}

.terra-staff-page .terra-staff-current{
  border-color:#1b283a;
  background:#1b283a;
  color:#fff;
}

.terra-staff-page .terra-staff-status--active{
  border-color:#9cc9aa;
  background:#f3fbf5;
  color:#176b38;
}
.terra-staff-page .terra-staff-status--setup_pending{
  border-color:#e7ca87;
  background:#fff8e8;
  color:#7c5a00;
}
.terra-staff-page .terra-staff-status--inactive{
  border-color:#cbd5d8;
  background:#f2f5f5;
  color:#617178;
}

.terra-staff-page .terra-staff-login-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  min-width:150px;
  color:#60757d;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.terra-staff-page .terra-staff-login-meta strong{
  color:#1b283a;
  font-size:12px;
  text-transform:none;
  letter-spacing:0;
}

.terra-staff-page .terra-staff-member-body{
  padding:18px;
}

.terra-staff-page .terra-staff-identity-form{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(190px,.8fr) minmax(0,1.2fr) 150px!important;
  align-items:end!important;
  gap:12px!important;
  margin:0 0 16px!important;
  padding:16px!important;
  border:1px solid #e0e6e7!important;
  border-radius:9px!important;
  background:#fff!important;
}

.terra-staff-page .terra-staff-identity-form > label{
  display:grid!important;
  grid-template-rows:18px 46px!important;
  align-content:end!important;
  align-self:end!important;
  gap:7px!important;
  margin:0!important;
}

.terra-staff-page .terra-staff-identity-form > label > input{
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
}

.terra-staff-page .terra-staff-identity-form > .terra-staff-button{
  align-self:end!important;
  width:150px!important;
  min-width:150px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  margin:0!important;
  padding:0 16px!important;
}

.terra-staff-page .terra-staff-role-row{
  display:grid!important;
  grid-template-columns:minmax(390px,500px) minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:12px!important;
  margin:0 0 16px!important;
}

.terra-staff-page .terra-staff-role-form{
  display:grid!important;
  grid-template-columns:minmax(230px,1fr) 150px!important;
  align-items:end!important;
  gap:10px!important;
  margin:0!important;
}

.terra-staff-page .terra-staff-role-form > label{
  display:grid!important;
  grid-template-rows:18px 46px!important;
  align-content:end!important;
  align-self:end!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
}

.terra-staff-page .terra-staff-role-form > label > select{
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
}

.terra-staff-page .terra-staff-role-form > .terra-staff-button{
  align-self:end!important;
  width:150px!important;
  min-width:150px!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  margin:0!important;
  padding:0 16px!important;
}

.terra-staff-page .terra-staff-role-explainer{
  display:grid!important;
  align-content:center!important;
  gap:4px!important;
  min-height:71px!important;
  margin:0!important;
  padding:12px 15px!important;
  border:1px solid #d8e0e2!important;
  border-top:3px solid #7b97a1!important;
  border-radius:9px!important;
  background:#f7f9f9!important;
}

.terra-staff-page .terra-staff-role-explainer strong{
  color:#1b283a;
}

.terra-staff-page .terra-staff-permission-editor{
  margin:0 0 16px!important;
  padding:16px!important;
  border:1px solid #d8e0e2!important;
  border-top:3px solid #ff834f!important;
  border-radius:10px!important;
  background:#fff!important;
}

.terra-staff-page .terra-staff-permission-editor-heading{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}

.terra-staff-page .terra-staff-permission-editor-heading > div{
  display:grid;
  gap:4px;
}

.terra-staff-page .terra-staff-permission-editor-heading span{
  color:#60757d;
  font-size:12px;
}

.terra-staff-page .terra-staff-account-actions,
.terra-staff-page .terra-staff-super-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
}

.terra-staff-page .terra-staff-account-actions{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid #e0e6e7;
}

.terra-staff-page .terra-staff-account-actions .terra-staff-button,
.terra-staff-page .terra-staff-super-actions .terra-staff-button{
  min-width:150px;
}

.terra-staff-page .terra-staff-account-actions form,
.terra-staff-page .terra-staff-super-actions form{
  margin:0;
}

.terra-staff-page .terra-staff-protected{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 18px;
  border-top:1px solid #e1e7e8;
  background:#fffaf7;
  color:#60757d;
  font-size:13px;
}

.terra-staff-page .terra-staff-protected strong{
  color:#1b283a;
}

.terra-staff-page .terra-staff-super-admin-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 16px;
  border:1px solid #ffd0bd;
  border-top:3px solid #ff834f;
  border-radius:9px;
  background:#fff9f5;
}

.terra-staff-page .terra-staff-super-admin-panel > div:first-child{
  display:grid;
  gap:5px;
}

.terra-admin-access-hidden{
  display:none!important;
}

.terra-super-admin-staff-shortcut{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  margin-top:14px;
  padding:0 14px;
  border:1px solid #1b283a;
  border-radius:8px;
  background:#1b283a;
  color:#fff!important;
  font-size:13px;
  font-weight:850;
  text-decoration:none!important;
}

.terra-super-admin-staff-shortcut:hover,
.terra-super-admin-staff-shortcut:focus-visible{
  border-color:#ff834f;
  background:#ff834f;
  color:#fff!important;
}

@media(max-width:920px){
  .terra-staff-page .terra-staff-identity-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .terra-staff-page .terra-staff-role-row{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .terra-staff-page .terra-staff-form-grid,
  .terra-staff-page .terra-staff-identity-form,
  .terra-staff-page .terra-staff-permission-grid{
    grid-template-columns:1fr;
  }

  .terra-staff-page .terra-staff-form-actions,
  .terra-staff-page .terra-staff-form-actions .terra-staff-button,
  .terra-staff-page .terra-staff-permission-actions,
  .terra-staff-page .terra-staff-permission-actions .terra-staff-button{
    width:100%;
  }

  .terra-staff-page .terra-staff-member-header,
  .terra-staff-page .terra-staff-protected,
  .terra-staff-page .terra-staff-super-admin-panel{
    flex-direction:column;
    align-items:flex-start;
  }

  .terra-staff-page .terra-staff-login-meta{
    align-items:flex-start;
  }

  .terra-staff-page .terra-staff-role-form{
    display:grid;
    width:100%;
  }

  .terra-staff-page .terra-staff-account-actions,
  .terra-staff-page .terra-staff-account-actions form,
  .terra-staff-page .terra-staff-account-actions .terra-staff-button,
  .terra-staff-page .terra-staff-super-actions,
  .terra-staff-page .terra-staff-super-actions form,
  .terra-staff-page .terra-staff-super-actions .terra-staff-button{
    width:100%;
  }
}

/* Final V1.2.1 action geometry / spacing */
.terra-staff-page .terra-staff-create-card .terra-staff-form-actions
  .terra-staff-button{
  min-width:250px;
}

.terra-staff-page .terra-staff-permission-actions
  .terra-staff-button{
  min-width:160px;
}

.terra-staff-page .terra-staff-member-body{
  display:grid;
  gap:0;
}

.terra-staff-page .terra-staff-member-body
  > :last-child{
  margin-bottom:0;
}

.terra-staff-page .terra-staff-member-header{
  border-bottom:1px solid #e4eaeb;
}

.terra-staff-page .terra-staff-directory{
  padding-bottom:24px;
}

@media(max-width:920px){
  .terra-staff-page .terra-staff-identity-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .terra-staff-page .terra-staff-identity-form > .terra-staff-button,
  .terra-staff-page .terra-staff-role-form > .terra-staff-button{
    width:100%;
    min-width:0;
  }

  .terra-staff-page .terra-staff-role-form{
    grid-template-columns:minmax(0,1fr) 150px;
  }
}

@media(max-width:720px){
  .terra-staff-page .terra-staff-role-form{
    grid-template-columns:1fr;
  }

  .terra-staff-page .terra-staff-create-card .terra-staff-form-actions
    .terra-staff-button,
  .terra-staff-page .terra-staff-permission-actions
    .terra-staff-button{
    width:100%;
    min-width:0;
  }

  .terra-staff-page .terra-staff-account-actions{
    justify-content:stretch;
  }
}

/* Phase 2N V1.2.2 exact action alignment */
.terra-staff-page .terra-staff-form-actions,
.terra-staff-page .terra-staff-permission-actions,
.terra-staff-page .terra-staff-account-actions{
  min-height:62px!important;
}

.terra-staff-page .terra-staff-form-actions .terra-staff-button,
.terra-staff-page .terra-staff-permission-actions .terra-staff-button,
.terra-staff-page .terra-staff-account-actions .terra-staff-button{
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  margin:0!important;
  transform:none!important;
}

.terra-staff-page .terra-staff-permission-actions,
.terra-staff-page .terra-staff-account-actions{
  justify-content:flex-end!important;
}

@media(max-width:920px){
  .terra-staff-page .terra-staff-identity-form{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .terra-staff-page .terra-staff-identity-form > .terra-staff-button{
    width:100%!important;
    min-width:0!important;
  }

  .terra-staff-page .terra-staff-role-row{
    grid-template-columns:1fr!important;
  }

  .terra-staff-page .terra-staff-role-form{
    grid-template-columns:minmax(0,1fr) 150px!important;
  }
}

@media(max-width:720px){
  .terra-staff-page .terra-staff-permission-grid{
    grid-template-columns:1fr!important;
  }

  .terra-staff-page .terra-staff-role-form{
    grid-template-columns:1fr!important;
  }

  .terra-staff-page .terra-staff-role-form > .terra-staff-button,
  .terra-staff-page .terra-staff-form-actions .terra-staff-button,
  .terra-staff-page .terra-staff-permission-actions .terra-staff-button,
  .terra-staff-page .terra-staff-account-actions .terra-staff-button{
    width:100%!important;
    min-width:0!important;
  }
}

/* ==========================================================
   terra-toyota-admin-research-verify-publish-phase2w-v2-3-20260820
   TOYOTA ADMIN — MANUAL RESEARCH / VERIFY / PUBLISH
========================================================== */

html body:has(.terra-workspace-shell--admin):has(.terra-workspace-nav--admin)
> main.container > .toyota-admin-shell{
  width:100% !important;
  max-width:none !important;
  margin:28px 0 44px !important;
  box-sizing:border-box !important;
}

:where(body:has(.toyota-admin-shell)) .ta-card,
:where(body:has(.toyota-admin-shell)) .ta-hero{
  box-sizing:border-box;
  border:1px solid var(--terra-line,#d8e0e2);
  border-radius:10px;
  background:#fff;
  box-shadow:0 4px 14px rgba(27,40,58,.06);
}

:where(body:has(.toyota-admin-shell)) .ta-hero{
  padding:22px 24px;
  margin:0 0 18px;
  border-top:3px solid #ff834f;
}

:where(body:has(.toyota-admin-shell)) .ta-card{
  padding:20px 22px;
  margin:0 0 18px;
}

:where(body:has(.toyota-admin-shell)) .ta-card.ta-primary{
  border-top:3px solid #ff834f;
}

:where(body:has(.toyota-admin-shell)) .ta-card.ta-secondary{
  border-left:4px solid #7b97a1;
  background:#f8fafb;
}

:where(body:has(.toyota-admin-shell)) .eyebrow{
  margin:0 0 6px;
  color:#ff834f;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

:where(body:has(.toyota-admin-shell)) h1{
  margin:0 0 8px;
  color:#1b283a;
  font-size:clamp(30px,3vw,42px);
}

:where(body:has(.toyota-admin-shell)) h2{
  margin:0 0 8px;
  color:#1b283a;
}

:where(body:has(.toyota-admin-shell)) p{
  color:#60757d;
}

:where(body:has(.toyota-admin-shell)) .ta-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  align-items:center;
}

:where(body:has(.toyota-admin-shell)) .ta-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 15px;
  border:1px solid #cfd8dc;
  border-radius:7px;
  background:#fff;
  color:#1b283a;
  font:inherit;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
  box-sizing:border-box;
}

:where(body:has(.toyota-admin-shell)) .ta-button.primary{
  border-color:#ff834f;
  background:#ff834f;
  color:#fff;
}

:where(body:has(.toyota-admin-shell)) .ta-button.navy{
  border-color:#1b283a;
  background:#1b283a;
  color:#fff;
}

:where(body:has(.toyota-admin-shell)) .ta-button.danger{
  border-color:#d9aaa6;
  background:#fff;
  color:#b23830;
}

:where(body:has(.toyota-admin-shell)) .ta-button:hover{
  border-color:#1b283a;
  background:#1b283a;
  color:#fff;
  transform:none;
}
/* terra-toyota-admin-navy-button-hover-phase2w-v2-5-20260820
 * Search + Mark Verified:
 * Terra navy normal -> Terra orange hover/focus.
 */
:where(body:has(.toyota-admin-shell)) .ta-button.navy:hover,
:where(body:has(.toyota-admin-shell)) .ta-button.navy:focus-visible{
  border-color:#ff834f;
  background:#ff834f;
  color:#fff;
  box-shadow:0 3px 10px rgba(27,40,58,.12);
  transform:none;
}

:where(body:has(.toyota-admin-shell)) .ta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

:where(body:has(.toyota-admin-shell)) .ta-span-2{
  grid-column:1/-1;
}

:where(body:has(.toyota-admin-shell)) .ta-field{
  display:grid;
  gap:6px;
}

:where(body:has(.toyota-admin-shell)) .ta-field label,
:where(body:has(.toyota-admin-shell)) .ta-field > span{
  color:#1b283a;
  font-size:12px;
  font-weight:900;
}

:where(body:has(.toyota-admin-shell)) .ta-field input,
:where(body:has(.toyota-admin-shell)) .ta-field select,
:where(body:has(.toyota-admin-shell)) .ta-field textarea,
:where(body:has(.toyota-admin-shell)) .ta-row input,
:where(body:has(.toyota-admin-shell)) .ta-row select,
:where(body:has(.toyota-admin-shell)) .ta-row textarea{
  width:100%;
  min-height:44px;
  box-sizing:border-box;
  padding:10px 11px;
  border:1px solid #cdd7d3;
  border-radius:6px;
  background:#fff;
  color:#1b283a;
  font:inherit;
}

:where(body:has(.toyota-admin-shell)) .ta-field textarea{
  min-height:105px;
  resize:vertical;
}

:where(body:has(.toyota-admin-shell)) .ta-repeat{
  display:grid;
  gap:10px;
}

:where(body:has(.toyota-admin-shell)) .ta-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:12px;
  border:1px solid #dde4e1;
  border-radius:8px;
  background:#fbfcfc;
}

:where(body:has(.toyota-admin-shell)) .ta-row .wide{
  grid-column:span 2;
}

:where(body:has(.toyota-admin-shell)) .ta-row .full{
  grid-column:1/-1;
}

:where(body:has(.toyota-admin-shell)) .ta-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid #cbd7dc;
  background:#f5f8f9;
  color:#1b283a;
  font-size:11px;
  font-weight:900;
}

:where(body:has(.toyota-admin-shell)) .ta-status.published,
:where(body:has(.toyota-admin-shell)) .ta-status.verified{
  border-color:#9cc9aa;
  background:#f1faf4;
  color:#1f6f3c;
}

:where(body:has(.toyota-admin-shell)) .ta-status.rejected{
  border-color:#e0b0ab;
  background:#fff3f1;
  color:#a6312a;
}

:where(body:has(.toyota-admin-shell)) .ta-message{
  margin:0 0 18px;
  padding:13px 15px;
  border-radius:8px;
}

:where(body:has(.toyota-admin-shell)) .ta-message.success{
  border:1px solid #9cc9aa;
  border-left:4px solid #238248;
  background:#f1faf4;
  color:#1f6f3c;
}

:where(body:has(.toyota-admin-shell)) .ta-message.error{
  border:1px solid #e1aaa5;
  border-left:4px solid #b23830;
  background:#fff3f1;
  color:#902c27;
}

:where(body:has(.toyota-admin-shell)) .ta-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 18px;
}

:where(body:has(.toyota-admin-shell)) .ta-kpi{
  padding:15px 16px;
  border:1px solid #d8e0e2;
  border-radius:9px;
  background:#fff;
}

:where(body:has(.toyota-admin-shell)) .ta-kpi strong{
  display:block;
  margin-top:3px;
  color:#1b283a;
  font-size:24px;
}

:where(body:has(.toyota-admin-shell)) .ta-table-wrap{
  overflow:auto;
  border:1px solid #d8e0e2;
  border-radius:8px;
}

:where(body:has(.toyota-admin-shell)) .ta-table{
  width:100%;
  min-width:820px;
  border-collapse:collapse;
}

:where(body:has(.toyota-admin-shell)) .ta-table th,
:where(body:has(.toyota-admin-shell)) .ta-table td{
  padding:10px 11px;
  border-bottom:1px solid #e1e6e3;
  text-align:left;
  vertical-align:middle;
}

:where(body:has(.toyota-admin-shell)) .ta-table th{
  background:#f5f8f9;
  color:#587078;
  font-size:11px;
  text-transform:uppercase;
}

:where(body:has(.toyota-admin-shell)) .ta-image-preview{
  display:flex;
  gap:16px;
  align-items:flex-start;
  flex-wrap:wrap;
}

:where(body:has(.toyota-admin-shell)) .ta-image-preview img{
  max-width:220px;
  max-height:220px;
  object-fit:contain;
  padding:8px;
  border:1px solid #d8e0e2;
  border-radius:8px;
  background:#fff;
}

:where(body:has(.toyota-admin-shell)) .ta-muted{
  color:#647b83;
  font-size:13px;
}

:where(body:has(.toyota-admin-shell)) .ta-publish-note{
  border:1px solid #e4d8a6;
  border-left:4px solid #b77900;
  border-radius:8px;
  background:#fff8e8;
  padding:13px 15px;
  color:#69520b;
}

@media(max-width:920px){
  :where(body:has(.toyota-admin-shell)) .ta-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  :where(body:has(.toyota-admin-shell)) .ta-grid{
    grid-template-columns:1fr;
  }

  :where(body:has(.toyota-admin-shell)) .ta-span-2{
    grid-column:auto;
  }

  :where(body:has(.toyota-admin-shell)) .ta-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  :where(body:has(.toyota-admin-shell)) .ta-row .wide,
  :where(body:has(.toyota-admin-shell)) .ta-row .full{
    grid-column:auto;
  }
}

@media(max-width:620px){
  :where(body:has(.toyota-admin-shell)) .ta-kpis,
  :where(body:has(.toyota-admin-shell)) .ta-row{
    grid-template-columns:1fr;
  }

  :where(body:has(.toyota-admin-shell)) .ta-actions .ta-button{
    width:100%;
  }
}

/* terra-toyota-admin-canvas-navy-hover-phase2w-v2-5-20260820 */

/* ==========================================================
   terra-sitewide-button-colour-system-v1-20260823
   ADMIN ACTION COLOUR STANDARD

   Current Admin work surfaces are light:
   Terra navy -> Terra orange.
   Header/nav/footer and WhatsApp actions remain untouched.
========================================================== */

html body:has(.terra-workspace-shell--admin)
> main.container
:is(
  button,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  a.button,
  a.button-link,
  a.small-button,
  a.pm-button,
  a.pm-page-button,
  a.pe-button,
  a.ta-button,
  a.terra-staff-button,
  a.terra-p2j-page-button,
  a.btn,
  [role="button"]
):not(.whatsapp-button):not(.terra-action--whatsapp):not(.terra-whatsapp-confirm-button):not(.terra-wa-confirm-admin):not([class*="whatsapp"]):not([href*="wa.me"]):not([href*="whatsapp.com"]){
  border-color:#1b283a!important;
  background:#1b283a!important;
  background-color:#1b283a!important;
  background-image:none!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

html body:has(.terra-workspace-shell--admin)
> main.container
:is(
  button,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  a.button,
  a.button-link,
  a.small-button,
  a.pm-button,
  a.pm-page-button,
  a.pe-button,
  a.ta-button,
  a.terra-staff-button,
  a.terra-p2j-page-button,
  a.btn,
  [role="button"]
):not(.whatsapp-button):not(.terra-action--whatsapp):not(.terra-whatsapp-confirm-button):not(.terra-wa-confirm-admin):not([class*="whatsapp"]):not([href*="wa.me"]):not([href*="whatsapp.com"]):hover:not(:disabled),
html body:has(.terra-workspace-shell--admin)
> main.container
:is(
  button,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  a.button,
  a.button-link,
  a.small-button,
  a.pm-button,
  a.pm-page-button,
  a.pe-button,
  a.ta-button,
  a.terra-staff-button,
  a.terra-p2j-page-button,
  a.btn,
  [role="button"]
):not(.whatsapp-button):not(.terra-action--whatsapp):not(.terra-whatsapp-confirm-button):not(.terra-wa-confirm-admin):not([class*="whatsapp"]):not([href*="wa.me"]):not([href*="whatsapp.com"]):focus-visible:not(:disabled){
  border-color:#ff834f!important;
  background:#ff834f!important;
  background-color:#ff834f!important;
  background-image:none!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* Future/explicit dark Admin surfaces use the inverse state. */
html body:has(.terra-workspace-shell--admin)
> main.container
:is(.is-dark,.terra-dark,[class*="--dark"]) 
:is(
  button,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  a.button,
  a.button-link,
  a.small-button,
  a.pm-button,
  a.pm-page-button,
  a.pe-button,
  a.ta-button,
  a.terra-staff-button,
  a.terra-p2j-page-button,
  a.btn,
  [role="button"]
):not(.whatsapp-button):not(.terra-action--whatsapp):not(.terra-whatsapp-confirm-button):not(.terra-wa-confirm-admin):not([class*="whatsapp"]):not([href*="wa.me"]):not([href*="whatsapp.com"]){
  border-color:#ff834f!important;
  background:#ff834f!important;
  background-color:#ff834f!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

html body:has(.terra-workspace-shell--admin)
> main.container
:is(.is-dark,.terra-dark,[class*="--dark"]) 
:is(
  button,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  a.button,
  a.button-link,
  a.small-button,
  a.pm-button,
  a.pm-page-button,
  a.pe-button,
  a.ta-button,
  a.terra-staff-button,
  a.terra-p2j-page-button,
  a.btn,
  [role="button"]
):not(.whatsapp-button):not(.terra-action--whatsapp):not(.terra-whatsapp-confirm-button):not(.terra-wa-confirm-admin):not([class*="whatsapp"]):not([href*="wa.me"]):not([href*="whatsapp.com"]):hover:not(:disabled),
html body:has(.terra-workspace-shell--admin)
> main.container
:is(.is-dark,.terra-dark,[class*="--dark"]) 
:is(
  button,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  a.button,
  a.button-link,
  a.small-button,
  a.pm-button,
  a.pm-page-button,
  a.pe-button,
  a.ta-button,
  a.terra-staff-button,
  a.terra-p2j-page-button,
  a.btn,
  [role="button"]
):not(.whatsapp-button):not(.terra-action--whatsapp):not(.terra-whatsapp-confirm-button):not(.terra-wa-confirm-admin):not([class*="whatsapp"]):not([href*="wa.me"]):not([href*="whatsapp.com"]):focus-visible:not(:disabled){
  border-color:#1b283a!important;
  background:#1b283a!important;
  background-color:#1b283a!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

html body:has(.terra-workspace-shell--admin)
> main.container input[type="file"]::file-selector-button,
html body:has(.terra-workspace-shell--admin)
> main.container input[type="file"]::-webkit-file-upload-button{
  border-color:#1b283a!important;
  background:#1b283a!important;
  color:#ffffff!important;
}

html body:has(.terra-workspace-shell--admin)
> main.container input[type="file"]::file-selector-button:hover,
html body:has(.terra-workspace-shell--admin)
> main.container input[type="file"]::-webkit-file-upload-button:hover{
  border-color:#ff834f!important;
  background:#ff834f!important;
  color:#ffffff!important;
}

/* ==========================================================
   terra-workspace-modern-consistency-v2-20260823
   ADMIN WORKSPACE — UNIFIED CURRENT-ERA SURFACE SYSTEM

   ORANGE IS AN ACCENT, NOT A DECORATIVE RAIL.
   No PHP/HTML/JS/data behaviour is owned here.
========================================================== */

html body:has(.terra-workspace-shell--admin){
  --terra-ui-surface:#ffffff;
  --terra-ui-soft:#f7f9fa;
  --terra-ui-line:#dce4e8;
  --terra-ui-line-strong:#c8d3d8;
  --terra-ui-radius:14px;
  --terra-ui-radius-sm:10px;
  --terra-ui-shadow:0 10px 30px rgba(27,40,58,.055);
  --terra-ui-shadow-soft:0 5px 18px rgba(27,40,58,.04);
  --terra-ui-gap:20px;
}

html body:has(.terra-workspace-shell--admin) > main.container{
  padding-top:28px!important;
  padding-bottom:44px!important;
}

/* One outer-page rhythm. Historical shell margins are retired. */
html body:has(.terra-workspace-shell--admin)
:is(
  .admin-dashboard-shell,
  .admin-insights-page,
  .terra-pricing-shell,
  .terra-pricing-import-shell,
  .snapshot-shell,
  .pricing-resolver-shell,
  .resolver-shell,
  .pilot-shell,
  .product-manager-shell,
  .product-editor-shell,
  .product-ai-settings,
  .ai-diag,
  .toyota-admin-shell,
  .whatsapp-integration-wrap
){
  margin-top:0!important;
  margin-bottom:0!important;
}

html body:has(.terra-workspace-shell--admin)
:is(
  .admin-dashboard-shell,
  .admin-insights-page,
  .terra-pricing-shell,
  .terra-pricing-import-shell,
  .snapshot-shell,
  .pricing-resolver-shell,
  .resolver-shell,
  .pilot-shell,
  .product-manager-shell,
  .product-editor-shell,
  .product-ai-settings,
  .ai-diag,
  .toyota-admin-shell,
  .whatsapp-integration-wrap
) > *{
  margin-top:0!important;
  margin-bottom:0!important;
}

html body:has(.terra-workspace-shell--admin)
:is(
  .admin-dashboard-shell,
  .admin-insights-page,
  .terra-pricing-shell,
  .terra-pricing-import-shell,
  .snapshot-shell,
  .pricing-resolver-shell,
  .resolver-shell,
  .pilot-shell,
  .product-manager-shell,
  .product-editor-shell,
  .product-ai-settings,
  .ai-diag,
  .toyota-admin-shell,
  .whatsapp-integration-wrap
) > * + *{
  margin-top:var(--terra-ui-gap)!important;
}

/* Canonical Admin hero: neutral surface with Terra orange top accent. */
html body:has(.terra-workspace-shell--admin)
:is(
  .admin-dashboard-hero,
  .terra-admin-page-banner,
  .terra-pricing-hero,
  .terra-pricing-import-hero,
  .snapshot-hero,
  .pricing-resolver-hero,
  .resolver-hero,
  .pilot-hero,
  .admin-insights-hero,
  .product-manager-hero,
  .product-editor-shell > .pe-card:first-child,
  .product-ai-settings > .hero,
  .ai-diag > .hero,
  .ta-hero,
  section.hero
){
  box-sizing:border-box!important;
  margin:0!important;
  padding:24px 26px!important;
  border:1px solid var(--terra-ui-line)!important;
  border-top:3px solid var(--terra-orange)!important;
  border-left:1px solid var(--terra-ui-line)!important;
  border-radius:var(--terra-ui-radius)!important;
  background:linear-gradient(145deg,#ffffff 0%,#fbfcfd 100%)!important;
  box-shadow:var(--terra-ui-shadow)!important;
}

html body:has(.terra-workspace-shell--admin)
:is(
  .admin-dashboard-hero,
  .terra-admin-page-banner,
  .terra-pricing-hero,
  .terra-pricing-import-hero,
  .snapshot-hero,
  .pricing-resolver-hero,
  .resolver-hero,
  .pilot-hero,
  .admin-insights-hero,
  .product-manager-hero,
  .product-editor-shell > .pe-card:first-child,
  .product-ai-settings > .hero,
  .ai-diag > .hero,
  .ta-hero,
  section.hero
) h1{
  margin:0 0 8px!important;
  color:var(--terra-navy)!important;
  font-size:clamp(32px,3.3vw,44px)!important;
  line-height:1.04!important;
  letter-spacing:-.025em!important;
}

html body:has(.terra-workspace-shell--admin)
:is(
  .admin-dashboard-hero,
  .terra-admin-page-banner,
  .terra-pricing-hero,
  .terra-pricing-import-hero,
  .snapshot-hero,
  .pricing-resolver-hero,
  .resolver-hero,
  .pilot-hero,
  .admin-insights-hero,
  .product-manager-hero,
  .ta-hero,
  section.hero
) > p:last-child{
  max-width:780px!important;
  margin-bottom:0!important;
  color:#5d737c!important;
}

/* One ordinary card system. */
html body:has(.terra-workspace-shell--admin)
:is(
  .card,
  .terra-pricing-card,
  .snapshot-card,
  .resolver-card,
  .pilot-card,
  .pm-card,
  .pe-card,
  .ta-card,
  .upload-card,
  .wa-free-card
){
  box-sizing:border-box!important;
  border:1px solid var(--terra-ui-line)!important;
  border-top:1px solid var(--terra-ui-line)!important;
  border-left:1px solid var(--terra-ui-line)!important;
  border-radius:var(--terra-ui-radius)!important;
  background:var(--terra-ui-surface)!important;
  box-shadow:var(--terra-ui-shadow-soft)!important;
}

/* Retire historical coloured rails/strips on KPI and data cards. */
html body:has(.terra-workspace-shell--admin)
:is(
  .insights-metric,
  .snapshot-kpi,
  .terra-pricing-kpi,
  .ta-kpi,
  .terra-p2j-insights-data-card,
  .pm-core-card,
  .ta-primary,
  .ta-secondary
){
  border-top:1px solid var(--terra-ui-line)!important;
  border-left:1px solid var(--terra-ui-line)!important;
}

html body:has(.terra-workspace-shell--admin) .insights-metric::before{
  display:none!important;
  content:none!important;
}

/* Eyebrow is the orange accent. */
html body:has(.terra-workspace-shell--admin) .eyebrow,
html body:has(.terra-workspace-shell--admin) .terra-workspace-eyebrow{
  margin:0 0 7px!important;
  color:var(--terra-orange)!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}

html body:has(.terra-workspace-shell--admin)
:is(.card,.terra-pricing-card,.snapshot-card,.resolver-card,.pilot-card,.pm-card,.pe-card,.ta-card)
> h2,
html body:has(.terra-workspace-shell--admin) .section-heading h2{
  margin-top:0!important;
  margin-bottom:8px!important;
  color:var(--terra-navy)!important;
  font-size:clamp(21px,2vw,25px)!important;
  line-height:1.15!important;
  letter-spacing:-.015em!important;
}

html body:has(.terra-workspace-shell--admin) .section-heading{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 16px!important;
}

html body:has(.terra-workspace-shell--admin)
:is(
  .terra-pricing-card,
  .snapshot-card,
  .resolver-card,
  .pilot-card,
  .pm-card,
  .pe-card,
  .ta-card
){
  padding:22px 24px!important;
}

/* Workspace navigation is a toolbar, not another accented card. */
html body:has(.terra-workspace-shell--admin) .terra-workspace-shell--admin{
  border:1px solid var(--terra-ui-line)!important;
  border-radius:var(--terra-ui-radius)!important;
  background:#fff!important;
  box-shadow:var(--terra-ui-shadow-soft)!important;
}

html body:has(.terra-workspace-shell--admin) .terra-workspace-link,
html body:has(.terra-workspace-shell--admin) .terra-workspace-group > summary{
  border-radius:9px!important;
}

/* Tables share one frame/header/hover language. */
html body:has(.terra-workspace-shell--admin)
:is(
  .table-scroll,
  .terra-pricing-table-wrap,
  .snapshot-table-wrap,
  .terra-workspace-product-scroll,
  .terra-workspace-audit-scroll,
  .terra-insights-contained-scroll,
  .terra-workspace-snapshot-scroll,
  .ta-table-wrap
){
  border:1px solid var(--terra-ui-line)!important;
  border-radius:var(--terra-ui-radius-sm)!important;
  background:#fff!important;
  overflow:auto!important;
}

html body:has(.terra-workspace-shell--admin) table thead th{
  background:var(--terra-ui-soft)!important;
  color:#49616c!important;
  border-bottom-color:var(--terra-ui-line-strong)!important;
}

html body:has(.terra-workspace-shell--admin) table tbody tr:hover td{
  background:#fbfcfd!important;
}

/* Toyota results: compact actions instead of tall stacked action cells. */
html body:has(.terra-workspace-shell--admin):has(.toyota-admin-shell)
.ta-table th:last-child,
html body:has(.terra-workspace-shell--admin):has(.toyota-admin-shell)
.ta-table td:last-child{
  width:150px!important;
  min-width:150px!important;
}

html body:has(.terra-workspace-shell--admin):has(.toyota-admin-shell)
.ta-table td:last-child .ta-button{
  display:inline-flex!important;
  min-height:36px!important;
  margin:2px 4px 2px 0!important;
  padding:7px 11px!important;
  vertical-align:middle!important;
}

/* Runtime Show/Hide presentation remains retired. */
html body:has(.terra-workspace-shell--admin) .terra-workspace-collapse-button{
  display:none!important;
}

@media(max-width:720px){
  html body:has(.terra-workspace-shell--admin) > main.container{
    padding-top:20px!important;
    padding-bottom:32px!important;
  }

  html body:has(.terra-workspace-shell--admin)
  :is(
    .admin-dashboard-hero,
    .terra-admin-page-banner,
    .terra-pricing-hero,
    .terra-pricing-import-hero,
    .snapshot-hero,
    .pricing-resolver-hero,
    .resolver-hero,
    .pilot-hero,
    .admin-insights-hero,
    .product-manager-hero,
    .ta-hero,
    section.hero
  ){
    padding:20px!important;
  }

  html body:has(.terra-workspace-shell--admin)
  :is(.terra-pricing-card,.snapshot-card,.resolver-card,.pilot-card,.pm-card,.pe-card,.ta-card){
    padding:18px!important;
  }
}/* V2.3 SURGICAL — INSIGHTS RHYTHM + TOYOTA ACTIONS */
html body:has(.admin-insights-page)
.admin-insights-hero + .terra-workspace-shell--admin{
  margin-top:18px!important;
}
html body:has(.admin-insights-page)
.terra-workspace-shell--admin + .insights-controls{
  margin-top:20px!important;
}
html body:has(.admin-insights-page) .insights-controls{
  border-top:1px solid var(--terra-ui-line)!important;
}
html body:has(.terra-workspace-shell--admin):has(.toyota-admin-shell)
.ta-table th:last-child,
html body:has(.terra-workspace-shell--admin):has(.toyota-admin-shell)
.ta-table td:last-child{
  width:176px!important;
  min-width:176px!important;
  white-space:nowrap!important;
}
html body:has(.terra-workspace-shell--admin):has(.toyota-admin-shell)
.ta-table td:last-child .ta-button{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  min-height:36px!important;
  margin:2px 5px 2px 0!important;
  padding:7px 11px!important;
  white-space:nowrap!important;
}


/* ==========================================================
   terra-admin-layout-rhythm-empty-panel-cleanup-step4a-v1-20260830

   LAYOUT ONLY.
   Marketing CRM remains the visual reference and is excluded.
   No colour/background/border-colour/button/status styling here.
========================================================== */

/* ----------------------------------------------------------
   1. Shared Admin workspace vertical rhythm
---------------------------------------------------------- */
body.terra-admin-v2:not(.terra-admin-page-marketing)
:where(.terra-workspace-shell--admin){
  margin-top:0!important;
  margin-bottom:20px!important;
}

body.terra-admin-v2:not(.terra-admin-page-marketing)
:where(
  .admin-dashboard-hero,
  .admin-insights-hero,
  .terra-staff-hero,
  .terra-pricing-hero,
  .terra-pricing-import-hero,
  .resolver-hero,
  .pilot-hero,
  .snapshot-hero,
  .product-manager-hero,
  .ta-hero
){
  margin-top:0!important;
  margin-bottom:12px!important;
}

/* Shared generated Admin page banner follows the same reference rhythm. */
body.terra-admin-v2:not(.terra-admin-page-marketing)
main > .terra-admin-page-banner{
  margin-top:0!important;
  margin-bottom:12px!important;
}

/* ----------------------------------------------------------
   2. Admin dashboard section rhythm
---------------------------------------------------------- */
body.terra-admin-v2:has(.admin-dashboard-hero)
:where(
  .admin-customers,
  .admin-enquiries,
  .notice,
  .admin-steps,
  .upload-card,
  .catalogue-status
){
  margin-top:0!important;
  margin-bottom:20px!important;
}

/* ----------------------------------------------------------
   3. Staff page rhythm
---------------------------------------------------------- */
body.terra-admin-v2:has(.terra-staff-page)
.terra-staff-page > :where(
  .terra-staff-notice,
  .terra-staff-card,
  .terra-staff-directory
){
  margin-top:0!important;
  margin-bottom:20px!important;
}

body.terra-admin-v2:has(.terra-staff-page)
.terra-staff-page > :last-child{
  margin-bottom:0!important;
}

/* ----------------------------------------------------------
   4. Insights — remove the old duplicate header shell
   The shared Admin banner/navigation is already present.
---------------------------------------------------------- */
body.terra-admin-v2.terra-admin-page-insights:has(.terra-admin-page-banner)
.admin-insights-hero{
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:0!important;
}

body.terra-admin-v2.terra-admin-page-insights
.admin-insights-page > :where(
  .insights-controls,
  .insights-metric-grid,
  .insights-two-column,
  .insights-privacy-note
){
  margin-top:0!important;
  margin-bottom:20px!important;
}

/* ----------------------------------------------------------
   5. Empty decorative panels
   Dynamic placeholders such as Product Manager pm-* containers
   are NOT targeted by these selectors.
---------------------------------------------------------- */
body.terra-admin-v2
main :where(
  .terra-admin-panel,
  .admin-card,
  .insights-card,
  .card
):empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:0!important;
}

body.terra-admin-v2
main :where(
  .terra-admin-panel,
  .admin-card,
  .insights-card,
  .card
):has(> [hidden]:only-child){
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:0!important;
}

/* ----------------------------------------------------------
   6. WhatsApp / Pricing / specialist shells:
   only outer vertical rhythm, no component redesign
---------------------------------------------------------- */
body.terra-admin-v2:not(.terra-admin-page-marketing)
:where(
  .whatsapp-status-grid,
  .whatsapp-integration-card,
  .terra-pricing-card,
  .terra-pricing-import-card,
  .resolver-card,
  .pilot-card,
  .snapshot-card
){
  margin-top:0!important;
  margin-bottom:20px!important;
}

/* Keep the final major panel from adding dead space at the bottom. */
body.terra-admin-v2:not(.terra-admin-page-marketing)
:where(
  .terra-staff-page,
  .admin-insights-page,
  .terra-pricing-shell,
  .terra-pricing-import-shell,
  .resolver-shell,
  .pilot-shell,
  .snapshot-shell,
  .wa-free-wrap
) > :last-child{
  margin-bottom:0!important;
}


/* ==========================================================
   terra-admin-whatsapp-post-nav-spacing-step4c-v1-20260830

   LAYOUT ONLY.
   The WhatsApp description now lives correctly inside the hero.
   Remove the obsolete large top offset that remains on .wa-free-wrap.
========================================================== */

body.terra-admin-v2:has(.wa-free-wrap)
.wa-free-wrap{
  margin-top:20px!important;
  padding-top:0!important;
}

body.terra-admin-v2:has(.wa-free-wrap)
.wa-free-wrap > :first-child{
  margin-top:0!important;
}


/* ==========================================================
   terra-admin-rhythm-specificity-conflict-fix-step8-v1-20260830

   GENERATED FROM STEP 5B COMPUTED CSS OWNERSHIP AUDIT.

   Marketing CRM reference:
   hero -> nav     = 12px
   nav  -> content = 20px

   No transforms. No palette declarations.
========================================================== */

/* Shared nav lower rhythm only. */
.terra-workspace-shell--admin{
  transform:none!important;
  margin-bottom:20px!important;
}

/* Dashboard and Staff final DOM pairs. */
html body:has(.admin-dashboard-hero)
.admin-dashboard-hero + .terra-workspace-shell--admin,
html body:has(.terra-staff-hero)
.terra-staff-hero + .terra-workspace-shell--admin{
  margin-top:12px!important;
}

/* Generated Admin hero pages: Insights and WhatsApp. */
html body:has(.terra-admin-page-banner):has(.terra-workspace-shell--admin)
.terra-admin-page-banner + .terra-workspace-shell--admin{
  margin-top:12px!important;
}

/*
 * Product / Toyota / Pricing family:
 * the rendered audit proved that the nav is a child inside these shells.
 * This selector intentionally has higher specificity than the existing
 * foundation "* + *" spacing owner, while touching ONLY the nav.
 */
html body:has(.terra-workspace-shell--admin)
:is(
  .product-manager-shell,
  .product-editor-shell,
  .toyota-admin-shell,
  .terra-pricing-shell,
  .terra-pricing-import-shell,
  .pricing-resolver-shell,
  .resolver-shell,
  .snapshot-shell,
  .pilot-shell
) > .terra-workspace-shell--admin{
  margin-top:12px!important;
}

/* Insights:
   beat the earlier page-specific 24px top margin owner. */
html body.terra-admin-v2.terra-admin-page-insights .admin-insights-page{
  margin-top:0px!important;
}

/* WhatsApp:
   beat the earlier 20px wrapper margin owner and historical page styles. */
html body.terra-admin-v2.terra-admin-page-whatsapp:has(.terra-workspace-shell--admin)
main.wa-free-wrap{
  margin-top:0px!important;
  padding-top:0px!important;
}

html body.terra-admin-v2.terra-admin-page-whatsapp:has(.terra-workspace-shell--admin)
main.wa-free-wrap > :first-child{
  margin-top:0px!important;
}

/* ==========================================================
   terra-formal-quote-admin-ux-polish-v1-20260901
   Formal Quote dashboard spacing + stacked register/detail.
   Scope: Admin only.
========================================================== */

/* Separate embedded Formal Quotes from the website-enquiry search controls. */
body .admin-enquiries > .enquiry-search-form{
  margin-top:30px !important;
}

.terra-fq-dashboard-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

/* The register belongs above the selected quotation, not beside it. */
body .terra-fq-admin .terra-fq-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:22px !important;
}

body .terra-fq-admin .terra-fq-register-card,
body .terra-fq-admin .terra-fq-detail-card{
  width:100%;
  min-width:0;
  margin:0 !important;
  box-sizing:border-box;
}

.terra-fq-register-card .terra-fq-table-wrap{
  width:100%;
  overflow-x:auto;
}

.terra-fq-register-card .terra-fq-table{
  width:100% !important;
}

.terra-fq-register-card .terra-fq-table th,
.terra-fq-register-card .terra-fq-table td{
  vertical-align:middle;
}

.terra-fq-register-card .terra-fq-table td:last-child,
.terra-fq-register-card .terra-fq-table th:last-child{
  width:112px;
  text-align:right;
}

.terra-fq-detail-card{
  padding:28px 30px !important;
}

.terra-fq-detail-head{
  display:grid;
  gap:12px;
}

.terra-fq-detail-head > .eyebrow{
  margin-bottom:-2px;
}

.terra-fq-detail-head > h2{
  margin:0 !important;
  font-size:clamp(24px,3vw,32px) !important;
  line-height:1.08;
  color:#1b283a;
}

.terra-fq-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:6px;
}

.terra-fq-summary-grid > div{
  min-width:0;
  padding:13px 14px;
  border:1px solid rgba(27,40,58,.13);
  border-radius:9px;
  background:#f8f7e5;
}

.terra-fq-summary-grid span,
.terra-fq-summary-grid strong{
  display:block;
}

.terra-fq-summary-grid span{
  margin-bottom:4px;
  color:#5f7680;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.terra-fq-summary-grid strong{
  color:#1b283a;
  font-size:14px;
  overflow-wrap:anywhere;
}

.terra-fq-summary-grid .terra-fq-summary-total{
  background:#fff4ed;
  border-color:rgba(255,131,79,.38);
}

.terra-fq-summary-grid .terra-fq-summary-total strong{
  font-size:17px;
}

.terra-fq-primary-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
  padding-bottom:4px;
}

.terra-fq-primary-actions form{
  margin:0 !important;
}

.terra-fq-detail-section{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid rgba(27,40,58,.14);
}

.terra-fq-detail-section > h3{
  margin:0 0 12px !important;
  color:#1b283a;
  font-size:19px;
}

.terra-fq-detail-list,
.terra-fq-history-list{
  display:grid;
  gap:8px;
}

.terra-fq-detail-list > p,
.terra-fq-history-list > p{
  margin:0 !important;
  padding:12px 14px;
  border:1px solid rgba(27,40,58,.11);
  border-radius:8px;
  background:#fff;
}

.terra-fq-history-panel{
  padding:18px;
  border:1px solid rgba(27,40,58,.13);
  border-radius:10px;
  background:#f8faf9;
}

.terra-fq-history-panel + .terra-fq-history-panel{
  margin-top:14px;
}

.terra-fq-history-list small{
  color:#5f7680;
  line-height:1.45;
}

@media (min-width:900px){
  .terra-fq-register-card .terra-fq-table{
    min-width:0 !important;
  }
}

@media (max-width:899px){
  .terra-fq-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .terra-fq-register-card .terra-fq-table{
    min-width:760px !important;
  }
}

@media (max-width:620px){
  .terra-fq-summary-grid{
    grid-template-columns:1fr;
  }

  .terra-fq-detail-card{
    padding:20px 16px !important;
  }

  .terra-fq-primary-actions,
  .terra-fq-dashboard-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .terra-fq-primary-actions .button-link,
  .terra-fq-primary-actions button,
  .terra-fq-dashboard-actions .button-link{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}
