/* =========================================================
   Luminey WMS theme — orange, blue & white (light-first)
   UI only — does not alter app behaviour
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Outfit:wght@500;600;700;800&display=swap');

@property --pp-blue {
  syntax: '<color>';
  inherits: true;
  initial-value: #1c75bc;
}

@property --pp-blue-dark {
  syntax: '<color>';
  inherits: true;
  initial-value: #155a94;
}

@property --pp-blue-light {
  syntax: '<color>';
  inherits: true;
  initial-value: #eef6fc;
}

@property --pp-sun {
  syntax: '<color>';
  inherits: true;
  initial-value: #f9a04a;
}

@property --pp-mark {
  syntax: '<color>';
  inherits: true;
  initial-value: #f58229;
}

@property --pp-mark-deep {
  syntax: '<color>';
  inherits: true;
  initial-value: #e27a29;
}

@property --pp-flame {
  syntax: '<color>';
  inherits: true;
  initial-value: #f58229;
}

@property --pp-ember {
  syntax: '<color>';
  inherits: true;
  initial-value: #e27a29;
}

:root {
  --pp-black: #121212;
  --pp-ink: #231f20;
  --pp-charcoal: #2c2c2c;
  --pp-flame: #f58229;
  --pp-ember: #e27a29;
  --pp-mark: #f58229;
  --pp-mark-deep: #e27a29;
  --pp-sun: #f9a04a;
  --pp-blue: #1c75bc;
  --pp-blue-dark: #155a94;
  --pp-blue-light: #eef6fc;
  --pp-blue-rgb: 28, 117, 188;
  --pp-orange-light: #fef3eb;
  --pp-soft-tint: #fff7e8;
  --pp-soft-tint-2: #ffeed4;
  --pp-tan: #c4a06a;
  --pp-silver: #e8e8ea;
  --pp-muted: #6c757d;
  --pp-surface: #ffffff;
  --pp-canvas: #f8f9fa;
  --pp-line: #e8eaed;
  --pp-radius: 4px;
  --pp-shadow: 0 1px 0 rgba(0, 0, 0, 0.04), 0 6px 16px rgba(0, 0, 0, 0.06);
  --pp-bg-wash: linear-gradient(
    165deg,
    rgba(28, 117, 188, 0.06) 0%,
    rgba(245, 130, 41, 0.04) 55%,
    rgba(248, 249, 250, 0.88) 100%
  );
  --font-display: 'Outfit', system-ui, sans-serif;
  --font-body: 'DM Sans', system-ui, sans-serif;
  --pp-space: 0.55rem;
  --pp-font: 0.8125rem;
  --pp-brand-ease: color 1.6s ease, background-color 1.6s ease, background 1.6s ease,
    border-color 1.6s ease, box-shadow 1.6s ease, fill 1.6s ease, stroke 1.6s ease,
    filter 1.6s ease, opacity 0.55s ease;
}

/* GreenAge mode — accents, buttons, hovers + canvas wash flip to green */
html[data-pp-brand="greenage"],
body[data-pp-brand="greenage"] {
  --pp-blue: #007c41;
  --pp-blue-dark: #005c30;
  --pp-blue-light: #e8f5ee;
  --pp-blue-rgb: 0, 124, 65;
  --pp-sun: #3d9b6a;
  --pp-mark: #007c41;
  --pp-mark-deep: #005c30;
  --pp-flame: #007c41;
  --pp-ember: #005c30;
  --pp-soft-tint: #eef8f2;
  --pp-soft-tint-2: #d9f0e3;
  --pp-orange-light: #eef8f2;
  --pp-canvas: #f2faf5;
  --pp-line: #d9ebe0;
  --pp-bg-wash: linear-gradient(
    165deg,
    rgba(0, 124, 65, 0.12) 0%,
    rgba(0, 124, 65, 0.05) 38%,
    rgba(245, 130, 41, 0.04) 72%,
    rgba(242, 250, 245, 0.92) 100%
  );
}

html {
  --pp-blue: #1c75bc;
  --pp-blue-dark: #155a94;
  --pp-blue-light: #eef6fc;
}

html[data-pp-brand="luminey"] {
  --pp-blue: #1c75bc;
  --pp-blue-dark: #155a94;
  --pp-blue-light: #eef6fc;
  --pp-blue-rgb: 28, 117, 188;
  --pp-sun: #f9a04a;
  --pp-mark: #f58229;
  --pp-mark-deep: #e27a29;
  --pp-flame: #f58229;
  --pp-ember: #e27a29;
  --pp-soft-tint: #fff7e8;
  --pp-soft-tint-2: #ffeed4;
  --pp-orange-light: #fef3eb;
  --pp-canvas: #f8f9fa;
  --pp-line: #e8eaed;
  --pp-bg-wash: linear-gradient(
    165deg,
    rgba(28, 117, 188, 0.08) 0%,
    rgba(245, 130, 41, 0.05) 55%,
    rgba(248, 249, 250, 0.85) 100%
  );
}

html.pp-brand-switching,
html.pp-brand-switching body,
html.pp-brand-switching .topnav,
html.pp-brand-switching .pp-shell-header,
html.pp-brand-switching .pp-shell-accent,
html.pp-brand-switching .page-title,
html.pp-brand-switching h1,
html.pp-brand-switching h2,
html.pp-brand-switching h3,
html.pp-brand-switching h4,
html.pp-brand-switching .btn,
html.pp-brand-switching .card,
html.pp-brand-switching .badge,
html.pp-brand-switching .pp-mega-panel__intro,
html.pp-brand-switching .pp-login__card,
html.pp-brand-switching .pp-login__headline,
html.pp-brand-switching a {
  transition: var(--pp-brand-ease) !important;
}

.pp-shell-brand__logo,
.pp-login__logo,
.pp-login__card-logo,
img[data-pp-brand-logo] {
  transition: opacity 0.55s ease, filter 0.55s ease, transform 0.55s ease;
}

.pp-shell-brand__logo.pp-logo-fade,
.pp-login__logo.pp-logo-fade,
.pp-login__card-logo.pp-logo-fade,
img[data-pp-brand-logo].pp-logo-fade {
  opacity: 0;
  transform: scale(0.96);
  filter: blur(1px);
}

.pp-shell-brand__logo.pp-logo-fade-in,
.pp-login__logo.pp-logo-fade-in,
.pp-login__card-logo.pp-logo-fade-in,
img[data-pp-brand-logo].pp-logo-fade-in {
  opacity: 1;
  transform: none;
  filter: none;
}

@media (prefers-reduced-motion: reduce) {
  html.pp-brand-switching,
  html.pp-brand-switching * {
    transition: none !important;
  }
}

/* ---------- App shell ---------- */
body:not(.authentication-bg) {
  font-family: var(--font-body) !important;
  font-size: var(--pp-font) !important;
  color: #495057 !important;
  background: transparent !important;
  position: relative;
  min-height: 100vh;
}

body:not(.authentication-bg)::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: var(--pp-canvas);
  background-image:
    var(--pp-bg-wash),
    url('../images/luminey-background.jpg'),
    url('../images/bg-pattern-light.svg');
  background-size: cover, cover, auto;
  background-position: center, center, center;
  background-repeat: no-repeat, no-repeat, repeat;
  transition: background-color 1.6s ease;
}

html[data-pp-brand="greenage"] body.authentication-bg.brand-auth {
  background:
    linear-gradient(165deg, rgba(0, 124, 65, 0.1) 0%, rgba(238, 248, 242, 0.88) 42%, #ffffff 100%),
    radial-gradient(900px 480px at 12% 18%, rgba(0, 124, 65, 0.14), transparent 55%),
    radial-gradient(720px 420px at 88% 78%, rgba(245, 130, 41, 0.08), transparent 50%),
    linear-gradient(165deg, #f7fcf9 0%, #eef8f2 48%, #ffffff 100%) !important;
}

html[data-pp-brand="greenage"] .topnav,
html[data-pp-brand="greenage"] .pp-shell-header__bar,
html[data-pp-brand="greenage"] .odoo-navbar {
  box-shadow: 0 1px 0 rgba(0, 124, 65, 0.12), 0 10px 30px rgba(0, 0, 0, 0.03);
}

body:not(.authentication-bg) > .wrapper {
  position: relative;
  z-index: 1;
  background: transparent;
}

body:not(.authentication-bg) h1,
body:not(.authentication-bg) h2,
body:not(.authentication-bg) h3,
body:not(.authentication-bg) h4,
body:not(.authentication-bg) .page-title {
  font-family: var(--font-display) !important;
  letter-spacing: -0.01em;
  color: var(--pp-blue) !important;
}

.topnav {
  background: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--pp-line) !important;
  box-shadow: 0 1px 0 rgba(var(--pp-blue-rgb), 0.12), 0 10px 30px rgba(0, 0, 0, 0.03);
  overflow: visible !important;
}

.content,
.content-page,
.wrapper {
  overflow: visible !important;
}

/* Keep page content under sticky shell header stacking */
.content > .container,
.content > .container-fluid,
.content > .container-lg-fluid {
  position: relative;
  z-index: 1;
}

.page-title-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  border-radius: var(--pp-radius);
  padding: 1.45rem 0.7rem !important;
  margin-bottom: 0.55rem !important;
  background: #fff;
  border: 1px solid var(--pp-line);
  border-left: 3px solid var(--pp-flame);
  box-shadow: none;
}

.wms-home-hero .page-title-box {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0 !important;
  margin-bottom: 0 !important;
}

.page-title-box .page-title {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-display) !important;
  font-weight: 700;
  font-size: 0.95rem !important;
  line-height: 1.25;
  color: var(--pp-blue) !important;
  letter-spacing: -0.01em;
}

.page-title-box .page-title-right {
  float: none !important;
  margin: 0 !important;
}

.page-title-box .breadcrumb {
  margin: 0 !important;
  background: transparent;
  padding: 0;
  font-size: 0.72rem;
}

.page-title-box .breadcrumb-item + .breadcrumb-item::before {
  color: #adb5bd;
}

.breadcrumb .breadcrumb-item a {
  color: var(--pp-blue) !important;
  font-weight: 600;
}

.page-title-box .breadcrumb-item a:hover {
  color: var(--pp-mark) !important;
}

.page-title-box .breadcrumb-item.active {
  color: #6c757d;
  font-weight: 550;
}

.topnav .navbar-nav .nav-link {
  font-family: var(--font-body);
  font-weight: 600;
  color: #2f333a !important;
  border-radius: 10px;
  padding: 0.45rem 0.7rem !important;
  transition: background 0.2s ease, color 0.2s ease;
}

.topnav .navbar-nav .nav-link:hover,
.topnav .navbar-nav .nav-item.show > .nav-link {
  background: rgba(245, 130, 41, 0.08);
  color: var(--pp-mark) !important;
}

.topnav-logo-lg img,
.topnav-logo-sm img {
  height: 42px !important;
  width: auto !important;
  max-width: 180px;
  object-fit: contain;
}

.color-line {
  background: linear-gradient(90deg, var(--pp-sun), var(--pp-flame), var(--pp-ember)) !important;
  height: 3px !important;
  margin: 0 !important;
}

.content-page .card {
  border: 1px solid var(--pp-line) !important;
  border-radius: var(--pp-radius) !important;
  box-shadow: var(--pp-shadow) !important;
}

/* Don't force white bg on colored cards (keeps text-white readable) */
.content-page .card:not([class*="bg-"]):not(.cta-box):not(.wms-search-card) {
  background: var(--pp-surface) !important;
  color: #2b3038 !important;
}

.content-page .card:not([class*="bg-"]):not(.cta-box):not(.wms-search-card) .card-body,
.content-page .card:not([class*="bg-"]):not(.cta-box):not(.wms-search-card) .card-title,
.content-page .card:not([class*="bg-"]):not(.cta-box):not(.wms-search-card) label,
.content-page .card:not([class*="bg-"]):not(.cta-box):not(.wms-search-card) .form-label,
.content-page .card:not([class*="bg-"]):not(.cta-box):not(.wms-search-card) p,
.content-page .card:not([class*="bg-"]):not(.cta-box):not(.wms-search-card) span:not(.badge):not(.input-group-text),
.content-page .card:not([class*="bg-"]):not(.cta-box):not(.wms-search-card) td,
.content-page .card:not([class*="bg-"]):not(.cta-box):not(.wms-search-card) th {
  color: inherit;
}

.content-page .card:not([class*="bg-"]):not(.cta-box):not(.wms-search-card) .form-label,
.content-page .card:not([class*="bg-"]):not(.cta-box):not(.wms-search-card) label:not(.btn):not(.form-check-label) {
  color: #3a3f47 !important;
}

.content-page .page-title-box .form-label,
.content-page .container-fluid > .row .form-label {
  color: #3a3f47 !important;
}

.content-page .form-control,
.content-page .form-select {
  color: #1c1c1e !important;
  background-color: #fff !important;
}

.content-page .form-control::placeholder {
  color: #8a8f98 !important;
}

.content-page .text-muted {
  color: #6c757d !important;
}

.content-page .breadcrumb,
.content-page .breadcrumb-item,
.content-page .breadcrumb-item a {
  color: #5c6570 !important;
}

.content-page .table,
.content-page .table td,
.content-page .table th {
  color: #2b3038 !important;
}

.page-title-box .page-title {
  font-weight: 700 !important;
  color: var(--pp-ink) !important;
}

/* SweetAlert2 brand styling ? high contrast */
.pp-swal-popup {
  font-family: var(--font-body) !important;
  border-radius: 18px !important;
  border: 1px solid rgba(20, 20, 20, 0.08) !important;
  box-shadow: 0 24px 60px rgba(10, 10, 10, 0.18) !important;
}

.pp-swal-title {
  font-family: var(--font-display) !important;
  color: #141414 !important;
  font-weight: 700 !important;
}

.pp-swal-html {
  color: #3a3f47 !important;
  font-size: 0.98rem !important;
}

.pp-swal-confirm {
  font-weight: 700 !important;
  border-radius: 10px !important;
  padding: 0.55rem 1.35rem !important;
}

.swal2-timer-progress-bar {
  background: linear-gradient(90deg, var(--pp-sun), var(--pp-flame)) !important;
}

.btn-primary,
.btn.btn-dark {
  background: var(--pp-flame) !important;
  border: 1px solid var(--pp-ember) !important;
  color: #fff !important;
  font-weight: 600;
  box-shadow: none;
}

.btn-primary:hover,
.btn.btn-dark:hover {
  background: var(--pp-ember) !important;
  border-color: #d06a20 !important;
  filter: none;
  color: #fff !important;
}

.btn.btn-secondary {
  background: #fff !important;
  color: #495057 !important;
  border: 1px solid #ced4da !important;
}

.footer {
  background: transparent !important;
}

/* ---------- Dashboard welcome / search ---------- */
.wms-home-hero {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 22px;
  padding: 1.75rem 1.5rem 1.5rem;
  margin-bottom: 1.25rem;
  color: var(--pp-ink);
  background:
    radial-gradient(800px 280px at 85% 20%, rgba(var(--pp-blue-rgb), 0.08), transparent 55%),
    radial-gradient(600px 260px at 0% 100%, rgba(245, 130, 41, 0.1), transparent 50%),
    linear-gradient(135deg, #ffffff 0%, #f8f9fa 48%, #ffffff 100%);
  border: 1px solid var(--pp-line);
  box-shadow: 0 8px 32px rgba(var(--pp-blue-rgb), 0.06);
}

.wms-home-hero::after {
  content: '';
  position: absolute;
  inset: auto -10% -40% 40%;
  height: 180px;
  background: radial-gradient(circle, rgba(245, 130, 41, 0.12), transparent 65%);
  pointer-events: none;
}

.wms-home-hero .page-title {
  color: var(--pp-blue) !important;
  padding-top: 0 !important;
  font-size: clamp(1.4rem, 2.4vw, 2rem) !important;
  line-height: 1.2 !important;
}

.wms-home-hero .hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pp-mark);
  margin-bottom: 0.5rem;
}

.wms-home-hero .hero-sub {
  color: #5d6c7b;
  max-width: 36rem;
  margin: 0.35rem 0 0;
  font-size: 0.95rem;
}

.wms-search-card {
  border: 0 !important;
  border-radius: 18px !important;
  overflow: hidden;
  background: #fff !important;
  box-shadow: 0 4px 20px rgba(var(--pp-blue-rgb), 0.06) !important;
  border: 1px solid var(--pp-line) !important;
}

.wms-search-card .card-body {
  background: transparent !important;
  color: var(--pp-ink) !important;
}

.wms-search-card h2 {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--pp-blue) !important;
}

.wms-search-card .blockquote-footer,
.wms-search-card cite {
  color: var(--pp-muted) !important;
}

.wms-search-card .input-group-text,
.wms-search-card .form-control,
.wms-search-card .form-select {
  border: 0;
  background: rgba(255, 255, 255, 0.95);
  color: #1c1c1e;
}

.wms-search-card .form-control:focus,
.wms-search-card .form-select:focus {
  box-shadow: 0 0 0 3px rgba(245, 130, 41, 0.35);
}

.wms-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.wms-pill {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  color: var(--pp-blue);
  background: var(--pp-blue-light);
  border: 1px solid rgba(var(--pp-blue-rgb), 0.2);
}

/* Override old warning CTA when wrapped */
.wms-home-hero .cta-box.bg-warning {
  background: transparent !important;
  color: inherit !important;
}

/* ---------- Auth / Login ---------- */
body.authentication-bg.brand-auth {
  font-family: var(--font-body) !important;
  background:
    radial-gradient(900px 500px at 15% 20%, rgba(245, 130, 41, 0.08), transparent 55%),
    radial-gradient(700px 420px at 90% 80%, rgba(var(--pp-blue-rgb), 0.06), transparent 50%),
    linear-gradient(160deg, #ffffff 0%, #f8f9fa 45%, #ffffff 100%) !important;
  background-image: none !important;
  min-height: 100vh;
  overflow-x: hidden;
}

body.authentication-bg.brand-auth .account-pages {
  min-height: 100vh;
  display: block !important;
  align-items: stretch;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.authentication-bg.brand-auth .footer.footer-alt {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  z-index: 5;
  text-align: left;
  pointer-events: none;
  padding: 0 1.25rem 1rem;
}

body.authentication-bg.brand-auth .footer.footer-alt a {
  pointer-events: auto;
}

.pp-auth-footer {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  letter-spacing: 0.03em;
  color: var(--pp-muted);
}

.pp-auth-footer__sep {
  color: #d0d5db;
}

.pp-auth-footer__version {
  color: var(--pp-blue) !important;
  font-weight: 600 !important;
}

.pp-auth-footer__badge {
  display: inline-flex;
  align-items: center;
  background: linear-gradient(135deg, var(--pp-blue), var(--pp-blue-dark));
  padding: 2px 10px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: #fff !important;
  text-transform: uppercase;
  box-shadow: 0 2px 8px rgba(var(--pp-blue-rgb), 0.22);
  text-decoration: none !important;
}

.pp-login {
  width: 100%;
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  position: relative;
}

/* .pp-login__visual {
  position: relative;
  padding: clamp(2rem, 5vw, 4.5rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.25rem;
  color: var(--pp-ink);
  overflow: hidden;
  min-height: 100vh;
  background:
    radial-gradient(620px 420px at 88% 12%, rgba(var(--pp-blue-rgb), 0.1), transparent 58%),
    radial-gradient(520px 360px at 8% 88%, rgba(245, 130, 41, 0.08), transparent 52%),
    linear-gradient(165deg, #ffffff 0%, #f8fbfd 52%, #ffffff 100%);
  border-right: 1px solid var(--pp-line);
} */

.pp-login__visual::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.4), rgba(248, 249, 250, 0.6));
  opacity: 1;
  pointer-events: none;
}

.pp-login__house-wrap {
  /* position: relative;
  z-index: 1;
  margin-top: auto;
  flex: 0 1 auto;
  padding-top: 0.75rem;
  width: 100%;
  max-width: min(100%, 520px);
  max-height: min(42vh, 420px);
  display: flex;
  align-items: flex-end; */
  animation: pp-house-in 1.1s 0.25s ease both;
  float: left;
  position: absolute;
    bottom: 45px;
    left: 10px;
}

@media (min-width: 992px) {
  /* .pp-login__house-wrap {
    align-self: flex-start;
    width: min(52%, 500px);
    max-width: 500px;
    max-height: min(40vh, 400px);
    margin-top: auto;
    padding-top: 1rem;
    transform: scaleX(-1);
  } */

  .pp-login__brand {
    max-width: min(52%, 34rem);
    flex: 0 0 auto;
  }
}

.pp-login__house {
  position: relative;
  z-index: 2;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(42vh, 420px);
  object-fit: contain;
  object-position: left bottom;
  filter: drop-shadow(0 20px 40px rgba(var(--pp-blue-rgb), 0.12)) drop-shadow(0 10px 24px rgba(245, 130, 41, 0.1));
  transform-origin: center bottom;
  animation: pp-house-float 7s ease-in-out infinite;
}

@media (min-width: 992px) {
  .pp-login__house {
    max-height: min(40vh, 400px);
  }
}

.pp-login__house-glow {
  position: absolute;
  z-index: 1;
  left: 12%;
  right: 12%;
  bottom: 4%;
  height: 28%;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(255, 180, 60, 0.45), rgba(245, 130, 41, 0.12) 45%, transparent 70%);
  filter: blur(18px);
  pointer-events: none;
  animation: pp-glow-pulse 4.5s ease-in-out infinite;
}

@keyframes pp-house-in {
  from { opacity: 0; transform: translateY(28px) scale(0.96); }
  to { opacity: 1; transform: none; }
}

@media (min-width: 992px) {
  @keyframes pp-house-in {
    from { opacity: 0; transform: scaleX(-1) translateY(28px) scale(0.96); }
    to { opacity: 1; transform: scaleX(-1); }
  }
}

@keyframes pp-house-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes pp-glow-pulse {
  0%, 100% { opacity: 0.75; transform: scaleX(1); }
  50% { opacity: 1; transform: scaleX(1.06); }
}

/* Short / wide screens — keep house below brand text */
@media (min-width: 992px) and (max-height: 780px) {
  .pp-login__visual {
    padding: clamp(1.25rem, 3vh, 2.5rem);
    gap: 0.75rem;
  }

  /* .pp-login__house-wrap {
    max-height: min(34vh, 280px);
    width: min(44%, 380px);
  } */

  .pp-login__house {
    max-height: min(34vh, 280px);
  }

  .pp-login__brand h1 {
    font-size: clamp(1.55rem, 3.2vw, 2.35rem);
    margin-bottom: 0.65rem;
  }

  .pp-login__brand p {
    font-size: 0.95rem;
    line-height: 1.4;
  }

  .pp-login__meta {
    margin-top: 1rem;
  }

  .pp-login__logo {
    width: min(100%, 180px);
    margin-bottom: 1rem;
  }
}

@media (min-width: 992px) and (max-height: 640px) {
  .pp-login__house-wrap {
    max-height: min(28vh, 200px);
    width: min(38%, 300px);
  }

  .pp-login__house {
    max-height: min(28vh, 200px);
    animation: none;
  }

  .pp-login__house-glow {
    display: none;
  }

  .pp-login__brand p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .pp-login__meta {
    margin-top: 0.65rem;
  }
}

@media (min-width: 992px) and (max-height: 520px) {
  .pp-login__house-wrap {
    display: none;
  }
}

.pp-login__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(40px);
  pointer-events: none;
  animation: pp-float 9s ease-in-out infinite;
}

.pp-login__orb--1 {
  width: 280px;
  height: 280px;
  top: 12%;
  left: -4%;
  background: rgba(var(--pp-blue-rgb), 0.14);
}

.pp-login__orb--2 {
  width: 220px;
  height: 220px;
  bottom: 10%;
  right: 8%;
  background: rgba(245, 130, 41, 0.12);
  animation-delay: -3s;
}

@keyframes pp-float {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-18px) scale(1.04); }
}

.pp-login__brand {
  position: relative;
  z-index: 3;
  max-width: 100%;
  flex: 0 0 auto;
  margin-top: 5%;
  align-items: center;
  justify-content: center;

}

/* Login — AI Edition badge */
.pp-login__ai-badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1.15rem;
  padding: 0.45rem 0.85rem 0.45rem 0.55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(var(--pp-blue-rgb), 0.1), rgba(245, 130, 41, 0.12));
  border: 1px solid rgba(var(--pp-blue-rgb), 0.18);
  box-shadow: 0 8px 24px rgba(var(--pp-blue-rgb), 0.08);
  animation: pp-logo-in 0.85s ease both;
  overflow: hidden;
}

.pp-login__ai-badge__pulse {
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.55) 50%, transparent 70%);
  transform: translateX(-120%);
  animation: pp-ai-shimmer 3.2s ease-in-out infinite;
  pointer-events: none;
}

@keyframes pp-ai-shimmer {
  0%, 40% { transform: translateX(-120%); }
  70%, 100% { transform: translateX(120%); }
}

.pp-login__ai-badge > i {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pp-blue), var(--pp-flame));
  color: #fff;
  font-size: 1.05rem;
  box-shadow: 0 6px 14px rgba(245, 130, 41, 0.28);
}

.pp-login__ai-badge__text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  gap: 0.08rem;
}

.pp-login__ai-badge__text strong {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #123a5c;
}

.pp-login__ai-badge__text em {
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 650;
  color: var(--pp-mark);
}

.pp-login__ai-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.75rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #123a5c;
  background: linear-gradient(90deg, rgba(var(--pp-blue-rgb), 0.1), rgba(245, 130, 41, 0.12));
  border: 1px solid rgba(var(--pp-blue-rgb), 0.16);
}

.pp-login__ai-chip i {
  color: var(--pp-mark);
  font-size: 0.95rem;
}

.wms-pill--ai {
  color: #123a5c !important;
  background: linear-gradient(90deg, rgba(var(--pp-blue-rgb), 0.12), rgba(245, 130, 41, 0.14)) !important;
  border-color: rgba(var(--pp-blue-rgb), 0.22) !important;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.wms-pill--ai i {
  color: var(--pp-mark);
  font-size: 0.9rem;
}

.pp-login__logo {
  width: min(100%, 220px);
  height: auto;
  display: block;
  margin-bottom: 1.75rem;
  filter: drop-shadow(0 8px 24px rgba(var(--pp-blue-rgb), 0.1));
  animation: pp-logo-in 0.9s ease both;
}

.pp-login__brand h1 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(2rem, 3.2vw, 2.35rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 1rem;
  animation: pp-logo-in 0.9s 0.1s ease both;
}

.pp-login__headline {
  display: block;
}

.pp-login__headline--primary {
  color: var(--pp-blue);
}

.pp-login__headline--accent {
  color: var(--pp-mark);
}

.pp-login__brand-link {
  color: var(--pp-blue);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(var(--pp-blue-rgb), 0.25);
  transition: color 0.2s ease, border-color 0.2s ease;
}

.pp-login__brand-link:hover {
  color: var(--pp-mark);
  border-bottom-color: rgba(245, 130, 41, 0.35);
}

.pp-login__meta .wms-pill--accent {
  color: var(--pp-mark);
  background: var(--pp-orange-light);
  border-color: rgba(245, 130, 41, 0.22);
}

@keyframes pp-logo-in {
  from { opacity: 0; transform: translateY(14px) scale(0.98); }
  to { opacity: 1; transform: none; }
}

.pp-login__brand p {
  font-size: 0.85rem;
  line-height: 1.55;
  color: #5d6c7b;
  max-width: 100%;
  margin: 0;
  animation: pp-logo-in 0.9s 0.2s ease both;
}

.pp-login__meta {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 2rem;
  animation: pp-logo-in 0.9s 0.3s ease both;
}

.pp-login__panel {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1.5rem, 4vw, 3rem);
  background: var(--pp-canvas);
}

.pp-login__card {
  width: 100%;
  max-width: 420px;
  background: #ffffff;
  border-radius: 22px;
  padding: 2rem 1.75rem 1.75rem;
  box-shadow: 0 16px 48px rgba(var(--pp-blue-rgb), 0.08);
  border: 1px solid var(--pp-line);
  border-top: 3px solid var(--pp-blue);
  animation: pp-card-in 0.85s 0.15s ease both;
}

.pp-login__card-logo {
  display: none;
  width: min(100%, 132px);
  height: auto;
  margin-bottom: 1rem;
}

@keyframes pp-card-in {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: none; }
}

.pp-login__card-head {
  margin-bottom: 1.5rem;
}

.pp-login__card-head .eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--pp-blue);
  margin-bottom: 0.4rem;
}

.pp-login__card-head h2 {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--pp-blue);
  margin: 0 0 0.35rem;
}

.pp-login__card-head p {
  margin: 0;
  color: var(--pp-muted);
  font-size: 0.95rem;
}

.pp-login__card .form-label {
  font-weight: 600;
  color: var(--pp-blue);
  font-size: 0.85rem;
}

.pp-login__card .form-control,
.pp-login__card .input-group-text {
  border-radius: 12px;
  border: 1px solid rgba(var(--pp-blue-rgb), 0.14);
  background: #f8fbfd;
  color: var(--pp-ink) !important;
  min-height: 48px;
  font-weight: 500;
}

.pp-login__card .input-group .form-control {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.pp-login__card .input-group-text {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.pp-login__card .form-control:focus {
  border-color: rgba(var(--pp-blue-rgb), 0.55);
  box-shadow: 0 0 0 3px rgba(var(--pp-blue-rgb), 0.12);
  background: #fff;
}

.pp-login__card input:-webkit-autofill,
.pp-login__card input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 30px #f8fbfd inset !important;
  -webkit-text-fill-color: var(--pp-ink) !important;
}

.pp-login__submit {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 12px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: 0.02em;
  color: #fff;
  background: linear-gradient(135deg, var(--pp-flame) 0%, var(--pp-ember) 100%);
  box-shadow: 0 14px 28px rgba(245, 130, 41, 0.22);
  transition: transform 0.2s ease, filter 0.2s ease;
}

.pp-login__submit:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
  color: #fff;
}

.pp-login__footnote {
  margin-top: 1.1rem;
  text-align: center;
  font-size: 0.8rem;
  color: var(--pp-muted);
}

@media (max-width: 991.98px) {
  .pp-login {
    grid-template-columns: 1fr;
  }

  .pp-login__visual {
    position: relative;
    min-height: auto;
    padding: 0.85rem 1rem 0.65rem;
    overflow: hidden;
    border-right: 0;
    border-bottom: 1px solid var(--pp-line);
  }

  .pp-login__visual::before {
    background-size: min(70vw, 360px);
    opacity: 0.12;
  }

  .pp-login__panel {
    border-left: 0;
    border-top: 1px solid var(--pp-line);
    padding-top: 1rem;
    margin-top: 0;
  }

  .pp-login__card-logo {
    display: block;
  }

  .pp-login__visual > .pp-login__logo {
    display: none;
  }

  .pp-login__brand {
    margin-top: 0 !important;
    padding-top: 0.15rem !important;
    padding-right: 6.5rem;
    max-width: 100%;
    z-index: 2;
  }

  .pp-login__brand h1 {
    font-size: clamp(1.05rem, 4.6vw, 1.35rem);
    line-height: 1.15;
    margin-bottom: 0.35rem;
    letter-spacing: -0.02em;
  }

  .pp-login__brand p {
    font-size: 0.72rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .pp-login__house-wrap {
    position: absolute !important;
    top: 0.35rem;
    right: 0.35rem;
    bottom: auto !important;
    left: auto !important;
    float: none !important;
    width: 84px;
    max-width: 26vw;
    max-height: 84px;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1;
    animation: none;
  }

  .pp-login__house {
    max-height: 78px;
    width: 100%;
    animation: none;
    object-position: right top;
    filter: drop-shadow(0 8px 16px rgba(var(--pp-blue-rgb), 0.14));
  }

  .pp-login__house-glow {
    display: none;
  }

  .pp-login__orb {
    opacity: 0.45;
    filter: blur(28px);
  }

  .pp-login__card {
    padding: 1.35rem 1.15rem 1.15rem;
    border-radius: 16px;
  }

  .pp-login__card-head h2 {
    font-size: 1.35rem;
  }
}

/* =========================================================
   Shell header + mega menus ? Odoo 19 inspired (WMS 4.0)
   Sticky + high z-index so panels sit above .wms-home-hero
   ========================================================= */

.pp-shell-header {
  position: sticky;
  top: 0;
  z-index: 1100;
  margin: 0 0 0.4rem;
  isolation: isolate;
}

/* Odoo-like flat white navbar */
.pp-shell-header__bar,
.odoo-navbar {
  background: #ffffff !important;
  border-bottom: 1px solid #dee2e6;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
  overflow: visible !important;
}

.pp-shell-header__inner {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 40px;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}

.pp-shell-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  text-decoration: none !important;
  flex-shrink: 0;
  max-width: min(168px, 46vw);
}

.pp-shell-brand__logo {
  display: block;
  height: 27px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  border-right: 1px solid #dee2e6;
  padding-right: 1rem;
}

.pp-shell-brand__mark {
  display: none;
  flex-shrink: 0;
  line-height: 0;
}

.pp-shell-brand__mark svg {
  display: block;
  border-radius: 7px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

.pp-shell-brand__meta {
  display: none;
  flex-direction: column;
  line-height: 1.05;
  min-width: 0;
}

.pp-shell-brand__meta strong {
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--pp-blue);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pp-shell-brand__meta small {
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pp-mark);
}

.pp-shell-accent {
  height: 2px;
  background: linear-gradient(90deg, var(--pp-blue), var(--pp-flame));
}

/* Odoo search capsule in navbar */
.odoo-search-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex: 1 1 auto;
  max-width: 420px;
  margin: 0 auto;
  min-height: 34px;
  padding: 0.28rem 0.7rem;
  border: 1px solid #d8dadd;
  border-radius: 6px;
  background: #f8f9fa;
  color: #6c757d;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.odoo-search-trigger:hover,
.odoo-search-trigger:focus {
  background: #fff;
  border-color: rgba(245, 130, 41, 0.55);
  box-shadow: 0 0 0 3px rgba(245, 130, 41, 0.12);
  outline: none;
}

.odoo-search-trigger i {
  color: var(--pp-mark);
  font-size: 1.1rem;
}

.odoo-search-trigger__label {
  flex: 1;
  text-align: left;
  font-size: 0.84rem;
  font-weight: 500;
  color: #868e96;
}

.odoo-search-trigger kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  padding: 0.05rem 0.3rem;
  border: 1px solid #ced4da;
  border-radius: 4px;
  background: #fff;
  font-size: 0.65rem;
  font-weight: 650;
  color: #495057;
  box-shadow: 0 1px 0 #dee2e6;
}

.pp-shell-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  background: #f8f9fa;
  cursor: pointer;
  position: relative;
  z-index: 2;
}

.pp-shell-toggle span {
  display: block;
  height: 2px;
  margin: 0 9px;
  border-radius: 2px;
  background: #343a40;
  transition: transform 0.2s ease, opacity 0.2s ease;
  transform-origin: center;
}

.pp-shell-toggle.is-active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.pp-shell-toggle.is-active span:nth-child(2) {
  opacity: 0;
}

.pp-shell-toggle.is-active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.pp-shell-user {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0;
  flex-shrink: 0;
  list-style: none;
  padding: 0;
}

.pp-shell-user__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 160px;
  min-height: 30px;
  padding: 0.1rem 0.35rem 0.1rem 0.15rem;
  border-radius: 999px;
  border: 1px solid #dee2e6;
  background: #fff;
  color: #212529 !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease;
}

.pp-shell-user__btn:hover,
.pp-shell-user__btn:focus,
.pp-shell-user__btn[aria-expanded="true"] {
  background: #fff7f0;
  border-color: color-mix(in srgb, var(--pp-flame) 45%, transparent);
  outline: none;
}

.pp-shell-user__btn::after {
  display: none !important;
}

.pp-shell-user__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--pp-sun), var(--pp-flame) 55%, var(--pp-ember));
  color: #fff;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1;
}

.pp-shell-user__avatar--lg {
  width: 34px;
  height: 34px;
  font-size: 0.78rem;
}

.pp-shell-user__name {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.75rem;
  max-width: 88px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pp-shell-user__caret {
  font-size: 0.9rem !important;
  color: #adb5bd !important;
  margin-right: 0.1rem;
}

.pp-profile-drop {
  z-index: 1200 !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
  padding: 0.3rem !important;
  min-width: 210px;
  margin-top: 0.35rem !important;
}

.pp-profile-drop::before {
  display: none;
}

.pp-profile-drop__head {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 0.5rem 0.55rem;
  margin-bottom: 0.25rem;
  border-bottom: 1px solid #f1f3f5;
}

.pp-profile-drop__head strong {
  display: block;
  font-size: 0.8rem;
  color: #212529;
  line-height: 1.2;
}

.pp-profile-drop__head small {
  display: block;
  font-size: 0.68rem;
  color: #868e96;
}

.pp-profile-drop .dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.55rem !important;
  border-radius: 4px;
  font-size: 0.78rem;
  color: #495057 !important;
}

.pp-profile-drop .dropdown-item i {
  color: var(--pp-mark);
  font-size: 1rem;
  width: 1.1rem;
  text-align: center;
}

.pp-profile-drop .dropdown-item:hover,
.pp-profile-drop .dropdown-item:focus {
  background: #fff7f0 !important;
  color: #212529 !important;
}

.pp-profile-drop__logout {
  color: #c92a2a !important;
}

.pp-profile-drop__logout i {
  color: #c92a2a !important;
}

.pp-profile-drop .dropdown-divider {
  margin: 0.25rem 0;
}

/* Apps bar (Odoo secondary menu) */
.pp-mega-nav.topnav,
.pp-shell-header .topnav,
.odoo-apps-bar {
  position: relative;
  z-index: 1100;
  background: #f8f9fa !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid #e6e6e6 !important;
  box-shadow: none;
  padding: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

.pp-mega-nav .navbar-collapse,
.pp-mega-nav .navbar,
.pp-mega-nav .container-fluid {
  overflow: visible !important;
}

.pp-mega-nav__list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: 0;
  justify-content: flex-start !important;
}

.pp-mega-nav .nav-item {
  margin: 0 !important;
  position: relative;
}

.pp-mega-link {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.65rem 0.9rem !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  color: #4c4c4c !important;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.01em;
  line-height: 1.2;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.pp-mega-link i {
  color: var(--pp-blue);
  font-size: 1.05em;
}

.pp-mega-link:hover,
.pp-mega-item:hover > .pp-mega-link,
.pp-mega-item.show > .pp-mega-link {
  background: rgba(245, 130, 41, 0.06) !important;
  color: var(--pp-mark-deep) !important;
  border-bottom-color: var(--pp-mark) !important;
  box-shadow: none !important;
  transform: none;
}

.pp-mega-link--accent {
  background: transparent !important;
}

.pp-mega-link.dropdown-toggle::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.2rem;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid var(--pp-blue);
  vertical-align: 0.15em;
  opacity: 0.85;
}

/* Mega panels ? flatter Odoo cards */
.pp-mega-panel.dropdown-menu,
.pp-shell-header .dropdown-menu {
  z-index: 1110 !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 6px !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12) !important;
  padding: 0 !important;
  background: #fff !important;
  min-width: 320px;
  margin-top: 0 !important;
  overflow: hidden;
}

.pp-mega-panel--wide {
  min-width: min(720px, calc(100vw - 2rem));
}

.pp-mega-panel__intro {
  padding: 0.75rem 1rem 0.65rem;
  background: var(--pp-blue);
  color: #fff;
}

.pp-mega-panel__intro strong {
  display: block;
  font-family: var(--font-display);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-bottom: 0.15rem;
}

.pp-mega-panel__intro p {
  margin: 0;
  font-size: 0.74rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.78);
  max-width: 36rem;
}

.pp-mega-cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.15rem 0.35rem;
  padding: 0.55rem 0.55rem 0.7rem;
}

.pp-mega-col h6 {
  margin: 0.35rem 0.55rem 0.35rem;
  font-family: var(--font-display);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pp-blue);
}

.pp-mega-panel .dropdown-item {
  display: flex !important;
  align-items: flex-start;
  gap: 0.5rem;
  border-radius: 4px !important;
  padding: 0.45rem 0.55rem !important;
  color: #212529 !important;
  font-weight: 550;
  font-size: 0.84rem;
  white-space: normal;
  line-height: 1.25;
}

.pp-mega-panel .dropdown-item i {
  color: var(--pp-mark);
  width: 1.1rem;
  margin-top: 0.1rem;
  text-align: center;
  flex-shrink: 0;
}

.pp-mega-panel .dropdown-item span {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
}

.pp-mega-panel .dropdown-item small {
  font-size: 0.68rem;
  font-weight: 500;
  color: #868e96;
  letter-spacing: 0;
  text-transform: none;
}

.pp-mega-panel .dropdown-item:hover,
.pp-mega-panel .dropdown-item:focus {
  background: #f4f0f2 !important;
  color: var(--pp-blue) !important;
}

@media (min-width: 992px) {
  .pp-mega-item:hover > .pp-mega-panel,
  .pp-mega-item:focus-within > .pp-mega-panel {
    display: block;
    animation: ppMegaIn 0.14s ease;
  }
}

/* Profile menu: click only (Bootstrap .show) — never stretch the header */
.pp-shell-user {
  position: relative;
}

.pp-shell-user .dropdown-menu,
.pp-shell-user .pp-profile-drop {
  display: none;
  position: absolute !important;
  inset: auto 0 auto auto !important;
  top: calc(100% + 0.35rem) !important;
  left: auto !important;
  right: 0 !important;
  float: none !important;
  width: max-content !important;
  min-width: 210px !important;
  max-width: min(280px, calc(100vw - 1rem)) !important;
  transform: none !important;
  margin: 0 !important;
  z-index: 1300 !important;
}

.pp-shell-user .dropdown-menu.show,
.pp-shell-user .pp-profile-drop.show {
  display: block !important;
}

@keyframes ppMegaIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

.wms-version-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.55rem;
  border-radius: 4px;
  color: var(--pp-blue) !important;
  background: rgba(var(--pp-blue-rgb), 0.1);
  font-size: 0.78rem !important;
  letter-spacing: 0.04em;
}

/* Remap Bootstrap ?success/green? to brand flame across app pages */
body:not(.authentication-bg) {
  --bs-primary: var(--pp-flame);
  --bs-success: var(--pp-flame);
  --bs-green: var(--pp-flame);
  --bs-link-color: var(--pp-blue);
  background: var(--pp-canvas) !important;
  transition: background-color 1.6s ease;
}

body:not(.authentication-bg) .btn-success,
body:not(.authentication-bg) .btn-outline-success:hover {
  background: var(--pp-flame) !important;
  border-color: var(--pp-ember) !important;
  color: #fff !important;
  box-shadow: none;
}

body:not(.authentication-bg) .btn-outline-success {
  color: var(--pp-mark) !important;
  border-color: var(--pp-mark) !important;
}

body:not(.authentication-bg) .bg-success,
body:not(.authentication-bg) .badge.bg-success {
  background-color: var(--pp-flame) !important;
  border-color: var(--pp-ember) !important;
}

body:not(.authentication-bg) .alert-success {
  background-color: color-mix(in srgb, var(--pp-flame) 12%, #fff) !important;
  border-color: color-mix(in srgb, var(--pp-flame) 35%, transparent) !important;
  color: #8a3d00 !important;
}

html[data-pp-brand="greenage"] body:not(.authentication-bg) .alert-success {
  color: #143d28 !important;
}

html[data-pp-brand="greenage"] body:not(.authentication-bg) .table-success,
html[data-pp-brand="greenage"] body:not(.authentication-bg) tr.table-success,
html[data-pp-brand="greenage"] body:not(.authentication-bg) .badge-success {
  color: #143d28 !important;
}

body:not(.authentication-bg) .text-success {
  color: var(--pp-mark) !important;
}

body:not(.authentication-bg) .border-success {
  border-color: color-mix(in srgb, var(--pp-flame) 45%, transparent) !important;
}

body:not(.authentication-bg) .btn-primary {
  background: var(--pp-flame) !important;
  border-color: var(--pp-ember) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body:not(.authentication-bg) .btn-primary:hover {
  background: var(--pp-ember) !important;
  border-color: #d06a20 !important;
}

/* Cards: Odoo denser look */
body:not(.authentication-bg) .content-page .card,
body:not(.authentication-bg) .card {
  border-radius: var(--pp-radius) !important;
  box-shadow: none !important;
  border-color: #dee2e6 !important;
}

body:not(.authentication-bg) .page-title-box {
  border-radius: var(--pp-radius);
  border: 1px solid var(--pp-line);
  border-left: 3px solid var(--pp-flame);
  background: #fff;
  box-shadow: none;
}

/* Filter toolbar row (list pages) */
body:not(.authentication-bg) .row.justify-content-md-center.card-body,
body:not(.authentication-bg) .card > .row.justify-content-md-center.card-body {
  justify-content: center !important;
  align-items: flex-end;
  gap: 0.75rem 1rem;
  margin: 0 !important;
  padding: 0.9rem 1rem !important;
  background: #fafafa;
  border-radius: 0 0 10px 10px;
}

body:not(.authentication-bg) .col-12.text-center.card {
  border: 1px solid #e8eaed !important;
  border-radius: 10px !important;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(10, 10, 10, 0.04) !important;
  margin-bottom: 0.85rem;
  background: #fff !important;
}

body:not(.authentication-bg) .row.justify-content-md-center.card-body .form-label {
  display: block;
  text-align: left;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pp-blue);
  margin-bottom: 0.35rem;
}

body:not(.authentication-bg) .row.justify-content-md-center.card-body .form-control,
body:not(.authentication-bg) .row.justify-content-md-center.card-body .form-select {
  border: 1px solid #d8dadd;
  border-radius: 6px;
  min-height: 36px;
  font-size: 0.86rem;
}

body:not(.authentication-bg) .row.justify-content-md-center.card-body .input-group {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
}

body:not(.authentication-bg) .row.justify-content-md-center.card-body .btn-success,
body:not(.authentication-bg) .row.justify-content-md-center.card-body .btn.btn-success {
  background: linear-gradient(135deg, var(--pp-flame), var(--pp-ember)) !important;
  border: none !important;
  color: #fff !important;
  font-weight: 650;
}

body:not(.authentication-bg) .row.justify-content-md-center.card-body h4 {
  font-size: 0.9rem;
  color: #5c6570;
  margin: 0.5rem 0;
}

@media (max-width: 991.98px) {
  .odoo-search-trigger {
    max-width: none;
    flex: 1 1 auto;
    margin: 0;
  }

  .odoo-search-trigger__label,
  .odoo-search-trigger kbd {
    display: none;
  }

  .pp-shell-toggle {
    display: inline-flex;
  }

  .pp-shell-user__name {
    display: none;
  }

  .pp-mega-nav__list {
    flex-direction: column;
    align-items: stretch;
    padding: 0.35rem 0 0.55rem;
    gap: 0;
  }

  .pp-mega-link {
    width: 100%;
    justify-content: flex-start;
    border-radius: 0 !important;
    border-bottom: 1px solid #eee !important;
  }

  /* Mega menus go static on mobile — profile dropdown stays absolute */
  .pp-mega-panel.dropdown-menu,
  .pp-shell-header .dropdown-menu:not(.pp-profile-drop) {
    position: static !important;
    float: none;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    border-bottom: 1px solid #e6e6e6 !important;
  }

  .pp-shell-user .pp-profile-drop,
  .pp-shell-user .pp-profile-drop.show {
    position: absolute !important;
    inset: auto 0 auto auto !important;
    top: calc(100% + 0.35rem) !important;
    right: 0 !important;
    left: auto !important;
    width: max-content !important;
    min-width: 210px !important;
    max-width: min(280px, calc(100vw - 1rem)) !important;
    margin: 0 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 6px !important;
    z-index: 1300 !important;
  }

  .pp-mega-panel--wide {
    min-width: 0;
  }

  .pp-mega-cols {
    grid-template-columns: 1fr;
  }
}

/* ---------- Command palette ---------- */
body.pp-cmd-open {
  overflow: hidden;
}

.pp-cmd {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 12vh 1rem 2rem;
}

.pp-cmd[hidden] {
  display: none !important;
}

.pp-cmd__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(33, 37, 41, 0.45);
  backdrop-filter: blur(2px);
}

.pp-cmd__dialog {
  position: relative;
  width: min(640px, 100%);
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
  overflow: hidden;
  animation: ppMegaIn 0.14s ease;
}

.pp-cmd__input-wrap {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid #eee;
}

.pp-cmd__input-wrap > i {
  color: var(--pp-blue);
  font-size: 1.25rem;
}

.pp-cmd__input {
  flex: 1;
  border: 0;
  outline: none;
  font-size: 1rem;
  font-weight: 500;
  color: #212529;
  background: transparent;
}

.pp-cmd__esc {
  border: 1px solid #ced4da;
  border-radius: 4px;
  padding: 0.1rem 0.35rem;
  font-size: 0.68rem;
  color: #6c757d;
  background: #f8f9fa;
}

.pp-cmd__hint {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  padding: 0.4rem 1rem;
  background: #f8f9fa;
  border-bottom: 1px solid #eee;
  font-size: 0.72rem;
  color: #868e96;
}

.pp-cmd__hint kbd {
  display: inline-block;
  padding: 0 0.28rem;
  border: 1px solid #dee2e6;
  border-radius: 3px;
  background: #fff;
  font-size: 0.68rem;
  color: #495057;
}

.pp-cmd__results {
  max-height: min(52vh, 420px);
  overflow: auto;
  padding: 0.35rem;
}

.pp-cmd__group {
  padding: 0.45rem 0.65rem 0.2rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pp-blue);
}

.pp-cmd__item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.65rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  text-align: left;
  cursor: pointer;
  color: #212529;
}

.pp-cmd__item i {
  color: var(--pp-mark);
  width: 1.25rem;
  text-align: center;
}

.pp-cmd__item-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
}

.pp-cmd__item-main strong {
  font-size: 0.88rem;
  font-weight: 600;
}

.pp-cmd__item-main small {
  font-size: 0.72rem;
  color: #868e96;
}

.pp-cmd__item-meta {
  font-size: 0.68rem;
  color: #adb5bd;
  max-width: 36%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pp-cmd__item.is-active,
.pp-cmd__item:hover {
  background: #f4f0f2;
}

.pp-cmd__empty {
  padding: 1.5rem 1rem;
  text-align: center;
  color: #868e96;
  font-size: 0.88rem;
}

.pp-cmd__footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.45rem 0.9rem;
  border-top: 1px solid #eee;
  background: #fafafa;
  font-size: 0.7rem;
  color: #868e96;
}

.odoo-empty-state {
  margin: 2.5rem auto;
  max-width: 520px;
  text-align: center;
  padding: 2rem 1.25rem;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
}

.odoo-empty-state__code {
  font-family: var(--font-display);
  font-size: 3.5rem;
  font-weight: 800;
  color: var(--pp-blue);
  line-height: 1;
}

.odoo-empty-state h1 {
  margin: 0.5rem 0 0.35rem;
  font-size: 1.35rem;
}

.odoo-empty-state p {
  color: #6c757d;
  margin-bottom: 1.25rem;
}

.odoo-empty-state__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

/* =========================================================
   Admin analytics panel (WMS 4.0)
   ========================================================= */

.pp-analytics {
  position: relative;
}

.pp-analytics__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.35rem 1.4rem;
  border-radius: 20px;
  color: var(--pp-ink);
  background:
    radial-gradient(700px 240px at 100% 0%, rgba(var(--pp-blue-rgb), 0.08), transparent 55%),
    radial-gradient(520px 220px at 0% 100%, rgba(245, 130, 41, 0.1), transparent 50%),
    linear-gradient(135deg, #ffffff 0%, #f8f9fa 55%, #ffffff 100%);
  border: 1px solid var(--pp-line);
  box-shadow: 0 8px 28px rgba(var(--pp-blue-rgb), 0.06);
  margin-bottom: 1rem;
}

.pp-analytics__eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pp-mark);
  margin-bottom: 0.35rem;
}

.pp-analytics__title {
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 750;
  margin: 0;
  color: var(--pp-blue);
  letter-spacing: -0.02em;
}

.pp-analytics__sub {
  margin: 0.35rem 0 0;
  color: #5d6c7b;
  font-size: 0.92rem;
  max-width: 36rem;
}

.pp-analytics__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.pp-analytics__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--pp-blue) !important;
  text-decoration: none !important;
  background: var(--pp-blue-light);
  border: 1px solid rgba(var(--pp-blue-rgb), 0.2);
  transition: background 0.2s ease, transform 0.2s ease;
}

.pp-analytics__chip:hover {
  background: rgba(245, 130, 41, 0.12);
  transform: translateY(-1px);
  color: var(--pp-mark) !important;
}

.pp-analytics__chip--hot {
  background: linear-gradient(135deg, var(--pp-flame), var(--pp-ember));
  border-color: transparent;
  color: #fff !important;
}

.pp-analytics__section-label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  color: var(--pp-ink);
}

.pp-kpi {
  width: 100%;
  text-align: left;
  border: 1px solid var(--pp-line);
  border-radius: 16px;
  padding: 1rem 1.05rem;
  background: #fff;
  box-shadow: var(--pp-shadow);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  cursor: pointer;
}

.pp-kpi:hover,
.pp-kpi.active {
  border-color: rgba(245, 130, 41, 0.4);
  box-shadow: 0 14px 32px rgba(245, 130, 41, 0.12);
  transform: translateY(-2px);
}

.pp-kpi.active {
  background: linear-gradient(180deg, #fff 0%, rgba(245, 130, 41, 0.1) 100%);
}

.pp-kpi__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pp-muted);
}

.pp-kpi__value {
  display: block;
  margin-top: 0.35rem;
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.5vw, 1.85rem);
  font-weight: 750;
  color: var(--pp-ink);
  letter-spacing: -0.03em;
}

.pp-kpi__hint {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.72rem;
  color: var(--pp-mark);
  font-weight: 600;
}

.pp-city-card {
  height: 100%;
  border-radius: 16px;
  border: 1px solid var(--pp-line);
  background: #fff;
  padding: 1rem 1.05rem 0.9rem;
  box-shadow: var(--pp-shadow);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.pp-city-card__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--pp-ink);
  padding-bottom: 0.55rem;
  border-bottom: 2px solid transparent;
  border-image: linear-gradient(90deg, var(--pp-blue), var(--pp-flame)) 1;
}

.pp-city-card__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem 0.75rem;
}

.pp-city-card__wide {
  grid-column: 1 / -1;
}

.pp-city-card__meta {
  display: block;
  font-size: 0.72rem;
  font-weight: 650;
  color: var(--pp-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pp-city-card strong {
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: var(--pp-ink);
}

.pp-city-card__link {
  margin-top: auto;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--pp-mark) !important;
  text-decoration: none !important;
}

.pp-city-card__link:hover {
  color: var(--pp-mark-deep) !important;
}

.pp-chart-card {
  border-radius: 18px;
  border: 1px solid var(--pp-line);
  background: #fff;
  box-shadow: var(--pp-shadow);
  padding: 1rem 1rem 0.5rem;
  min-height: 100%;
}

.pp-chart-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 0.35rem;
  padding: 0 0.25rem;
}

.pp-chart-card__head h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--pp-ink);
}

.pp-chart-card__head span {
  font-size: 0.78rem;
  color: var(--pp-muted);
  font-weight: 600;
}

.pp-empty-card {
  border-radius: 16px;
  border: 1px dashed rgba(245, 130, 41, 0.35);
  background: rgba(245, 130, 41, 0.08);
  color: #5c6570;
  padding: 1.5rem;
  text-align: center;
  font-weight: 600;
}



/* =========================================================
   Compact bar menus + image-style mega flyout
   ========================================================= */

.pp-shell-header__inner {
  gap: 0.5rem 1rem;
}

.pp-bar-menus {
  flex: 1 1 auto;
  min-width: 0;
}

.pp-bar-menus__list {
  display: flex;
  align-items: stretch;
  gap: 0.15rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pp-bar-item {
  position: static;
}

.pp-bar-link {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.38rem 0.55rem;
  border: 0;
  background: transparent;
  color: #3c4043;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.90rem;
  text-decoration: none !important;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}

.pp-bar-link i:first-child {
  color: var(--pp-mark);
  font-size: 1.1rem;
}

.pp-bar-caret {
  font-size: 0.85rem !important;
  color: #9aa0a6 !important;
}

.pp-bar-item:hover > .pp-bar-link,
.pp-bar-item:focus-within > .pp-bar-link {
  background: rgba(245, 130, 41, 0.08);
  color: var(--pp-mark-deep);
}

.pp-shell-actions {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  margin-left: auto;
  flex-shrink: 0;
}

.odoo-search-trigger--icon {
  flex: 0 0 auto;
  max-width: none;
  margin: 0;
  width: 30px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  justify-content: center;
  border-radius: 4px;
}

.odoo-search-trigger--icon .odoo-search-trigger__label,
.odoo-search-trigger--icon kbd {
  display: none !important;
}

/* Mega flyout ? premium product panel */
.pp-mega-host {
  position: relative;
}

.pp-mega-host > .pp-bar-link {
  position: relative;
}

.pp-mega-host:hover > .pp-bar-link::after,
.pp-mega-host:focus-within > .pp-bar-link::after {
  content: '';
  position: absolute;
  left: 0.55rem;
  right: 0.55rem;
  bottom: 0.15rem;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--pp-sun), var(--pp-flame));
}

.pp-mega-flyout {
  display: none;
  position: absolute;
  top: calc(100% - 2px);
  left: 0;
  z-index: 1200;
  width: min(520px, calc(100vw - 1rem));
  max-height: calc(100vh - 100px);
    overflow-y: auto;
  background:
    radial-gradient(420px 180px at 100% 0%, rgba(245, 130, 41, 0.07), transparent 55%),
    #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  box-shadow:
    0 4px 6px rgba(15, 15, 15, 0.04),
    0 22px 50px rgba(15, 15, 15, 0.18);
  grid-template-columns: 200px minmax(0, 1fr);
}

.pp-mega-flyout::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--pp-sun), var(--pp-flame) 45%, var(--pp-ember));
  z-index: 2;
}

.pp-mega-flyout::before {
  content: '';
  position: absolute;
  top: -14px;
  left: 0;
  right: 0;
  height: 14px;
}

.pp-mega-flyout--wide {
  width: min(560px, calc(100vw - 1rem));
}

.pp-mega-host:hover > .pp-mega-flyout,
.pp-mega-host:focus-within > .pp-mega-flyout {
  display: grid;
  animation: ppMegaPop 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes ppMegaPop {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.pp-mega-flyout__nav {
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%);
  border-right: 1px solid var(--pp-line);
  padding: 0.75rem 0.45rem 0.55rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  overflow-y: auto;
}

.pp-mega-cat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.3rem;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  color: #495057;
  font-weight: 600;
  font-size: 0.74rem;
  line-height: 1.25;
  padding: 0.48rem 0.5rem;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.pp-mega-cat i {
  color: var(--pp-muted);
  font-size: 0.9rem;
  flex-shrink: 0;
  transition: color 0.15s ease;
}

.pp-mega-cat .pp-ico-solar,
.pp-mega-cat .pp-ico-inv,
.pp-mega-cat .pp-ico-bat {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem !important;
  background: var(--pp-orange-light);
}

.pp-mega-cat:hover {
  background: rgba(var(--pp-blue-rgb), 0.06);
  color: var(--pp-blue);
  transform: translateX(2px);
}

.pp-mega-cat.is-active {
  background: linear-gradient(135deg, rgba(245, 130, 41, 0.95), rgba(226, 122, 41, 0.9));
  color: #fff;
  box-shadow: 0 6px 16px rgba(245, 130, 41, 0.28);
}

.pp-mega-cat.is-active i,
.pp-mega-cat:hover i {
  color: var(--pp-blue);
}

.pp-mega-cat.is-active i {
  color: #fff;
}

.pp-mega-cat.is-active .pp-ico-solar,
.pp-mega-cat.is-active .pp-ico-inv,
.pp-mega-cat.is-active .pp-ico-bat {
  background: rgba(255, 255, 255, 0.2);
  color: #fff !important;
}

.pp-mega-flyout__body {
  padding: 0.85rem 0.85rem 0.9rem;
  min-height: 0;
  max-height: min(70vh, 420px);
  overflow-y: auto;
  background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
}

.pp-mega-panel-pane {
  display: none;
}

.pp-mega-panel-pane.is-active {
  display: block;
  animation: ppMegaIn 0.16s ease;
}

.pp-mega-panel-pane h5 {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 0.65rem;
  padding-bottom: 0.45rem;
  border-bottom: 1px solid #f0f1f3;
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 700;
  color: #1a1a1a;
}

.pp-mega-panel-pane h5 i {
  font-size: 1.05rem;
}

.pp-mega-link-row {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.48rem 0.5rem;
  margin-bottom: 0.2rem;
  color: #3c4043 !important;
  text-decoration: none !important;
  font-weight: 600;
  font-size: 0.8rem;
  border-radius: 9px;
  line-height: 1.25;
  border: 1px solid transparent;
  transition: background 0.14s ease, border-color 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease;
}

.pp-mega-link-row > i:first-child {
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.95rem;
  background: #fff7f0;
  color: var(--pp-mark);
  box-shadow: inset 0 0 0 1px rgba(245, 130, 41, 0.12);
}

.pp-mega-link-row .pp-mega-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  margin: 0 0.15rem 0 0.45rem;
  box-shadow: none;
  background: var(--pp-flame);
  flex-shrink: 0;
}

.pp-mega-link-row:hover {
  background: #fff;
  border-color: rgba(245, 130, 41, 0.22);
  color: var(--pp-mark-deep) !important;
  transform: translateX(3px);
  box-shadow: 0 6px 16px rgba(245, 130, 41, 0.08);
}

.pp-mega-link-row:hover > i:first-child {
  background: linear-gradient(135deg, var(--pp-flame), var(--pp-ember));
  color: #fff;
  box-shadow: none;
}

.pp-mega-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--pp-flame);
  flex-shrink: 0;
}

.pp-mega-dot--amber { background: var(--pp-sun); }
.pp-mega-dot--ember { background: var(--pp-ember); }
.pp-mega-dot--in { background: #20c997; }
.pp-mega-dot--out { background: #339af0; }

.pp-mega-flyout__cta {
  display: none !important;
}

.pp-mega-flyout__cta::before {
  content: '';
  position: absolute;
  inset: auto -20% -30% 30%;
  height: 120px;
  background: radial-gradient(circle, rgba(245, 130, 41, 0.35), transparent 70%);
  pointer-events: none;
  animation: ppMegaGlow 4.5s ease-in-out infinite alternate;
}

@keyframes ppMegaGlow {
  from { transform: translateX(0); opacity: 0.7; }
  to { transform: translateX(-18px); opacity: 1; }
}

.pp-mega-cta-icon {
  position: relative;
  z-index: 1;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(245, 130, 41, 0.25);
  background: rgba(245, 130, 41, 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: var(--pp-mark);
  box-shadow: 0 4px 12px rgba(245, 130, 41, 0.12);
}

.pp-mega-flyout__cta h4 {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--pp-blue);
  letter-spacing: -0.01em;
}

.pp-mega-flyout__cta p {
  position: relative;
  z-index: 1;
  margin: 0 0 0.25rem;
  font-size: 0.7rem;
  line-height: 1.4;
  color: #5d6c7b;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pp-mega-cta-btn {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  margin-top: 0.15rem;
  padding: 0.42rem 0.55rem;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--pp-flame), var(--pp-ember));
  color: #fff !important;
  font-weight: 700;
  font-size: 0.72rem;
  text-decoration: none !important;
  border: 1px solid transparent;
  text-align: center;
  line-height: 1.2;
  box-shadow: 0 8px 18px rgba(245, 130, 41, 0.3);
  transition: transform 0.14s ease, filter 0.14s ease;
}

.pp-mega-cta-btn:hover {
  filter: brightness(1.06);
  color: #fff !important;
  transform: translateY(-1px);
}

.pp-mega-cta-btn--ghost {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.28);
  color: #fff !important;
  margin-top: 0.1rem;
  box-shadow: none;
}

.pp-mega-cta-btn--ghost:hover {
  border-color: var(--pp-sun);
  color: var(--pp-sun) !important;
  background: rgba(245, 130, 41, 0.08);
}

/* Hide legacy second nav strip if any remnant */
.pp-mega-nav.topnav,
.odoo-apps-bar {
  display: none !important;
}

/* Command palette WMS toolbar */
.pp-cmd__dialog--wms {
  width: min(900px, 100%);
}

.pp-cmd__wms-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  padding: 0.75rem 0.85rem;
  border-bottom: 1px solid #eee;
}

.pp-cmd__help {
  color: var(--pp-mark);
  font-size: 1.35rem;
  cursor: help;
  line-height: 1;
}

.pp-cmd__wms-toolbar .pp-cmd__input {
  flex: 1 1 160px;
  min-width: 140px;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 0.4rem 0.6rem;
  font-size: 0.92rem;
}

.pp-cmd__from {
  font-size: 0.78rem;
  font-weight: 650;
  color: #6c757d;
}

.pp-cmd__select {
  max-width: 220px;
  font-size: 0.8rem !important;
}

.pp-cmd__table-wrap {
  padding: 0.35rem;
  overflow: auto;
  max-height: min(48vh, 400px);
}

.pp-cmd__wms-table {
  font-size: 0.8rem;
  background: #fff;
}

.pp-cmd__wms-table th {
  background: #f8f9fa;
  font-weight: 650;
  white-space: nowrap;
  vertical-align: middle;
}

.pp-cmd__wms-table td {
  vertical-align: middle;
}

.pp-cmd__wms-table .badge {
  font-size: 0.68rem;
  letter-spacing: 0.02em;
}

.pp-cmd__hit-card {
  margin: 0.75rem;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  text-align: center;
  background: #fafafa;
}

.pp-cmd__hit-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(245, 130, 41, 0.12);
  color: var(--pp-mark-deep);
  font-weight: 700;
  font-size: 0.78rem;
}

.pp-cmd__hit-title {
  margin-top: 0.55rem;
  font-weight: 700;
  font-size: 1.05rem;
}

.pp-cmd__hit-full {
  padding: 0.5rem 0.65rem 0.75rem;
}

.pp-cmd__hit-card--full {
  text-align: left;
  margin: 0 0 0.65rem;
}

.pp-cmd__lc-table {
  font-size: 0.82rem;
  background: #fff;
}

.pp-cmd__lc-table th {
  width: 34%;
  background: #f8f9fa;
  font-weight: 600;
  white-space: nowrap;
}

.pp-cmd__pallet-section {
  margin-top: 0.35rem;
}

.pp-cmd__pallet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
  font-size: 0.88rem;
}

.pp-cmd__module-grid {
  margin: 0;
}

.pp-cmd__module-tile {
  position: relative;
  font-size: 0.78rem;
  line-height: 1.35;
  min-height: 2.6rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.92) !important;
}

.pp-cmd__module-tile--found {
  border: 2px solid var(--pp-flame, #f58229) !important;
  box-shadow: 0 0 0 3px rgba(245, 130, 41, 0.22);
  z-index: 1;
}

.pp-cmd__module-tile .showModuleTracking {
  cursor: pointer;
  color: var(--pp-blue, var(--pp-blue));
}

.pp-cmd__dialog--wms .pp-cmd__results {
  max-height: min(62vh, 520px);
}

.pp-analytics__loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 2.5rem 1rem;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  color: #6c757d;
}

.pp-analytics__spinner {
  width: 36px;
  height: 36px;
  border: 3px solid rgba(245, 130, 41, 0.2);
  border-top-color: var(--pp-mark);
  border-radius: 50%;
  animation: ppSpin 0.75s linear infinite;
}

@keyframes ppSpin {
  to { transform: rotate(360deg); }
}

@media (max-width: 991.98px) {
  .pp-shell-header__inner {
    flex-wrap: wrap;
    row-gap: 0;
  }

  .pp-shell-brand {
    order: 1;
  }

  .pp-shell-actions {
    order: 2;
    margin-left: auto;
  }

  .pp-bar-menus {
    display: none;
    order: 3;
    flex: 1 1 100%;
    width: 100%;
    min-width: 100%;
    max-height: min(78vh, 640px);
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0.35rem -0.75rem -0.35rem;
    padding: 0.4rem 0.75rem 0.85rem;
    border-top: 1px solid #e6e6e6;
    background: #fff;
    -webkit-overflow-scrolling: touch;
  }

  .pp-shell-header.is-nav-open .pp-bar-menus {
    display: block;
  }

  .pp-bar-menus__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0.15rem;
  }

  .pp-bar-item {
    position: relative;
    width: 100%;
  }

  .pp-bar-link {
    width: 100%;
    justify-content: flex-start;
    padding: 0.72rem 0.8rem;
    border-radius: 8px;
    font-size: 0.9rem;
  }

  .pp-bar-item:hover > .pp-bar-link {
    background: transparent;
    color: #3c4043;
  }

  .pp-mega-host.is-open > .pp-bar-link,
  .pp-bar-item:focus-within > .pp-bar-link {
    background: rgba(245, 130, 41, 0.1);
    color: var(--pp-mark-deep);
  }

  .pp-bar-caret {
    margin-left: auto;
    transition: transform 0.18s ease;
  }

  .pp-mega-host.is-open > .pp-bar-link .pp-bar-caret {
    transform: rotate(180deg);
    color: var(--pp-mark) !important;
  }

  /* Disable desktop hover flyouts on mobile ? use tap accordion */
  .pp-mega-host:hover > .pp-mega-flyout,
  .pp-mega-host:focus-within > .pp-mega-flyout {
    display: none !important;
  }

  .pp-mega-host.is-open > .pp-mega-flyout {
    display: grid !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    max-height: none;
    margin: 0.25rem 0 0.5rem;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
    animation: none;
    grid-template-columns: 1fr;
  }

  .pp-mega-flyout::before {
    display: none;
  }

  .pp-mega-host:hover > .pp-bar-link::after {
    display: none;
  }

  .pp-mega-flyout__nav {
    flex-direction: row;
    flex-wrap: wrap;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    max-height: none;
    overflow: visible;
    padding: 0.55rem 0.45rem;
    gap: 0.3rem;
  }

  .pp-mega-cat {
    flex: 1 1 calc(50% - 0.3rem);
    min-width: calc(50% - 0.3rem);
    font-size: 0.74rem;
    padding: 0.5rem 0.55rem;
  }

  .pp-mega-cat:hover {
    transform: none;
  }

  .pp-mega-nav-label {
    flex: 1 1 100%;
    margin: 0.15rem 0.15rem 0.05rem !important;
  }

  .pp-mega-flyout__body {
    max-height: min(42vh, 320px);
    padding: 0.65rem 0.7rem 0.75rem;
  }

  .pp-mega-flyout__cta {
    display: none !important;
  }

  .pp-mega-link-row {
    padding: 0.55rem 0.5rem;
    font-size: 0.84rem;
  }

  .pp-mega-link-row:hover {
    transform: none;
  }
}

.pp-shell-header__bar { position: relative; }

/* Keep host relative so flyout stays in hover tree (fixes close-before-reach) */
.pp-bar-item.pp-mega-host {
  position: relative !important;
}

.pp-mega-flyout {
  left: 0;
  right: auto;
  transform: none;
}

/* Stock opens from left edge of host */
.pp-mega-host[data-mega="stock"] .pp-mega-flyout {
  left: 0;
  right: auto;
  transform: none;
}

/* Register / Reports ? centered under the menu button */
.pp-mega-host[data-mega="reports"] .pp-mega-flyout,
.pp-mega-host[data-mega="register"] .pp-mega-flyout {
  left: 50%;
  right: auto;
  transform: translateX(-50%);
}

.pp-mega-host[data-mega="reports"]:hover > .pp-mega-flyout,
.pp-mega-host[data-mega="reports"]:focus-within > .pp-mega-flyout,
.pp-mega-host[data-mega="register"]:hover > .pp-mega-flyout,
.pp-mega-host[data-mega="register"]:focus-within > .pp-mega-flyout {
  animation: ppMegaPopCenter 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes ppMegaPopCenter {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
  }
}

@media (max-width: 1100px) {
  .pp-mega-flyout,
  .pp-mega-flyout--wide {
    width: min(520px, calc(100vw - 1rem));
    grid-template-columns: 148px minmax(0, 1fr);
  }

  .pp-mega-flyout__cta {
    display: none;
  }
}

.pp-mega-flow-banner {
  font-size: 0.65rem !important;
  padding: 0.22rem 0.45rem !important;
  margin-bottom: 0.4rem !important;
}

/* Stock in vs out visual split ? tuned for dark rail */
.pp-mega-nav-label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0.35rem 0.25rem 0.2rem !important;
  padding: 0.3rem 0.4rem !important;
  border-radius: 7px;
  font-size: 0.6rem !important;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.pp-mega-nav-label:not(.pp-mega-nav-label--in):not(.pp-mega-nav-label--out) {
  color: var(--pp-blue);
  background: var(--pp-blue-light);
}

.pp-mega-nav-label--in {
  color: var(--pp-mark);
  background: var(--pp-orange-light);
}

.pp-mega-nav-label--out {
  color: var(--pp-mark-deep);
  background: rgba(245, 130, 41, 0.1);
  margin-top: 0.55rem !important;
}

.pp-mega-nav-label i {
  font-size: 0.9rem;
}

.pp-mega-cat--in.is-active {
  background: linear-gradient(135deg, var(--pp-sun), var(--pp-flame)) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(245, 158, 11, 0.3) !important;
}

.pp-mega-cat--out.is-active {
  background: linear-gradient(135deg, var(--pp-flame), var(--pp-ember)) !important;
  color: #fff !important;
}

.pp-mega-cat--in:hover:not(.is-active),
.pp-mega-cat--out:hover:not(.is-active) {
  background: rgba(var(--pp-blue-rgb), 0.08) !important;
  color: var(--pp-blue) !important;
}

.pp-mega-flow-banner {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.7rem;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  border: 1px solid transparent;
}

.pp-mega-flow-banner--in {
  background: rgba(245, 130, 41, 0.16);
  border-color: color-mix(in srgb, var(--pp-flame) 35%, transparent);
  color: #92400e;
}

.pp-mega-flow-banner--out {
  background: rgba(226, 122, 41, 0.1);
  border-color: rgba(226, 122, 41, 0.22);
  color: #9a3412;
}

.pp-mega-dot--in { background: #20c997; }
.pp-mega-dot--out { background: #339af0; }

.pp-mega-cta-pane { display: none; }
.pp-mega-cta-pane.is-active { display: flex; flex-direction: column; gap: 0.55rem; }

.pp-mega-host.is-flow-out .pp-mega-flyout__cta {
  background: linear-gradient(160deg, #ffffff 0%, var(--pp-orange-light) 55%, #fff8f3 100%);
}

.pp-mega-host.is-flow-in .pp-mega-flyout__cta {
  background: linear-gradient(160deg, #ffffff 0%, var(--pp-blue-light) 55%, #f0f7fd 100%);
}

/* ---------- Layout widths ---------- */
.content > .container-fluid {
  max-width: 100% !important;
  width: 100% !important;
}

.content .container,
.content .container-lg-fluid {
  max-width: 1400px !important;
  width: 100%;
}

/* DataTables sit in fluid pages but stay readable */
div.dataTables_wrapper,
table.dataTable,
table.muhammadadnan_datatable {
  max-width: 1400px;
}


/* ---------- Odoo-like DataTables ? brand flame ---------- */
body:not(.authentication-bg) .table thead,
body:not(.authentication-bg) .table tfoot tr th,
body:not(.authentication-bg) table.dataTable thead th,
body:not(.authentication-bg) table.muhammadadnan_datatable thead th {
  border-top: 2px solid var(--pp-flame) !important;
  border-bottom: 1px solid #e6e6e6 !important;
  background: #f8f9fa !important;
  color: #212529 !important;
  font-family: var(--font-display);
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.65rem 0.55rem !important;
  white-space: nowrap;
}

body:not(.authentication-bg) table.dataTable tbody td,
body:not(.authentication-bg) table.muhammadadnan_datatable tbody td {
  border-color: #f0f0f0 !important;
  color: #3c4043 !important;
  font-size: 0.84rem;
  padding: 0.55rem 0.55rem !important;
  vertical-align: middle;
  background: #fff !important;
}

body:not(.authentication-bg) .muhammadadnan_datatable tr:nth-child(even),
body:not(.authentication-bg) table.dataTable tbody tr:nth-child(even) {
  background-color: #fafafa !important;
  box-shadow: none !important;
}

body:not(.authentication-bg) .muhammadadnan_datatable tbody tr:nth-child(odd),
body:not(.authentication-bg) table.dataTable tbody tr:nth-child(odd) {
  background-color: #ffffff !important;
  box-shadow: none !important;
}

body:not(.authentication-bg) table.dataTable tbody tr:hover,
body:not(.authentication-bg) .muhammadadnan_datatable tbody tr:hover {
  background: rgba(245, 130, 41, 0.06) !important;
}

body:not(.authentication-bg) table.dataTable tbody > tr.selected,
body:not(.authentication-bg) table.dataTable tbody > tr > .selected {
  background-color: rgba(245, 130, 41, 0.16) !important;
  color: #1a1a1a !important;
}

body:not(.authentication-bg) div.dataTables_wrapper {
  position: relative;
  padding: 0.75rem 0 1rem;
  max-width: 1400px;
}

body:not(.authentication-bg) div.dataTables_wrapper div.dataTables_filter {
  position: static;
  float: right;
  margin-bottom: 0.65rem;
}

body:not(.authentication-bg) div.dataTables_wrapper div.dataTables_filter input {
  border: 1px solid #d8dadd !important;
  border-radius: 6px !important;
  padding: 0.35rem 0.6rem !important;
  margin-left: 0.35rem;
}

body:not(.authentication-bg) div.dataTables_wrapper div.dataTables_filter input:focus {
  border-color: var(--pp-mark) !important;
  box-shadow: 0 0 0 3px rgba(245, 130, 41, 0.12);
  outline: none;
}

body:not(.authentication-bg) div.dataTables_wrapper div.dataTables_length select {
  border: 1px solid #d8dadd;
  border-radius: 6px;
  padding: 0.25rem 0.4rem;
}

body:not(.authentication-bg) div.dataTables_wrapper div.dataTables_info,
body:not(.authentication-bg) div.dataTables_wrapper div.dataTables_paginate {
  position: static;
  padding-top: 0.75rem;
}

body:not(.authentication-bg) a.paginate_button,
body:not(.authentication-bg) .dataTables_paginate .paginate_button {
  background: #f8f9fa !important;
  color: #3c4043 !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 6px !important;
  padding: 0.35rem 0.65rem !important;
  margin: 0 0.15rem 0.25rem 0 !important;
}

body:not(.authentication-bg) a.paginate_button.current,
body:not(.authentication-bg) .dataTables_paginate .paginate_button.current,
body:not(.authentication-bg) a.paginate_button:hover {
  background: var(--pp-flame) !important;
  border-color: var(--pp-mark) !important;
  color: #fff !important;
}

body:not(.authentication-bg) .table-success,
body:not(.authentication-bg) .bg-success,
body:not(.authentication-bg) tr.table-success,
body:not(.authentication-bg) .badge-success {
  background-color: color-mix(in srgb, var(--pp-flame) 14%, #fff) !important;
  color: #9a3412 !important;
}

/* Product icons ? Solar / Inverter / Battery */
.pp-ico-solar { color: var(--pp-mark) !important; }
.pp-ico-inv { color: var(--pp-blue) !important; }
.pp-ico-bat { color: var(--pp-mark-deep) !important; }

.pp-mega-cat__label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.pp-mega-cat__label > i {
  font-size: 0.95rem;
  flex-shrink: 0;
}

.pp-mega-panel-pane h5 i {
  margin-right: 0.25rem;
  vertical-align: -1px;
}

.pp-mega-link-row > i {
  width: 1rem;
  text-align: center;
  flex-shrink: 0;
  font-size: 0.95rem;
}

.pp-mega-cta-btn i {
  margin-right: 0.25rem;
}

/* =========================================================
   List toolbar (filters + actions in one row)
   ========================================================= */
.pp-list-toolbar {
  border: 1px solid #e8eaed !important;
  border-radius: 10px !important;
  margin-bottom: 0.75rem;
  box-shadow: 0 4px 14px rgba(10, 10, 10, 0.04) !important;
  overflow: hidden;
}

.pp-list-toolbar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 0.75rem 1rem;
  background: linear-gradient(180deg, #fff 0%, #fafafa 100%);
}

.pp-list-toolbar__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem 1rem;
  flex: 1 1 auto;
  min-width: 0;
}

.pp-list-toolbar__form .form-label {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--pp-blue);
}

.pp-list-toolbar__form .input-group {
  min-width: min(280px, 100%);
}

.pp-list-toolbar__form .form-control {
  min-height: 34px;
  font-size: 0.84rem;
  border-color: #d8dadd;
}

.pp-list-toolbar__active {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.78rem;
  color: #5c6570;
  font-weight: 600;
}

.pp-list-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  margin-left: auto;
}

.pp-list-toolbar__actions .btn {
  margin: 0 !important;
  border-radius: 6px !important;
}

/* Legacy filter card / action row ? compact unified look */
body:not(.authentication-bg) .col-12.text-center.card {
  margin-bottom: 0.5rem !important;
}

body:not(.authentication-bg) .row.mb-2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: 0 0 0.75rem !important;
  padding: 0.65rem 0.85rem;
  background: #fff;
  border: 1px solid #e8eaed;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(10, 10, 10, 0.04);
}

body:not(.authentication-bg) .row.mb-2 > [class*="col-"] {
  flex: 1 1 auto;
  width: auto;
  max-width: none;
  padding: 0;
}

body:not(.authentication-bg) .row.mb-2 .btn,
body:not(.authentication-bg) .row.mb-2 .btn-group {
  margin-bottom: 0 !important;
}

body:not(.authentication-bg) .row.mb-2 .btn-rounded {
  border-radius: 6px !important;
}

/* =========================================================
   Excel-style spreadsheet tables
   ========================================================= */
body:not(.authentication-bg) .pp-excel-sheet,
body:not(.authentication-bg) .card:has(.muhammadadnan_datatable),
body:not(.authentication-bg) .card:has(table.dataTable) {
  border: 1px solid #c5c5c5 !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  overflow: hidden;
}

body:not(.authentication-bg) .pp-excel-sheet .card-body,
body:not(.authentication-bg) .card .card-body.table-responsive {
  padding: 0 !important;
  background: #fff;
}

body:not(.authentication-bg) table.muhammadadnan_datatable,
body:not(.authentication-bg) table.dataTable,
body:not(.authentication-bg) table.pp-excel-table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  font-family: "Segoe UI", "Calibri", var(--font-body), sans-serif !important;
  font-size: 12px !important;
  color: #000 !important;
  background: #fff !important;
}

body:not(.authentication-bg) table.muhammadadnan_datatable thead th,
body:not(.authentication-bg) table.dataTable thead th,
body:not(.authentication-bg) table.pp-excel-table thead th,
body:not(.authentication-bg) .table thead th {
  background: #f2f2f2 !important;
  color: #000 !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center !important;
  vertical-align: middle !important;
  border: 1px solid #b4b4b4 !important;
  border-top: 2px solid var(--pp-flame) !important;
  padding: 6px 8px !important;
  white-space: nowrap;
  box-shadow: none !important;
}

body:not(.authentication-bg) table.muhammadadnan_datatable tbody td,
body:not(.authentication-bg) table.dataTable tbody td,
body:not(.authentication-bg) table.pp-excel-table tbody td,
body:not(.authentication-bg) .table tbody td {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #d0d0d0 !important;
  padding: 4px 8px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  vertical-align: middle !important;
  box-shadow: none !important;
}

body:not(.authentication-bg) table.muhammadadnan_datatable tbody tr:nth-child(even) td,
body:not(.authentication-bg) table.dataTable tbody tr:nth-child(even) td {
  background: #fafafa !important;
}

body:not(.authentication-bg) table.muhammadadnan_datatable tbody tr:hover td,
body:not(.authentication-bg) table.dataTable tbody tr:hover td {
  background: #fff3e6 !important; /* Excel-like selection wash in brand tint */
}

body:not(.authentication-bg) table.muhammadadnan_datatable tbody tr.selected td,
body:not(.authentication-bg) table.dataTable tbody tr.selected td {
  background: #ffe0c2 !important;
  color: #000 !important;
}

body:not(.authentication-bg) table.muhammadadnan_datatable tbody td:first-child,
body:not(.authentication-bg) table.dataTable tbody td:first-child,
body:not(.authentication-bg) table.muhammadadnan_datatable thead th:first-child,
body:not(.authentication-bg) table.dataTable thead th:first-child {
  background-image: none;
  text-align: center;
  color: #666 !important;
  font-weight: 600;
  min-width: 36px;
}

/* DataTables chrome around Excel grid */
body:not(.authentication-bg) div.dataTables_wrapper {
  padding: 0.55rem 0.65rem 0.75rem !important;
  background: #f3f3f3;
  border-top: 1px solid #d0d0d0;
  max-width: none;
}

body:not(.authentication-bg) .pp-excel-sheet div.dataTables_wrapper,
body:not(.authentication-bg) .card:has(table.dataTable) div.dataTables_wrapper {
  max-width: none;
}

body:not(.authentication-bg) div.dataTables_wrapper .dataTables_scroll,
body:not(.authentication-bg) .pp-table-scroll {
  background: #fff;
  border: 1px solid #b4b4b4;
}

body:not(.authentication-bg) .card-body.table-responsive,
body:not(.authentication-bg) .table-responsive:not(.pp-table-scroll) {
  overflow: visible !important;
  border: none !important;
  background: transparent !important;
}

body:not(.authentication-bg) .table-responsive .dt-layout-full,
body:not(.authentication-bg) .dataTables_wrapper .dt-layout-full {
  overflow: visible !important;
}

body:not(.authentication-bg) div.dataTables_wrapper div.dataTables_filter input {
  border: 1px solid #b4b4b4 !important;
  border-radius: 2px !important;
  height: 28px;
  font-size: 12px;
}

body:not(.authentication-bg) a.paginate_button,
body:not(.authentication-bg) .dataTables_paginate .paginate_button {
  border-radius: 2px !important;
  font-size: 12px !important;
  padding: 0.2rem 0.45rem !important;
}

@media (max-width: 767.98px) {
  .pp-list-toolbar__inner {
    flex-direction: column;
    align-items: stretch;
  }

  .pp-list-toolbar__actions {
    margin-left: 0;
    justify-content: flex-start;
  }
}

/* =========================================================
   Odoo 19 Enterprise density + smart controls (PP colors)
   ========================================================= */
body:not(.authentication-bg) {
  font-size: 0.8125rem !important;
  line-height: 1.4 !important;
  background: #f8f9fa !important;
}



body:not(.authentication-bg) .container-fluid {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

body:not(.authentication-bg) h1 { font-size: 1.35rem !important; }
body:not(.authentication-bg) h2 { font-size: 1.15rem !important; }
body:not(.authentication-bg) h3 { font-size: 1.02rem !important; }
body:not(.authentication-bg) h4,
body:not(.authentication-bg) .h4 { font-size: 0.95rem !important; }
body:not(.authentication-bg) h5 { font-size: 0.86rem !important; }
body:not(.authentication-bg) h6 { font-size: 0.78rem !important; }

body:not(.authentication-bg) .card-body {
  padding: 0.7rem 0.8rem !important;
}

body:not(.authentication-bg) .card-body.table-responsive,
body:not(.authentication-bg) .pp-excel-sheet .card-body {
  padding: 0 !important;
}

body:not(.authentication-bg) .card-header {
  padding: 0.45rem 0.75rem !important;
  font-size: 0.82rem;
}

body:not(.authentication-bg) .form-label,
body:not(.authentication-bg) label.form-label {
  font-size: 0.72rem !important;
  font-weight: 650;
  margin-bottom: 0.2rem !important;
  color: #495057;
}

body:not(.authentication-bg) .form-control,
body:not(.authentication-bg) .form-select {
  min-height: 30px;
  padding: 0.28rem 0.55rem !important;
  font-size: 0.8rem !important;
  border-radius: 3px !important;
  border-color: #ced4da !important;
}

body:not(.authentication-bg) .btn {
  border-radius: 3px !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  padding: 0.28rem 0.65rem !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
}

body:not(.authentication-bg) .btn-sm,
body:not(.authentication-bg) .btn.btn-sm {
  padding: 0.18rem 0.48rem !important;
  font-size: 0.74rem !important;
}

body:not(.authentication-bg) .btn-lg {
  padding: 0.4rem 0.85rem !important;
  font-size: 0.88rem !important;
}

body:not(.authentication-bg) .btn-rounded {
  border-radius: 3px !important;
}

body:not(.authentication-bg) .btn-danger {
  background: #e03131 !important;
  border-color: #c92a2a !important;
}

body:not(.authentication-bg) .btn-warning {
  background: #fcc419 !important;
  border-color: #fab005 !important;
  color: #212529 !important;
}

body:not(.authentication-bg) .btn-light {
  background: #fff !important;
  border: 1px solid #ced4da !important;
  color: #495057 !important;
}

body:not(.authentication-bg) .input-group-text {
  padding: 0.28rem 0.55rem !important;
  font-size: 0.78rem !important;
  min-height: 30px;
}

.pp-shell-toggle {
  width: 30px;
  height: 30px;
  gap: 4px;
  border-radius: 3px;
}

.pp-shell-toggle span {
  margin: 0 7px;
}

.pp-shell-toggle.is-active span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.pp-shell-toggle.is-active span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.pp-list-toolbar {
  border-radius: var(--pp-radius) !important;
  margin-bottom: 0.5rem;
  box-shadow: none !important;
}

.pp-list-toolbar__inner {
  padding: 0.45rem 0.65rem;
  gap: 0.45rem 0.75rem;
  background: #fff;
}

.pp-list-toolbar__form .form-label {
  color: var(--pp-blue);
  font-size: 0.65rem;
}

body:not(.authentication-bg) .row.mb-2 {
  padding: 0.4rem 0.55rem;
  margin-bottom: 0.5rem !important;
  border-radius: var(--pp-radius);
  box-shadow: none;
}

@media (max-width: 991.98px) {
  .pp-shell-user__name {
    display: none;
  }

  .pp-shell-brand {
    max-width: min(140px, 42vw);
  }

  .pp-shell-brand__logo {
    height: 28px;
  }

  html[data-pp-brand="greenage"] .pp-shell-brand__logo {
    height: 34px;
    max-width: 112px;
  }

  .pp-shell-brand__meta strong {
    font-size: 0.72rem;
  }

  .pp-shell-user__btn {
    max-width: none;
    padding-right: 0.25rem;
  }
}


/* === Soft amber CTAs (replace harsh solid yellow cards) === */
.content-page .card.bg-warning,
.content-page .card.cta-box.bg-warning,
.content-page .cta-box.bg-warning,
.content-page .card-body.cta-box.bg-warning,
.content-page .bg-warning.text-white.cta-box,
.card.bg-warning,
.cta-box.bg-warning {
  background: linear-gradient(145deg, #fffdf8 0%, var(--pp-soft-tint) 48%, var(--pp-soft-tint-2) 100%) !important;
  color: #3a2a12 !important;
  border: 1px solid rgba(255, 155, 40, 0.28) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset, 0 8px 22px rgba(255, 140, 0, 0.08) !important;
  transition: background 1.6s ease, border-color 1.6s ease, box-shadow 1.6s ease, color 1.6s ease;
}
.content-page .card.bg-warning .card-title,
.content-page .cta-box.bg-warning h1,
.content-page .cta-box.bg-warning h2,
.content-page .cta-box.bg-warning h3,
.content-page .cta-box.bg-warning h4,
.content-page .cta-box.bg-warning h5,
.content-page .cta-box.bg-warning p,
.content-page .cta-box.bg-warning span,
.content-page .cta-box.bg-warning label,
.cta-box.bg-warning .text-white {
  color: #3a2a12 !important;
}
thead.bg-warning,
thead.bg-warning.text-white {
  background: linear-gradient(90deg, var(--pp-soft-tint), var(--pp-soft-tint-2)) !important;
  color: #4a340f !important;
}
thead.bg-warning th { color: #4a340f !important; border-color: rgba(200,140,40,.25) !important; }

html[data-pp-brand="greenage"] .content-page .card.bg-warning,
html[data-pp-brand="greenage"] .content-page .card.cta-box.bg-warning,
html[data-pp-brand="greenage"] .content-page .cta-box.bg-warning,
html[data-pp-brand="greenage"] .content-page .card-body.cta-box.bg-warning,
html[data-pp-brand="greenage"] .content-page .bg-warning.text-white.cta-box,
html[data-pp-brand="greenage"] .card.bg-warning,
html[data-pp-brand="greenage"] .cta-box.bg-warning {
  color: #143d28 !important;
  border-color: rgba(0, 124, 65, 0.22) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset, 0 8px 22px rgba(0, 124, 65, 0.08) !important;
}
html[data-pp-brand="greenage"] .content-page .card.bg-warning .card-title,
html[data-pp-brand="greenage"] .content-page .cta-box.bg-warning h1,
html[data-pp-brand="greenage"] .content-page .cta-box.bg-warning h2,
html[data-pp-brand="greenage"] .content-page .cta-box.bg-warning h3,
html[data-pp-brand="greenage"] .content-page .cta-box.bg-warning h4,
html[data-pp-brand="greenage"] .content-page .cta-box.bg-warning h5,
html[data-pp-brand="greenage"] .content-page .cta-box.bg-warning p,
html[data-pp-brand="greenage"] .content-page .cta-box.bg-warning span,
html[data-pp-brand="greenage"] .content-page .cta-box.bg-warning label,
html[data-pp-brand="greenage"] .cta-box.bg-warning .text-white {
  color: #143d28 !important;
}
html[data-pp-brand="greenage"] thead.bg-warning,
html[data-pp-brand="greenage"] thead.bg-warning.text-white {
  color: #143d28 !important;
}
html[data-pp-brand="greenage"] thead.bg-warning th {
  color: #143d28 !important;
  border-color: rgba(0, 124, 65, 0.22) !important;
}
.badge.bg-warning {
  background: linear-gradient(135deg, var(--pp-flame), var(--pp-ember)) !important;
  color: #fff !important;
}
.btn-warning {
  background: linear-gradient(135deg, var(--pp-flame), var(--pp-ember)) !important;
  border-color: transparent !important;
  color: #fff !important;
}
.btn-warning:hover { filter: brightness(1.05); color: #fff !important; }

/* Stock mega — Solar / Inverter / Battery nomination cards */
.pp-sib-pills { display:flex; gap:6px; margin:0 0 8px; }
.pp-sib {
  font-size: 0.65rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 999px;
}
.pp-sib--solar { background: rgba(245,158,11,.14); color:#b45309; border:1px solid rgba(245,158,11,.35); }
.pp-sib--inv { background: rgba(59,130,246,.12); color:#1d4ed8; border:1px solid rgba(59,130,246,.3); }
.pp-sib--bat { background: rgba(16,185,129,.12); color:#047857; border:1px solid rgba(16,185,129,.3); }
.pp-sib-grid {
  display: grid; grid-template-columns: 1fr; gap: 8px;
}
@media (min-width: 520px) {
  .pp-sib-grid { grid-template-columns: 1fr 1fr 1fr; }
}
.pp-sib-card {
  display: flex; flex-direction: column; gap: 2px; align-items: flex-start;
  padding: 12px 12px 10px; border-radius: 10px; text-decoration: none !important;
  border: 1px solid var(--pp-line); background: #fff;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.pp-sib-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  text-decoration: none !important;
}
.pp-sib-card i { font-size: 1.25rem; margin-bottom: 2px; }
.pp-sib-card strong { font-size: 0.82rem; color: var(--pp-ink); }
.pp-sib-card span { font-size: 0.68rem; color: var(--pp-muted); }
.pp-sib-card--solar { border-color: rgba(245,158,11,.35); background: linear-gradient(160deg,#fffdf7,#fff8eb); }
.pp-sib-card--solar i { color: var(--pp-mark); }
.pp-sib-card--inv { border-color: rgba(59,130,246,.3); background: linear-gradient(160deg,#f8fbff,#eef5ff); }
.pp-sib-card--inv i { color: #2563eb; }
.pp-sib-card--bat { border-color: rgba(16,185,129,.3); background: linear-gradient(160deg,#f6fffb,#ecfdf5); }
.pp-sib-card--bat i { color: #059669; }
.pp-sib-card--damage { border-color: rgba(239,68,68,.3); background: linear-gradient(160deg,#fff8f8,#fff1f1); }
.pp-sib-card--damage i { color: #dc2626; }
.pp-mega-hint { font-size: 0.72rem; color: var(--pp-muted); margin: 0 0 10px; }
.pp-mega-cat--return { color: var(--pp-mark-deep) !important; }
.pp-mega-cat--damage { color: #b91c1c !important; }
.pp-mega-flow-banner--return {
  background: rgba(245,158,11,.1) !important; color: #92400e !important; border: 1px solid rgba(245,158,11,.25);
}
.pp-mega-flow-banner--damage {
  background: rgba(239,68,68,.08) !important; color: #991b1b !important; border: 1px solid rgba(239,68,68,.22);
}

/* ---------- Warehouse home — recent GRN / GDN ---------- */
.pp-home-recent {
  margin-bottom: 0.35rem;
}

.pp-home-recent__title {
  color: var(--pp-blue);
  font-family: var(--font-display);
  font-weight: 700;
}

.pp-home-recent__icon {
  margin-right: 0.35rem;
}

.pp-home-recent__icon--grn {
  color: var(--pp-blue);
}

.pp-home-recent__icon--gdn {
  color: var(--pp-mark);
}

.pp-home-recent__link {
  color: var(--pp-blue);
  text-decoration: none;
}

.pp-home-recent__link:hover {
  color: var(--pp-mark);
}

.pp-home-recent__table thead th {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.pp-home-recent__pill {
  font-size: 0.62rem;
  padding: 2px 7px;
}

.pp-home-recent__empty {
  padding: 1.25rem 0.5rem;
  text-align: center;
  color: var(--pp-muted);
  font-size: 0.88rem;
  border: 1px dashed var(--pp-line);
  border-radius: 10px;
  background: #fafbfc;
}

/* =========================================================
   Table scroll wrapper (inside table area, not card-body)
   ========================================================= */
.pp-table-scroll {
  overflow-x: auto;
  overflow-y: visible;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

.pp-table-scroll > table {
  width: max-content;
  min-width: 100%;
}

.pp-table-scroll table td,
.pp-table-scroll table th,
body:not(.authentication-bg) table.table td,
body:not(.authentication-bg) table.table th,
body:not(.authentication-bg) table.dataTable td,
body:not(.authentication-bg) table.dataTable th {
  user-select: text;
  -webkit-user-select: text;
}

.table-container .pp-table-scroll {
  margin-top: 0.25rem;
}

/* =========================================================
   Table drag-to-scroll (horizontal hand scroll + text copy)
   ========================================================= */
.pp-table-drag-scroll {
  cursor: default;
}

.pp-table-drag-scroll.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
}

.pp-table-drag-scroll.is-dragging * {
  cursor: grabbing !important;
  user-select: none !important;
}

/* Keep form controls usable inside drag containers */
.pp-table-drag-scroll a,
.pp-table-drag-scroll button,
.pp-table-drag-scroll input,
.pp-table-drag-scroll select,
.pp-table-drag-scroll textarea,
.pp-table-drag-scroll .btn,
.pp-table-drag-scroll .form-control,
.pp-table-drag-scroll .form-select {
  cursor: pointer;
  user-select: auto;
}

.pp-table-drag-scroll input,
.pp-table-drag-scroll textarea {
  cursor: text;
}

/* ---------- Print watermarks ---------- */
@media print {
  /* Report pages: light tiled brand watermarks */
  body:not(.wms-invoice-print):not(.authentication-bg) .content-page {
    position: relative;
  }

  body:not(.wms-invoice-print):not(.authentication-bg) .content-page::before {
    content: "";
    position: fixed;
    inset: -12%;
    width: auto;
    height: auto;
    left: -12%;
    top: -12%;
    background-image: url('../images/logo_luminey.svg');
    background-repeat: repeat;
    background-position: center;
    background-size: 100px auto;
    opacity: 0.06;
    transform: rotate(-24deg);
    z-index: 0;
    pointer-events: none;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html[data-pp-brand="greenage"] body:not(.wms-invoice-print):not(.authentication-bg) .content-page::before {
    background-image: url('../images/logo-dark.png');
    opacity: 0.055;
  }

  body:not(.wms-invoice-print):not(.authentication-bg) .content-page > * {
    position: relative;
    z-index: 1;
  }

  /* Clean white page behind GRN/GDN invoice prints */
  body.wms-invoice-print,
  body.wms-invoice-print::before,
  html:has(#invoice-wrapper) body,
  html:has(#invoice-wrapper) body::before {
    background: #fff !important;
    background-image: none !important;
  }

  html:has(#invoice-wrapper) body::before,
  body.wms-invoice-print::before {
    content: none !important;
    display: none !important;
  }

  /* GRN/GDN: light tiled small watermarks */
  .inv-watermark {
    display: block !important;
    position: absolute !important;
    inset: -18% !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    opacity: 0.07 !important;
    transform: rotate(-26deg) !important;
    rotate: none !important;
    background-repeat: repeat !important;
    background-position: center !important;
    background-size: 92px auto !important;
    z-index: 0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .inv-copy-card {
    position: relative !important;
    overflow: hidden !important;
    background: #fff !important;
  }
}

/* Essential orange text/icons follow brand mark (GreenAge → green; buttons stay flame) */
body:not(.authentication-bg) .nav-pills > li > a,
body:not(.authentication-bg) .nav-tabs > li > a {
  color: var(--pp-mark) !important;
  border-color: var(--pp-mark) !important;
}

body:not(.authentication-bg) .text-warning,
body:not(.authentication-bg) .text-orange,
body:not(.authentication-bg) i.text-warning,
body:not(.authentication-bg) .mdi.text-warning {
  color: var(--pp-mark) !important;
}

body:not(.authentication-bg) .page-title i,
body:not(.authentication-bg) .card-title i,
body:not(.authentication-bg) .breadcrumb i,
body:not(.authentication-bg) .pp-bar-link i,
body:not(.authentication-bg) .pp-mega-link-row > i,
body:not(.authentication-bg) .pp-mega-panel-pane h5 i,
body:not(.authentication-bg) .pp-mega-nav-label i {
  transition: color 1.6s ease;
}

/* Buttons / hovers from custom.css — follow brand flame */
body:not(.authentication-bg) .dropdown-item:focus,
body:not(.authentication-bg) .dropdown-item:hover {
  background-color: var(--pp-flame) !important;
  color: #fff !important;
}

body:not(.authentication-bg) .nav-pills .nav-link.active,
body:not(.authentication-bg) .nav-pills .show > .nav-link {
  background-color: var(--pp-flame) !important;
  border-color: var(--pp-ember) !important;
  color: #fff !important;
}

body:not(.authentication-bg) .btn:hover,
body:not(.authentication-bg) .btn-primary:hover,
body:not(.authentication-bg) .btn-success:hover {
  transition: background-color 0.25s ease, border-color 0.25s ease, filter 0.25s ease, transform 0.2s ease;
}

html[data-pp-brand="greenage"] body:not(.authentication-bg) .btn-primary,
html[data-pp-brand="greenage"] body:not(.authentication-bg) .btn-success,
html[data-pp-brand="greenage"] body:not(.authentication-bg) .pp-login__submit {
  box-shadow: 0 10px 22px rgba(0, 124, 65, 0.22);
}

html[data-pp-brand="greenage"] body:not(.authentication-bg) .pp-shell-user__btn:hover,
html[data-pp-brand="greenage"] body:not(.authentication-bg) .pp-shell-user__btn:focus,
html[data-pp-brand="greenage"] body:not(.authentication-bg) .pp-shell-user__btn[aria-expanded="true"] {
  background: #eef8f2;
  border-color: rgba(0, 124, 65, 0.45);
}

html[data-pp-brand="greenage"] body:not(.authentication-bg) .odoo-search-trigger:hover,
html[data-pp-brand="greenage"] body:not(.authentication-bg) .odoo-search-trigger:focus {
  border-color: rgba(0, 124, 65, 0.55);
  box-shadow: 0 0 0 3px rgba(0, 124, 65, 0.12);
}

html[data-pp-brand="greenage"] body:not(.authentication-bg) .pp-profile-drop .dropdown-item:hover,
html[data-pp-brand="greenage"] body:not(.authentication-bg) .pp-profile-drop .dropdown-item:focus {
  background: #eef8f2 !important;
}

